TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ PHẦN MỀM

VŨ MẠNH HOÀNG HẢI - NGUYẾN ĐÌNH NGỌC DUY

XÂY DỰNG PHẦN MỀM QUẢN LÝ NGÂN

HÀNG CÂU HỎI TRẮC NGHIỆM TUYỂN

SINH ĐẠI HỌC

KHÓA LUẬN CỬ NHÂN TIN HỌC

TP. HCM, 2005

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ PHẦN MỀM

VŨ MẠNH HOÀNG HẢI - 0112381

NGUYỄN ĐÌNH NGỌC DUY - 0112258

XÂY DỰNG PHẦN MỀM QUẢN LÝ NGÂN

HÀNG CÂU HỎI TRẮC NGHIỆM TUYỂN

SINH ĐẠI HỌC

KHÓA LUẬN CỬ NHÂN TIN HỌC

GIÁO VIÊN HƯỚNG DẪN

Th.s ĐỖ HOÀNG CƯỜNG

NIÊN KHÓA 2001 – 2005

Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học

Ý KIẾN CỦA GIÁO VIÊN HƯỚNG DẪN

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

Thành phố Hồ Chí Minh, ngày tháng năm 2005

Chữ ký của giáo viên hướng dẫn

Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học

Ý KIẾN CỦA GIÁO VIÊN PHẢN BIỆN

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

Thành phố Hồ Chí Minh, ngày tháng năm 2005

Chữ ký của giáo viên phản biện

Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học

LỜI CẢM ƠN

Sau một thời gian thực hiện luận văn tốt nghiệp, đến nay, mọi công việc liên

quan đến luận văn đã hoàn tất. Trong suốt thời gian này, chúng tôi đã nhận được

rất nhiều sự giúp đỡ. Ở phần đầu tiên của luận văn, cho phép chúng tôi có đôi điều

gửi đến những người chúng tôi vô cùng biết ơn.

Xin gởi lời cảm ơn chân thành nhất đến Thầy Đỗ Hoàng Cường, người đã

tận tình hướng dẫn, động viên, và giúp đỡ chúng tôi trong suốt thời gian qua. Nếu

không có những lời chỉ dẫn, những tài liệu, những lời động viên khích lệ của Thầy

thì luận văn này khó lòng hoàn thiện được.

Tấm lòng chân thành nhất của chúng tôi cũng xin được gửi đến Thầy Lý

Minh Tiên, Phó Trưởng Kkhoa Tâm lý Giáo dục của Trường Đại học Sư Phạm, Tp

Hồ Chí Minh. Những tài liệu, những gợi ý của Thầy về trắc nghiệm đã giúp chúng

tôi rất nhiều trong quá trình thực hiện đề tài.

Cũng xin gửi lời biết ơn đến ba, đến mẹ, những người đã luôn dành những

tình thương yêu nhất cho chúng tôi, những người đã luôn hỗ trợ, dõi theo những

bước đi của chúng tôi trong tất cả các năm học vừa qua.

Xin tri ân tất cả các Thầy Cô, những người dày công dạy dỗ, truyền cho

chúng tôi rất nhiều tri thức quí báu.

Cảm ơn tất cả bạn bè của chúng tôi, những người đã sát cánh cùng vui

những niềm vui, cùng chia sẻ những khó khăn của chúng tôi và giúp đỡ chúng tôi

rất nhiều trong quá trình thực hiện luận văn.

Thành phố Hồ Chí Minh, tháng 7 năm 2005

Nhóm sinh viên thực hiện

Vũ Mạnh Hoàng Hải- Nguyễn Đình Ngọc Duy

1

Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học

LỜI MỞ ĐẦU

Hiện nay, giáo dục đang là quốc sách hàng đầu của đất nước. Nhiệm vụ của giáo

dục là đào tạo con người trở thành các nhân lực hữu ích cho các ngành kinh tế của

đất nước. Trong quá trình đào tạo, đo lường và đánh giá là công đoạn quan trọng

nhất vì nó cho biết kết quả đào tạo. Từ trước đến nay, trong giáo dục đã có những

hình thức đo lường kết quả học tập như vấn đáp, quan sát, viết … Trong thời gian

gần đây, hình thức thi trắc nghiệm đã được áp dụng rộng rãi để đo lường và đánh

giá kết quả học tập của học sinh. Đặc biệt là hiện nay, Bộ Giáo dục và Đào tạo đang

có kế hoạch triển khai áp dụng trắc nghiệm vào kỳ thi tuyển sinh đại học trên cả

nước. Đến lúc này, một vấn đề nảy sinh là việc tập hợp và quản lý các câu hỏi trắc

nghiệm không thể quản lý thủ công, mà phải có sự trợ giúp của hệ thống máy tính.

Với suy nghĩ đó, chúng em đã tiến hành nghiên cứu các lý thuyết về trắc nghiệm và

xây dựng hệ thống hỗ trợ việc tập hợp và quản lý các câu trắc nghiệm phục vụ cho

nhu cầu đo lường và đánh giá kết quả học tập của học sinh.

Luận văn này gồm 6 chương :

Chương 1. Trình bày lí do chọn đề tài, mục đích, đối tượng, phạm vi nghiên cứu.

Chương 2. Lý thuyết trắc nghiệm.

Chương 3. Trình bày về các hồ sơ phân tích hệ thống.

Chương 4. Trình bày về các hồ sơ thiết kế hệ thống.

Chương 5. Cài đặt, thực nghiệm và kiểm tra.

Chương 6. Kết luận và trình bày về những hướng nghiên cứu tiếp theo.

2

Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học

Mục lục

Danh sách các hình .............................................................................................. 10

Chương 1. Mở đầu ............................................................................................... 14

1.1 Yêu cầu thực tế và lý do chọn đề tài ...............................................................14

1.2 Mục đích, đối tượng và phạm vi nghiên cứu ..................................................14

Chương 2. Nghiên cứu lý thuyết trắc nghiệm ................................................... 16

2.1 Tổng quan về trắc nghiệm khách quan ...........................................................16

2.1.1 Luận đề và Trắc nghiệm khách quan .......................................................16

2.1.2 Những nguyên tắc chung của trắc nghiệm...............................................19

2.1.3 Những trường hợp dùng trắc nghiệm.......................................................20

2.1.4 Trắc nghiệm chuẩn mực và Trắc nghiệm tiêu chí....................................21

2.1.4.1 Trắc nghiệm chuẩn mực....................................................................21

2.1.4.2 Trắc nghiệm tiêu chí .........................................................................22

2.1.4.3 So sánh trắc nghiệm chuẩn mực và Trắc nghiệm tiêu chí ................22

2.2 Tính tin cậy và tính giá trị của bài trắc nghiệm ..............................................24

2.2.1 Tính tin cậy (Reliability)..........................................................................24

2.2.2 Tính giá trị (Validity) ...............................................................................27

2.2.3 Mối liên hệ giữa tính tin cậy và tính giá trị..............................................28

2.3 Quy hoạch một bài trắc nghiệm ......................................................................28

2.3.1 Xác định mục tiêu học tập........................................................................28

2.3.1.1 Các khái niệm....................................................................................28

2.3.1.2 Mục tiêu học tập là cơ sở cho việc soạn bài trắc nghiệm .................30

2.3.2 Phân tích nội dung môn học.....................................................................32

2.3.3 Thiết kế dàn bài trắc nghiệm....................................................................33

2.3.4 Số câu hỏi trong bài trắc nghiệm .............................................................34

2.3.5 Mức độ khó của các câu trắc nghiệm.......................................................35

2.4 Các hình thức câu trắc nghiệm........................................................................36

2.4.1 Câu trắc nghiệm Đúng-Sai (true-false question)......................................36

3

Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học

2.4.2 Câu trắc nghiệm đa lựa chọn (multiple choice question).........................37

2.4.3 Câu trắc nghiệm đối chiếu cặp đôi (matching question)..........................39

2.4.4 Câu trắc nghiệm điền khuyết (filling question) .......................................39

2.5 Phân tích câu trắc nghiệm ...............................................................................40

2.5.1 Độ khó của câu trắc nghiệm (difficulty index) ........................................41

2.5.1.1 Định nghĩa độ khó của câu trắc nghiệm............................................41

2.5.1.2 Công thức tính độ khó.......................................................................41

2.5.1.3 Độ khó vừa phải câu trắc nghiệm .....................................................41

2.5.2 Độ phân cách của câu trắc nghiệm (discrimination index)......................42

2.5.2.1 Định nghĩa độ phân cách của câu trắc nghiệm..................................42

2.5.2.2 Các phương pháp tính độ phân cách .................................................43

2.5.2.3 Kết luận từ độ phân cách...................................................................46

2.6 Độ tin cậy của bài trắc nghiệm.......................................................................46

2.6.1 Định nghĩa độ tin cậy ...............................................................................46

2.6.2 Các phương pháp tính độ tin cậy của bài trắc nghiệm.............................47

2.6.2.1 Trắc nghiệm hai lần (test - retest) .....................................................47

2.6.2.2 Các dạng trắc nghiệm tương đương (equivalent forms) ...................48

2.6.2.3 Phương pháp phân đôi bài trắc nghiệm (split halves method)..........48

2.6.2.4 Công thức Kuder – Richardson.........................................................50

2.6.3 Kết luận từ độ tin cậy ...............................................................................53

Chương 3. Phân tích ............................................................................................ 54

3.1 Phân tích hiện trạng.........................................................................................54

3.2 Xác định yêu cầu.............................................................................................54

3.2.1 Yêu cầu chức năng ...................................................................................54

3.2.2 Yêu cầu phi chức năng.............................................................................55

3.2.2.1 Yêu cầu hệ thống...............................................................................55

3.2.2.2 Yêu cầu về chất lượng.......................................................................55

3.2.3 Phương án thực hiện phần mềm...............................................................56

3.3 Sơ đồ sử dụng..................................................................................................57

4

Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học

3.4 Sơ đồ kiến trúc tổng thể (mức phân tích)........................................................60

3.5 Sơ đồ lớp .........................................................................................................61

3.5.1 Sơ đồ các lớp đối tượng (mức phân tích).................................................61

Danh sách các lớp đối tượng.............................................................................62

Chương 4. Thiết kế............................................................................................... 63

4.1 Sơ đồ kiến trúc tổng thể (mức thiết kế)...........................................................63

4.1.1 Danh sách các lớp đối tượng của phần mềm ...........................................65

4.2 Thiết kế dữ liệu ...............................................................................................68

4.2.1 Sơ đồ logic dữ liệu ...................................................................................68

4.3 Sơ đồ truyền động (sơ đồ hoạt động chi tiết) một số xử lý quan trọng ..........70

4.3.1 Nhập câu hỏi ............................................................................................70

4.3.2 Kết xuất câu hỏi ......................................................................................71

4.3.3 Trộn đề thi ................................................................................................72

Chương 5. Triển khai, thực nghiệm và kiểm tra .............................................. 73

5.1 Kỹ thuật Automation (tự động hóa) ................................................................73

5.1.1 Sơ nét về Automation...............................................................................73

5.1.2 Automation với Microsoft Office 2003 ...................................................75

5.1.2.1 Automation với Microsoft Office Word 2003 ..................................75

5.1.2.2 Automation với Microsoft Excel Word 2003 ...................................77

5.2 Thực hiện.........................................................................................................79

5.2.1 Cách tổ chức trong lập trình.....................................................................79

5.2.2 Các công thức được sử dụng....................................................................79

5.2.3 Qui tắc đặt tên các đối tượng ...................................................................79

5.2.4 Qui tắc đặt tên cho các điều khiển trong các màn hình ...........................80

5.2.5 Quy tắc đặt tên biến..................................................................................80

5.3 Thực nghiệm và kiểm tra ................................................................................81

Chương 6. Kết luận.............................................................................................. 85

6.1 Những kết quả đạt được ..................................................................................85

6.2 So sánh với một số chương trình liên quan.....................................................86

5

Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học

6.3 Các hướng phát triển .......................................................................................88

6.4 Nhận xét ..........................................................................................................88

Tài liệu tham khảo ............................................................................................... 90

Phụ lục A. Danh sách các mẫu nhập .................................................................. 91

A.1 Mẫu nhập câu hỏi trắc nghiệm .......................................................................91

A.2 Mẫu đề thi: .....................................................................................................92

A.3 Mẫu bảng trả lời .............................................................................................92

A.4 Mẫu đáp án .....................................................................................................94

A.5 Mẫu nhập đánh giá .........................................................................................94

Hồ sơ phân tích hệ thống..................................................................................... 95

A.1 Sơ đồ luồng dữ liệu ........................................................................................95

A.1.1 Quản lý tác giả.........................................................................................96

A.1.1.1 Thêm tác giả .....................................................................................96

A.1.1.2 Cập nhật tác giả ................................................................................96

A.1.1.3 Xóa tác giả........................................................................................97

A.1.2 Quản lý khối thi.......................................................................................98

A.1.2.1 Thêm khối thi ...................................................................................98

Cập nhật khối thi ...........................................................................................99

A.1.2.2 Xóa khối thi......................................................................................99

A.1.3 Quản lý môn thi.....................................................................................100

A.1.3.1 Thêm môn thi .................................................................................100

A.1.3.1 Cập nhật môn thi ............................................................................101

A.1.3.2 Xóa môn thi....................................................................................102

A.1.4 Quản lý nội dung môn học ....................................................................103

A.1.4.1 Thêm nội dung môn học ................................................................103

A.1.4.2 Cập nhật nội dung môn học ...........................................................103

A.1.4.3 Xóa nội dung môn học ...................................................................104

A.1.5 Quản lý mục tiêu môn học ....................................................................105

A.1.5.1 Thêm mục tiêu môn học.................................................................105

6

Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học

A.1.5.2 Cập nhật mục tiêu môn học............................................................105

A.1.5.3 Xóa mục tiêu môn học ...................................................................106

A.1.6 Nhập câu hỏi..........................................................................................107

A.1.7 Tìm kiếm câu hỏi...................................................................................107

A.1.8 Cập nhật câu hỏi....................................................................................108

A.1.9 Soạn đề thi.............................................................................................109

A.1.10 Đánh giá đề thi và các câu trắc nghiệm...............................................110

A.2 Mô tả chi tiết các lớp đối tượng chính .........................................................110

A.2.1 Lớp Câu trắc nghiệm.............................................................................110

A.2.2 Lớp Câu trắc nghiệm đa lựa chọn .........................................................111

A.2.3 Lớp Câu trắc nghiệm đúng sai ..............................................................111

A.2.4 Lớp Phương án trả lời ...........................................................................112

A.2.5 Lớp Đề thi .............................................................................................112

A.2.6 Lớp Dàn bài trắc nghiệm.......................................................................112

A.2.7 Lớp Yêu cầu chi tiết ..............................................................................112

Phụ lục B. Hồ sơ thiết kế ................................................................................... 113

B.1 Chi tiết các bảng dữ liệu...............................................................................113

B.1.1 Bảng KHOI............................................................................................113

B.1.2 Bảng MON_HOC..................................................................................114

B.1.3 Bảng KHOI_MONHOC........................................................................114

B.1.4 Bảng NOI_DUNG_MON_HOC ...........................................................114

B.1.5 Bảng NOI_DUNG_CON ......................................................................115

B.1.6 Bảng MUC_TIEU_MON_HOC............................................................115

B.1.7 Bảng MUC_TIEU_CON .......................................................................115

B.1.8 Bảng TAC_GIA.....................................................................................117

B.1.9 Bảng CAU_HOI_DA_LUA_CHON.....................................................117

B.1.10 Bảng DANH_SACH_LUA_CHON....................................................119

B.1.11 Bảng CAU_HOI_DUNG_SAI ............................................................119

B.2 Thiết kế chi tiết các lớp đối tượng................................................................122

7

Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học

B.2.1 Thiết kế lớp đối tượng giao tiếp người dùng.........................................122

B.2.1.1 Lớp MH_Chinh ..............................................................................122

B.2.1.2 Lớp MH_TacGia ............................................................................123

B.2.1.3 Lớp MH_Khoi ................................................................................127

B.2.1.4 Lớp MH_MonHoc..........................................................................131

B.2.1.5 Lớp MH_NhapDanhSachMonHocThuocKhoi ..............................135

B.2.1.6 Lớp MH_NhapDanhSachKhoiChuaMonHoc ................................137

B.2.1.7 Lớp MH_NoiDungMonHoc...........................................................139

B.2.1.8 Lớp MH_MucTieuMonHoc ...........................................................144

B.2.1.9 Lớp MH_ThemCauHoi ..................................................................149

B.2.1.10 Lớp MH_ChinhSuaCauHoi..........................................................154

B.2.1.11 Lớp MH_TimKiemCauHoi ..........................................................159

B.2.1.12 Lớp MH_TuyChonPhatSinhCapNhat ..........................................163

B.2.1.13 Lớp MH_TaoDeThi......................................................................167

B.2.1.14 Lớp MH_TronDe..........................................................................173

B.2.1.15 Lớp MH_DanhGiaDeThi .............................................................176

B.2.2 Thiết kế lớp đối tượng xử lý nghiệp vụ.................................................177

B.2.2.1 Lớp CauTN.....................................................................................177

B.2.2.2 Lớp CauTN DaLuaChon ................................................................180

B.2.2.3 Lớp CauTNDungSai.......................................................................183

B.2.2.4 Lớp PhuongAnTraLoi ....................................................................185

B.2.2.5 Lớp YeuCau ...................................................................................185

B.2.2.6 Lớp TieuChuanTimKiem ...............................................................186

B.2.2.7 Lớp XL_CauHoi.............................................................................187

B.2.2.8 Lớp XL_Khoi .................................................................................191

B.2.2.9 Lớp XL_MonHoc...........................................................................192

B.2.2.10 Lớp XL_MucTieuMonHoc ..........................................................195

B.2.2.11 Lớp XL_NoiDungMonHoc ..........................................................199

B.2.2.12 Lớp XL_TacGia ...........................................................................202

8

Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học

B.2.2.13 Lớp ThongTinDanhGia ................................................................203

B.2.2.14 Lớp DisOrderTest.........................................................................204

B.2.2.15 Lớp ExcelRender..........................................................................206

B.2.2.16 Lớp WordParser ...........................................................................209

B.2.2.17 Lớp TestParser..............................................................................210

B.2.2.18 Lớp CauTNDaLuaChonParser .....................................................213

B.2.2.19 Lớp CauTNDungSaiParser...........................................................214

B.2.2.20 Lớp WordRender..........................................................................216

B.2.2.21 Lớp TestRender ............................................................................219

B.2.2.22 Lớp CauTNDaLuaChonRender....................................................219

B.2.2.23 Lớp CauTNDungSaiRender .........................................................220

B.2.3 Thiết kế lớp đối tượng xử lý lưu trữ......................................................220

B.2.3.1 Lớp LT_Bang .................................................................................220

B.2.3.2 Lớp LT_Khoi..................................................................................222

B.2.3.3 Lớp LT_MonHoc ...........................................................................223

B.2.3.4 xLớp LT_TacGia............................................................................224

B.2.3.5 Lớp LT_NoiDungMonHoc ............................................................225

B.2.3.6 Lớp LT_MucTieuMonHoc.............................................................227

B.2.3.7 Lớp LT_CauTNDaLuaChon ..........................................................228

B.2.3.8 Lớp LT_CauTNDungSai................................................................231

9

Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học

Danh sách các hình

Hình 1. Kiến trúc triển khai 1................................................................................. 56

Hình 2. Kiến trúc triển khai 2................................................................................. 57

Hình 3. Sơ đồ sử dụng tổng thể.............................................................................. 58

Hình 4. Sơ đồ kiến trúc tổng thể ............................................................................ 60

Hình 5. Sơ đồ các lớp đối tượng (Mức phân tích) ................................................. 61

Hình 6. Sơ đồ kiến trúc tổng thể ............................................................................ 63

Hình 7. Sơ đồ tổ chức các lớp xử lý tập tin Word ................................................. 64

Hình 8. Các lớp xử lý đọc tập tin Word ................................................................. 64

Hình 9. Các lớp xử lý kết xuất tập tin Word .......................................................... 65

Hình 10. Sơ đồ logic dữ liệu .................................................................................. 68

Hình 11. Sơ đồ truyền động xử lý nhập câu hỏi .................................................... 70

Hình 12. Sơ đồ truyền động xử lý kết xuất câu hỏi ............................................... 71

Hình 13. Sơ đồ truyền động xử lý trộn đề thi ........................................................ 72

Hình 14. Mô hình sử dụng Automation ................................................................ 74

Hình 15. Mô hình đối tượng Word ........................................................................ 76

Hình 16. Sơ đồ luồng dữ liệu mẫu ......................................................................... 95

Hình 17. Sơ đô sử dụng chi tiết Thêm tác giả........................................................ 96

Hình 18. Sơ đô sử dụng chi tiết Cập nhật tác giả................................................... 96

Hình 19. Sơ đô sử dụng chi tiết Xóa tác giả .......................................................... 97

Hình 20. Sơ đô sử dụng chi tiết Thêm khối thi...................................................... 98

Hình 21. Sơ đô sử dụng chi tiết Cập nhật khối thi................................................. 99

Hình 22. Sơ đô sử dụng chi tiết Xóa khối thi......................................................... 99

Hình 23. Sơ đô sử dụng chi tiết Thêm môn thi .................................................... 100

Hình 24. Sơ đô sử dụng chi tiết Cập nhật môn thi............................................... 101

Hình 25. Sơ đô sử dụng chi tiết Xóa môn thi....................................................... 102

Hình 26. Sơ đô sử dụng chi tiết Thêm nội dung môn học ................................... 103

Hình 27. Sơ đô sử dụng chi tiết Cập nhật nội dung môn học .............................. 103

10

Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học

Hình 28. Sơ đô sử dụng chi tiết Xóa nội dung môn học...................................... 104

Hình 29. Sơ đô sử dụng chi tiết Thêm mục tiêu môn học ................................... 105

Hình 30. Sơ đô sử dụng chi tiết Cập nhật mục tiêu môn học .............................. 105

Hình 31. Sơ đô sử dụng chi tiết Xóa mục tiêu môn học ...................................... 106

Hình 32. Sơ đồ sử dụng chi tiết............................................................................ 107

Hình 33. Sơ đô sử dụng chi tiết Tìm kiếm câu hỏi .............................................. 107

Hình 34. Sơ đô sử dụng chi tiết Cập nhật câu hỏi................................................ 108

Hình 35. Sơ đô sử dụng chi tiết Soạn đề thi......................................................... 109

Hình 36. Sơ đô sử dụng chi tiết Đánh giá đề thi và các câu trắc nghiệm ............ 110

Hình 37. Màn hình chính ..................................................................................... 122

Hình 38. Màn hình quản lý tác giả....................................................................... 123

Hình 39. Màn hình quản lý khối .......................................................................... 127

Hình 40. Màn hình quản lý môn học ................................................................... 131

Hình 41. Màn hình nhập môn học thuộc khối...................................................... 135

Hình 42. Màn hình nhập khối chứa môn học....................................................... 137

Hình 43. Màn hình quản lý nội dung môn học .................................................... 139

Hình 44. Màn hình quản lý mục tiêu môn học..................................................... 144

Hình 45. Màn hình thêm câu hỏi - Tab Nhập danh sách tập tin .......................... 149

Hình 46. Màn hình thêm câu hỏi - Tab Danh sách câu hỏi đọc được.................. 150

Hình 47. Màn hình chỉnh sửa câu hỏi - Tab Nhập danh sách tập tin................... 154

Hình 48. Màn hình chỉnh sửa câu hỏi - Tab Danh sách câu hỏi đọc được .......... 155

Hình 49. Màn hình tìm kiếm câu hỏi ................................................................... 159

Hình 50. Màn hình tùy chọn phát sinh cập nhật .................................................. 163

Hình 51. Màn hình tạo đề thi - Tab Nhập dàn bài trắc nghiệm ........................... 167

Hình 52. Màn hình tạo đề thi - Tab Câu trắc nghiệm phát sinh........................... 168

Hình 53. Màn hình trộn đề ................................................................................... 173

Hình 54. Màn hình đánh giá đề thi....................................................................... 176

11

Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học

Danh sách các bảng

Bảng 1. Bảng so sánh khác biệt giữa luận đề và trắc nghiệm[1] ........................... 18

Bảng 2. So sánh trắc nghiệm chuẩn mực và trắc nghiệm tiêu chí[1]..................... 23

Bảng 3 So sánh mục tiêu học tập tổng quát và Kết quả học tập chuyên biệt[3]... 30

Bảng 4. Thí dụ về dàn bài trắc nghiệm[1].............................................................. 34

Bảng 5. Tương quan số lựa chọn và độ may rủi .................................................... 37

Bảng 6. Tương quan loại câu hỏi và tỉ lệ may rủi.................................................. 42

Bảng 7. Bảng ti lệ phần trăm làm đúng.................................................................. 44

Bảng 8. Điểm bài làm và điểm câu trắc nghiệm .................................................... 45

Bảng 9. Kết luận từ độ phân cách[3]...................................................................... 46

Bảng 10. Điểm số của mỗi thí sinh ........................................................................ 50

Bảng 11. Điểm bài làm của thí sinh ....................................................................... 52

Bảng 12. Tính pq................................................................................................... 52

Bảng 13. Kết luận từ độ tin cậy[3]......................................................................... 53

Bảng 14. Bảng qui ước ký hiệu sử dụng trong sơ đồ sử dụng ............................... 57

Bảng 15. Danh sách các nghiệm vụ ....................................................................... 59

Bảng 16. Danh sách các lớp đối tượng chi tiết ...................................................... 62

Bảng 17. Danh sách các bảng dữ liệu .................................................................... 69

Bảng 18. Qui tắc đặt tên các đối tượng .................................................................. 80

Bảng 19. Qui tắc đặt tên các điều khiển trên màn hình ......................................... 80

Bảng 20. Quy tắc đặt tên biến ................................................................................ 80

Bảng 21. Bài làm của các thí sinh .......................................................................... 81

Bảng 22. Điểm bài làm và điểm câu trắc nghiệm 1 ............................................... 82

Bảng 23. Độ khó và độ phân cách của các câu trắc nghiệm .................................. 83

Bảng 24. Tính pq.................................................................................................... 84

Bảng 25. Bảng so sánh chức năng của đề tài với chương trình đã được phát triển88

Bảng 26. Mẫu nhập câu hỏi.................................................................................... 92

Bảng 27. Mẫu đề thi .............................................................................................. 92

Bảng 28. Mẫu bảng trả lời...................................................................................... 93

12

Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học

Bảng 29. Mẫu đáp án ............................................................................................. 94

Bảng 30. Mẫu nhập đánh giá.................................................................................. 94

13

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Chương 1. Mở đầu

1.1 Yêu cầu thực tế và lý do chọn đề tài

Trong cuộc sống thường ngày, nhu cầu đo lường và đánh giá chiếm một tỉ lệ lớn.

Con người luôn luôn phải đối chiếu các hoạt động đang triển khai với mục đích đã

định, hoặc thẩm định các kết quả đã làm để từ đó cải tiến. Tuy nhiên, muốn đánh

giá được chính xác thì phải đo lường trước (cho dù dưới bất cứ dạng nào). Không

có số đo thì không thể đưa ra những nhận xét hữu ích. Từ trước đến nay, trong giáo

dục đã có những hình thức đo lường kết quả học tập như vấn đáp, quan sát, viết …

để đánh giá học sinh. Trong đó, thì trắc nghiệm (1 dạng của hình thức viết) là một

trong những hình thức đo lường có tính khách quan cao và đang được chọn để trở

thành hình thức thi chính trong các kỳ thi tuyển sinh, đặc biệt là kỳ thi tuyển sinh

đại học, vốn rất phức tạp trong việc ra đề thi, chấm thi … Tuy nhiên, để có thể áp

dụng hình thức trắc nghiệm thì phải có được một tập hợp lớn các câu hỏi trắc

nghiệm, gọi là ngân hàng câu hỏi, kèm theo đó là phải có một phương pháp quản lý

hiệu quả các câu hỏi đó. Công việc đó đòi hỏi phải tốn rất nhiều công sức và không

bảo đảm được sự chính xác cần thiết nếu thực hiện bằng các thao tác thủ công. Tuy

nhiên, với sự trợ giúp của máy vi tính, các vấn đề đã nêu sẽ được giải quyết triệt để

và hiệu quả. Đó là lý do vì sao vấn đề “Quản lý kho dữ liệu đề thi trắc nghiệm tuyển

sinh đại học” được chúng tôi chọn làm luận văn tốt nghiệp.

1.2 Mục đích, đối tượng và phạm vi nghiên cứu

Mục tiêu của đề tài đặt ra là xây dựng được hệ thống quản lý các câu hỏi trắc

nghiệm, hỗ trợ quá trình xây dựng hệ thống câu hỏi, ra đề thi, và đánh giá các câu

hỏi trắc nghiệm để nâng cao chất lượng câu hỏi trắc nghiệm trong ngân hàng.

Đối tượng cần nghiên cứu là các lý thuyết về trắc nghiệm, các cách thức, quy tắc ra

đề thi trắc nghiệm cũng như các công thức dùng để đánh giá độ khó, độ phân cách

hay các độ đo khác của câu trắc nghiệm.

Các công việc chính của đề tài bao gồm :

14

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

(cid:190) Tìm hiểu lý thuyết về trắc nghiệm nói chung và các loại hình trắc nghiệm

chính được sử dụng trong các kỳ thi, đặc biệt là kỳ thi tuyển sinh đại học.

(cid:190) Tìm hiểu về qui trình ra đề thi trắc nghiệm và xây dựng qui trình này dựa

trên hệ thống các câu hỏi đã có sẵn trong ngân hàng hỗ trợ cho việc kết xuất

đề thi, các bảng bài làm cho thí sinh, các bảng đáp án …

(cid:190) Tìm hiểu về các cách đánh giá các câu trắc nghiệm và đánh giá đề thi sau khi

đã có kết quả bài làm của các thí sinh và hỗ trợ một phần trong công việc

chấm bài làm.

15

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Chương 2. Nghiên cứu lý thuyết trắc nghiệm

2.1 Tổng quan về trắc nghiệm khách quan

2.1.1 Luận đề và Trắc nghiệm khách quan

Luận đề và trắc nghiệm khách quan đều là những phương tiện kiểm tra khả

năng học tập, và cả hai đều là trắc nghiệm (tests). Các bài kiểm tra thuộc loại

luận đề mà xưa nay vốn quen thuộc với chúng ta cũng là những bài trắc nghiệm

nhằm khảo sát khả năng của học sinh về các môn học. Các chuyên gia đo lường

gọi chung các hình thức kiểm tra này là “trắc nghiệm loại luận đề” (essay-type

test) để phân biệt với loại trắc nghiệm gọi là “trắc nghiệm khách quan”

(objective test). Thật ra, việc dùng từ “khách quan” này để phân biệt hai loại

kiểm tra nói trên cũng không đúng hẳn, vì trắc nghiệm luận đề không nhất thiết

là trắc nghiệm “chủ quan” và trắc nghiệm khách quan không phải là hoàn toàn

“khách quan”. Tại Việt Nam, các tài liệu thường ghi là “trắc nghiệm khách

quan”, không phải hiểu theo nghĩa đối lập với một đo lường chủ quan nào, mà

nên hiểu là hình thức kiểm tra này có tính khách quan cao hơn cách kiểm tra,

đánh giá bằng luận đề chẳng hạn.

Chúng ta gọi tắt “luận đề” là trắc nghiệm luận đề và “trắc nghiệm” là trắc

nghiệm khách quan.

Dưới đây là chín điểm khác biệt và bốn điểm tương đồng giữa luận đề và trắc

nghiệm.

16

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

(cid:153) Khác biệt:

Luận đề

Trắc nghiệm

Một câu hỏi thuộc loại luận đề đòi

Một câu hỏi trắc nghiệm buộc thí

hỏi thí sinh phải tự mình soạn câu

sinh phải lựa chọn câu trả lời đúng

trả lời và diễn tả câu trả lời bằng

nhất trong một số câu đã cho sẵn.

ngôn ngữ của chính mình.

Một bài luận đề gồm số câu hỏi

Một bài trắc nghiệm thường gồm

tương đối ít và có tính cách tổng

nhiều câu hỏi có tính cách chuyên

quát, đòi hỏi thí sinh phải triển khai

biệt chỉ đòi hỏi những câu trả lời

câu trả lời bằng lời lẽ dài dòng.

ngắn gọn.

Trong khi làm một bài luận đề, thí

Trong khi làm một bài trắc nghiệm,

sinh phải bỏ ra phần lớn thời gian

thí sinh dùng nhiều thời gian để đọc

để suy nghĩ và viết.

và suy nghĩ.

Chất lượng của một bài trắc nghiệm

Chất lượng của một bài luận đề tùy

được xác định một phần lớn do kỹ

thuộc chủ yếu vào kỹ năng của

năng của người soạn thảo bài trắc

người chấm bài.

nghiệm.

Một bài thi trắc nghiệm khó soạn,

Một bài thi theo lối luận đề tương

nhưng việc chấm và cho điểm tương

đối dễ soạn, nhưng khó chấm và

đối dễ dàng và chính xác.

khó cho điểm chính xác.

Thí sinh có nhiều tự do bộc lộ cá

Người soạn thảo trắc nghiệm có

tính của mình trong câu trả lời, và

nhiều tự do bộc lộ kiến thức và các

người chấm bài cũng có tự do cho

giá trị của mình qua việc đặt các câu

điểm các câu trả lời theo xu hướng

hỏi, nhưng chỉ cho thí sinh quyền tự

riêng của mình.

do chứng tỏ mức độ hiểu biết của

mình qua tỉ lệ câu trả lời đúng.

Trong các câu hỏi luận đề, nhiệm

Trong các câu hỏi trắc nghiệm,

vụ học tập của người học và trên cơ

nhiệm vụ học tập của người học và

sở đó giám khảo thẩm định mức độ

trên cơ sở đó giám khảo thẩm định

17

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

hoàn thành các nhiệm vụ ấy không

mức độ hoàn thành các nhiệm vụ ấy

được phát biểu một cách rõ ràng.

được phát biểu một cách rõ ràng.

Một bài luận đề cho phép và đôi

Một bài trắc nghiệm cho phép và đôi

khi khuyến khích sự “lừa phỉnh”

khi khuyến khích sự phỏng đoán.

(chẳng hạn như bằng những ngôn

từ hoa mỹ hay bằng cách đưa ra

những bằng chứng khó có thể xác

định được).

Sự phân bố điểm số của một bài thi

Phân bố điểm số của thí sinh hầu

luận đề có thể được kiểm soát một

như hoàn toàn được quyết định do

phần lớn do người chấm (ấn định

bài trắc nghiệm.

điểm tối đa và tối thiểu).

Bảng 1. Bảng so sánh khác biệt giữa luận đề và trắc nghiệm [1]

(cid:153) Tương đồng:

(cid:57) Trắc nghiệm hay luận đề đều có thể đo lường hầu hết mọi thành quả

học tập quan trọng mà một bài khảo sát bằng lối viết có thể khảo sát

được.

(cid:57) Trắc nghiệm và luận đề đều có thể được sử dụng để khuyến khích học

sinh học tập nhằm đạt đến các mục tiêu: hiểu biết các nguyên lý, tổ

chức và phối hợp các ý tưởng, ứng dụng kiến thức giải quyết các vấn

đề.

(cid:57) Trắc nghiệm và luận đề đều đòi hỏi sự vận dụng ít nhiều phán đoán

chủ quan.

(cid:57) Giá trị của cả hai loại trắc nghiệm và luận đề tùy thuộc vào tính khách

quan và đáng tin cậy của chúng.

18

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

2.1.2 Những nguyên tắc chung của trắc nghiệm

Trắc nghiệm là một quy trình, và cũng như các quy trình khác, trắc nghiệm chỉ

có thể được thực hiện một cách hiệu quả khi dựa trên một nguyên tắc vận hành

hợp lý. Dưới đây là một số nguyên tắc chung của trắc nghiệm dựa theo

Gronlund:

(cid:153) Xác định và làm rõ nội dung đo lường phải được đặt ở mức ưu tiên cao

hơn bản thân quá trình đo lường

Không bao giờ được thực hiện trắc nghiệm khi chưa xác định nội dung và

mục đích đo lường, vì giá trị của các kết quả đạt không chỉ phụ thuộc vào

mặt kỹ thuật của việc đo lường mà trước hết là vào việc xác định rõ cần

phải đo cái gì và tại sao.

(cid:153) Kỹ thuật trắc nghiệm phải được lựa chọn dựa trên mục đích trắc

nghiệm

Rất nhiều khi một kỹ thuật trắc nghiệm được lựa chọn chỉ vì nó thuận

tiện, dễ sử dụng, hoặc quen thuộc với nhiều người. Tất cả những điều này

đều quan trọng, nhưng điều quan trọng nhất trong việc lựa chọn một kỹ

thuật trắc nghiệm giáo dục là liệu nó có đo lường được một cách hiệu quả

nhất những gì mà ta cần nó đo lường hay không? Bởi vì một kỹ

thuật/phương pháp trắc nghiệm chỉ thích hợp nhất cho một vài mục đích

cụ thể.

(cid:153) Việc đánh giá tổng quát đòi hỏi phải sử dụng nhiều kỹ thuật và phương

pháp đánh giá khác nhau

Không có một phương pháp đánh giá nào có thể một mình thực hiện được

toàn bộ những yêu cầu đánh giá mức tiến bộ của tất cả những kết quả

quan trọng trong học tập của học sinh. Vì thế, muốn có được một bức

tranh hoàn chỉnh về kết quả học tập của học sinh thì nhất thiết phải sử

dụng nhiều kỹ thuật và phương pháp đánh giá khác nhau.

19

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

(cid:153) Muốn sử dụng trắc nghiệm một cách thích hợp nhất thiết phải có sự

hiểu biết về những hạn chế cũng như những ưu điểm của nó

Một trong những sai lầm nghiệm trọng trong việc sử dụng trắc nghiệm là

diễn giải không đúng kết quả trắc nghiệm. Cần nhớ rằng trắc nghiệm chỉ

là một trong nhiều phương pháp đánh giá, và với tư cách là một công cụ

đo lường nó luôn luôn có những sai số, cho nên không thể gán cho những

kết quả trắc nghiệm một giá trị tuyệt đối được. Mọi công cụ đo lường tâm

lý tốt nhất cũng chỉ cho ta được một kết quả gần đúng với thực tế mà thôi,

và luôn luôn phải ý thức điều này khi sử dụng trắc nghiệm.

(cid:153) Trắc nghiệm chỉ là một phương tiện dẫn đến cứu cánh, chứ không phải

là cứu cánh

Khi thực hiện trắc nghiệm phải nhớ rằng chúng được tiến hành để thu

thập thông qua những mục đích cụ thể trong quá trình giảng dạy và học

tập, chứ không phải chỉ để tiến hành cho có, và mong đợi rằng thông qua

việc tiến hành trắc nghiệm, chất lượng giảng dạy và học tập sẽ đương

nhiên có được sự cải thiện.

2.1.3 Những trường hợp dùng trắc nghiệm

Chúng ta nên sử dụng trắc nghiệm để khảo sát thành quả học tập trong những

trường hợp sau:

(1) Khi ta cần khảo sát thành quả học tập của một số đông học sinh, hay muốn

rằng bài khảo sát ấy có thể được sử dụng lại vào một lúc khác

(2) Khi ta muốn có những điểm số đáng tin cậy, không phụ thuộc phần lớn vào

chủ quan của người chấm bài.

(3) Khi các yếu tố công bằng, vô tư, chính xác được coi là những yếu tố quan

trọng nhất của việc thi cử.

(4) Khi ta có nhiều câu trắc nghiệm tốt đã được dự trữ sẵn để có thể lựa chọn và

cấu trúc lại một bài trắc nghiệm mới. Đặc biệt, ta muốn chấm nhanh và công

bố kết quả sớm.

20

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

(5) Khi ta muốn ngăn ngừa nạn học tủ, học vẹt, và gian lận trong thi cử của thí

sinh.

2.1.4 Trắc nghiệm chuẩn mực và Trắc nghiệm tiêu chí

2.1.4.1 Trắc nghiệm chuẩn mực

Trắc nghiệm chuẩn mực là trắc nghiệm được soạn nhằm cung cấp một số

cách đo lường thành tích mà người ta có thể giải thích được căn cứ trên vị

thế tương đối của một cá nhân so với một nhóm người nào đó đã được biết.

Trắc nghiệm chuẩn mực được dùng để xác định thành tích của một cá

nhân so với thành tích của các cá nhân khác với cùng một dụng cụ đo lường.

Một bài trắc nghiệm chuẩn mực cho phép ta so sánh thành tích của mỗi

thí sinh đối chiếu với thành tích của một nhóm được dùng làm chuẩn (norm

group) về một nội dung giảng dạy nào đó. Thông thường nội dung ấy có tính

cách bao quát rộng, và nhóm chuẩn là một nhóm đại diện cho các thí sinh

thuộc một lớp tuổi hay cấp học nào đó trong phạm vi một đơn vị địa lý rộng

lớn như một vùng, một tỉnh hay một nước. Các trắc nghiệm chuẩn mực khác

nhau về mức độ chúng đo lường thành tích mà thí sinh đã đạt được. Thế

nhưng, các trắc nghiệm này lại chú trọng đến việc cho ra kết quả về vị trí của

từng học viên so với các học viên khác trong nhóm chuẩn. Để tạo nên căn

bản cho sự phân biệt hai loại học viên, người ta phải lựa chọn các câu trắc

nghiệm làm sao cho các học viên làm đúng một câu hỏi cũng có khuynh

hướng đạt được điểm cao trên toàn bài trắc nghiệm, trong khi học viên làm

sai câu ấy có thể đạt điểm số thấp hơn trên toàn bài.

Với trắc nghiệm chuẩn mực, người ta lập nên một chuỗi liên tục các điểm

số từ thấp đến cao, trên đó các thí sinh được phân biệt mức độ khác nhau về

khả năng. Trắc nghiệm chuẩn mực cho biết vị thế của một học viên trong

phân bố điểm số, so sánh với vị thế của các học viên khác trong nhóm chuẩn.

21

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Vì trắc nghiệm chuẩn mực được soạn thảo để so sánh giữa các cá nhân

với nhau nên mục đích của trắc nghiệm chuẩn mực là giúp đưa ra những

quyết định về các cá nhân và trắc nghiệm chuẩn mực thường được sử dụng

khi hoàn cảnh đòi hỏi phải có một mức độ lựa chọn nào đó giữa các thí sinh.

Ví dụ như một trường đại học chỉ có một số chỗ giới hạn nào đó dành cho

học sinh tốt nghiệm trung học, hay một công ty chỉ cần tuyển dụng một số

người trong số khá đông các ứng viên, trong các trường hợp này người ta cần

một dụng cụ đo lường để so sánh giữa các ứng viên với nhau, và dụng cụ đo

lường ấy chính là trắc nghiệm chuẩn mực.

2.1.4.2 Trắc nghiệm tiêu chí

Trắc nghiệm tiêu chí là trắc nghiệm được soạn nhằm cung cấp một số

cách đo lường mức thành thạo mà người ta có thể giải thích được căn cứ trên

một lĩnh vực các nhiệm vụ học tập đã được xác định và được giới hạn.

Trắc nghiệm tiêu chí được dùng để xác định thành tích của một cá nhân

so với tiêu chí (criterion) nào đó, chẳng hạn như tiêu chuẩn (standard) mà

người học phải đạt tới sau một thời gian học tập. Ý nghĩa của một điểm số cá

nhân không tùy thuộc vào sự so sánh với các cá nhân khác. Điều mà ta quan

tâm là cá nhân đó làm được gì hơn là so sánh vị thế của người ấy với những

người khác.

Một bài trắc nghiệm tiêu chí cho ta kết quả so sánh mức độ thành thạo

của mỗi cá nhân so với toàn bộ kiến thức, hay kỹ năng mà bài trắc nghiệm ấy

bao trùm. Bài trắc nghiệm đặt căn bản trên một tiêu chí xác định mức thành

thạo của một cá nhân về nội dung học tập hơn là thứ hạng của cá nhân ấy so

với nhóm chuẩn.

2.1.4.3 So sánh trắc nghiệm chuẩn mực và Trắc nghiệm tiêu chí

(cid:153) Khác biệt:

Trắc nghiệm chuẩn mực

Trắc nghiệm tiêu chí

22

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Thường bao trùm một miền các

Tập trung vào một miền xác định,

nhiệm vụ học tập rộng lớn, mỗi

với khá nhiều câu hỏi trắc nghiệm

nhiệm vụ chỉ có một số câu hỏi

cho mỗi nhiệm vụ.

trắc nghiệm.

Nhấn mạnh sự phân biệt giữa các

Nhấn mạnh sự mô tả các nhiệm vụ

cá nhân dựa trên mức trình độ

học tập mà một cá nhân có thể

học tập tương đối của họ.

hoặc không thể thực hiện được.

Quy độ khó của câu trắc nghiệm

Thích các câu hỏi có độ khó trung

vào độ khó của nhiệm vụ học tập,

bình và thông thường loại bỏ các

và không thay đổi độ khó của câu

câu hỏi dễ.

cũng không loại bỏ các câu hỏi dễ.

Chủ yếu (nhưng không bắt buộc)

Chủ yếu (nhưng không bắt buộc)

sử dụng cho mục đích kiểm định

sử dụng cho mục đích kiểm định

thành thạo.

khảo sát.

Chỉ có thể diễn giải kết quả dựa

Chỉ có thể diễn giải kết quả dựa

trên một nhóm xác định rõ ràng.

trên một miền nhiệm vụ xác định.

Bảng 2. So sánh trắc nghiệm chuẩn mực và trắc nghiệm tiêu chí [1]

(cid:153) Tương đồng:

(cid:57) Cả hai loại trắc nghiệm đều đòi hỏi phải quy định miền nội dung trắc

nghiệm.

(cid:57) Cả hai loại đều đòi hỏi phải có một mẫu các câu hỏi có liên quan và

có tính đại diện (relevant and representative).

(cid:57) Cả hai loại đều sử dụng cùng những loại câu hỏi giống nhau.

(cid:57) Cả hai loại đều áp dụng những quy luật giống nhau trong kỹ thuật viết

câu trắc nghiệm.

(cid:57) Cả hai loại đề được đánh giá bởi cùng một tiêu chuẩn chất lượng (độ

giá trị và độ tin cậy – validity and reliability).

(cid:57) Cả hai loại đều rất cần thiết trong đánh giá giáo dục.

23

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

(cid:190) Kết luận: Mặc dù trắc nghiệm chuẩn mực và trắc nghiệm tiêu chí có thể

giống nhau về mặt hình thức nhưng hai loại trắc nghiệm này khác biệt

nhau về cách tính hệ số tin cậy, cách phân tích câu. Với đề tài “Xây dựng

phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại

học”, chúng ta sử dụng trắc nghiệm chuẩn mực để phân loại thí sinh, so

sánh giữa các thí sinh với nhau để tìm ra người có thứ hạng cao từ trên

xuống theo tiêu chuẩn tuyển sinh của các trường đại học. Các kỹ thuật

tính độ tin cây, phân tích câu trắc nghiệm được trình bày trong các phần

sau là các kỹ thuật của trắc nghiệm chuẩn mực, còn các kỹ thuật của trắc

nghiệm tiêu chí không thuộc phạm vi đề tài này.

2.2 Tính tin cậy và tính giá trị của bài trắc nghiệm

Trong lĩnh vực đo lường, dù là đề thi luận đề hay trắc nghiệm, người ra đề cần

quan tâm đến hai tính chất cơ bản của một đề thi là tính tin cậy và tính giá trị.

Với đề thi trắc nghiệm, yêu cầu này càng phải được nghiên cứu kỹ hơn.

2.2.1 Tính tin cậy (Reliability)

Ta hiểu tính tin cậy (độ tin cậy) của một dụng cụ đo là khái niệm cho biết

mức độ ổn định, vững chãi của các kết quả đo được khi tiến hành đo vật thể đó

nhiều lần.

Thí dụ: có một gói mứt khi đặt lên cân, lần đầu báo 750 gam, sang lần thứ

hai báo 745 gam, lần thứ ba báo 765 gam, v.v… Ta nói cái cân này tin cậy.

Tương tự một bài trắc nghiệm được gọi là tin cậy khi một học sinh làm nhiều lần

bài trắc nghiệm này vào những thời điểm cách xa nhau thì các kết quả điểm số

thu được đều khá ổn định (các điểm số của các lần đo không chênh lệch quá

nhiều).

Độ tin cậy thường được biểu hiện bằng một con số trong khoảng từ 0 đến 1.

Độ lớn càng gần với 1 thì dụng cụ càng tin cậy. Ví dụ: nếu từ 0.80 trở lên thì độ

24

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

tin cậy được gọi là cao, từ 0.40 đến 0.79 thì tương đối tin cậy, dưới 0.40 là tin

cậy thấp.

Tính tin cậy là khái niệm cho biết bài trắc nghiệm đo bất cứ cái gì mà nó đo

với sự tin cậy có căn cứ và ổn định có thể có. Nghĩa là một bài trắc nghiệm có

tính tin cậy cao khi ta dùng các hình thức khác nhau của cùng một trắc nghiệm

hoặc tiến hành cùng một trắc nghiệm nhiều lần trên cùng một đối tượng (cá nhân

hay nhóm) thì kết quả thu được phải giống nhau.

Một bài trắc nghiệm được xem là đáng tin cậy khi nó cho ra những kết quả

có tính cách vững chãi. Điều này có nghĩa là, nếu làm bài trắc nghiệm ấy nhiều

lần, mỗi học sinh vẫn sẽ giữ được thứ hạng tương đối của mình trong nhóm.

Nhưng trong thực tế không bao giờ ra một bài khảo sát nhiều lần cho cùng một

nhóm học sinh. Bởi vì một bài trắc nghiệm nếu đưa cho cùng một học sinh làm

cách nhau trong một khoảng thời gian ngắn thì thường bị tác động của yếu tố

“quen thuộc” của trí nhớ và trình độ luyện tập. Kết quả lần sau chắc chắn sẽ tốt

hơn lần trước. Còn nếu khoảng cách giữa hai lần làm bài trắc nghiệm khá dài

trên cùng một học sinh thì lại bị ảnh hưởng của tính biến đổi của bản thân học

sinh đó.

Khi chúng ta sử dụng một bài trắc nghiệm để đo lường thành tích học tập của

một em học sinh, nghĩa là chúng ta muốn đo xem tri thức của em học sinh đó đối

với kiến thức đã được học đạt được ở mức độ nào. Nhưng trên thực tế, chúng ta

không thể đo được toàn bộ tri thức của em học sinh đó mà không bị ảnh hưởng

bởi những sai số tham gia vào quá trình đo lường. Những sai số tham gia vào

quá trình đo lường tri thức của học sinh có thể là:

(cid:153) Thí sinh có thể làm đúng câu trắc nghiệm bằng cách đoán mò: với những

bài trắc nghiệm có nhiều lựa chọn, trắc nghiệm câu Đúng-Sai, thí sinh có

thể đoán mò câu trả lời mà không cần có hiểu biết về câu trả lời đó. Do

đó, điểm số của một thí sinh khi làm xong một bài trắc nghiệm bao gồm

cả những câu trả lời đúng do đoán mò và cả những câu trả lời đúng do có

25

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

kiến thức. Điều này cũng cho ta thấy, một học sinh làm bài trắc nghiệm

càng có nhiều câu đoán mò bao nhiêu thì kết quả làm bài lần sau sẽ càng

khó có cùng một điểm số với lần làm trắc nghiệm đầu. Vì vậy cũng

không xác định được rằng thí sinh có điểm cao giỏi hơn thí sinh có điểm

thấp. Do đó nếu có nhiều thí sinh làm bài trắc nghiệm theo lối đoán mò

thì bài trắc nghiệm đó có tính tin cậy thấp và điểm số của bài trắc nghiệm

đó sẽ không đáng tin cậy.

(cid:153) Tính tin cậy của bài trắc nghiệm phụ thuộc vào tính chất khó hay dễ của

bài trắc nghiệm: Nếu một bài trắc nghiệm gồm toàn những câu dễ khiến

cho học sinh kém và học sinh giỏi đều làm được thì chúng ta không thể

phân biệt được trình độ khác nhau của học sinh. Và cũng tương tự như

thế, nếu bài trắc nghiệm quá khó khiển cả học sinh kém lẫn học sinh giỏi

đều không làm được thì ta cũng không thể phân biệt được trình độ của

học sinh. Vì vậy, một bài trắc nghiệm thành tích học tập tốt là một bài mà

kết quả làm bài của học sinh có tất cả các loại điểm số từ điểm 1đến điểm

10 (với thang điểm 10) để giúp ta phận loại học sinh giỏi, khá, trung bình

và kém.

(cid:153) Tính tin cậy của bài trắc nghiệm phụ thuộc vào độ dài của bài trắc

nghiệm: Một bài trắc nghiệm rất ngắn (chẳng hạn chỉ có 5 câu) không

làm cho điểm số trải rộng đủ để cho ra những kết quả vững chãi. Nói

chung, một bài trắc nghiệm càng dài thì tính tin cậy càng tăng.

(cid:190) Vậy để đảm bảo tính tin cậy tối đa của một bài trắc nghiệm, ta cần phải:

(cid:153) Làm giảm những sai số của trắc nghiệm đến mức tối thiểu bằng cách:

• Tăng độ dài của bài trắc nghiệm. Bài trắc nghiệm càng dài thí tính tin

cậy càng cao, miễn là nhóm học sinh được khảo sát không thay đổi và

các câu trắc nghiệm mới được thêm vào cũng tốt như là những câu

trên bài trắc nghiệm ngắn. Nhưng bài trắc nghiệm không nên quá dài,

khiến cho yếu tố mệt mỏi ảnh hưởng đến kết quả trắc nghiệm.

26

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

• Gia tăng khả năng phân cách của các câu trắc nghiệm. Trong khi soạn

các câu trắc nghiệm, ta cần phải chọn ra những câu hỏi có khả năng

phân biệt được học sinh giỏi và học sinh kém, có khả năng và không

có khả năng. Như vậy sẽ tạo nên sự khác biết về điểm số giữa các loại

học sinh ấy. Sự biến thiên của điểm số trong nhóm càng cao thì hệ số

tin cậy có thể càng lớn.

• Dùng câu hỏi có nhiều lựa chọn, tránh để học sinh có điều kiện đoán

mò câu trả lời.

(cid:153) Viết những lời chỉ dẫn sao cho thật rõ ràng để học sinh khỏi nhầm lẫn.

2.2.2 Tính giá trị (Validity)

Tính giá trị (hay độ giá trị) của một dụng cụ đo là một khái niệm chỉ ra rằng

dụng cụ này có khả năng đo đúng được cái cần đo.

Thí dụ: Một vật có trọng lượng thực là 800 gam. Nếu khi bỏ lên cân thấy báo

trị số 800 gam, ta nói cái cân này giá trị. Còn thấy báo là 700 gam, cân sẽ không

giá trị vì không đo đúng được trọng lượng cần đo. Đặt vật lên, xuống để cân

nhiều lần, lần nào kết quả cũng không xê dịch khỏi 700 gam, ta nói cân đó tin

cậy nhưng không giá trị.

Tính giá trị là khái niệm cho biết mức độ mà một bài trắc nghiệm đo được

đúng cái nó định đo.

Tính giá trị liên quan đến mức độ mà bài trắc nghiệm phục vụ được cho mục

đích đo lường của ta với nhóm người muốn khảo sát.

Khi nói đến tính giá trị, ta cần phải đặt các câu hỏi:

(cid:153) Bài trắc nghiệm có đạt được mục đích đo lường của nó hay không?

(cid:153) Bài trắc nghiệm đo lường trên nhóm người nào?

Nói cách khác, khái niệm giá trị chỉ có ý nghĩa khi ta xác định rõ: ta muốn đo

lường cái gì (mục đích đo lường) và với nhóm người nào.

27

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

2.2.3 Mối liên hệ giữa tính tin cậy và tính giá trị

(cid:153) Tính tin cậy là điều kiện cần cho tính giá trị. Một bài trắc nghiệm có thể đáng

tin cậy nhưng lại không có giá trị. Bởi vì bài trắc nghiệm có tính tin cậy cao

có thể cho ra những điểm số đáng tin (vững chãi) nhưng nó lại không đo

lường đúng loại kiến thức học tập mà ta mong muốn học sinh thể hiện

(cid:153) Ngược loại, một bài trắc nghiệm có tính giá trị bắt buộc phải có tính tin cậy

cao. Hay nói cách khác, một bài trắc nghiệm không có tính tin cậy thì không

thể nào có tính giá trị được.

Tính tin cậy và tính giá trị khác nhau ở chỗ:

• Tính tin cậy liên quan đến sự vững chãi của điểm số (yếu tố bên trong)

nên nó không cần sự hỗ trợ của những tiêu chuẩn ở bên ngoài.

• Còn tính giá trị liên quan đến mục đích của sự đo lường nên nó được xác

định bằng cách đối chiếu với những tiêu chuẩn ở bên ngoài.

2.3 Quy hoạch một bài trắc nghiệm

Quy hoạch một bài trắc nghiệm thành quả học tập là dự kiến phân bố hợp lý

các phần tử của bài trắc nghiệm theo mục tiêu và nội dung môn học sao cho nó

có thể đo lường chính xác các khả năng mà ta muốn đo lường.

Quy hoạch bài trắc nghiệm là công việc phải làm trong giai đoạn chuẩn bị.

Công việc này thực sự cần thiết khi xây dựng một đề thi bằng hình thức trắc

nghiệm. Trong việc quy hoạch, điều cần làm trước tiên là phải xác định các mục

tiêu học tập mà học sinh phải đạt được. Sau đó kết hợp với các mức độ yêu cầu

về nhận thức để lập thành dàn bài trắc nghiệm.

2.3.1 Xác định mục tiêu học tập

2.3.1.1 Các khái niệm

(cid:153) Mục đích giáo dục (educational goal):

28

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Đường hướng hay mục đích tổng quát được phát biểu dưới dạng

những kết quả bao quát rộng, có tính lâu dài mà giáo dục nhằm tiến

tới. Các mục đích này thường phát biểu chủ yếu trong các nghị quyết,

chính sách hay quy hoạch chương trình tổng quát.

(cid:153) Mục tiêu học tập tổng quát (general instructional objective):

Kết quả học tập dự kiến được phát biểu bằng những từ tổng quát, bao

trùm những kết quả học tập chuyên biệt.

(cid:153) Kết quả học tập chuyên biệt:

Kết quả dự tính của việc giảng dạy căn cứ trên thành tích của học sinh

mà ta có thể quan sát được. Đó là một tập hợp các kết quả học tập

chuyên biệt mô tả một mẫu các loại thành tích mà học sinh sẽ có thể

phô diễn một khi họ đã đạt mục tiêu học tập tổng quát. Các kết quả

học tập chuyên biệt cũng có khi được gọi bằng các thuật ngữ như:

mục tiêu chuyên biệt, mục tiêu thành tích, mục tiêu động thái, mục

tiêu đo lường được.

(cid:190) Khi xác định các mục tiêu để soạn thảo trắc nghiệm, ta quan tâm đến

Mục tiêu học tập tổng quát và Kết quả học tập chuyên biệt.

29

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

(cid:190) So sánh giữa Mục tiêu học tập tổng quát và Kết quả học tập chuyên biệt:

Mục tiêu học tập tổng quát

Kết quả học tập chuyên biệt

Dài hạn (tháng, học kỳ, năm). Xác định trong khoảng thời gian ngắn

(có thể là giờ, ngày).

Hướng tới một khả năng của

Hướng đến các hành động

tư duy

Khái quát về nội dung

Cụ thể về nội dung

Khó đo lường

Dễ đo lường

Bảng 3 So sánh mục tiêu học tập tổng quát và Kết quả học tập chuyên biệt [3]

2.3.1.2 Mục tiêu học tập là cơ sở cho việc soạn bài trắc nghiệm

2.3.1.2.1 Tầm quan trọng của việc xây dựng mục tiêu

Xác định mục tiêu cụ thể cho từng môn học là vô cùng quan trọng. Điều này

có nghĩa là phải xác định những tiêu chí, kỹ năng, kiến thức học sinh cần đạt

đối với môn học. Và sau đó xây dựng quy trình và công cụ đo lường nhằm

đánh giá xem học sinh có đạt được các tiêu chí đó không.

2.3.1.2.2 Những lợi điểm khi xác định rõ ràng các mục tiêu cần đạt

(cid:57) Tạo dễ dàng cho việc kiểm tra và chấm điểm công bằng.

(cid:57) Mục đích của môn học, nội dung môn học và quy trình đánh giá vừa nhất

quán vừa quan hệ chặt chẽ với nhau.

(cid:57) Khuyến khích học sinh tự đánh giá vì họ biết họ phải đạt cái gì.

(cid:57) Hỗ trợ hiệu quả việc học của học sinh và giảm bớt lo lắng vì có hướng

dẫn và xác định rõ các ưu tiên trong giảng dạy.

(cid:57) Học sinh hiểu rõ các môn học có liên thông với nhau và gắn với mục đích

đào tạo.

2.3.1.2.3 Các đặc điểm của mục tiêu

Mục tiêu phải bao gồm đủ các ý sau đây (nếu ghép các mẫu tự đầu của tiếng

Anh sẽ thành chữ SMART):

(cid:57) S – Specific (cụ thể)

30

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

(cid:57) M – Measurable (có thể đo được)

(cid:57) A – Achievable (có thể đặt được)

(cid:57) R – Result-oriented (hướng kết quả)

(cid:57) T – Time-bound (giới hạn thời gian)

(1) Mục tiêu cần phải cụ thể: Phải nêu ra kết quả mà nó nhằm đặt được.

Các mục tiêu cụ thể sẽ giúp cho việc làm sáng tỏ các mục đích, định

hướng cho các hoạt động, hướng dẫn thu thập số liệu và các phương tiện

đo đạc, cung cấp cơ sở cho việc kiểm tra tính hiệu quả của đánh giá.

(2) Mục tiêu phải có thể đo được: Để có thể đo được, các mục tiêu cần

nhằm vào các kết quả có thể quan sát được hoặc thể hiện được.

(3) Mục tiêu phải có thể đạt được: Cần tránh nêu ra những mục tiêu xa, mơ

hồ, không thể đặt được, cho dù đó là rất cần.

(4) Mục tiêu cần phải hướng kết quả: Mục tiêu chính là các kết quả mà học

sinh phải đạt được

(5) Mục tiêu cần phải giới hạn thời gian: Xác định đó là mục tiêu sau sau

một khoảng thời gian, sau một hay nhiều chương. Tất nhiên những mục

tiêu sau khoảng thời gian dài thì bao quát được nhiều tri thức hơn.

2.3.1.2.4 Các mức độ của mục tiêu nhận thức

Mục tiêu thuộc lĩnh vực nhận thức có 6 mức độ từ thấp đến cao:

(1) Biết (knowledge): Có thể nhớ, nhắc lại chính xác những điều đã được

học.

(2) Thông hiểu (comprehension): Hiểu được ý nghĩa của một công thức, lý

thuyết, vấn đề,v.v…

(3) Áp dụng (application): Áp dụng được những điều đã học để giải quyết

một vấn đề, hoặc giải quyết một tình huống, hiện tượng, v.v…

(4) Phân tích (analysis): Biết mổ xẻ vấn đề thành các yếu tố và xác định

được mối liên hệ giữa các yếu tố đó.

31

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

(5) Tổng hợp (synthesis): Đề xuất được phương án, ý kiến mới trên cơ sở

những thông tin, số liệu đã có.

(6) Đánh giá (evaluation): Đưa ra được những nhận xét về một vấn đề trên

cơ sở những tiêu chí đã có hoặc tự xây dựng; đồng thời cung cấp những

bằng chứng cho các nhận xét đó.

2.3.2 Phân tích nội dung môn học

Phân tích nội dung môn học bao gồm chủ yếu công việc xem xét và phân

biệt bốn loại nội dung học tập:

(1) Những thông tin mang tính chất sự kiện mà học sinh phải nhớ hay nhận ra.

(2) Những khái niệm và ý tưởng mà học sinh phải giải thích hay minh họa.

(3) Những ý tưởng phức tạp cần được giải thích hay giải nghĩa.

(4) Những thông tin, ý tưởng và kỹ năng cần được ứng dụng hay chuyển dịch

vào một tình huống hay hoàn cảnh mới.

Nhưng trong việc phân tích nội dung một phần nào đó của môn học, ta có thể

đảo ngược lại thứ tự bốn loại học tập ở trên, nghĩa là bắt đầu bằng những ý

tưởng phức tạp: tìm ra những điều khái quát hóa, các mối liên hệ, các nguyên lý.

Những câu phát biểu thuộc loại này thường là ý tưởng cốt lõi của môn học và

bao gồm trong cấu trúc của môn học ấy, còn phần lớn nội dung còn lại chỉ là

minh họa hay giải thích cho các ý tưởng này. Như vậy, bước thứ hai của việc

phân tích nội dung môn học là tìm ra những ý tưởng chính yếu của môn học ấy.

Bước thứ hai của việc phân tích nội dung môn học là lựa chọn những từ,

nhóm chữ, và cả những ký hiệu (nếu có) mà học sinh sẽ phải giải nghĩa được.

Để có thể hiểu rõ, giải thích, giải nghĩa những ý tưởng lớn, học sinh cần phải

hiểu rõ các khái niệm ấy và các mối liên hệ giữa các khái niệm. Vậy, công việc

của người soạn thảo trắc nghiệm là tìm ra những khái niệm quan trọng trong nội

dung môn học để đem ra khảo sát trong các câu trắc nghiệm.

Bước thứ ba là phân loại hai hạng thông tin được trình bày trong môn học:

• Những thông tin nhằm mục đích giải nghĩa hay minh họa.

32

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

• Những khái luận quan trọng của môn học.

Người soạn thảo trắc nghiệm cần phải biết phân biệt hai loại thông tin ấy để lựa

chọn những điều gì quan trọng mà học sinh cần phải nhớ.

Bước thứ tư là lựa chọn một số thông tin và ý tưởng đòi hỏi học sinh phải có

khả năng ứng dụng những điều đã biết để giải quyết vấn đề trong những tình

huống mới. Những thông tin loại này có thể được khảo sát bằng nhiều cách,

chẳng hạn như đối chiếu, nêu ra những sự tương đồng và dị biệt, hay đặt ra

những bài toán, những tình huống đòi hỏi học sinh phải ứng dụng các thông tin

đã biết để tìm ra cách giải quyết.

2.3.3 Thiết kế dàn bài trắc nghiệm

Dàn bài trắc nghiệm thành quả học tập là bảng dự kiến phân bố hợp lý các

câu hỏi của bài trắc nghiệm theo mục tiêu (hay quá trình tư duy) và nội dung của

môn học sao cho có thể đo lường chính xác các khả năng mà ta muốn đo. Để

làm công việc này một cách hiệu quả nhất, chúng ta cần phải quyết định:

(cid:57) Cần khảo sát những gì ở học sinh?

(cid:57) Đặt tầm quan trọng vào những phần nào của môn học và mục tiêu nào?

(cid:57) Cần phải trình bày các câu hỏi dước hình thức nào cho có hiệu quả nhất?

(cid:57) Mức độ khó của các câu trắc nghiệm

(cid:57) Mức độ khó của bài trắc nghiệm

Thông thường khi thiết kế một dàn bài trắc nghiệm, người ta lập một ma trận

hai chiều, còn gọi là bảng quy định hai chiều (table of specifications): một chiều

là nội dung và một chiều là mục tiêu. Trong các ô ma trận ghi số câu cần kiểm

tra cho mỗi nội dung và mục tiêu. Tuy nhiên, những mục tiêu này không buộc

phải theo sát các nguyên tắc phân loại (6 mức độ của mục tiêu nhận thức) đã

được đề cập ở trên mà có thể cụ thể hóa cho phù hợp với từng môn học khác

nhau. Trong mỗi ô của bảng quy định hai chiều này, ta sẽ ghi số câu trắc nghiệm

cho mục tiêu hay đơn vị nội dung tương ứng với hàng và cột đó.

Sau đây là một thí dụ về dàn bài trắc nghiệm:

33

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Mục tiêu

Chủ đề

Chủ đề

Chủ đề

Chủ đề

Chủ đề

Tổng

1

2

3

4

5

cộng

1. Hiểu biết:

3

2

5

5

- Từ ngữ, ký hiệu, quy

15

ước

- Tính chất, đặc điểm,

3

1

3

2

3

12

tiêu chuẩn

- Sự kiện, dữ kiện

4

3

7

1

15

- Khuynh hướng diễn

2

4

4

10

biến các sự việc

- Định luật, nguyên tắc

1

4

2

1

8

2. Khả năng:

2

3

1

So sánh, nêu sự tương

6

đồng, dị biệt

Giải thích

2

2

3

7

Tính toán

4

6

3

5

18

Tiên đoán

2

1

2

5

Phê phán

2

1

1

4

Tổng cộng

15

11

21

28

25

100

Bảng 4. Thí dụ về dàn bài trắc nghiệm [1]

2.3.4 Số câu hỏi trong bài trắc nghiệm

Số câu của một bài trắc nghiệm khách quan tùy thuộc vào lượng thời gian

dành cho việc kiểm tra. Trong những kỳ thi, thời gian dành cho trắc nghiệm có

thể là hai giờ hay hơn thế. Nói chung, thời gian càng dài, càng có nhiều câu hỏi,

thì các điểm số có được từ bài trắc nghiệm ấy càng đáng tin cậy hơn, chỉ số tin

cậy sẽ cao. Thế nhưng trong thực tế, rất hiếm khi có bài trắc nghiệm cho học

sinh làm liên tục trong hơn ba giờ.

34

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Ngoài vấn đề thời gian, còn có vấn đề quan trọng hơn cả là làm sao cho các

câu hỏi trong bài trắc nghiệm tiêu biểu cho toàn thể kiến thức mà ta đòi hỏi ở

học sinh. Nếu số câu hỏi quá ít thì không bao trùm đầy đủ nội dung môn học,

còn nếu số câu quá nhiều thì lại bị hạn chế bởi thời gian.

Số câu hỏi trong một bài trắc nghiệm dù nhiều bao nhiêu cũng chỉ là một

“mẫu” (sample) trong toàn thể “dân số” (population) các câu hỏi thích hợp với

nội dung và mục tiêu mà ta muốn khảo sát. Vì vậy, một bài trắc nghiệm có rất

nhiều câu hỏi chưa hẳn là một bài trắc nghiệm có giá trị, nếu các câu hỏi ấy

không tiêu biểu cho “dân số” các câu hỏi thích hợp về môn học. Tuy nhiên, nếu

ta thiết lập dàn bài trắc nghiệm một cách kỹ càng, và căn cứ vào thời gian quy

định bài trắc nghiệm mà phân bố số câu hỏi hợp lý cho từng phần của nội dung

và mục tiêu môn học, ta cũng sẽ có nhiều hi vọng lựa chọn được số câu hỏi “đại

diện” cho “dân số” các câu hỏi thích hợp.

Số câu hỏi mà một học sinh có thể trả lời được trong một phút tùy thuộc vào

loại câu trắc nghiệm sử dụng, vào mức độ phức tạp của quá trình tư duy đòi hỏi

để trả lời câu hỏi, và cả vào thói quen làm việc của học sinh. Vì lý do đó, ta khó

có thể xác định chính xác cần phải có bao nhiêu câu hỏi trong bài trắc nghiệm

với số thời gian ấn định sẵn. Vậy phương pháp tốt nhất là rút kinh nghiệm từ

những bài trắc nghiệm tương tự. Trong trường hợp không có những kinh nghiệm

như vậy, ta có thể giả định rằng ngay cả những học sinh làm rất chậm cũng có

thể trả lời một câu trắc nghiệm nhiều lựa chọn trong một phút, và một câu trắc

nghiệm loại Đúng-Sai trong nửa phút. Với những câu trắc nghiệm dài hơn hay

phức tạp thì ta có thể cần phải xét lại thời gian giả định ấy.

2.3.5 Mức độ khó của các câu trắc nghiệm

Một bài trắc nghiệm thành quả học tập gồm những câu quá dễ thường không

có hiệu quả đo lường khả năng của học sinh.

Để đạt được hiệu quả đo lường khả năng, chúng ta nên chọn các câu trắc

nghiệm sao cho điểm trung bình trên bài trắc nghiệm xấp xỉ bằng 50% số câu

35

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

hỏi. Tuy nhiên, khi ấn định mức độ khó trung bình là 50%, độ khó của từng câu

trắc nghiệm có thể khác nhau. Điều ta cần phải nhớ là loại câu trắc nghiệm có

thể cung cấp thông tin tốt nhất về sự khác biệt giữa các thí sinh là những câu mà

50% trả lời đúng và 50% trả lời sai.

2.4 Các hình thức câu trắc nghiệm

2.4.1 Câu trắc nghiệm Đúng-Sai (true-false question)

(cid:153) Cấu trúc:

Gồm một câu phát biểu và phần học sinh trả lời bằng cách lựa chọn: Đúng

(Đ) hay Sai (S).

(cid:153) Ưu điểm:

(cid:57) Dễ xây dựng

(cid:57) Có thể đặt được nhiều câu hỏi trong một bài trắc nghiệm với thời gian

cho trước; điều này làm tăng tính tin cậy của bài trắc nghiệm nếu như các

câu trắc nghiệm Đúng-Sai được soạn thảo theo đúng quy cách.

(cid:57) Trong khoảng thời gian ngắn có thể soạn được nhiều câu trắc nghiệm

Đúng-Sai vì người soạn trắc nghiệm không cần phải tìm ra phần trả lời

cho học sinh lựa chọn.

(cid:153) Nhược điểm:

(cid:57) Độ may rủi cao (50%), do đó dễ khuyến khích người trả lời đoán mò.

(cid:57) Thường chỉ được dùng để kiểm tra mức độ nhận biết, hiểu.

(cid:153) Những yêu cầu khi soạn câu trắc nghiệm Đúng-Sai:

(cid:57) Mỗi câu trắc nghiệm chỉ nên diễn tả một ý tưởng độc nhất, tránh những

câu phức tạp, bao gồm quá nhiều chi tiết.

(cid:57) Lựa chọn những câu phát biểu sao cho một người có khả năng trung

bình không thể nhận ra ngay là Đúng hay Sai mà không cần suy nghĩ.

(cid:57) Những câu phát biểu mà tính chất Đúng, Sai phải chắc chắn, có cơ sở

khoa học.

36

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

(cid:57) Tránh dùng những câu phát biểu trích nguyên văn từ sách giáo khoa,

như vậy sẽ khuyến khích học sinh học thuộc lòng máy móc.

(cid:57) Tránh dùng các từ: thường thường, đôi khi, một số người,v.v… vì

thường là câu phát biểu Đúng.

2.4.2 Câu trắc nghiệm đa lựa chọn (multiple choice question)

(cid:153) Cấu trúc:

Gồm 2 phần: phần gốc và phần lựa chọn

Phần gốc: là một câu hỏi (kết thúc là dấu chẩm hỏi) hay câu bỏ lửng (chưa

hoàn tất). Trong phần gốc, người soạn trắc nghiệm đặt ra một vấn đề hay

đưa ra một ý tưởng rõ ràng giúp cho người trả lời hiểu rõ câu trắc nghiệm

ấy muốn hỏi điều gì để lựa chọn câu trả lời thích hợp.

(cid:190) Phần lựa chọn: có thể 3, 4, 5 lựa chọn hoặc nhiều hơn 5 lựa chọn. Mỗi lựa

chọn là câu trả lời (cho câu có dấu hỏi) hay là câu bổ túc (cho phần còn

bỏ lửng). Trong tất cả các lựa chọn chỉ có 1 lựa chọn được xác định là

đúng nhất, gọi là “đáp án” (key). Những lựa chọn còn lại đều phải là sai

(dù nội dung đọc lên có vẻ là đúng), thường gọi là các “mồi nhử”, “câu

nhiễu” (distractors). Điều quan trọng người soạn thảo cần lưu ý là phải

làm sao cho các mồi nhử này đều hấp dẫn ngang nhau đối với những học

sinh chưa nắm vững kiến thức, thúc đẩy học sinh ấy chọn vào những

“mồi nhử” này.

(cid:153) Ưu điểm:

(cid:57) Độ may rủi thấp: nếu câu trắc nghiệm có N lựa chọn thì độ may rủi là

1/N.

Số lựa chọn Độ may rủi

3

33,33%

4

25%

5

20%

6

16,67%

Bảng 5. Tương quan số lựa chọn và độ may rủi

37

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

(cid:57) Nếu soạn đúng quy cách, kết quả có tính tin cậy và tính giá trị cao.

(cid:57) Có thể khảo sát thành quả học tập của một số đông học sinh; chấm nhanh;

kết quả chính xác.

(cid:57) Có thể được sử dụng để kiểm tra các kỹ năng nhận thức bậc cao.

(cid:153) Nhược điểm:

(cid:57) Tuy độ may rui thấp nhưng người trả lời vẫn có thể đoán mò.

(cid:57) Vì có nhiều phương án lựa chọn nên khó xây dựng được các câu hỏi có

chất lượng cao.

(cid:57) Để có được một bài trắc nghiệm có tính tin cậy và tính giá trị cao, người

soạn trắc nghiệm phải đầu tư nhiều thời gian và phải tuân thủ đầy đủ các

bước soạn thảo câu trắc nghiệm.

(cid:153) Những yêu cầu khi soạn câu trắc nghiệm đa lựa chọn:

(cid:57) Số lựa chọn nên từ 4 trở lên để xác suất may mắn chọn đúng là thấp.

(cid:57) Khi soạn phần gốc phải trình bày ngắn gọn, rõ ràng, chỉ hỏi một vấn đề

và soạn đáp án đúng trước, vị trí đáp án đúng được đặt một cách ngẫu

nhiên.

(cid:57) Muốn có được các mồi nhử hay thì ta nên chọn những câu Sai thường gặp

của chính học sinh, không nên là những mồi nhử do người soạn trắc

nghiệm tự nghĩ ra vì mồi nhử do người soạn trắc nghiệm nghĩ ra chưa

chắc hấp dẫn được học sinh. Do đó có 4 bước phải làm khi soạn mồi nhử:

• Bước 1:

Ra các câu hỏi mở về lĩnh vực nội dung dự định trắc nghiệm để

học sinh tự viết câu trả lời.

• Bước 2:

Thu các bản trả lời của học sinh, loại bỏ các câu trả lời Đúng, chỉ

giữ lại các câu trả lời Sai.

• Bước 3:

Thống kê phân loại các câu trả lời Sai và ghi tần số xuất hiện từng

loại câu Sai.

38

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

• Bước 4:

Ưu tiên chọn những câu sai có tần số cao làm mồi nhử.

2.4.3 Câu trắc nghiệm đối chiếu cặp đôi (matching question)

(cid:153) Cấu trúc:

Gồm 3 phần

Phần chỉ dẫn cách trả lời.

Phần gốc (cột 1): gồm những câu ngắn, đoạn, chữ, v.v…

(cid:190) Phần lựa chọn (cột 2): cũng gồm những câu ngắn, đoạn, chữ, v.v…

Trong phần chỉ dẫn cần chỉ ra cho người làm trắc nghiệm biết cách ghép hai

cột với nhau cho đúng, có ý nghĩa, hợp logic.

(cid:153) Ưu điểm:

(cid:57) Dễ xây dựng.

(cid:57) Có thể hạn chế sự đoán mò bằng cách tăng số lượng lựa chọn.

(cid:153) Nhược điểm:

(cid:57) Chỉ chủ yếu dùng để kiểm tra khả năng nhận biết.

(cid:57) Thông tin có tính dàn trải, không nhấn mạnh được những điều quan

trọng.

(cid:153) Những yêu cầu khi soạn câu trắc nghiệm đối chiếu cặp đôi:

(cid:57) Không nên đặt số lựa chọn ở hai cột bằng nhau vì như vậy làm cho học

sinh dự đoán được sau khi biết một số trường hợp. Bên cạnh đó có thể

dùng một lựa chọn đúng với hai hay nhiều câu hỏi.

(cid:57) Không nên soạn các lựa chọn quá dài làm mất thì giờ của học sinh.

2.4.4 Câu trắc nghiệm điền khuyết (filling question)

(cid:153) Cấu trúc:

Có 2 dạng:

Dạng 1: Gồm những câu hỏi với lời giải đáp ngắn.

Dạng 2: Gồm những câu phát biểu với một hay nhiều chỗ để trống mà người

trả lời phải điền vào bằng một từ hay một nhóm từ ngắn.

39

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

(cid:153) Ưu điểm:

(cid:57) Dễ xây dựng.

(cid:57) Người trả lời không thể đoán mò.

(cid:153) Nhược điểm:

(cid:57) Thường chỉ được dùng để kiểm tra trình độ mức độ nhận biết, hiểu.

(cid:57) Đôi khi khó đánh giá đúng nội dung trả lời.

(cid:153) Những yêu cầu khi soạn câu trắc nghiệm điền khuyết:

(cid:57) Nội dung của phần trả lời càng cô đọng càng tốt.

(cid:57) Nên soạn thảo các câu với phần để trống sao cho những từ điền vào là

duy nhất đúng, không thể thay thế bằng bất kỳ từ nào khác.

(cid:190) Do những nhược điểm của câu trắc nghiệm loại đối chiếu cặp đôi và điền khuyết

nên phần mềm này chỉ hỗ trợ quản lý câu trắc nghiệm loại đúng-sai và đa lựa

chọn

2.5 Phân tích câu trắc nghiệm

Phân tích các câu trả lời của thí sinh trong một bài trắc nghiệm là việc làm

rất cần thiết và rất hữu ích. Nó giúp chúng ta biết được:

(cid:57) Những câu nào là quá khó, câu nào là quá dễ.

(cid:57) Những câu có độ phân cách cao, nghĩa là phân biệt được học sinh giỏi với

học sinh kém.

(cid:57) Lý do vì sao câu trắc nghiệm không đạt được hiệu quả mong muốn và

cần phải sửa đổi như thế nào cho tốt hơn.

Một bài trắc nghiệm sau khi đã được sửa đổi lại trên căn bản của sự phân tích

các câu trắc nghiệm có khả năng đạt được tính tin cậy cao hơn là một bài trắc

nghiệm có cùng số câu hỏi nhưng chưa được thử nghiệm và phân tích.

Chúng ta phải phân tích câu trắc nghiệm trên hai phương diện: độ phân cách,

độ khó.

40

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

2.5.1 Độ khó của câu trắc nghiệm (difficulty index)

2.5.1.1 Định nghĩa độ khó của câu trắc nghiệm

Khi bạn làm một bài trắc nghiệm, bạn thường thấy rằng bài trắc nghiệm

đó dễ khi bạn biết giải đáp hầu hết các câu hỏi, ngược lại bài trắc nghiệm đó

khó nếu bạn không biết giải đáp cho phần lớn các câu hỏi. Nhưng chắc hẳn

bạn sẽ thấy khó có thể giải thích được tại sao một số câu hỏi lại khó hơn một

số câu hỏi khác. Các nhà đo lường giáo dục và tâm lý cũng gặp phải vấn đề

khó khăn như vậy trong việc giải thích và định nghĩa tính chất khó hay dễ

của các câu trắc nghiệm căn cứ vào đặc tính nội tại của chúng. Vì vậy, họ áp

dụng lối định nghĩa độ khó của câu trắc nghiệm căn cứ vào số người trả lời

đúng câu trắc nghiệm. Nếu tất cả mọi người đều lựa chọn câu giải đáp đúng,

câu trắc nghiệm ấy được xem như là dễ. Nếu chỉ có một người trong một

trăm người trả lời đúng câu trắc nghiệm thì câu trắc nghiệm ấy chắc chắn là

quá khó.

2.5.1.2 Công thức tính độ khó

Độ khó câu trắc nghiệm được tính theo công thức [1]:

Số người trả lời đúng câu i

Độ khó câu i =

Tổng số người làm bài trắc nghiệm

Thí dụ: Thí dụ một bài trắc nghiệm có 100.000 thí sinh làm bài, câu trắc

nghiệm 1 có 75.000 thí sinh làm đúng thì độ khó của câu trắc nghiệm 1 là:

75000 / 100000 = 0.75

2.5.1.3 Độ khó vừa phải câu trắc nghiệm

Để có thể kết luận được một câu trắc nghiệm là dễ, khó, hay vừa sức học

sinh, trước hết ta phải tính độ khó của câu trắc nghiệm ấy rồi so sánh với độ

khó vừa phải của loại câu trắc nghiệm ấy:

41

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

• Nếu độ khó của câu trắc nghiệm > Độ khó vừa phải: Ta kết luận rằng

câu trắc nghiệm ấy là dễ so với trình độ học sinh làm trắc nghiệm.

• Nếu độ khó của câu trắc nghiệm < Độ khó vừa phải: Ta kết luận rằng

câu trắc nghiệm ấy là khó so với trình độ học sinh làm trắc nghiệm.

• Nếu độ khó của câu trắc nghiệm xấp xỉ Độ khó vừa phải: Ta kết luận

rằng câu trắc nghiệm ấy vừa sức với trình độ học sinh làm trắc

nghiệm.

(cid:153) Công thức tính độ khó vừa phải của câu trắc nghiệm [1]:

Độ khó vừa phải =

100% + % may rủi 2

Mỗi loại câu trắc nghiệm có tỉ lệ % may rủi khác nhau:

Loại câu trắc nghiệm Tỉ lệ % may rủi

Câu Đúng-Sai

50%

Câu có 4 lựa chọn

25%

Câu có 5 lựa chọn

20%

Bảng 6. Tương quan loại câu hỏi và tỉ lệ may rủi

Khi cần khảo sát năng lực học sinh trong một cuộc thi tuyển, chúng ta

nên chọn đa số các câu có độ khó vừa phải, một ít câu từ khó đến rất khó và

một ít câu dễ.

2.5.2 Độ phân cách của câu trắc nghiệm (discrimination index)

2.5.2.1 Định nghĩa độ phân cách của câu trắc nghiệm

Kết quả thực hiện câu trắc nghiệm phải cho phép phân biệt được học sinh

giỏi với học sinh kém, nghĩa là phải làm sao cho một câu trắc nghiệm có khả

năng phân cách cao.

Độ phân cách của một câu trắc nghiệm là một chỉ số giúp ta phân biệt

được học sinh giỏi với học sinh kém. Vì vậy, một bài trắc nghiệm gồm toàn

42

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

những câu trắc nghiệm có độ phân cách tốt sẽ là một công cụ đo lường có

tính tin cậy cao.

2.5.2.2 Các phương pháp tính độ phân cách

2.5.2.2.1 Phương pháp đơn giản theo lối thủ công

Sau khi đã chấm và cộng tổng điểm của từng bài trắc nghiệm, ta có thể thực

hiện các bước sau để biết được độ phân cách của một câu trắc nghiệm [3]:

• Bước 1:

Xếp đặt các bài làm của học sinh (đã chấm, cộng điểm) theo thứ tự

tổng điểm từ cao đến thấp.

• Bước 2:

Căn cứ trên tổng số bài trắc nghiệm, lấy 27% của tổng số bài làm có

điểm số từ bài cao nhất trở xuống xếp vào nhóm CAO và 27% tổng số

bài làm có điểm số từ bài thấp nhất trở lên xếp vào nhóm THẤP.

• Bước 3:

Tính tỉ lệ phần trăm học sinh làm đúng câu trắc nghiệm riêng cho từng

nhóm bằng cách đếm số người làm đúng trong mỗi nhóm và chia cho

số người của nhóm (số người mỗi nhóm = 27% tổng số bài)

• Bước 4:

Tính độ phân cách (D) theo công thức:

Tỉ lệ % nhóm cao làm

Tỉ lệ % nhóm thấp làm

_

D =

đúng câu trắc nghiệm

đúng câu trắc nghiệm

Thí dụ: Bài trắc nghiệm môn Cầu lông có 28 câu do các bạn sinh viên năm

thứ III Khoa Giáo dục thể chất, Đại học Sư Phạm TP. Hồ Chí Minh năm học

2003-2004 soạn, được đem khảo sát ở một lớp sinh viên Giáo dục thể chất ở

một địa phương khác, thu được kết quả như sau:

• Số bài trắc nghiệm thu được : 42 bài

• Điểm cao nhất = 22

43

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

• Điểm thấp nhất = 08

Tính số người trong mỗi nhóm = 42 * 27% = 11. Nhóm CAO được chọn từ

bài có điểm là 22 trở xuống cho đến khi đủ 11 bài. Nhóm THẤP được chọn

từ bài có điểm thấp nhất là 08 điểm trở lên cho đến khi đủ số 11 bài.

Tiếp theo là công việc của bước 3: Hãy lập bảng tỉ lệ % làm đúng các câu 1,

28, 17,13, 27 của nhóm cao và nhóm thấp.

BẢNG TỈ LỆ % LÀM ĐÚNG

Câu

Nhóm cao

Nhóm thấp

Độ phân cách D

1

10 người

7 người

D = 90.9% - 63.6% = 27.3% (=

(90.9%)

(63.6%)

0.27)

28

5 người

5 người

D = 45.4% - 45.4% = 0% (= 0.00)

(45.4%)

(45.4%)

17

3 người

4 người

D = 27.2% - 36.3% = - 9.1% (= -

(27.2%)

(36.3%)

0.09)

13

11người

9 người

D = 100% - 81.8% = 18.2% (=0.18)

(100%)

(81.8%)

27

5 người

2 người

D = 45.4% - 18.1% = 27.3% (=

(45.4%)

(18.1%)

0.27)

Bảng 7. Bảng ti lệ phần trăm làm đúng

2.5.2.2.2 Công thức tương quan điểm nhị phân (point biserial correlation)

Tính độ phân cách câu trắc nghiệm theo công thức tương quan điểm nhị

phân [1]:

N

- XY

YX ∑∑

D =

[N

2 ( - X

2 ][NX)

2 ( - Y

2 ]Y)

Trong đó:

• D : Độ phân cách của câu trắc nghiệm

• N : Số bài làm (Số thí sinh dự thi)

44

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

• X : Điểm số câu trắc nghiệm của mỗi thí sinh (X = 0 hoặc X = 1)

• Y : Tổng điểm bài làm của mỗi thí sinh

Thí dụ: Ta có tổng điểm (Y) và điểm số (X) về một câu trắc nghiệm của 16

thí sinh, như ở cột 2 và 3 trong bảng tính toán dưới đây:

Thí sinh Tổng điểm (Y) Điểm (X)

X2

Y2

XY

1

101

0

10201

0

0

2

102

0

12544

0

0

3

95

0

9025

0

0

4

120

0

14400

0

0

5

113

0

12769

0

0

6

91

0

8281

0

0

7

117

0

13689

0

0

8

105

0

11025

0

0

9

117

1

13689

1

117

10

105

1

11025

1

105

11

118

1

13924

1

118

12

100

1

10000

1

100

13

98

1

9604

1

98

14

122

1

14884

1

122

15

97

1

9409

1

97

16

111

1

12321

1

111

8

8

868

Tổng

1712

184630

Bảng 8. Điểm bài làm và điểm câu trắc nghiệm

Với các dữ kiện trong bảng trên, thế số vào công thức tương quan điểm nhị phân:

N

- XY

YX ∑∑

D =

[N

2 ( - X

2 ][NX)

2 ( - Y

2 ]Y)

16 x 868 – 8 x 1712

=

= 0.16

2

2

8 - 8 x 61[

][16

x

184630

-

1712

]

45

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

2.5.2.3 Kết luận từ độ phân cách

Độ phân cách D

Kết luận

Câu trắc nghiệm có độ phân cách rất tốt

D Ў 0.40

0.30 Ў D Ў 0.39 Câu trắc nghiệm có độ phân cách khá tốt,

nhưng có thể làm cho tốt hơn

0.20 Ў D Ў 0.29 Câu trắc nghiệm có độ phân cách tạm

được, cần phải điều chỉnh

Câu trắc nghiệm có độ phân cách kém, cần

D Ў 0.19

phải loại bỏ hay phải gia công sửa chữa

nhiều

Bảng 9. Kết luận từ độ phân cách [3]

2.6 Độ tin cậy của bài trắc nghiệm

2.6.1 Định nghĩa độ tin cậy

Độ tin cậy của bài trắc nghiệm là hệ số tương quan của tỉ lệ trả lời đúng/sai

giữa các lần trắc nghiệm bằng các đề trắc nghiệm tương đương [3].

Độ tin cậy của các điểm số đối với bài trắc nghiệm giúp ta biết được trắc

nghiệm đã đo lường cái mà nó định đo tốt đến mức nào. Điều này có nghĩa là

nếu cùng những học sinh đó, ta cho làm cùng một bài trắc nghiệm lần thứ hai,

thì kết quả thu được sẽ gần giống nhau đến mức nào.

Độ tin cậy không phải là một thuộc tính của tự thân bài trắc nghiệm mà là

thuộc tính của bài trắc nghiệm khi nó được đem ra áp dụng với nhóm thí sinh

nào đó. Bài trắc nghiệm càng thích hợp với mức độ khả năng của nhóm bao

nhiêu thì độ tin cậy của các điểm số lại càng cao. Khả năng của các phần tử

trong nhóm càng phân tán rộng thì độ tin cậy của các điểm số trên bài trắc

nghiệm lại càng cao.

Hệ số tương quan được sử dụng như là một số đo lường độ tin cậy. Một

trong các đặc tính của hệ số tương quan là nó cung cấp cho ta một thứ đo lường

46

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

tương đối thay vì tuyệt đối về sự tương đồng giữa hai tập hợp điểm số của cùng

một số người. Nếu sự khác biệt của các điểm số của cùng một người tương đối

nhỏ so với sự khác biệt giữa các điểm số của những người khác nhau thì độ tin

cậy của các điểm số về bài trắc nghiệm ấy sẽ cao. Nhưng ngược lại, nếu sự khác

biệt giữa các điểm số của cùng một người tương đối lớn so với sự khác biệt giữa

những người khác nhau thì độ tin cậy sẽ thấp.

Ta cần phải có hai số đo lường độc lập cho mỗi phần tử trong nhóm và các

số đo lường này được lấy từ những bài trắc nghiệm tương đương về cùng một

đặc điểm (khả năng) nào đó.

2.6.2 Các phương pháp tính độ tin cậy của bài trắc nghiệm

Có nhiều phương pháp nhằm có được những số đo lường độc lập cần thiết để

phỏng định hệ số tin cậy của trắc nghiệm. Thông dụng nhất hiện nay là phương

pháp phân đôi bài trắc nghiệm và phương pháp Kuder Richardson. Ngoài ra

cũng còn một số phương pháp khác nữa như: phương pháp trắc nghiệm hai lần,

phương pháp sử dụng các dạng trắc nghiệm tương đương…

2.6.2.1 Trắc nghiệm hai lần (test - retest)

Phương pháp đơn giản nhất để có các số đo lường độc lập là ra một bài

trắc nghiệm hai lần [1] với cùng một nhóm thí sinh, rồi tính hệ số tương quan

giữa hai tập hợp điểm số của lần thứ nhất và lần thứ hai.

Phương pháp này gặp phải một số chỉ trích:

(cid:153) Như ta đã biết, một tập hợp các câu hỏi trong bài trắc nghiệm chỉ là

một mẫu trong một “dân số” rất lớn các câu trắc nghiệm có thể có

được về khả năng ta muốn khảo sát. Nếu sử dụng một tập hợp các câu

trắc nghiệm hai lần cho một nhóm thí sinh thì ta không thể nào biết

được rằng các điểm số có thay đổi hay không và thay đổi bao nhiêu,

nếu người ta sử dụng một tập hợp các câu hỏi khác với cùng nhóm thí

sinh ấy.

47

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

(cid:153) Các giải đáp của thí sinh trong lần khảo sát thứ nhất không độc lập với

các giải đáp của họ trong lần thứ hai. Các giải đáp ở lần thứ hai có thể

bị ảnh hưởng do thí sinh còn nhớ lại lối giải đáp của mình trong lần

thứ nhất, hay do những kinh nghiệm đã thu thập được sau lần khảo sát

thứ nhất.

(cid:153) Nếu có khoảng thời gian giữa lần khảo sát thứ nhất và thứ hai thì các

sai số đo lường có thể bị lẫn lộn với những thay đổi thật sự của học

sinh về khả năng do quá trình học tập.

2.6.2.2 Các dạng trắc nghiệm tương đương (equivalent forms)

Nếu ta có hai hay nhiều bài trắc nghiệm được soạn thảo làm sao cho các

điểm số trên hai bài trắc nghiệm ấy tương đương [1] với nhau, và nếu mỗi

học sinh trong nhóm đều làm cả hai bài trắc nghiệm, thì hệ số tương quan

giữa hai tập hợp điểm số về hai bài ấy sẽ là số phỏng định hệ số tin cậy của

chúng. Nhưng việc soạn thảo những bài trắc nghiệm tương đương như vậy

rất công phu và phức tạp, cho nên việc tính hệ số tin cậy theo cách này rất ít

khi sử dụng.

2.6.2.3 Phương pháp phân đôi bài trắc nghiệm (split halves method)

Một bài trắc nghiệm duy nhất được phân ra thành hai nửa tương đương.

Hai nửa này được xem như là hai bài trắc nghiệm phụ và các điểm số của

chúng là những điểm số độc lập cần thiết để tính độ tin cậy. Thông thường,

người ta phân bài trắc nghiệm ra hai nửa theo các câu mang số chẵn và các

câu mang số lẻ. Sau đó, người ta tính hệ số tương quan giữa điểm số các câu

lẻ (X) với điểm số các câu chẵn (Y) theo công thức [3]:

N

- XY

YX ∑∑

rxy =

2

[N

2 ( - X

X)

][N

2 ( - Y

2 ]Y)

48

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Nhưng đó chỉ là hệ số tương quan giữa hai bài trắc nghiệm được rút ngắn

lại chỉ còn một nửa. Để có một số phỏng định độ tin cậy của toàn bài trắc

nghiệm, người ta còn phải điều chỉnh hệ số tương quan giữa hai bài trắc

nghiệm ngắn ra thành hệ số tương quan của một bài trắc nghiệm dài gấp đôi.

Điều này có thể thực hiện được bằng công thức Spearman – Brown.

Công thức tổng quát của Spearman – Brown [3] được sử dụng để tiên

đoán sự gia tăng độ tin cậy bằng cách tăng chiều dài của bài trắc nghiệm:

rn =

nrs (n – 1)rs + 1

Trong đó: n là hệ số độ dài của bài trắc nghiệm.

rs là hệ số tương quan

Khi ta cần tiên đoán độ tin cậy của một bài trắc nghiệm dài gấp đôi như

trong trường hợp phỏng định độ tin cậy theo phương pháp phân đôi bài trắc

nghiệm thì công thức tính sẽ như sau:

r =

2rxy rxy + 1

Trong đó:

• rxy là hệ số tương quan giữa các điểm số chẵn (X) và các điểm số lẻ

(Y) đã tính ở trên (hay độ tin cậy của một nửa bài trắc nghiệm).

• r là độ tin cậy của toàn bài trắc nghiệm.

Thí dụ: Một bài trắc nghiệm sẽ được phân đôi thành 2 bài trắc nghiệm ngắn

mang những câu hỏi số chẵn và những câu hỏi số lẻ. Có 11 thí sinh làm 2 bài

trắc nghiệm ngắn trên, gọi:

(cid:153) X: tổng số điểm của một thí sinh làm bài trắc nghiệm câu hỏi lẻ

(cid:153) Y: tổng số điểm của một thí sinh làm bài trắc nghiệm câu hỏi chẵn

Các số điểm của mỗi thí sinh như sau:

Thí sinh X

Y

X2 Y2 XY

1

11

8

121

64

88

49

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

2

0

64

0

0

8

3

8

81

64

72

9

4

14

11

196 121

154

5

12

14

144 196

168

6

6

49

36

42

7

7

18

11

324 121

198

8

8

36

64

48

6

9

9

36

81

54

6

10

3

36

9

18

6

11

50

10

25 100

5

Tổng

102

88 1112 856

892

Bảng 10. Điểm số của mỗi thí sinh

N

- XY

YX ∑∑

rxy =

2

[N

2 ( - X

X)

][N

2 ( - Y

2 ]Y)

11 x 892 – 102 x 88

=

=

2

11[

x

1112

102 -

][11

x

2 ]88 - 856

209 437

209 437

2 x Độ tin cậy toàn bài trắc nghiệm: 209 437 r = = 0.647 = 2rxy rxy + 1 + 1

2.6.2.4 Công thức Kuder – Richardson

Phương pháp tính độ tin cậy thông dụng nhất hiện nay là áp dụng công

thức Kuder – Richardson [1]:

- (1

)

2 σ∑ i 2 σ

Trong đó:

• k : Số câu hỏi trong bài trắc nghiệm.

50

r = k k – 1

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

2

iσ : Biến lượng (độ lệch tiêu chuẩn bình phương) của mỗi câu trắc

2σ : Biến lượng của bài trắc nghiệm, tức biến lượng điểm của các cá

nghiệm.

nhân trong nhóm về toàn thể bài trắc nghiệm.

Kuder – Richardson cũng đưa ra công thức khác suy ra từ công thức trên

khi câu trắc nghiệm làm đúng được tính là 1 và câu làm sai tính là 0. Công

- 1(

)

thức này được gọi là công thức Kuder – Richardson 20 [1].

pq ∑ 2σ

r = k k – 1

• k : Số câu hỏi trong bài trắc nghiệm.

• p : Tỉ lệ số trả lời đúng cho một câu trắc nghiệm (Độ khó câu trắc

Trong đó:

• q : Tỉ lệ số trả lời sai cho một câu trắc nghiệm.

2σ : biến lượng của bài trắc nghiệm, tức biến lượng điểm của các cá

nghiệm).

nhân trong nhóm về toàn thể bài trắc nghiệm.

2Y∑ - ( Y∑ )2

2σ =

N

N(N - 1)

• N : Số thí sinh tham gia làm bài trắc nghiệm.

• Y : Tổng điểm bài làm của mỗi thí sinh

Trong đó:

Thí dụ: Bài trắc nghiệm gồm 10 câu, có 10 thí sinh dự thi

• Tổng điểm bài làm của các thí sinh như sau: Thí sinh Tổng điểm (Y) Y2

1 9 81

2 10 100

3 8 64

51

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

4 6 36

5 4 16

6 6 36

7 3 9

8 3 9

9 4 16

10 5 25

58

392

Tổng

Bảng 11. Điểm bài làm của thí sinh

• Độ khó của các câu trắc nghiệm:

Câu

Độ khó (p)

q = 1 - p

pq

1 0.7 0.3 0.21

2 0.8 0.2 0.16

3 0.7 0.3 0.21

4 0.6 0.4 0.24

5 0.6 0.4 0.24

6 0.5 0.5 0.24

7 0.3 0.7 0.21

8 0.4 0.6 0.24

9 0.5 0.5 0.25

10 0.7 0.3 0.21

2.22

Tổng

Bảng 12. Tính pq

2Y∑ - ( Y∑ )2

2σ =

- 1(

)

)

- 1(

10 x 392- 582 N = 6.18 = N(N - 1) 10 x 9

pq ∑ 2σ

2.22 18.6

= = 0.71 r = 10 9 k k – 1

52

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

2.6.3 Kết luận từ độ tin cậy

Độ tin cậy r

Kết luận

Trên 0.80 Bài trắc nghiệm đáng tin cậy

Trên 0.70 Bài trắc nghiệm có độ tin cậy

tạm chấp nhận

Từ 0.50 đến 0.70 Bài trắc nghiệm có độ tin cậy

không cao, chắc chắn có nhiều

câu hỏi cần phải chỉnh sửa

Bảng 13. Kết luận từ độ tin cậy [3]

53

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Chương 3. Phân tích

3.1 Phân tích hiện trạng

Hiện nay, qui trình từ lúc soạn thảo cho đến lúc thi và chấm bài trắc nghiệm được tổ

chức như sau :

- Các giáo viên được chỉ định thực hiện việc soạn các câu trắc nghiệm.

- Các giáo viên nộp về trung tâm, trung tâm tập hợp lại các câu hỏi

- Để thành lập đề thi, trung tâm sẽ chọn ra các câu hỏi theo một yêu cầu, tiêu

chí, và các câu hỏi sẽ được chọn lọc sẽ được xáo trộn để tạo ra các đề thi

khác nhau.

- Trung tâm thiết kế ra các bảng trả lời, các bảng đáp án phục vụ cho việc

chấm thi.

- Trung tâm nhận về kết quả thi của các thí sinh và thực hiện công việc đánh

giá các câu trắc nghiệm và đề thi đã phát sinh.

Hầu hết các giai đoạn của qui trình trên đều thực hiện bằng tay, nhất là các giai

đoạn chọn câu hỏi, xáo trộn câu hỏi và đánh giá. Chính vì thế công việc hết sức khó

khăn, phức tạp .

3.2 Xác định yêu cầu

3.2.1 Yêu cầu chức năng

Hệ thống được xây dựng hỗ trợ cho các nhóm người sử dụng như sau :

Đối với giáo viên soạn đề thi :

o Mẫu nhập : Mẫu 1(xem ở phần phụ lục)

- Soạn câu trắc nghiệm trên máy tính và lưu vào tập tin Word.

- Gửi các câu trắc nghiệm đã soạn thảo đến cho bộ phận quản lý của ngân

hàng câu hỏi.

Đối với bộ phận trung tâm quản lý ngân hàng câu hỏi :

- Nhận câu trắc nghiệm đã được soạn từ các giáo viên.

54

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

- Hiệu chỉnh lại các lỗi và nhập các câu trắc nghiệm vào ngân hàng.

- Nhận các yêu cầu về đề thi từ Bộ phận ra đề thi và xây dựng dàn bài trắc

o Qui định : các yêu cầu về đề thi nếu được xây dựng sẵn trên tập tin thì

nghiệm dựa trên các yêu cầu đó hoặc nhận trực tiếp dàn bài trắc nghiệm.

định dạng phải đúng định dạng tập tin lưu trữ dàn bài trắc nghiệm.

- Thực hiện việc chọn lựa câu hỏi trắc nghiệm cho kỳ thi, xáo trộn và phát sinh

ra các đề thi, bảng làm bài, bảng trả lời và các bảng mẫu dùng cho việc đánh

o Mẫu đề thi : Mẫu 2 (xem ở phần phụ lục)

o Mẫu bảng trả lời : M ẫu 3 (xem ở phần phụ lục)

o Mẫu bảng đáp án : Mẫu 4 (xem ở phần phụ lục)

o Mẫu bảng đánh giá : Mẫu 5 (xem ở phần phụ lục)

giá.

- Nhận các yêu cầu về cập nhật, thay đổi câu hỏi trong ngân hàng, và thực hiện

cập nhật hoặc có thể kết xuất các câu trắc nghiệm cần cập nhật cho người

soạn thảo.

3.2.2 Yêu cầu phi chức năng

3.2.2.1 Yêu cầu hệ thống

Phân quyền : Do các chức năng chính của chương trình là công việc của bộ phận

trung tâm quản lý ngân hàng câu hỏi nên hệ thống chỉ có 1 quyền duy nhất là sử

dụng toàn bộ hệ thống.

Cấu hình : Chỉ đòi hỏi máy có cấu hình ở mức độ khá, đây là cấu hình tối thiểu

được đề nghị : CPU tốc độ 1.5 Ghz, đĩa cứng còn trống 20MB, 256 MB RAM, sử

dụng hệ điều hành Windows 2000 trở lên, đã có cài đặt Microsoft .Net Framework

1.1 và Microsoft SQL Server 2000.

3.2.2.2 Yêu cầu về chất lượng

(cid:190) Tính tiến hóa :

55

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Phần mềm cần dự kiến được các thay đổi trong tương lai về việc sử dụng trắc

nghiệm, không chỉ sử dụng trắc nghiệm trong các kỳ thi tuyển sinh, thi học

(cid:190) Tính tiện dụng :

kỳ, mà còn có thể sử dụng cho bất cứ nhu cầu thi trắc nghiệm nào khác.

Giao diện thân thiện dễ sử dụng. Các thao tác trên chương trình tự nhiên và

gần gũi với người sử dụng vì mọi thao tác và giao diện đều được mô phỏng

theo các thao tác xử lý của bộ phần mềm Microsoft Office nổi tiếng của

hãng Microsoft.

Với giao diện thân thiện, người dùng chỉ cần vài thao tác đơn giản là có thể

thực hiện được công việc mong muốn.

3.2.3 Phương án thực hiện phần mềm

Dùng ngôn ngữ lập trình C# và VB.NET để cài đặt chương trình.

Sử dụng hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2000.

Sử dụng bộ thư viện hỗ trợ lập trình trên môi trường .NET của Microsoft Office

2003 để thao tác với các tập tin Word và Excel liên quan.

Kiến trúc triển khai hệ thống : do đặc điểm của hệ quản trị cơ sở dữ liệu Microsoft

(cid:190) Kiến trúc 1 : Người dùng, chương trình và dữ liệu ở cùng 1 máy A

SQL Server 2000 cho phép kết nối từ xa mà hệ thống có đến 2 kiến trúc triển khai

Hình 1. Kiến trúc triển khai 1

56

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

(cid:190) Kiến trúc 2 : Người dùng, chương trình ở máy A, nhưng dữ liệu ở trên máy B

Hình 2. Kiến trúc triển khai 2

3.3 Sơ đồ sử dụng

Các qui ước về hệ thống ký hiệu được sử dụng trong sơ đồ

Người sử dụng

Tác nhân

Nghiệp vụ

Luồng dữ liệu (thông tin)

Bộ nhớ phụ

Bảng 14. Bảng qui ước ký hiệu sử dụng trong sơ đồ sử dụng

57

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Sơ đồ sử dụng tổng thể

Hình 3. Sơ đồ sử dụng tổng thể

Bảng mô tả các nghiệp vụ trong sơ đồ sử dụng

Tên nghiệp vụ Diễn giải Số thứ tự

1. Quản lý tác giả

2. Quản lý khối thi

3. Quản lý môn thi

4. Quản lý nộidung môn học

5. Quản lý mục tiêu môn học

6. Nhập câu hỏi Cho phép người sử dụng thực hiện các thao tác quản lý (thêm, xóa, sửa) danh mục các tác giả của các câu trắc nghiệm. Cho phép người sử dụng thực hiện các thao tác quản lý (thêm, xóa, sửa) danh mục khối thi và chọn các môn học thuộc khối thi Cho phép người sử dụng thực hiện các thao tác quản lý (thêm, xóa, sửa) danh mục môn thi và chọn các khối thi mà môn thi trực thuộc. Cho phép người sử dụng thực hiện các thao tác quản lý (thêm, xóa, sửa) danh mục các nội dung môn học của câu trắc nghiệm. Cho phép người sử dụng thực hiện các thao tác quản lý (thêm, xóa, sửa) danh mục các mục tiêu cần khảo sát của câu trắc nghiệm. Cho phép người sử dụng chọn các tập tin WORD chứa các câu trắc nghiệm đã được soạn theo đúng mẫu quy định và đọc các

58

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

7. Tìm kiếm câu hỏi

8. Cập nhật câu hỏi

9. Soạn đề thi

10. Đánh giá đề thi

câu trắc nghiệm đó vào hệ thống. Cho phép người sử dụng tìm kiếm câu hỏi theo các tiêu chí, hỗ trợ người sử dụng kết xuất các câu trắc nghiệm được tìm thấy ra tập tin Word để sửa chữa. Cho phép người sử dụng chọn các tập tin Word chứa các câu trắc nghiệm đã sửa chữa và cập nhật các câu trắc nghiệm đó vào hệ thống. Cho phép ngưởi sử dụng soạn dàn bài trắc nghiệm, chọn lọc các câu trắc nghiệm thỏa yêu cầu để tạo, xáo trộn và kết xuất đề thi, bảng bài làm, bảng đáp án, bảng nhập thông tin kết quả làm bài của thí sinh (để đánh giá các câu trắc nghiệm.) Cho phép người sử dụng chọn các tập tin chứa kết quả bài làm của thí sinh, chấm điểm bài làm và tự đánh giá câu trắc nghiệm theo các công thức có được từ phần nghiên cứu lý thuyết.

Bảng 15. Danh sách các nghiệm vụ

59

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

3.4 Sơ đồ kiến trúc tổng thể (mức phân tích)

Hình 4. Sơ đồ kiến trúc tổng thể

60

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

3.5 Sơ đồ lớp

Để mô tả lớp đối tượng, sử dụng ký hiệu sau

3.5.1 Sơ đồ các lớp đối tượng (mức phân tích)

Hình 5. Sơ đồ các lớp đối tượng (Mức phân tích)

61

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các lớp đối tượng

Tên lớp

Diễn giải Lớp câu trắc nghiệm Số thứ tự 1 Câu trắc nghiệm

2 Câu trắc nghiệm đa lựa chọn Lớp câu trắc nghiệm có nhiều lựa

chọn trả lời

3 Câu trắc nghiệm đúng sai Lớp câu trắc nghiệm chỉ có 2 lựa

chọn trả lời Đúng và Sai

4 Phương án trả lời Lớp phương án trả lời, mỗi

phương án là một lựa chọn trả lời

trong câu hỏi đa lựa chọn

Lớp đề thi, chứa nhiều câu trắc 5 Đề thi

nghiệm

6 Dàn bài trắc nghiệm Lớp dàn bài trắc nghiệm, chứa các

yêu cầu chi tiết

7 Yêu cầu chi tiết Lớp yêu cầu chi tiết chứa các yêu

cầu về câu trắc nghiệm cần có để

chọn lựa câu trắc nghiệm làm đề

thi.

Bảng 16. Danh sách các lớp đối tượng chi tiết

62

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Chương 4. Thiết kế

4.1 Sơ đồ kiến trúc tổng thể (mức thiết kế)

Hình 6. Sơ đồ kiến trúc tổng thể

Các lớp xử lý việc nhập xuất trên tập tin Word :

63

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Hình 7. Sơ đồ tổ chức các lớp xử lý tập tin Word

Các loại câu trắc nghiệm có một số thuộc tính chung được kế thừa từ lớp cha

CauTN, nhưng lại có các thuộc tính riêng phân biệt nhau. Vì thế, khi nhập và xuất

các câu trắc nghiệm, ta có chung một “khuôn” xử lý, nhưng cách xử lý đối với mỗi

loại câu trắc nghiệm là khác nhau. Do đặc điểm đó, chúng tôi đã áp dụng mẫu thiết

kế Template để giải quyết vấn đề này. Cách thiết kế được thể hiện như sơ đồ bên

(cid:190) Các lớp đọc tập tin Word

dưới :

Hình 8. Các lớp xử lý đọc tập tin Word

64

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

(cid:190) Các lớp kết xuất tập tin Word

Hình 9. Các lớp xử lý kết xuất tập tin Word

4.1.1 Danh sách các lớp đối tượng của phần mềm

Tên đối tượng Diễn giải Loại đối tượng

S T T 1 MH_Chinh Màn hình chính

2 MH_TacGia Màn hình tác giả

3 MH_Khoi Màn hinh khối

4 MH_MonHoc Màn hinh quản lý môn học

5 MH_NoiDungMonHoc Màn hinh quản lý nội dung môn học Đối

tượng 6 MH_MucTieuMonHoc Màn hinh quản lý mục tiêu môn học

giao tiếp 7 MH_TaoDeThi Màn hinh nhập dàn bài trắc nghiệm

người 8 MH_ThemCauHoi Màn hinh nhậpcâu hỏi

dùng 9 MH_TimKiemCauHoi Màn hinh tìm kiếm câu hỏi

10 MH_ChinhSuaCauHoi Màn hinh chỉnh sửa câu hỏi

11 MH_TronDe Màn hinh trộn đề thi

Màn hinh tùy chọn phát sinh cập nhật 12 MH_TuyChonPhatSinh

CapNhat

13 XL_CauHoi Lớp đối tượng xử lý câu hỏi Đối

14 XL_DanBaiTracNghie tượng xử Lớp đối tượng xử lý dàn bài trắc

65

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

lý nghiệp m nghiệm

vụ 15 XL_Khoi Lớp đối tượng xử lý khối

16 XL_MonHoc Lớp đối tượng xử lý môn học

17 XL_ThongTinCSDL Lớp đối tượng xử lý thôn tin cơ sở dữ

liệu

18 XL_MucTieuMonHoc Lớp đối tượng xử lý mục tiêu môn học

19 XL_NoiDungMonHoc Lớp đối tượng xử lý nội dung môn học

20 XL_TacGia Lớp đối tượng xử lý tác giả

21 XL_LoiSQLServer Lớp đối tượng xử lý lỗi SQL Server

22 CauTN Lớp đối tượng xử lý câu trắc nghiệm

23 CauTNDungSai Lớp đối tượng xử lý câu trắc nghiệm

đúng sai

24 CauTNDaLuaChon Lớp đối tượng xử lý câu trắc nghiệm đa

lựa chọn

25 YeuCau Lớp đối tượng yêu cầu đề thi

26 PhuongAnTraLoi Lớp đối tượng phương án trả lời

27 DisOrderTest Lớp đối tượng xử lý việc xáo trộn câu

hỏi để tạo đề thi

28 ExcelRender Lớp đối tượng xử lý việc đọc và kết

xuất trên tập tin Excel

29 WordParser Lớp đối tượng xử lý việc đọc toàn bộ

tập tin Word

30 TestParser Lớp đối tượng xử lý việc đọc nội dung

câu trắc nghiệm tổng quát trên tập tin

Word

Lớp đối tượng xử lý việc đọc nội dung 31 CauTNDaLuaChonPars

câu trắc nghiệm đa lựa chọn trên tập tin er

Word

66

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

32 CauTNDungSaiParser Lớp đối tượng xử lý việc đọc nội dung

câu trắc nghiệm đúng sai trên tập tin

Word

33 WordRender Lớp đối tượng xử lý việc kết xuất ra tập

tin Word.

34 TestRender Lớp đối tượng xử lý việc kết xuất câu

trắc nghiệm tổng quát ra tập tin Word.

35 CauTNDaLuaChonRen Lớp đối tượng xử lý việc kết xuất câu

der trắc nghiệm đa lựa chọn ra tập tin

Word.

Lớp đối tượng xử lý việc kết xuất câu 36 CauTNDungSaiRender

trắc nghiệm đúng sai ra tập tin Word.

Lớp đối 37 LT_Khoi Lớp đối tượng xử lý việc lưu trữ khối

tượng xử 38 LT_MonHoc Lớp đối tượng xử lý việc lưu trữ môn

lý lưu trữ học

39 LT_TacGia Lớp đối tượng xử lý việc lưu trữ tác giả

40 LT_NoiDungMonHoc Lớp đối tượng xử lý việc lưu trữ nội

dung môn học

41 LT_MucTieuMonHoc Lớp đối tượng xử lý việc lưu trữ mục

tiêu môn học

42 LT_DanBaiTracNghie Lớp đối tượng xử lý việc lưu trữ dàn bài

m trắc nghiệm

43 LT_CauTNDungSai Lớp đối tượng xử lý việc lưu trữ câu

trắc nghiệm đúng sai

44 LT_CauTNDaLuaChon Lớp đối tượng xử lý việc lưu trữ câu

trắc nghiệm đa lựa chọn

45 LT_ThongTinCSDL Lớp đối tượng xử lý việc lưu trữ thông

tin cơ sở dữ liệu

67

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

46 LT_Bang Lớp đối tượng xử lý việc lưu trữ tất cả

các thông tin

4.2 Thiết kế dữ liệu

4.2.1 Sơ đồ logic dữ liệu

CAU_HOI_DA_LUA_CHON

KHOI

MON_HOC

DANH_SACH_LUA_CHON

MaMH : N TenMH : S(15)

MaKhoi : N TenKhoi : S(6) GhiChu : S(50)

MaCH : S(17) MaLuaChon : N NoiDungXML : S NoiDungText : S

KHOI_MONHOC

MaKhoi : N MaMH : N

MUC_TIEU_MON_HOC

MaCH : S(17) NoiDungXML : S NoiDungText : S DapAn : N DoKho : R DoPhanCach : R MaTGBS : N MaMH : N MaNDMH : N MaNDC : N MaMTMH : N MaMTC : N SoLanXuatHien : N

MaMTMH : N TenMTMH : S(30) GhiChu : S(50)

TAC_GIA

NOI_DUNG_MON_HOC

MaMH : N MaNDMH : N TenNDMH : S(30) GhiChu : S(50)

MaTG : N TenTG : S(40) BangCap : S(30) DonViCongTac : S(30) DiaChi : S(80) DienThoai : S(15) GhiChu : S)50_

MUC_TIEU_CON

CAU_HOI_DUNG_SAI

MaMTMH : N MaMTC : N TenMTC : S(30) GhiChu : S(50)

NOI_DUNG_CON

MaMH : N MaNDMH : N MaNDC : N TenNDC : S(30) GhiChu : S(50)

MaCH : S(17) NoiDungXML : S NoiDungText : S DapAn : N DoKho : R DoPhanCach : R MaTGBS : N MaMH : N MaNDMH : N MaNDC : N MaMTMH : N MaMTC : N SoLanXuatHien : N

Hình 10. Sơ đồ logic dữ liệu

68

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các bảng dữ liệu :

STT

Tên

Ý nghĩa

Ghi chú

1 KHOI Lưu trữ khối thi

2 MON_HOC Lưu trữ môn học

3 KHOI_MONHOC Lưu trữ các môn học thuộc

khối

4 NOI_DUNG_MON_HOC Lưu trữ nội dung môn học

thuộc môn học

5 NOI_DUNG_CON Lưu trữ nội dung con thuộc

nội dung môn học

6 MUC_TIEU_MON_HOC Lưu trữ mục tiêu nhận thức

môn học

7 MUC_TIEU_CON Lưu trữ mục tiêu con thuộc

mục tiêu môn học

8 TAC_GIA Lưu trữ tác giả biên soạn câu

trắc nghiệm

9 CAU_HOI_DA_LUA_CHON Lưu trữ câu hỏi trắc nghiệm

loại đa lựa chọn

10 DANH_SACH_LUA_CHON Lưu trữ danh sách các lựa

chọn của câu trắc nghiệm đa

lựa chọn

11 CAU_HOI_DUNG_SAI Lưu trữ câu hỏi trắc nghiệm

loại đúng sai

Bảng 17. Danh sách các bảng dữ liệu

69

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

4.3 Sơ đồ truyền động (sơ đồ hoạt động chi tiết) một số xử lý

quan trọng

4.3.1 Nhập câu hỏi

Hình 11. Sơ đồ truyền động xử lý nhập câu hỏi

70

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

4.3.2 Kết xuất câu hỏi

Hình 12. Sơ đồ truyền động xử lý kết xuất câu hỏi

71

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

4.3.3 Trộn đề thi

Hình 13. Sơ đồ truyền động xử lý trộn đề thi

72

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Chương 5. Triển khai, thực nghiệm và kiểm tra

5.1 Kỹ thuật Automation (tự động hóa)

5.1.1 Sơ nét về Automation

Automation (trước đây được biết đến với tên gọi là OLE Automation) là một cơ chế

cho phép một ứng dụng A thao tác với các đối tượng được cài đặt trong ứng dụng

B, hoặc phơi bày các đối tượng của ứng dụng A để các ứng dụng khác có thể truy

xuất và thao tác được các đối tượng này. Nói cách khác, Automation là một cơ chế

cho phép điều khiển ứng dụng B từ ứng dụng A. Có 2 loại automation :

- Automation cục bộ (Local Automation): các đối tượng và chức năng của

ứng dụng A được phơi bày nằm trên cùng một máy với ứng dụng B.

- Automation từ xa (Remote Automation): các đối tượng và chức năng của

ứng dụng A được phơi bày nằm trên một máy khác với máy chứa ứng dụng

B, khi đó ứng dụng B phải truy cập đến ứng dụng A qua hệ thống mạng.

Các khái niệm :

- Automation server : là các ứng dụng (thuộc kiểu COM server) phơi bày

(expose) các chức năng của nó thông qua giao diện COM (COM interface)

cho các ứng dụng khác. Các ứng dụng sử dụng các chức năng đó gọi là các

Automation client.

- Automation client : là các ứng dụng sử dụng, thao tác các đối tượng, chức

o Client động : là các client lấy thông tin về các thuộc tính và phương

năng được phơi bày của Automation server. Có 2 loại Automation client :

o Client tĩnh : là các client lấy thông tin về các hàm và phương thức của

thức của Automation Server trong lúc chạy chương trình (run time).

Automation server trong lúc biên dịch (compile time).

73

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Hình 14. Mô hình sử dụng Automation

Việc phơi bày các đối tượng của server giúp cho các client có thể thực hiện tự động

hóa các chức năng bằng cách truy xuất trực tiếp vào các đối tượng và chức năng đã

được công bố của automation server. Công bố các đối tượng như vậy sẽ rất có lợi

khi một ứng dụng muốn cung cấp các chức năng của nó cho các ứng dụng khác.

Chẳng hạn như một ứng dụng xử lý văn bản có thể cung cấp chức năng bắt lỗi chính

tả cho các ứng dụng khác sử dụng. Với cơ chế này, các lâp trình viên, các nhà phát

triển phần mềm dễ dàng xây dựng những ứng dụng mới dựa trên những chức năng

được cung cấp sẵn bởi các automation server.

Automation thể hiện rõ các khía cạnh kỹ thuật trong lập trình hướng đối tượng ở

mức ứng dụng như : tính dùng lại (reusability), tính đóng gói (encapsulation).

74

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Rất nhiều ứng dụng thương mại, chẳng hạn như Microfsoft Office (bao gồm toàn bộ

các sản phẩm như Word, Excel, PowerPoint, Access, ...) hay Microsoft Visual C++,

cho phép điền khiển tự động hóa nhiều chức năng của chúng. Thí dụ ta có thể sử

dụng các macro VBScript để điều khiển tự động hóa việc build, chỉnh sửa code, hay

debug ...

5.1.2 Automation với Microsoft Office 2003

Mỗi ứng dụng của bộ Microsoft Office 2003 đều có các đặc điểm cho phép chúng ta

tạo các giải pháp riêng. Chẳng hạn, Microsoft Office Excel cung cấp các công cụ

toán học, công cụ phân tích và công cụ báo cáo .... trong khi đó Microsoft Office

Word cho phép tạo và quản lý các tài liệu, theo dõi phiên bản các tài liệu giữa nhiều

nhóm người sử dụng, tạo các form và template ...

Các ứng dụng Office khác cũng đều có khả năng mạnh mẽ như vậy. Ta có thể tích

hợp các đặc điểm của các ứng dụng Office vào trong chính ứng dụng của chúng ta.

Automation là một kỹ thuật quan trọng trong việc tích hợp các đặc điểm của Office

vào trong ứng dụng.

5.1.2.1 Automation với Microsoft Office Word 2003

Các đối tượng Microsoft Office Word 2003 được sắp xếp theo thứ tự phân cấp, và 2

lớp chính ở vị trí cao nhất trong cây phân cấp là lớp Application(lớp ứng dụng) và

lớp Document (lớp tài liệu). Hai lớp này rất quan trọng bởi vì hầu hết mọi thao tác

khi xử lý thì lúc nào chúng ta cũng xử lý trên ứng dụng Word hay xử lý trên các tài

liệu Word.

Mô hình đối tượng Word tượng tư như giao diện sử dụng của chương trình. Đối

tượng Application đại diện cho toàn bộ ứng dụng, mỗi đối tượng Document đại diện

cho một tài liệu Word đang được xử lý, đối tượng Paragraph tương ứng với mỗi

đoạn trong tài liệu, và các lớp khác cũng tương tự như vậy. Mỗi đối tượng này đề có

các phương thức và thuộc tính cho phép thao tác và giao tiếp với chúng.

Mô hình các đối tượng chính của Word

75

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Hình 15. Mô hình đối tượng Word

(cid:190) Application : đại diện cho ứng dụng Word, là cha của tất cả mọi loại đối

tượng. Ta có thể sử dụng hàm và các thuộc tính của nó điều khiển chương

(cid:190) Document : là đối tượng chính của việc lập trình với Word. Khi mở hay tạo

trình Word.

mới một tài liệu Word, thì một đối tượng Document cũng được tạo tương

ứng và được thêm vào tập hợp Documents trong Word. Tài liệu đang được

mở gọi là tài liệu hiện hành và được truy xuất thông qua thuộc tính

ActiveDocumnt của đối tượng Application.

(cid:190) Selection : đại diện cho một vùng dữ liệu đang được chọn. Khi thực hiện các

thao tác soạn thảo trên Word, chẳng hạn như tô đậm văn bản, ta chọn hay

đánh dấu đoạn văn bản và áp dụng định dạng. Đối tượng Selection luôn tồn

tại trong tài liệu. Nếu không có gì được chọn thì nó đại diện cho vị trí của

(cid:190) Range : đại diện cho các vùng kề nhau trong tài liệu, được xác định bằng vị

con trỏ hiện tại .

trí ký tự đầu tiên và vị trí ký tự kết thúc. Ta có thể có nhiều đối tượng Range

o Nó có thể chỉ là vị trí con trỏ hiện tại, hay là một phạm vi văn bản,

trong cùng 1 tài liệu. Đối tượng Range có các đặc điểm sau :

hay là toàn bộ văn bản.

76

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

o Nó bao gồm các ký tự không được “hiển thị” như khoảng cách, tab,

o Nó có thể là vùng văn bản đang được chọn, hay có thể là vùng văn

ký tự đánh dấu paragraph

o Không được lưu trữ với tài liệu và chỉ tồn tại khi chạy mã lập trình.

(cid:190) Bookmark : đối tượng Bookmark tương tự như đối tượng Range ở chỗ nó

bản khác với vùng văn bản đang được chọn.

đại diện cho một vùng dữ liệu kề nhau, với vị trí đầu và vị trí cuối. Ta sử

dụng Bookmark để đánh dấu một vị trí trong tài liệu, hay như là một đối

tượng chứa văn bản trong tài liệu. Bookmark có thể chỉ là vị trí con trỏ hiện

tại hoặc là toàn bộ tài liệu. Bạn có thể có nhiều Bookmark trong 1 tài liệu.

Bookmark có những đặc điểm sau làm cho nó khác biệt với đối tượng Range

o Ta có thể đặt tên cho Bookmark

o Bookmark được lưu với tài liệu, vì thế nó không mất đi ngay cả khi

:

o Mặc định, Bookmark được ẩn, nhưng có thể làm cho hiển thị bằng

không chạy mã lập trình hoặc đã đóng tài liệu.

cách thiết lập thuộc tính ShowBookMarks của đối tượng View thành

giá trị True.(Đối tượng View là thành viên của đối tượng Application

và Document)

5.1.2.2 Automation với Microsoft Excel Word 2003

Để phát triển ứng dụng sử dụng Microsoft Office Excel 2003, chúng ta phải tương

tác với các đối tượng trong mô hình đối tượng của Excel. Trong hầu hết các phần, ta

sẽ thấy rằng mô hình đối tượng này tương ứng với giao diện sử dụng, điều này cũng

giống với việc sử dụng mô hình đối tượng trong Microsoft Office Word 203.

(cid:190) Application : Đối tượng Application đại diện cho ứng dụng Excel. Đối

Các lớp đối tượng chính :

tượng Application cung cấp rất nhiều thông tin về : ứng dụng đang chạy, các

77

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

tùy chọn được áp dụng vào thể hiện đó, các đối tượng hiệnt tại đang được

(cid:190) WorkBook : Đối tượng Workbook đại diện một workbook trong ứng dụng

người sử dụng mở ...

Excel. Nhiều biến, thuộc tính thành viên của lớp Application cũng chính là

biến, thuộc tính của lớp Workbook. Như vậy, có thể sử dụng thuộc tính để

(cid:190) Worksheet : Tương ứng với sheet trong 1 Workbook. Mặc dù lớp

tương tác với một workbook được chỉ định hoặc với workbook hiện hành.

Worksheet cung cấp một lượng lớn các hàm, biến, thuộc tính nhưng hầu hết

đều tương tự như các hàm, biến, thành phần của 2 lớp Application và

(cid:190) Range : Đối tượng Range là đối tượng mà bạn sẽ sử dụng nhiều nhất trong

Workbook.

ứng dụng Excel. Trước khi thao tác với các vùng trong Excel, bạn phải chỉ

định chúng như là một đối tượng Range và sử dụng với các phương thức,

thuộc tính của đối tượng Range này. Một đối tượng Range có thể là một ô,

một dòng, một cột hay là một tập hợp các ô (có thể kề nhau hay không kề

nhau), hay thậm chí là một nhóm các ô trên các sheet khác nhau.

78

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

5.2 Thực hiện

5.2.1 Cách tổ chức trong lập trình

Kiến trúc phần mềm được xây dựng theo cơ chế 3 tầng :

- Tầng giao tiếp với người sử dụng : Tương ứng với tầng này là thư mục

ManHinh

- Tầng giao tiếp với bộ nhớ phụ : Tương ứng với tầng này là các thư mục

LuuTru

- Tầng xử lý : là tầng trung gian giao tiếp giữa 2 tầng trên, thực hiện các xử lý

quan trọng như : đọc câu hỏi từ tập tin Word, kết xuất câu hỏi, xáo trộn câu

hỏi, kết xuất đề thi ...

5.2.2 Các công thức được sử dụng

- Công thức tính độ khó câu trắc nghiệm :

Số người trả lời đúng câu i Độ khó câu i = Tổng số người làm bài trắc nghiệm

- Công thức tính độ phân cách câu trắc nghiệm : sử dụng công thức tương

N

- XY

YX ∑∑

quan điểm nhị phân

[N

2 ( - X

2 ][NX)

2 ( - Y

2 ]Y)

D =

- 1(

)

- Công thức tính độ tin cậy của bài trắc nghiệm

pq ∑ 2σ

r = k k – 1

5.2.3 Qui tắc đặt tên các đối tượng

STT Tên đối tượng Cách đặt tên Ví dụ

79

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

1 Các đối tượng màn hình MH_ MH_Chinh, MH_TacGia

2 Các đối tượng xử lý XL_ XL_TacGia, XL_Mon

3 Các đối tượng xử lý khác Đặt tên tự do CauTN,CauTNDaLuaChon

theo ý nghĩa

4 Các đối tượng lưu trữ LT_ LT_TacGia, LT_Mon

Bảng 18. Qui tắc đặt tên các đối tượng

5.2.4 Qui tắc đặt tên cho các điều khiển trong các màn hình

Mỗi cửa sổ có thể có nhiều điều khiển. Những điều khiển này có tên mặc định,

nhưng nên đặt lại tên để có nhiều mô tả và làm cho ứng dụng của bạn dễ quản lý.

Sau đây chúng em xin được trình bày đề nghị những tiền tố cho các điều khiển trên

màn hình trong đề tài của mình.

Tên điều khiển Cách đặt tên Ví dụ

btnDongY, btnThoat STT 1 Button btn_

checkHienThi 2 CheckBox check

gridTacGia, gridMonHoc 3 Grid grid_

lbTacGia, lbMonHoc 4 Label lb_

txtTacGia, txtMonHoc 5 TextBox txt_

Bảng 19. Qui tắc đặt tên các điều khiển trên màn hình

5.2.5 Quy tắc đặt tên biến

Dưới đây là những mô tả ký hiệu cho các biến thuộc kiểu dữ liệu cơ bản

Tên kiểu dữ liệu Cách đặt tên Ví dụ

iDiem, iDem STT 1 Số nguyên i_

bVisible, bXuatMaCauHoi 2 Boolean b_

fDoKho, fDoPhanCach 3 Số thực f_

sTacGia, sMonHoc 4 Chuỗi s_

Bảng 20. Quy tắc đặt tên biến

80

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

5.3 Thực nghiệm và kiểm tra

• Dữ liệu thử nghiệm là một bài trắc nghiệm gồm 10 câu

• Kiểm tra trên 10 thí sinh

• Các bài làm của thí sinh hoàn toàn độc lập với nhau

• Dưới đây là đáp án và bài làm của các thí sinh:

Câu hỏi

1 2

3 4

5 6 7 8 9 10

Đáp án A B D B A C C A D B

Thí sinh 1 A B D B A C C B D B

Thí sinh 2 A B D B A C C A D B

Thí sinh 3 A B D A A C B A D B

Thí sinh 4 A B D C B B C A B B

Thí sinh 5 C B D B A B B B C A

Thí sinh 6 A C D B A C A D A B

Thí sinh 7 A C D C B C B B C A

Thí sinh 8 B B C A B D A A D C

Thí sinh 9 D B C B A A A B A B

Thí sinh 10 A B A B B D A B D B

Bảng 21. Bài làm của các thí sinh

81

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

• Tính độ khó và độ phân cách câu trắc nghiệm 1:

(cid:153) Lập bảng tính toán giá trị cần thiết:

Thí sinh Tổng điểm (Y) Điểm câu trắc nghiệm 1(X) X2 Y2 XY

1 9 1 1 81 9

2 10 1 1 100 10

3 8 1 1 64 8

4 6 1 1 36 6

5 4 0 0 16 0

6 6 1 1 36 6

7 3 1 1 9 3

8 3 0 0 9 0

9 4 0 0 16 0

10 5 1 1 25 5

Tổng

58

7

7 392

47

Bảng 22. Điểm bài làm và điểm câu trắc nghiệm 1

(cid:153) Tính độ khó câu trắc nghiệm 1[ 2.5.1.2 ]:

Số người trả lời đúng câu i Độ khó câu 1 = Tổng số người làm bài trắc nghiệm

X∑ N

(cid:153) Tính độ phân cách câu trắc nghiệm 1[ 2.5.2.2.2 ]:

N

XY

YX

∑∑−

= 0.7 = = 7 10

2

[N

2 ( - X

X)

][N

2 ( - Y

2 ]Y)

D =

2

10[

7 - 7 x

][10

x

2 ]58 - 392

10 x 47 – 7 x 58 = = 0.59

82

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

• Tính toán tương tự cho các câu trắc nghiệm còn lại ta được độ khó và độ

phân cách của các câu trắc nghiệm như sau:

Câu trắc nghiệm Độ khó Độ phân cách

1 0.7 0.59

2 0.8 0.28

3 0.7 0.5

4 0.6 0.28

5 0.6 0.54

6 0.5 0.59

7 0.3 0.7

8 0.4 0.33

9 0.5 0.51

10 0.7 0.68

Bảng 23. Độ khó và độ phân cách của các câu trắc nghiệm

83

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Tính độ tin cậy của bài trắc nghiệm[ 2.6.2.4 ]

Câu

Độ khó (p)

q = 1 - p

pq

1 0.7 0.3 0.21

2 0.8 0.2 0.16

3 0.7 0.3 0.21

4 0.6 0.4 0.24

5 0.6 0.4 0.24

6 0.5 0.5 0.24

7 0.3 0.7 0.21

8 0.4 0.6 0.24

9 0.5 0.5 0.25

10 0.7 0.3 0.21

2.22

Tổng

Bảng 24. Tính pq

2Y∑ - ( Y∑ )2

2σ =

- 1(

)

)

- 1(

10 x 392- 582 N = 6.18 = N(N - 1) 10 x 9

pq ∑ 2σ

2.22 18.6

= = 0.71 r = 10 9 k k – 1

84

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Chương 6. Kết luận

6.1 Những kết quả đạt được

(cid:190) Về chức năng quản lý câu trắc nghiệm : có thể quản lý tốt số lượng lớn các

câu trắc nghiệm thuộc hầu hết các môn học (Toán, Lý, Hóa, Anh văn ...) và

(cid:190) Về chức năng soạn thảo câu trắc nghiệm, kết xuất câu trắc nghiệm :

o Người sử dụng soạn câu trắc nghiệm trực tiếp trên tập tin Word vì thế

các lĩnh vực khác nhau (giáo dục, xã hội, tâm lý, kinh tế ...)

có thể soạn với định dạng bất kỳ, nội dung bất kỳ : có thể sử dụng

được tất cả các loại ký hiệu toán học, hóa học, vật lý, hình vẽ ... mà

o Người sử dụng có thể kết xuất câu trắc nghiệm ra trên tập tin Word

Microsoft Word có hỗ trợ.

với cấu trúc, định dạng và nội dung tương tự với cấu trúc, định dạng,

(cid:190) Về chức năng soạn dàn bài trắc nghiệm (soạn đề thi) :

o Hộ trợ người sử dụng lập dàn bài trắc nghiệm theo đúng yêu cầu cần

nội dung đã được soạn thảo ban đầu.

có của một dàn bài trắc nghiệm : phân loại theo khối thi, môn thi, nội

dung môn học, các mục tiêu của môn học, loại câu hỏi, độ khó, độ

o Chức năng được xây dựng với hệ thống phân cấp quen thuộc, gần gũi

phân cách ...

(cid:190) Về chức năng kết xuất đề thi :

o Hỗ trợ tốt trong việc xáo trộn đề (xáo trộn thứ tự câu hỏi, xáo trộn thứ

và dễ dàng sử dụng.

tự các phương án trả lời trong câu hỏi) với tỉ lệ trùng cho phép giữa

o Hỗ trợ tốt việc xáo trộn dạng câu hỏi phức hợp (dạng câu hỏi : Câu A

các đề được chỉ định bởi người sử dụng

và C đúng), một chức năng mà hiện nay, hầu như chưa có chương

trình nào có thể xử lý được.

85

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

o Người sử dụng có thể chỉ định số đề thi sẽ được phát sinh, định dạng

o Kết xuất tốt ra file Word các đề thi, bảng trả lời cho thí sinh, bảng đáp

đánh số thứ tự câu hỏi, đánh số các phương án trả lời ....

o Khả năng tùy biến định dạng cao vì tập tin được kết xuất theo

án tương ứng với các đề thi ...

Template (.dot) của Microsoft Word, khi người sử dụng có nhu cầu

(cid:190) Về chức năng đánh giá :

o Hỗ trợ việc kết xuất bảng đáp án và bảng nhập kết quả làm bài của thí

thay đổi chỉ cần thay đổi tập tin Template (.dot) tương ứng

o Người sử dụng nhập kết quả làm bài vào bảng nhập kết quả và sử

sinh ra tập tin Excel

dụng chương trình để chấm điểm bài làm và đánh giá các độ đo của

các câu trắc nghiệm đã được chọn trong đề thi

6.2 So sánh với một số chương trình liên quan

Hiện nay, ở Việt Nam, có rất ít hoặc hầu như không có bất cứ chương trình nào hỗ

trợ quản lý các câu trắc nghiệm. Theo sự tìm hiểu của chúng em thì chính thức, có

một nhóm phát triển của Trung tâm phát triển Công nghệ Thông tin của Trường Đại

học Sư phạm Thành phố Hồ Chí Minh là đã và đang phát triển một hệ thông tương

tự, tên gọi là TQS (Test Question System). Chúng em xin được so sánh và đánh giá

hệ thống đã xây dựng với hệ thống này.

86

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Chức năng, đặc điểm

TQS

Chương trình của nhóm đã phát triển Có

(cid:153) Hỗ trợ 2 dạng câu trắc nghiệm đa lựa chọn và câu trắc nghiệm đúng sai (cid:153) Quản lý, phân loại theo nội dung

1 cấp nội dung 2 cấp nội dung ( đúng theo các tài liệu lý thuyết trắc nghiệm)

(cid:153) Quản lý các mục tiêu của câu trắc nghiệm (cid:153) Hình thức nhập câu

hỏi vào ngân hàng dữ liệu

Không Có

Có Không - Hỗ trợ nhập trên

chương trình (chỉ nhập được các nội dung đơn giản)

- Hỗ trợ nhập từ file Word Hỗ trợ tốt việc soạn thảo câu hỏi với nội dung bất kỳ

Có, nhưng xử lý còn đơn giản, không thể nhập được các đối tượng phức tạp như công thức toán học, hóa học, hình ảnh ... tích hợp ngay trong câu trắc nghiệm.

Không hổ trợ

- Hỗ trợ nhập phương án trả lời dạng phức hợp (là dạng câu hỏi : Câu A, B đều đúng hoặc Câu A, C đều sai)

(cid:153) Hỗ trợ kết xuất ra file

Word

Không hỗ trợ

(cid:153) Hỗ trợ việc soạn dàn bài trắc nghiệm

(cid:153) Hỗ trợ chấm điểm bài

Không hỗ trợ

thi

Hỗ trợ và đã xử lý, cập nhật lại phương án trả lời phức hợp sau khi đã xáo trộn các phương án trả lời trong quá trình trộn đề Hỗ trợ kết xuất đầy đủ với các template mà người dùng có thể tùy biến trước hoặc sau khi kết xuất Hỗ trợ soạn dạng bài trắc nghiệm với cây phân cấp, dễ quản lý, thân thiện với người sử dụng. Có. Người sử dụng nhập bài làm của thí sinh vào Có. Người sử dụng nhập bài làm thí sinh bằng cách

87

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

sử dụng chuột chọn kết quả bài làm thí sinh trên màn hình

(cid:153) Hỗ trợ đánh giá câu

tập tin Excel, chấm điểm ngay trên tập tin Excel. Có thể điều chỉnh lại module đọc tập tin để thích hợp với output của các máy chấm điểm tự động.

Có (áp dụng công thức Pearson ) trắc nghiệm Có (áp dụng công thức Pearson )

Bảng 25. Bảng so sánh chức năng của đề tài với chương trình đã được phát triển

6.3 Các hướng phát triển

Trong phạm vi một luận văn Đại học, luận văn cơ bản đã đạt được các yêu cầu đặt

ra. Tuy nhiên, các kết quả đạt được vẫn còn thiếu so với hiện trạng thực tế do hạn

chế về thời gian. Trong thời gian tới, nếu có điều kiện, luận văn sẽ cố gắng phát

triển các chức năng sau :

- Hỗ trợ đầy đủ các hình thức trắc nghiệm khác như : Câu trắc nghiệm ghép

cặp, câu trắc nghiệm điền khuyết.

- Kết xuất các bảng đáp án, bảng trả lời tự động phù hợp với máy chấm điểm

tự động hoặc các phần mềm chấm điểm.

6.4 Nhận xét

Luận văn đã xây dựng thành công một chương trình quản lý hệ thống ngân hàng câu

hỏi trắc nghiệm. Việc xây dựng chương trình được thực hiện theo qui trình công

nghệ phần mềm hướng đối tượng, theo mô hình ba lớp. Chúng tôi đã kết hợp được

các công việc liên quan đến vấn đề thi trắc nghiệm như soạn đề thi trắc nghiệm,

chọn lọc câu hỏi, đánh giá, cập nhật lại hệ thống câu hỏi với mục đích làm cho hệ

thống ngân hàng câu hỏi ngày càng tốt hơn, đáp ứng được yêu chất lượng về đề thi,

cũng như yêu cầu phân loại thí sinh của các kỳ thi tuyển. Bên cạnh đó chúng tôi

cũng cố gắng chuẩn hóa tối đa các thao tác trong chương trình so với các thao tác

trong các chương trình ứng dụng quen thuộc trên máy tính như Microsoft Excel,

Microsoft Visio, Microsoft Access, .... đặc biệt, cho phép người dùng soạn thảo các

88

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

câu trắc nghiệm bằng chính chương trình Microsoft Word 2003, một chương

trình rất thân thiện và quen thuộc đối với tất cả những người sử dụng máy tính.

Chính vì sử dụng Microsoft Word làm trình soạn thảo câu trắc nghiệm, mà người sử

dụng có thể nhập nội dung của file Word với nội dung bất kỳ, định dạng bất kỳ :

có thể chèn các công thức toán học, công thức hóa học, hình ảnh, biểu tượng, ký

hiệu chuyên ngành ... mà không sợ bị mất định dạng hoặc không hiển thị được khi

kết xuất ra đề thi. Đây là điều mà hầu hết các chương trình về trắc nghiệm chưa làm

được.

Chương trình có khả năng mở rộng thành một hệ thống lớn hỗ trợ nhiều hình thức

câu hỏi trắc nghiệm khác nhau từ nhiều nguồn câu hỏi. Có thể sử dụng được cho bất

cứ nhu cầu thi tuyển trắc nghiệm nào.

Chúng tôi hy vọng rằng, đề tài này sẽ nhận được nhiều sự quan tâm của nhiều người

sử dụng bởi một chương trình trên máy tính luôn có ý nghĩa khi nó phục vụ con

người nhất là phục vụ trong lĩnh vực giáo dục. Chúng tôi luôn mong muốn nhận

được sự góp ý, đánh giá của mọi người để có thể ngày càng hoàn thiện hệ thống,

phục vụ ngày càng tốt cho các nhu cầu thi tuyển, đặc biệt là nhu cầu tổ chức thi

tuyển sinh đại học, vốn rất khó khăn và phức tạp trong công tác ra đề để có được

một đề thi phân loại tốt các thí sinh.

89

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Tài liệu tham khảo

[1] Dương Thiệu Tống, Trắc nghiệm và đo lường thành quả học tập (Phương

pháp thực hành), Tập 1: Trắc nghiệm chuẩn mực, Bộ Giáo dục và Đào tạo,

Trường Đại học Tổng hợp TP.HCM, 1995.

[2] Dương Thiệu Tống, Trắc nghiệm và đo lường thành quả học tập, Tập 2:

Trắc nghiệm tiêu chí, Bộ Giáo dục và Đào tạo, NXB Giáo Dục, 1998.

[3] Lý Minh Tiên, Lê Trung Chính, Đoàn Văn Điều, Võ Văn Nam, Ngô Đình

Qua, Đo lường và đánh giá kết quả học tập, Tài liệu học tập trường Đại học

Sư phạm TP HCM, 2004.

[4] Nguyễn Phụng Hoàng, Nguyễn Ngọc Lan, Phương pháp trắc nghiệm trong

kiểm tra và đánh giá kết quả học tập, NXB Giáo Dục, 1997.

[5] Dương Anh Đức, Giáo trình Phân tích và Thiết kế hướng đối tượng bằng

UML, NXB Thống kê, 2002.

[6] Nguyễn Tiến Huy, Giáo trình Xây dựng phần mềm hướng đối tượng,

11/2002.

[7] MSDN Library, April 2005.

90

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Phụ lục A. Danh sách các mẫu nhập

A.1 Mẫu nhập câu hỏi trắc nghiệm

@TG [Tên tác giả soạn câu hỏi]

@MH [Tên môn học của câu trắc nghiệm]

@NDMH [Tên nội dung môn học của câu trắc nghiệm]

@NDMHC [Tên nội dung môn học con của câu trắc nghiệm]

@MTMH [Tên mục tiêu môn học của câu trắc nghiệm]

@MTMHC [Tên mục tiêu môn học con của câu trắc nghiệm]

@Loai [Loại câu hỏi : 1 là câu trắc nghiệm đa lựa chọn, 2 là câu trắc nghiệm đúng

sai]

Lưu ý : các trường ở trên là các trương giá trị mặc định, nếu trong các câu hỏi

bên dưới không có chỉ dịnh giá trị các trường này thì các giá trị của các trường

của câu hỏi sẽ được lấy giá trị mặc định do các trường bên trên qui định.

@CH

#TG [Tên tác giả câu hỏi]

#DK 0.1

#DPC 0.2

#NDMH [Tên nội dung môn học của câu trắc nghiệm]

#NDMHC [Tên nội dung môn học con của câu trắc nghiệm]

#MTMH [Tên mục tiêu môn học của câu trắc nghiệm]

#MTMHC [Tên mục tiêu môn học con của câu trắc nghiệm]

#Loai [Loại câu hỏi]

#ND

1/

2/

91

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

……

n/

#DA

@CH

#MaCH CH2

#Loai 2

#ND

#DA [Có 2 loại : D là đúng và S là sai]

Bảng 26. Mẫu nhập câu hỏi

A.2 Mẫu đề thi:

Môn thi :

Đề thi số

Thời gian

Ngày thi

CHỮ KÝ GIÁM THỊ

Chữ ký giám thị 1

Chữ ký giám thị 2

Kỳ thi tuyển sinh đại học năm học 2004 - 2005

PHẦN CÂU HỎI

Bảng 27. Mẫu đề thi

A.3 Mẫu bảng trả lời

92

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Số báo danh

Họ và tên

Nơi sinh

Môn thi

Ngày sinh

Thông tin kỳ thi

Thời gian

Ngày thi

Hội đồng thi

Chữ ký giám thị

Ch ữ k ý gi ám t h ị 1

Ch ữ k ý gi ám t h ị 2

S ố th ứ tự b ài th i

(cid:9)

Ch ữ k ý gi ám t h ị 1

Ch ữ k ý gi ám t h ị 2

S ố th ứ tự b ài th i

BẢNG TRẢ LỜI

A B C D

A B C D

Câu 1

Câu 3

Câu 2

Câu 4

Kỳ thi tuyển sinh đại học năm học 2004 - 2005

Bảng 28. Mẫu bảng trả lời

93

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

A.4 Mẫu đáp án

Môn thi :

Ngày thi

Đề thi số

Thời gian

Kỳ thi tuyển sinh đại học năm học 2004 - 2005

ĐÁP ÁN

PHẦN CÂU HỎI ĐA LỰA CHỌN VÀ ĐÚNG SAI

A B C D

A B C D

Câu 1 x

Câu 3 x

Câu 2

x

Câu 4

x

Bảng 29. Mẫu đáp án

A.5 Mẫu nhập đánh giá

Đề thi số

Số câu hỏi

3

4

1 A A B

Câu hỏi Bài làm 1 Bài làm 2 Bài làm 3

3 C B A

4 A C D

2 B A C

Bảng 30. Mẫu nhập đánh giá

94

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Hồ sơ phân tích hệ thống

A.1 Sơ đồ luồng dữ liệu

Mô hình hóa các yêu cầu theo sơ đồ sau :

Hình 16. Sơ đồ luồng dữ liệu mẫu

Trong đó :

D1 : Thông tin do người dùng nhập vào.

D2 : Dữ liệu được kết xuất cho người dùng.

D3 : Dữ liệu đọc từ bộ nhớ phụ cần thiết cho xử lý X.

D4 : Dữ liệu cần lưu trữ vào bộ nhớ phụ .

95

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

A.1.1 Quản lý tác giả

A.1.1.1 Thêm tác giả

Các luồng dữ liệu :

- D1: Các thông tin về tác giả cần thêm (Tên, Bằng

cấp, Đơn vị công tác, Địa chỉ, Điện thoại).

- D2 : Kết quả xử lý cho người sử dụng.

- D4 : Các thông tin về tác giả cần thêm (Tên, Bằng

cấp, Đơn vị công tác, Địa chỉ, Điện thoại).

Xử lý :

- Nhận D1 từ người sử dụng.

Hình 17. Sơ đô sử dụng chi

- Ghi D4 vào bộ nhớ phụ.

tiết Thêm tác giả

- Thông báo D2 đến người sử dụng.

A.1.1.2 Cập nhật tác giả

Các luồng dữ liệu :

- D1: Các thông tin về tác giả cần cập nhật (Tên,

Bằng cấp, Đơn vị công tác, Địa chỉ, Điện thoại).

- D3 : Các thông tin về các tác giả có trong bộ nhớ

phụ.

- D2 : Kết quả xử lý cho người sử dụng.

- D4 : Các thông tin thay đổi về tác giả (Tên, Bằng

cấp, Đơn vị công tác, Địa chỉ, Điện thoại).

Hình 18. Sơ đô sử dụng chi

Xử lý :

tiết Cập nhật tác giả

- Đọc D3 từ bộ nhớ phụ hiển thị cho người sử

dụng.

- Nhận D1 từ người sử dụng.

- Cập nhật D4 vào bộ nhớ phụ.

96

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

- Thông báo D2 đến người sử dụng.

A.1.1.3 Xóa tác giả

Các luồng dữ liệu :

- D1: Các thông tin về tác giả (Tên, Bằng cấp, Đơn

vị công tác, Địa chỉ, Điện thoại).

- D3 : Các thông tin về các tác giả có trong bộ nhớ

phụ.

- D2 : Thông báo kết quả xử lý cho người sử dụng.

- D4 : Các thông tin về tác giả cần xóa (Tên, Bằng

cấp, Đơn vị công tác, Địa chỉ, Điện thoại).

Hình 19. Sơ đô sử dụng chi

Xử lý :

tiết Xóa tác giả

- Đọc D3 từ bộ nhớ phụ hiển thị cho người sử

dụng.

- Nhận D1 từ người sử dụng.

- Xóa D4 khỏi bộ nhớ phụ.

- Thông báo D2 đến người sử dụng.

97

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

A.1.2 Quản lý khối thi

A.1.2.1 Thêm khối thi

Các luồng dữ liệu :

- D1: Các thông tin về khối thi cần thêm (Tên khối

thi, Ghi chú).

- D2 : Kết quả xử lý cho người sử dụng.

- D4 : Các thông tin về khối thi cần thêm (Tên khối

thi, Ghi chú).

Xử lý :

- Nhận D1 từ người sử dụng.

Hình 20. Sơ đô sử dụng chi

- Ghi D4 vào bộ nhớ phụ.

tiết Thêm khối thi

- Thông báo D2 cho người sử dụng.

98

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Cập nhật khối thi

Các luồng dữ liệu :

- D1: Các thông tin về khối thi cần cập nhật (Tên

khối thi).

- D3 : Các thông tin về các khối thi có trong bộ nhớ

phụ.

- D2 : Kết quả xử lý cho người sử dụng.

- D4 : Các thông tin thay đổi về khối thi (Tên khối

thi)

Hình 21. Sơ đô sử dụng chi

Xử lý :

tiết Cập nhật khối thi

- Đọc D3 từ bộ nhớ phụ hiển thị cho người sử

dụng.

- Nhận D1 từ người sử dụng.

- Cập nhật D4 vào bộ nhớ phụ.

- Thông báo D2 đến người sử dụng.

A.1.2.2 Xóa khối thi

Các luồng dữ liệu :

- D1: Các thông tin về khối thi cần xóa (Tên khối

thi).

- D3 : Các thông tin về các khối thi có trong bộ nhớ

phụ.

- D2 : Kết quả xử lý cho người sử dụng.

- D4 : Các thông tin về khối thi cần xóa (Tên khối

thi).

Hình 22. Sơ đô sử dụng chi

Xử lý :

tiết Xóa khối thi

- Đọc D3 từ bộ nhớ phụ hiển thị cho người sử

dụng.

99

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

- Nhận D1 từ người sử dụng.

- Xóa D4 khỏi bộ nhớ phụ.

- Thông báo D2 đến người sử dụng.

A.1.3 Quản lý môn thi

A.1.3.1 Thêm môn thi

Các luồng dữ liệu :

- D1: Các thông tin về môn thi cần thêm (Tên môn

thi)

- D2 : Kết quả xử lý cho người sử dụng

- D4 : Các thông tin về môn thi cần thêm (Tên môn

thi)

Xử lý :

- Nhận D1 từ người sử dụng.

Hình 23. Sơ đô sử dụng chi

- Ghi D4 vào bộ nhớ phụ.

tiết Thêm môn thi

- Thông báo D2 cho người sử dụng.

100

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

A.1.3.1 Cập nhật môn thi

Các luồng dữ liệu :

- D1: Các thông tin về môn thi cần cập nhật (Tên

môn thi).

- D3 : Các thông tin về các môn thi có trong bộ nhớ

phụ.

- D2 : Thông báo kết quả xử lý cho người sử dụng.

- D4 : Các thông tin thay đổi về môn thi (Tên môn

thi).

Hình 24. Sơ đô sử dụng chi

Xử lý :

tiết Cập nhật môn thi

- Đọc D3 từ bộ nhớ phụ hiển thị cho người sử

dụng.

- Nhận D1 từ người sử dụng.

- Cập nhật D4 vào bộ nhớ phụ.

- Thông báo D2 đến người sử dụng.

101

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

A.1.3.2 Xóa môn thi

Các luồng dữ liệu :

- D1: Các thông tin về môn thi cần xóa (Tên môn

thi).

- D3 : Các thông tin về các môn thi có trong bộ nhớ

phụ.

- D2 : Thông báo kết quả xử lý cho người sử dụng.

- D4 : Các thông tin về môn thi cần xóa (Tên môn

học).

Hình 25. Sơ đô sử dụng chi

Xử lý :

tiết Xóa môn thi

- Đọc D3 từ bộ nhớ phụ hiển thị cho người sử

dụng.

- Nhận D1 từ người sử dụng.

- Xóa D4 khỏi bộ nhớ phụ.

- Thông báo D2 đến người sử dụng.

102

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

A.1.4 Quản lý nội dung môn học

A.1.4.1 Thêm nội dung môn học

Các luồng dữ liệu :

- D1: Các thông tin về nội dung môn học cần thêm

(Tên nội dung môn học, ghi chú).

- D2 : Thông báo kết quả xử lý cho người sử dụng

- D4 : Các thông tin về nội dung môn học cần thêm

(Tên nội dung môn học, ghi chú).

Xử lý :

- Nhận D1 từ người sử dụng.

Hình 26. Sơ đô sử dụng chi

- Ghi D4 vào bộ nhớ phụ.

tiết Thêm nội dung môn học

- Thông báo D2 cho người sử dụng.

A.1.4.2 Cập nhật nội dung môn học

Các luồng dữ liệu :

- D1: Các thông tin về nội dung môn học cần cập

nhật (Tên nội dung, ghi chú).

- D3 : Các thông tin về nội dung môn học cần cập

nhật có trong bộ nhớ phụ.

- D2 : Thông báo kết quả xử lý cho người sử dụng.

- D4 : Các thông tin thay đổi về nội dung môn học

(Tên nội dung, ghi chú).

Hình 27. Sơ đô sử dụng chi

Xử lý :

tiết Cập nhật nội dung môn

học

- Đọc D3 từ bộ nhớ phụ hiển thị cho người sử

dụng.

- Nhận D1 từ người sử dụng.

- Cập nhật D4 vào bộ nhớ phụ.

- Thông báo D2 đến người sử dụng.

103

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

A.1.4.3 Xóa nội dung môn học

Các luồng dữ liệu :

- D1: Các thông tin về nội dung môn học cần xóa

(Tên nội dung, ghi chú).

- D2 : Thông báo kết quả xử lý cho người sử dụng

- D4 : Các thông tin về nội dung môn học cần xóa

(Tên nội dung, ghi chú).

Xử lý :

- Đọc D3 từ bộ nhớ phụ hiển thị cho người dùng.

Hình 28. Sơ đô sử dụng chi

- Nhận D1 từ người sử dụng.

tiết Xóa nội dung môn học

- Xóa D4 khỏi bộ nhớ phụ.

- Thông báo D2 đến người sử dụng.

104

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

A.1.5 Quản lý mục tiêu môn học

A.1.5.1 Thêm mục tiêu môn học

Các luồng dữ liệu :

- D1: Các thông tin về mục tiêu môn học cần thêm

(Tên mục tiêu, ghi chú)

- D2 : Thông báo kết quả xử lý cho người sử dụng

- D4 : Các thông tin về mục tiêu môn học cần thêm

(Tên mục tiêu, ghi chú).

Xử lý :

- Nhận D1 từ người sử dụng.

Hình 29. Sơ đô sử dụng chi

- Ghi D4 vào bộ nhớ phụ.

tiết Thêm mục tiêu môn học

- Thông báo D2 cho người sử dụng.

A.1.5.2 Cập nhật mục tiêu môn học

Các luồng dữ liệu :

- D1: Các thông tin về mục tiêu môn học cần cập

nhật (Tên mục tiêu, ghi chú).

- D3 : Các thông tin về mục tiêu môn học cần cập

nhật có trong bộ nhớ phụ.

- D2 : Thông báo kết quả xử lý cho người sử dụng

- D4 : Các thông tin thay đổi về mục tiêu môn học

(Tên mục tiêu, ghi chú).

Hình 30. Sơ đô sử dụng chi

Xử lý :

tiết Cập nhật mục tiêu môn

học

- Đọc D3 từ bộ nhớ phụ hiển thị cho người sử

dụng.

- Nhận D1 từ người sử dụng.

- Cập nhật D4 vào bộ nhớ phụ.

- Thông báo D2 đến người sử dụng.

105

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

A.1.5.3 Xóa mục tiêu môn học

Các luồng dữ liệu :

- D1: Các thông tin về mục tiêu môn học cần xóa

(Tên mục tiêu, ghi chú).

- D2 : Thông báo kết quả xử lý cho người sử dụng

- D4 : Các thông tin về mục tiêu môn học cần xóa

(Tên mục tiêu, ghi chú).

Xử lý :

- Đọc D3 từ bộ nhớ phụ hiển thị cho người sử

Hình 31. Sơ đô sử dụng chi

dụng.

tiết Xóa mục tiêu môn học

- Nhận D1 từ người sử dụng.

- Xóa D4 khỏi bộ nhớ phụ.

- Thông báo D2 đến người sử dụng.

106

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

A.1.6 Nhập câu hỏi

Các luồng dữ liệu :

- D1: Các thông tin về các tập tin chứa các câu hỏi

cần nhập (đường dẫn tập tin)

- D2 : Thông báo kết quả xử lý cho người sử dụng

- D4 : Các thông tin về các câu hỏi cần nhập (Tác

giả, độ khó, độ phân cách, môn học, nội dung môn

học, mục tiêu môn học, loại câu hỏi, nội dung câu

hỏi, các phương án trả lời).

Hình 32. Sơ đồ sử dụng chi

Xử lý :

tiết

- Nhận D1 từ người sử dụng.

- Sử dụng Automation để đọc tập tin Word.

- Hiển thị các câu hỏi đọc được cho người dùng.

- Ghi D4 vào bộ nhớ phụ.

- Thông báo D2 cho người sử dụng.

A.1.7 Tìm kiếm câu hỏi

Các luồng dữ liệu :

- D1: Các điều kiện cần tìm kiếm (Loại câu hỏi, Môn

học, Nội dung, Mục tiêu, Độ khó, Độ phân cách,

Số lần xuất hiện).

- D2 : Thông báo kết quả xử lý cho người sử dụng

- D4 : Các thông tin về các câu hỏi đã được tìm thấy

(Loại câu hỏi, Môn học, Nội dung, Mục tiêu, Độ

khó, Độ phân cách, Số lần xuất hiện).

Hình 33. Sơ đô sử dụng chi

Xử lý :

tiết Tìm kiếm câu hỏi

- Nhận D1 từ người sử dụng.

- Tìm kiếm các câu hỏi thoả điệu kiện.

- Đọc D3 từ bộ nhớ phụ và hiển thị cho người sử

107

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

dụng.

- Thông báo D2 cho người sử dụng.

A.1.8 Cập nhật câu hỏi

Các luồng dữ liệu :

- D1: Các thông tin về các tập tin chứa các câu hỏi

cần cập nhật (đường dẫn).

- D2 : Thông báo kết quả xử lý cho người sử dụng.

- D4 : Các thông tin về các câu hỏi cần cập nhật (tác

giả, độ khó, độ phân cách, môn học, nội dung môn

học, mục tiêu môn học, loại câu hỏi, nội dung câu

hỏi, các phương án trả lời).

Hình 34. Sơ đô sử dụng chi

Xử lý :

tiết Cập nhật câu hỏi

- Nhận D1 từ người sử dụng.

- Sử dụng Automation để đọc nội dung tập tin

Word chứa các câu hỏi.

- Hiển thị danh sách các câu hỏi đọc được cho

người sử dụng.

- Ghi D4 vào bộ nhớ phụ.

- Thông báo D2 đến người sử dụng.

108

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

A.1.9 Soạn đề thi

Các luồng dữ liệu :

- D1: Các thông tin về các yêu cầu về đề thi (Môn

thi, khối thi, Nội dung, Mục tiêu, Loại câu hỏi, Độ

khó tối đa/ tối thiểu, Độ phân cách tối đa/ tối thiểu,

Số câu hỏi)

- D2 : Thông báo kết quả xử lý cho người sử dụng.

- D3 : Các thông tin của các câu hỏi thỏa yêu cầu về

đề thi (Loại câu hỏi, Môn học, Nội dung, Mục tiêu,

Hình 35. Sơ đô sử dụng chi

Độ khó, Độ phân cách, Số lần xuất hiện).

tiết Soạn đề thi

Xử lý :

- Nhận D1 từ người sử dụng.

- Tìm kiếm và chọn ngẫu nhiên các câu hỏi thỏa

yêu cầu.

- Đọc D3 từ bộ nhớ phụ hiển thị cho người sử

dụng.

- Thông báo D2 đến người sử dụng.

109

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

A.1.10 Đánh giá đề thi và các câu trắc nghiệm

Các luồng dữ liệu :

- D1: Các thông tin về các tập tin chứa thông tin về

đề thi và các bài làm của thí sinh (đường dẫn)

- D2 : Thông báo kết quả xử lý cho người sử dụng

- D4 : Các thông tin về các câu hỏi đã được đánh giá

cần cập nhật (Mã câu hỏi, Độ khó, Độ phân cách,

Số lần xuất hiện).

Xử lý :

Hình 36. Sơ đô sử dụng chi

- Nhận D1 từ người sử dụng.

tiết Đánh giá đề thi và các câu

trắc nghiệm

- Sử dụng Automation để đọc nội dung các tập tin.

- Tính toán các chỉ số từ các dữ liệu trong các tập

tin.

- Đánh giá các câu trắc nghiệm, đề thi từ các chỉ

số tính toán được.

- Cập nhật D4 vào bộ nhớ phụ.

- Thông báo D2 đến người sử dụng.

A.2 Mô tả chi tiết các lớp đối tượng chính

A.2.1 Lớp Câu trắc nghiệm

Câu trắc nghiệm

- Mã câu hỏi

- Tên tác giả

- Tên môn học

- Tên nội dung môn học

- Tên nội dung môn học con

- Tên mục tiêu môn học

- Tên mục tiêu môn học con

110

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

- Độ khó

- Độ phân cách

- Nội dung câu hỏi

- Tự sao chép

- Phát sinh mã

A.2.2 Lớp Câu trắc nghiệm đa lựa chọn

Câu trắc nghiệm đa lựa chọn

- Mã câu hỏi

- Tên tác giả

- Tên môn học

- Tên nội dung môn học

- Tên nội dung môn học con

- Tên mục tiêu môn học

- Tên mục tiêu môn học con

- Độ khó

- Độ phân cách

- Nội dung câu hỏi

- Các phương án trả lời

- Đáp án (Số thứ tự của phương án trả lời đúng)

- Tự sao chép

- Phát sinh mã

A.2.3 Lớp Câu trắc nghiệm đúng sai

Câu trắc nghiệm đúng sai

- Mã câu hỏi

- Tên tác giả

- Tên môn học

- Tên nội dung môn học

111

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

- Tên nội dung môn học con

- Tên mục tiêu môn học

- Tên mục tiêu môn học con

- Độ khó

- Độ phân cách

- Nội dung câu hỏi

- Đáp án (1: Đúng 0: sai)

- Tự sao chép

- Phát sinh mã

A.2.4 Lớp Phương án trả lời

Phương án trả lời

- Nội dung phương án

- Tự sao chép

A.2.5 Lớp Đề thi

Đề thi

- Danh sách các câu hỏi

- Tự sao chép

- Xáo trộn

A.2.6 Lớp Dàn bài trắc nghiệm

Dàn bài trắc nghiệm

- Danh sách các yêu cầu chi tiết

- Tự sao chép

- Chọn câu hỏi thỏa yêu cầu

A.2.7 Lớp Yêu cầu chi tiết

Yêu cầu chi tiết

- Danh sách các câu hỏi

- Tự sao chép

112

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

- Xáo trộn

Phụ lục B. Hồ sơ thiết kế

B.1 Chi tiết các bảng dữ liệu

B.1.1 Bảng KHOI

STT

Tên cột

Kiểu

Ràng buộc

Ý nghĩa

Ghi chú

1 MaKhoi N >0, là khóa Mã khối

chính

2 TenKhoi S(6) Tên khối

3 GhiChu S(50) Ghi chú về khối

113

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.1.2 Bảng MON_HOC

STT Tên cột

Kiểu

Ràng buộc

Ý nghĩa

Ghi chú

1 MaMH N >0, là khóa Mã môn học

chính

2 TenMH S(15) Tên môn học

B.1.3 Bảng KHOI_MONHOC

STT Tên cột Kiểu

Ràng buộc

Ý nghĩa

Ghi chú

1 MaKhoi N >0, tham gia vào khóa Mã khối

chính, là khóa ngoại đến

bảng KHOI

2 MaMH N >0, tham gia vào khóa Mã môn

chính, là khóa ngoại đến học

bảng MON_HOC

B.1.4 Bảng NOI_DUNG_MON_HOC

STT

Tên cột

Kiểu

Ràng buộc

Ý nghĩa

Ghi chú

1 MaMH N >0, tham gia vào khóa Mã môn học

chính, là khóa ngoại đến

bảng MON_HOC

2 MaNDMH N >0, tham gia vào khóa Mã nội dung

chính môn học

3 TenNDMH S(30) Tên nội dung

môn học

4 GhiChu S(50) Ghi chú cho

NDMH

114

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.1.5 Bảng NOI_DUNG_CON

STT Tên cột Kiểu

Ràng buộc

Ý nghĩa

Ghi chú

1 MaMH N >0, tham gia vào khóa Mã môn học

chính, tham gia vào khóa

ngoại đến bảng

NOI_DUNG_MON_HOC

2 MaNDMH N >0, tham gia vào khóa Mã nội dung

chính, tham gia vào khóa môn học

ngoại đến bảng

NOI_DUNG_MON_HOC

3 MaNDC N >0, tham gia vào khóa Mã nội dung

chính con

4 TenNDC S(30) Tên nội dung

con

5 GhiChu S(50) Ghi chú

B.1.6 Bảng MUC_TIEU_MON_HOC

STT

Tên cột

Kiểu

Ràng buộc

Ý nghĩa

Ghi chú

1 MaMTMH N >0, là khóa Mã mục tiêu môn

chính học

2 TenMTMH S(30) Tên mục tiêu môn

học

3 GhiChu S(50) Ghi chú cho mục

tiêu môn học

B.1.7 Bảng MUC_TIEU_CON

STT Tên cột Kiểu

Ràng buộc

Ý nghĩa

Ghi chú

1 MaMTMH N >0, tham gia vào khóa Mã mục tiêu

115

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

môn học chính, là khóa ngoại đến

bảng

MUC_TIEU_MON_HOC

2 MaMTC N >0, tham gia vào khóa Mã mục tiêu

chính con

3 TenMTC S(30) Tên mục tiêu

con

4 GhiChu S(50) Ghi chú cho

mục tiêu con

116

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.1.8 Bảng TAC_GIA

STT

Tên cột

Kiểu

Ràng buộc

Ý nghĩa

Ghi chú

1 MaTG N >0, là khóa Mã tác giả

chính

2 TenTG S(40) Tên tác giả

3 BangCap S(30) Bằng cấp của tác

giả

4 DonViCongTac S(30) Đơn vị công tác

của tác giả

5 DiaChi S(80) Địa chỉ liên lạc của

tác giả

6 DienThoai S(15) Số điện thoại của

tác giả

7 GhiChu S(50) Ghi chú về tác giả

biên soạn câu hỏi

trắc nghiệm

B.1.9 Bảng CAU_HOI_DA_LUA_CHON

STT

Tên cột

Kiểu

Ràng buộc

Ý nghĩa

Ghi

chú

1 MaCH S(17) Là khóa chính Mã câu hỏi

2 NoiDungXML S Nội dung câu hỏi

theo kiểu XML

3 NoiDungText S Nội dung câu hỏi

theo kiểu văn bản

4 DapAn N >0 Đáp án câu trắc

nghiệm, chính là mã

lựa chọn

117

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

5 DoKho R >= 0 và <= 1 Độ khó câu trắc

nghiệm

6 DoPhanCach R >= -1 và <= 1 Độ phân cách câu

trắc nghiệm

7 MaTGBS >0, là khóa ngoại Mã tác giả biên soạn N

đến bảng TAC_GIA câu trắc nghiệm

8 MaMH >0, tham gia vào N Mã môn học

khóa ngoại đến

bảng

NOI_DUNG_MON

_HOC và bảng

NOI_DUNG_CON

9 MaNDMH N >0, tham gia vào Mã nội dung môn học

khóa ngoại đến

bảng

NOI_DUNG_MON

_HOC và bảng

NOI_DUNG_CON

10 MaNDC N >0, tham gia vào Mã nội dung con

khóa ngoại đến

bảng

NOI_DUNG_CON

11 MaMTMH N >0, tham gia vào Mã mục tiêu môn học

khóa ngoại đến

bảng

MUC_TIEU_MON

_HOC và bảng

MUC_TIEU_CON

12 MaMTC N >0, tham gia vào Mã mục tiêu con

118

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

khóa ngoại đến

bảng

MUC_TIEU_CON

13 SoLanXuatHien N >0 Số lần câu trắc

nghiệm đã xuất hiện

trong các đề thi

B.1.10 Bảng DANH_SACH_LUA_CHON

STT

Tên cột

Kiểu

Ràng buộc

Ý nghĩa

Ghi chú

1 MaCH S(17) Tham gia vào khóa Mã câu hỏi

chính, tham gia vào

khóa ngoại đến bảng

CAU_HOI_DA_LUA_

CHON

2 MaLuaChon N >0, tham gia vào khóa Mã lựa chọn

chính

3 NoiDungXML S Nội dung lựa

chọn theo kiểu

XML

4 NoiDungText S Nội dung câu

hỏi theo kiểu

văn bản

B.1.11 Bảng CAU_HOI_DUNG_SAI

STT

Tên cột

Kiểu

Ràng buộc

Ý nghĩa

Ghi

chú

1 MaCH S(17) Là khóa chính Mã câu hỏi

2 NoiDungXML S Nội dung câu hỏi

119

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

theo kiểu XML

3 NoiDungText S Nội dung câu hỏi

theo kiểu văn bản

4 DapAn N >0 Đáp án câu trắc

nghiệm, chính là mã

lựa chọn

5 DoKho R >= 0 và <= 1 Độ khó câu trắc

nghiệm

6 DoPhanCach R >= -1 và <= 1 Độ phân cách câu

trắc nghiệm

7 MaTGBS >0, là khóa ngoại Mã tác giả biên soạn N

đến bảng TAC_GIA câu trắc nghiệm

8 MaMH >0, tham gia vào N Mã môn học

khóa ngoại đến

bảng

NOI_DUNG_MON

_HOC và bảng

NOI_DUNG_CON

9 MaNDMH N >0, tham gia vào Mã nội dung môn học

khóa ngoại đến

bảng

NOI_DUNG_MON

_HOC và bảng

NOI_DUNG_CON

10 MaNDC N >0, tham gia vào Mã nội dung con

khóa ngoại đến

bảng

NOI_DUNG_CON

11 MaMTMH N >0, tham gia vào Mã mục tiêu môn học

120

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

khóa ngoại đến

bảng

MUC_TIEU_MON

_HOC và bảng

MUC_TIEU_CON

12 MaMTC N >0, tham gia vào Mã mục tiêu con

khóa ngoại đến

bảng

MUC_TIEU_CON

13 SoLanXuatHien N >0 Số lần câu trắc

nghiệm đã xuất hiện

trong các đề thi

121

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2 Thiết kế chi tiết các lớp đối tượng

B.2.1 Thiết kế lớp đối tượng giao tiếp người dùng

B.2.1.1 Lớp MH_Chinh

Hình 37. Màn hình chính

MH_Chinh

DanhMucChucNang: OutlookBar

MH_Chinh_Load

DanhMucChucNang_Click

122

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các đối tượng thể hiện:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Chức danh sách Vị trí (0,0),

1 DanhMucChucNang OutlookBar các chức năng Nằm ở cạnh

của phần mềm trái màn hình

Danh sách các biến cố:

STT Thể hiện Loại biến cố Xử lý Ghi chú

Đọc thông tin về cơ sở dữ 1 MH_Chinh Load liệu

Bật các màn hình tương ứng

2 DanhMucChucNang Click với chức năng mà người

dung yêu cầu

B.2.1.2 Lớp MH_TacGia

Hình 38. Màn hình quản lý tác giả

MH_TacGia

123

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

lblTieu_de_man_hinh: Label

gridTacGia: Grid

btnThem: Button

btnXoa: Button

btnHuyBo: Button

btnLuu: Button

btnDongY: Button

btnBoQua: Button

xlTacGia: XL_TacGia

flagDeleted: Boolean

flagChanged: Boolean

MH_TacGia_Load

MH_TacGia_Closing

gridTacGia_InitNewRow

gridTacGia_CellValueChanged

btnThem_Click

btnXoa_Click

btnHuyBo_Click

btnLuu_Click

btnDongY_Click

btnBoQua_Click

HoiXoaCacCauTracNghiemLienQuan()

Danh sách các đối tượng thể hiện:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

lblTieuDeManHinh Label Tiêu đề màn hình 1

gridTacGia Grid Lưới danh sách các tác giả 2

btnThem Button Nút thêm tác giả 3

btnXoa Button Nút xóa tác giả 4

124

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

5 btnHuyBo Button Nút hủy bỏ

6 btnLuu Button Nút lưu

7 btnDongY Button Nút đồng ý

8 btnBoQua Button Nút bỏ qua

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

True: có thay đổi trên lưới 1 flagChanged Boolean False: không có thay đổi trên lưới

True: có xóa trên lưới 2 flagDeleted Boolean False: không có xóa trên lưới

Danh sách các đối tượng xử lý:

STT Tên Lớp Ý nghĩa Ghi chú

Xử lý các thao tác liên quan đến đối 1 xlTacGia XL_TacGia tượng tác giả

Danh sách các biến cố:

STT Thể hiện Loại biến cố Xử lý Ghi chú

Đọc danh sách tác giả từ cơ sở 1 MH_TacGia Load dữ liệu

Xử lý lưu lại các thay đổi của

2 MH_TacGia Closing người dùng trước khi đóng

màn hình

Gán mã tác giả vào cột số thứ gridTacGia InitNewRow 3 tự trên lưới

gridTacGia CellValueChanged Bật cờ flagChanged 4

btnThem Click Focus vào dòng thêm mới trên 5

125

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

lưới, bật cờ flagChanged

Xóa dòng dữ liệu trên lưới,

6 btnXoa Click bật cờ flagDeleted,

flagChanged

Hủy bỏ các thao tác thêm,

xóa, sửa đã thực hiện trước 7 btnHuyBo Click đó, tắt cờ flagChanged,

flagDeleted

Lưu các thao tác thêm, xóa,

8 btnLuu Click sửa xuống cơ sở dữ liệu, tắt

cờ flagChanged, flagDeleted

Lưu các thao tác thêm, xóa,

9 btnDongY Click sửa xuống cơ sở dữ liệu và

đóng màn hình

Đóng màn hình 10 btnBoQua Click

Danh sách các hàm xử lý:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Hỏi người sử dụng

để xóa các câu trắc HoiXoaCacCauTrac 1 nghiệm liên quan NghiemLienQuan

đến tác giả bị xóa

126

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.1.3 Lớp MH_Khoi

Hình 39. Màn hình quản lý khối

MH_Khoi

lblTieu_de_man_hinh: Label

gridKhoi: Grid

linkChonMonHoc: HyperLink

linkThemMonHoc: HyperLink

btnThem: Button

btnXoa: Button

btnHuyBo: Button

btnLuu: Button

btnDongY: Button

btnBoQua: Button

xlKhoi: XL_Khoi

xlMonHoc: XL_MonHoc

dtKhoi_MonHocCu: DataTable

127

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

flagDeleted: Boolean

flagChanged: Boolean

MH_Khoi_Load

MH_Khoi_Closing

gridKhoi_InitNewRow

gridKhoi_CellValueChanged

linkChonMonHoc_Click

linkThemMonHoc_Click

btnThem_Click

btnXoa_Click

btnHuyBo_Click

btnLuu_Click

btnDongY_Click

btnBoQua_Click

Danh sách các đối tượng thể hiện:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

1 lblTieuDeManHinh Label Tiêu đề màn hình

2 Grid Lưới danh sách các khối gridKhoi

3 btnThem Button Nút thêm khối

4 btnXoa Button Nút xóa khối

5 btnHuyBo Button Nút hủy bỏ

6 btnLuu Button Nút lưu

7 btnDongY Button Nút đồng ý

8 btnBoQua Button Nút bỏ qua

9 linkChonMonHoc HyperLink Liên kết chọn môn học

10 linkThemMonHoc HyperLink Liên kết thêm môn học

Danh sách các biến thành phần:

128

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

True: có thay đổi trên lưới 1 flagChanged Boolean False: không có thay đổi trên lưới

True: có xóa trên lưới 2 flagDeleted Boolean False: không có xóa trên lưới

Chứa danh sách khối-môn học để

3 dtKhoi_MonHocCu DataTable người sử dụng bỏ qua thao tác

thêm, xóa môn học thuộc khối

Danh sách các đối tượng xử lý:

STT Tên Lớp Ý nghĩa Ghi chú

Xử lý các thao tác liên quan đến 1 xlKhoi XL_Khoi đối tượng khối

Xử lý các thao tác liên quan đến 2 xlMonHoc XL_MonHoc môn học thuộc khối

Danh sách các biến cố:

STT Thể hiện Loại biến cố Xử lý Ghi chú

Đọc danh sách khối từ cơ sở 1 MH_Khoi Load dữ liệu

Xử lý lưu lại các thay đổi của

2 MH_Khoi Closing người dùng trước khi đóng

màn hình

Gán mã khối vào cột số thứ tự 3 gridKhoi InitNewRow trên lưới

4 gridKhoi CellValueChanged Bật cờ flagChanged

Focus vào dòng thêm mới trên 5 btnThem Click lưới, bật cờ flagChanged

129

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Xóa dòng dữ liệu trên lưới,

6 btnXoa Click bật cờ flagDeleted,

flagChanged

Hủy bỏ các thao tác thêm,

xóa, sửa đã thực hiện trước 7 btnHuyBo Click đó, tắt cờ flagChanged,

flagDeleted

Lưu các thao tác thêm, xóa,

8 btnLuu Click sửa xuống cơ sở dữ liệu, tắt

cờ flagChanged, flagDeleted

Lưu các thao tác thêm, xóa,

9 btnDongY Click sửa xuống cơ sở dữ liệu và

đóng màn hình

Đóng màn hình 10 btnBoQua Click

Mở màn hình nhập danh sách linkChonMo Click 11 môn học thuộc khối nHoc

Mở màn hình quản lý môn linkThemMo Click 12 học nHoc

130

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.1.4 Lớp MH_MonHoc

Hình 40. Màn hình quản lý môn học

MH_MonHoc

lblTieu_de_man_hinh: Label

gridMonHoc: Grid

linkChonKhoi: HyperLink

btnThem: Button

btnXoa: Button

btnHuyBo: Button

btnLuu: Button

btnDongY: Button

btnBoQua: Button

xlKhoi: XL_Khoi

xlMonHoc: XL_MonHoc

131

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

dtKhoi_MonHocCu: DataTable

flagDeleted: Boolean

flagChanged: Boolean

MH_MonHoc_Load

MH_MonHoc_Closing

gridMonHoc_InitNewRow

gridMonHoc_CellValueChanged

linkChonKhoi_Click

btnThem_Click

btnXoa_Click

btnHuyBo_Click

btnLuu_Click

btnDongY_Click

btnBoQua_Click

HoiXoaCacCauTracNghiemLienQuan()

Danh sách các đối tượng thể hiện:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

lblTieuDeManHinh Label Tiêu đề màn hình 1

gridMonHoc Grid Lưới danh sách các khối 2

3 btnThem Button Nút thêm môn học

4 btnXoa Button Nút xóa môn học

5 btnHuyBo Button Nút hủy bỏ

6 btnLuu Button Nút lưu

7 btnDongY Button Nút đồng ý

8 btnBoQua Button Nút bỏ qua

9 linkChonKhoi HyperLink Liên kết chọn khối

Danh sách các biến thành phần:

132

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

True: có thay đổi trên lưới 1 flagChanged Boolean False: không có thay đổi trên lưới

True: có xóa trên lưới 2 flagDeleted Boolean False: không có xóa trên lưới

Chứa danh sách khối-môn học để

3 dtKhoi_MonHocCu DataTable người sử dụng bỏ qua thao tác

thêm, xóa khối chứa môn học

Danh sách các đối tượng xử lý:

STT Tên Lớp Ý nghĩa Ghi chú

1 xlKhoi XL_Khoi Xử lý thao tác đọc danh sách khối

Xử lý các thao tác liên quan đến 2 xlMonHoc XL_MonHoc môn học

Danh sách các biến cố:

STT Thể hiện Loại biến cố Xử lý Ghi chú

Đọc danh sách môn học từ cơ 1 MH_MonHoc Load sở dữ liệu

Xử lý lưu lại các thay đổi của

2 MH_MonHoc Closing người dùng trước khi đóng

màn hình

Gán mã môn học vào cột số 3 gridMonHoc InitNewRow thứ tự trên lưới

4 gridMonHoc CellValueChanged Bật cờ flagChanged

Focus vào dòng thêm mới trên 5 btnThem Click lưới, bật cờ flagChanged

6 btnXoa Click Xóa dòng dữ liệu trên lưới,

133

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

bật cờ flagDeleted,

flagChanged

Hủy bỏ các thao tác thêm,

xóa, sửa đã thực hiện trước 7 btnHuyBo Click đó, tắt cờ flagChanged,

flagDeleted

Lưu các thao tác thêm, xóa,

8 btnLuu Click sửa xuống cơ sở dữ liệu, tắt

cờ flagChanged, flagDeleted

Lưu các thao tác thêm, xóa,

9 btnDongY Click sửa xuống cơ sở dữ liệu và

đóng màn hình

Đóng màn hình 10 btnBoQua Click

Mở màn hình nhập danh sách 11 linkChonKhoi Click khối chứa môn học

Danh sách các hàm xử lý:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Hỏi người sử dụng

để xóa các câu trắc HoiXoaCacCauTrac 1 nghiệm liên quan NghiemLienQuan

đến tác giả bị xóa

134

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.1.5 Lớp MH_NhapDanhSachMonHocThuocKhoi

Hình 41. Màn hình nhập môn học thuộc khối

MH_NhapDanhSachMonHocThuocKhoi

lstDanhSachMonHoc: ListBox

btnDongY: Button

btnBoQua: Button

xlMonHoc: XL_MonHoc

MH_NhapDanhSachMonHocThuocKhoi_Load

lstDanhSachMonHoc_ItemCheck

btnDongY_Click

btnBoQua_Click

135

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các đối tượng thể hiện:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

lstDanhSachMonHoc ListBox Chứa danh sách môn học 1

2 btnDongY Button Nút đồng ý

3 btnBoQua Button Nút bỏ qua

Danh sách các đối tượng xử lý:

STT Tên Lớp Ý nghĩa Ghi chú

Xử lý các thao tác liên quan thêm, 1 xlMonHoc XL_MonHoc xóa môn học thuộc khối

Danh sách các biến cố:

STT Thể hiện Loại biến cố Xử lý Ghi chú

MH_NhapDan

1 Load Tạo danh sách môn học hSachMonHoc

ThuocKhoi

Thêm, xóa môn học thuộc lstDanhSachM ItemCheck 2 khối onHoc

3 btnDongY Click Trả về OK

4 btnBoQua Click Trả về Cancel

136

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.1.6 Lớp MH_NhapDanhSachKhoiChuaMonHoc

Hình 42. Màn hình nhập khối chứa môn học

MH_NhapDanhSachKhoiChuaMonHoc

lstDanhSachKhoi: ListBox

btnDongY: Button

btnBoQua: Button

MH_NhapDanhSachMonHocThuocKhoi_Load

lstDanhSachKhoi_ItemCheck

btnDongY_Click

btnBoQua_Click

Danh sách các đối tượng thể hiện:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

lstDanhSachKhoi ListBox Chứa danh sách khối 1

2 btnDongY Button Nút đồng ý

3 btnBoQua Button Nút bỏ qua

137

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các đối tượng xử lý:

STT Tên Lớp Ý nghĩa Ghi chú

Xử lý các thao tác liên quan thêm, 1 xlMonHoc XL_MonHoc xóa khối chứa môn học

Danh sách các biến cố:

STT Thể hiện Loại biến cố Xử lý Ghi chú

MH_NhapDan

1 Load Tạo danh sách khối hSachKhoiCh

uaMonHoc

lstDanhSachK 2 ItemCheck Thêm, xóa khối chứa môn học hoi

3 btnDongY Click Trả về OK

4 btnBoQua Click Trả về Cancel

138

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.1.7 Lớp MH_NoiDungMonHoc

Hình 43. Màn hình quản lý nội dung môn học

MH_NoiDungMonHoc

lblTieu_de_man_hinh: Label

cmbDanhSachMonHoc: ComboBox

gridNoiDungChinh: Grid

gridNoiDungCon: Grid

btnThemNDMH: Button

btnThemNDCon: Button

btnXoaNDMH: Button

btnXoaNDCon: Button

btnHuyBo: Button

btnLuu: Button

139

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

btnDongY: Button

btnBoQua: Button

xlNoiDungMonHoc: XL_NoiDungMonHoc

dtNoiDungConCu: DataTable

flagDeleted: Boolean

flagChanged: Boolean

MH_NoiDungMonHoc_Load

MH_NoiDungMonHoc_Closing

cmbDanhSachMonHoc_Changed

gridNoiDungChinh_FocusedRowChanged

gridNoiDungChinh_InitNewRow

gridNoiDungCon_InitNewRow

gridNoiDungChinh_CellValueChanged

gridNoiDungCon_CellValueChanged

btnThemNDMH_Click

btnThemNDCon_Click

btnXoaNDMH_Click

btnXoaNDCon_Click

btnHuyBo_Click

btnLuu_Click

btnDongY_Click

btnBoQua_Click

HoiXoaCacCauTracNghiemLienQuan()

Danh sách các đối tượng thể hiện:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

1 lblTieuDeManHinh Label Tiêu đề màn hình

Lưới chứa danh sách các 2 gridNoiDungChinh Grid nội dung chính của môn

140

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

học

Lưới chứa danh sách các

3 gridNoiDungCon Grid nội dung con thuộc nội

dung chính

btnThemNDMH Button Nút thêm nội dung chính 4

btnThemNDCon Button Nút thêm nội dung con 5

btnXoaNDMH Button Nút xóa nội dung chính 6

btnXoaNDCon Button Nút xóa nội dung con 7

btnHuyBo Button Nút hủy bỏ 8

btnLuu Button Nút lưu 9

10 btnDongY Button Nút đồng ý

11 btnBoQua Button Nút bỏ qua

12 cmbDanhSachMonHoc ComboBox Chứa danh sách môn học

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

True: có thay đổi trên lưới 1 flagChanged Boolean False: không có thay đổi trên lưới

True: có xóa trên lưới flagDeleted Boolean 2 False: không có xóa trên lưới

dtNoiDungConCu DataTable Chứa danh sách nội dung con cũ 3

Danh sách các đối tượng xử lý:

STT Tên Lớp Ý nghĩa Ghi

chú

Xử lý các thao tác

1 xlNoiDungMonHoc XL_NoiDungMonHoc liên quan đến đối

tượng nội dung môn

141

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

học

Danh sách các biến cố:

STT Thể hiện Loại biến cố Xử lý Ghi chú

Đọc danh sách môn học và MH_NoiDung Load 1 nội dung môn học từ cơ sở dữ MonHoc liệu

Xử lý lưu lại các thay đổi của MH_NoiDung Closing 2 người dùng trước khi đóng MonHoc màn hình

cmbDanhSach Lọc nội dung môn học chính Changed 3 MonHoc thuộc môn học

gridNoiDungC Lọc nội dung con thuộc nội FocusRowChanged 4 hinh dung chính

Gán mã nội dung môn học gridNoiDungC InitNewRow 5 chính vào cột số thứ tự trên hinh lưới nội dung chính

Gán mã nội dung môn học gridNoiDungC InitNewRow 6 con vào cột số thứ tự trên lưới on nội dung con

gridNoiDungC CellValueChanged Bật cờ flagChanged 7 hinh

gridNoiDungC CellValueChanged Bật cờ flagChanged 8 on

Focus vào dòng thêm mới trên btnThemNDM 9 Click lưới nội dung chính, bật cờ H flagChanged

Focus vào dòng thêm mới trên btnThemNDC Click 10 lưới nội dung con, bật cờ on

142

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

flagChanged

Xóa dòng dữ liệu trên lưới

nội dung chính và các nội

dung con thuộc nội dung 11 btnXoaNDMH Click

chính, bật cờ flagDeleted,

flagChanged

Xóa dòng dữ liệu trên lưới

12 btnXoaNDCon Click nội dung con, bật cờ

flagDeleted, flagChanged

Hủy bỏ các thao tác thêm,

xóa, sửa đã thực hiện trước 13 btnHuyBo Click đó, tắt cờ flagChanged,

flagDeleted

Lưu các thao tác thêm, xóa,

14 btnLuu Click sửa xuống cơ sở dữ liệu, tắt

cờ flagChanged, flagDeleted

Lưu các thao tác thêm, xóa,

15 btnDongY Click sửa xuống cơ sở dữ liệu và

đóng màn hình

Đóng màn hình 16 btnBoQua Click

Danh sách các hàm xử lý:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Hỏi người sử dụng

để xóa các câu trắc HoiXoaCacCauTrac 1 nghiệm liên quan NghiemLienQuan đến nội dung môn

học bị xóa

143

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.1.8 Lớp MH_MucTieuMonHoc

Hình 44. Màn hình quản lý mục tiêu môn học

MH_MucTieuMonHoc

lblTieu_de_man_hinh: Label

gridMucTieuChinh: Grid

gridMucTieuCon: Grid

btnThemMTMH: Button

btnThemMTCon: Button

btnXoaMTMH: Button

btnXoaMTCon: Button

btnHuyBo: Button

btnLuu: Button

btnDongY: Button

btnBoQua: Button

144

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

xlMucTieuMonHoc: XL_MucTieuMonHoc

dtMucTieuConCu: DataTable

flagDeleted: Boolean

flagChanged: Boolean

MH_MucTieuMonHoc_Load

MH_MucTieuMonHoc_Closing

gridMucTieuChinh_FocusedRowChanged

gridMucTieuChinh_InitNewRow

gridMucTieuCon_InitNewRow

gridMucTieuChinh_CellValueChanged

gridMucTieuCon_CellValueChanged

btnThemMTMH_Click

btnThemMTCon_Click

btnXoaMTMH_Click

btnXoaMTCon_Click

btnHuyBo_Click

btnLuu_Click

btnDongY_Click

btnBoQua_Click

HoiXoaCacCauTracNghiemLienQuan

145

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các đối tượng thể hiện:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

lblTieuDeManHinh Label Tiêu đề màn hình 1

Lưới chứa danh sách các gridMucTieuChinh Grid 2 mục tiêu chính

Lưới chứa danh sách các

3 gridMucTieuCon Grid mục tiêu con thuộc mục

tiêu chính

Nút thêm mục tiêu chính btnThemMTMH Button 4

Nút thêm mục tiêu con btnThemMTCon Button 5

Nút xóa mục tiêu chính btnXoaMTMH Button 6

Nút xóa mục tiêu con btnXoaMTCon Button 7

Nút hủy bỏ btnHuyBo Button 8

Nút lưu btnLuu Button 9

Nút đồng ý 10 btnDongY Button

Nút bỏ qua 11 btnBoQua Button

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

True: có thay đổi trên lưới 1 flagChanged Boolean False: không có thay đổi trên lưới

True: có xóa trên lưới flagDeleted Boolean 2 False: không có xóa trên lưới

dtNoiDungConCu DataTable Chứa danh sách mục tiêu con cũ 3

146

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các đối tượng xử lý:

STT Tên Lớp Ý nghĩa Ghi

chú

Xử lý các thao tác

liên quan đến đối 1 xlMucTieuMonHoc XL_MucTieuMonHoc tượng mục tiêu môn

học

Danh sách các biến cố:

STT Thể hiện Loại biến cố Xử lý Ghi chú

MH_MucTieu Đọc mục tiêu môn học từ cơ Load 1 MonHoc sở dữ liệu

Xử lý lưu lại các thay đổi của MH_MucTieu Closing 2 người dùng trước khi đóng MonHoc màn hình

Lọc mục tiêu con thuộc mục gridMucTieuC FocusRowChanged 3 tiêu chính hinh

Gán mã mục tiêu môn học gridMucTieuC InitNewRow 4 chính vào cột số thứ tự trên hinh lưới mục tiêu chính

Gán mã mục tiêu môn học gridMucTieuC InitNewRow con vào cột số thứ tự trên lưới 5 on mục tiêu con

gridMucTieuC CellValueChanged Bật cờ flagChanged 6 hinh

gridMucTieuC CellValueChanged Bật cờ flagChanged 7 on

btnThemMTM Focus vào dòng thêm mới trên Click 8 lưới mục tiêu chính, bật cờ H

147

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

flagChanged

Focus vào dòng thêm mới trên btnThemMTC 9 Click lưới mục tiêu con, bật cờ on flagChanged

Xóa dòng dữ liệu trên lưới

mục tiêu chính và các mục

tiêu con thuộc mục tiêu 10 btnXoaMTMH Click

chính, bật cờ flagDeleted,

flagChanged

Xóa dòng dữ liệu trên lưới btnXoaMTCo 11 Click mục tiêu con, bật cờ n flagDeleted, flagChanged

Hủy bỏ các thao tác thêm,

xóa, sửa đã thực hiện trước 12 btnHuyBo Click đó, tắt cờ flagChanged,

flagDeleted

Lưu các thao tác thêm, xóa,

13 btnLuu Click sửa xuống cơ sở dữ liệu, tắt

cờ flagChanged, flagDeleted

Lưu các thao tác thêm, xóa,

14 btnDongY Click sửa xuống cơ sở dữ liệu và

đóng màn hình

Đóng màn hình 15 btnBoQua Click

Danh sách các hàm xử lý:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Hỏi người sử dụng HoiXoaCacCauTrac 1 để xóa các câu trắc NghiemLienQuan nghiệm liên quan

148

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

đến mục tiêu môn

học bị xóa

B.2.1.9 Lớp MH_ThemCauHoi

Hình 45. Màn hình thêm câu hỏi - Tab Nhập danh sách tập tin

149

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Hình 46. Màn hình thêm câu hỏi - Tab Danh sách câu hỏi đọc được

MH_ThemCauHoi

tabNhapDanhSachTapTin: TabControl

tabDanhSachCauHoi: TabControl

lstDSTapTin: ListBox

btnChonTapTin: Button

btnBoChonTapTin: Button

btnDocNoiDung: Button

btnBoQua: Button

btnLuu: Button

btnXoa: Button

lblSoCauTN: Label

lblNoiDungCauHoi: Label

150

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

lblPhuongAnTraLoi: Label

gridDSCauTN: Grid

gridDSPhuongAnTraLoi: Grid

txtNoiDungCauHoi: TextBox

groupChiTietCauTN: GroupBox

xlCauHoi: XL_CauHoi

MH_ThemCauHoi_Load

gridDSCauTN_FocusedRowChanged

btnChonTapTin_Click

btnBoChonTapTin_Click

btnDocNoiDung_Click

btnXoa_Click

btnLuu_Click

btnBoQua_Click

Danh sách các đối tượng thể hiện:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Chứa chức năng

1 tabNhapDanhSachTapTin TabControl nhập danh sach

tập tin

Chứa chức năng

liệt kê danh sách

câu hỏi đọc được tabDanhSachCauHoi TabControl từ file word và

lưu xuống cơ sở

dữ liệu

Chứa danh sách lstDSTapTin ListBox tập tin

btnChonTapTin Button Nút chọn tập tin

151

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Nút bỏ chọn tập btnBoChonTapTin Button tin

btnDocNoiDung Nút đọc nội dung Button

btnBoQua Button Nút bỏ qua

btnLuu Button Nút lưu

btnXoa Button Nút xóa

Tiêu đề số câu lblSoCauTN Label trắc nghiệm

Tiêu đề nội dung lblNoiDungCauHoi Label câu hỏi

Tiêu đề phương lblPhuongAnTraLoi Label án trả lời

Lưới danh sách

câu trắc nghiệm gridDSCauTN Grid đọc được từ file

word

Lưới danh sách Readonly gridDSPhuongAnTraLoi Grid phương án trả lời

Ô văn bản nội

txtNoiDungCauHoi TextBox dung câu hỏi trắc Readonly

nghiệm

Nhóm chi tiết câu groupChiTietCauTN GroupBox trắc nghiệm

Danh sách các đối tượng xử lý:

STT Tên Lớp Ý nghĩa Ghi

chú

1 xlCauHoi XL_CauHoi Xử lý việc lưu câu trắc

152

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

nghiệm xuống cơ sở dữ liệu

Danh sách các biến cố:

STT Thể hiện Loại biến cố Xử lý Ghi chú

Mở tab nhập danh sách tập 1 MH_ThemCauHoi Load tin

gridDSCauTN FocusedRowC Thay đổi chi tiết câu trắc 2 hanged nghiệm

btnChonTapTin Click Mở hộp thoại chọn tập tin

Bỏ tập tin khỏi danh sách btnBoChonTapTin Click tập tin

btnDocNoiDung Click Đọc nội dung file word

btnBoQua Click Đóng màn hình

Lưu danh sách câu trắc btnLuu Click nghiệm xuống cơ sở dữ liệu

Xóa câu trắc nghiệm khỏi btnXoa Click danh sách

153

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.1.10 Lớp MH_ChinhSuaCauHoi

Hình 47. Màn hình chỉnh sửa câu hỏi - Tab Nhập danh sách tập tin

154

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Hình 48. Màn hình chỉnh sửa câu hỏi - Tab Danh sách câu hỏi đọc được

MH_ChinhSuaCauHoi

tabNhapDanhSachTapTin: TabControl

tabDanhSachCauHoi: TabControl

lstDSTapTin: ListBox

btnChonTapTin: Button

btnBoChonTapTin: Button

btnDocNoiDung: Button

btnBoQua: Button

btnLuu: Button

btnXoa: Button

lblSoCauTN: Label

lblNoiDungCauHoi: Label

155

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

lblPhuongAnTraLoi: Label

gridDSCauTN: Grid

gridDSPhuongAnTraLoi: Grid

txtNoiDungCauHoi: TextBox

groupChiTietCauTN: GroupBox

xlCauHoi: XL_CauHoi

MH_ChinhSuaCauHoi_Load

gridDSCauTN_FocusedRowChanged

btnChonTapTin_Click

btnBoChonTapTin_Click

btnDocNoiDung_Click

btnXoa_Click

btnLuu_Click

btnBoQua_Click

Danh sách các đối tượng thể hiện:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Chứa chức năng

1 tabNhapDanhSachTapTin TabControl nhập danh sach

tập tin

Chứa chức năng

liệt kê danh sách

câu hỏi đọc được tabDanhSachCauHoi TabControl từ file word và

lưu xuống cơ sở

dữ liệu

Chứa danh sách lstDSTapTin ListBox tập tin

btnChonTapTin Button Nút chọn tập tin

156

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Nút bỏ chọn tập btnBoChonTapTin Button tin

btnDocNoiDung Button Nút đọc nội dung

btnBoQua Button Nút bỏ qua

Nút lưu (cập nhật btnLuu Button câu trắc nghiệm)

Button Nút xóa btnXoa

Tiêu đề số câu lblSoCauTN Label trắc nghiệm

Tiêu đề nội dung lblNoiDungCauHoi Label câu hỏi

Tiêu đề phương lblPhuongAnTraLoi Label án trả lời

Lưới danh sách

câu trắc nghiệm gridDSCauTN Grid đọc được từ file

word

Lưới danh sách gridDSPhuongAnTraLoi Grid Readonly phương án trả lời

Ô văn bản nội

txtNoiDungCauHoi TextBox Readonly dung câu hỏi trắc

nghiệm

Nhóm chi tiết câu groupChiTietCauTN GroupBox trắc nghiệm

Danh sách các đối tượng xử lý:

STT Tên Lớp Ý nghĩa Ghi

chú

157

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Xử lý việc cập nhật câu trắc 1 xlCauHoi XL_CauHoi nghiệm xuống cơ sở dữ liệu

Danh sách các biến cố:

STT Thể hiện Loại biến cố Xử lý Ghi chú

MH_ChinhSuaCau Mở tab nhập danh sách tập 1 Load Hoi tin

gridDSCauTN FocusedRowC Thay đổi chi tiết câu trắc 2 hanged nghiệm

btnChonTapTin Click Mở hộp thoại chọn tập tin

Bỏ tập tin khỏi danh sách btnBoChonTapTin Click tập tin

btnDocNoiDung Click Đọc nội dung file word

btnBoQua Click Đóng màn hình

Cập nhật danh sách câu trắc btnLuu Click nghiệm xuống cơ sở dữ liệu

Xóa câu trắc nghiệm khỏi btnXoa Click danh sách

158

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.1.11 Lớp MH_TimKiemCauHoi

Hình 49. Màn hình tìm kiếm câu hỏi

MH_TimKiemCauHoi

groupTieuChiTimKiem: GroupBox

cmbLoaiCauTN: ComboBox

txtNoiDung: TextBox

cmbTacGiaBienSoan: ComboBox

cmbMonHoc: ComboBox

cmbNoiDungMonHoc: ComboBox

cmbNoiDungCon: ComboBox

cmbMucTieuMonHoc: ComboBox

cmbMucTieuCon: ComboBox

txtTuDoKho: TextBox

159

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

txtDenDoKho: TextBox

txtTuDoPhanCach: TextBox

txtDenDoPhanCach: TextBox

txtTuSoLanXuatHien: TextBox

txtDenSoLanXuatHien: TextBox

gridDSCauTN: Grid

gridDSPhuongAnTraLoi: Grid

txtNoiDungCauHoi: TextBox

groupChiTietCauTN: GroupBox

xlCauHoi: XL_CauHoi

btnTimKiem: Button

btnThoat: Button

btnXoaKhoiDanhSach: Button

btnXoaKhoiNganHangCauHoi: Button

btnKetXuatTaiLieuWord: Button

btnThemVaoDeThi: Button

xlCauHoi: XL_CauHoi

dtTacGia: DataTable

dtMonHoc: DataTable

dtNoiDungChinh: DataTable

dtNoiDungCon: DataTable

dtMucTieuChinh: DataTable

dtMucTieuCon: DataTable

arrDanhSachCauHoiDeThi: CauTN[]

MH_TimKiemCauHoi_Load

gridDSCauTN_FocusedRowChanged

btnTimKiem_Click

btnThoat_Click

btnXoaKhoiDanhSach_Click

160

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

btnXoaKhoiNganHangCauHoi_Click

btnKetXuatTaiLieuWord_Click

btnThemVaoDeThi_Click

Danh sách các đối tượng thể hiện:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Nhóm các tiêu chí tìm groupTieuChiTimKiem GroupBox 1 kiếm

cmbLoaiCauTN ComboBox Ô loại câu trắc nghiệm 2

Ô văn bản chứa nội txtNoiDung TextBox 3 dung cần tìm

cmbTacGiaBienSoan ComboBox Ô chọn tác giả 4

cmbMonHoc: ComboBox Ô chọn môn học 5

Ô chọn nội dung môn cmbNoiDungMonHoc ComboBox 6 học

cmbNoiDungCon ComboBox Ô chọn nội dung con 7

Ô chọn mục tiêu môn cmbMucTieuMonHoc ComboBox 8 học

cmbMucTieuCon ComboBox Ô chọn mục tiêu con 9

txtTuDoKho TextBox Ô từ độ khó 10

txtDenDoKho TextBox Ô đến độ khó 11

txtTuDoPhanCach TextBox Ô từ độ phân cách 12

txtDenDoPhanCach TextBox Ô đến độ phân cách 13

txtTuSoLanXuatHien TextBox Ô từ số lần xuất hiện 14

txtDenSoLanXuatHien TextBox Ô đến số lần xuất hiện 15

Lưới danh sách câu trắc Readonly 16 gridDSCauTN Grid nghiệm tìm được

17 gridDSPhuongAnTraLoi Grid Lưới phương án trả lời Readonly

161

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

18 txtNoiDungCauHoi TextBox Ô nội dung câu hỏi Readonly

Nhóm chi tiết câu trắc 19 groupChiTietCauTN GroupBox nghiệm

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

1 dtTacGia DataTable Danh sách tác giả

2 dtMonHoc DataTable Danh sách môn học

3 dtNoiDungChinh DataTable Danh sách nội dung chính

4 dtNoiDungCon DataTable Danh sách nội dung con

5 dtMucTieuChinh DataTable Danh sách mục tiêu chính

6 dtMucTieuCon DataTable Danh sách mục tiêu con

Danh sách các đối tượng xử lý:

STT Tên Lớp Ý nghĩa Ghi

chú

Xử lý tìm kiếm câu hỏi 1 xlCauHoi XL_CauHoi trắc nghiệm

Danh sách câu trắc 2 arrDanhSachCauHoiDeThi CauTN[] nghiệm trong đề thi

Danh sách các biến cố:

STT Thể hiện Loại Xử lý Ghi chú

biến cố

Đọc danh sách tác giả,

1 MH_TimKiemCauHoi Load môn học, nội dung môn

học, mục tiêu môn học

2 gridDSCauTN Focused Thay đổi chi tiết câu trắc

162

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

RowCha nghiệm

nged

btnTimKiem Click Tìm kiếm câu trắc nghiệm 3

btnThoat Click Đóng màn hình 4

Xóa câu trắc nghiệm khỏi 5 btnXoaKhoiDanhSach Click danh sách

Xóa câu trắc nghiệm khỏi btnXoaKhoiNganHang Click 6 cơ sở dữ liệu CauHoi

Kết xuất danh sách ra file btnKetXuatTaiLieuWor Click 7 word để chỉnh sửa d

Thêm những câu trắc Enable khi gọi

8 btnThemVaoDeThi Click nghiệm được chọn vào đề từ màn hình tạo

thi đề thi

B.2.1.12 Lớp MH_TuyChonPhatSinhCapNhat

Hình 50. Màn hình tùy chọn phát sinh cập nhật

163

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

MH_TuyChonPhatSinhCapNhat

txtTenFile: TextBox

GroupBox groupTuyChon:

checkVisible: CheckBox

checkTacGia: CheckBox

checkMonHoc: CheckBox

checkNDMH: CheckBox

checkMTMH: CheckBox

checkDK: CheckBox

checkDPC: CheckBox

checkND: CheckBox

checkPA: CheckBox

checkDA: CheckBox

btnDongY: Button

btnBoQua: Button

m_arrCautn: CauTN[]

txtTenFile_Click

btnDongY_Click

btnBoQua_Click

Danh sách các đối tượng thể hiện:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Ô tên file word kết 1 txtTenFile TextBox xuất

Nhóm tùy chọn phát 2 groupTuyChon GroupBox sinh

Checkbox hiển thị quá

3 checkVisible CheckBox trình kết xuất ra file

word

164

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Checkbox xuất tên tác 4 checkTacGia CheckBox giả ra file word

Checkbox xuất tên 5 checkMonHoc CheckBox môn học ra file word

Checkbox xuất tên nội

6 checkNDMH CheckBox dung môn học ra file

word

Checkbox xuất tên

7 checkMTMH CheckBox mục tiêu môn học ra

file word

Checkbox xuất độ khó

8 checkDK CheckBox câu trắc nghiệm ra file

word

Checkbox xuất độ

9 checkDPC CheckBox phân cách câu trắc

nghiệm ra file word

Checkbox xuất nội

10 checkND CheckBox dung câu trắc nghiệm

ra file word

Checkbox xuất các

phương án trả lời của 11 checkPA CheckBox câu trắc nghiệm ra file

word

Checkbox xuất đáp án

của câu trắc nghiệm ra 12 checkDA CheckBox

file word

13 btnDongY Button Nút đồng ý

14 btnBoQua Button Nút bỏ qua

165

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các đối tượng xử lý:

STT Tên Lớp Ý nghĩa Ghi chú

Danh sách câu trắc nghiệm kết xuất 1 m_arrCautn CauTN[] ra file word

Danh sách các biến cố:

STT Thể hiện Loại biến cố Xử lý Ghi chú

Mở hộp thoại nhập tên file

1 txtTenFile Click word chứa danh sách câu

trắc nghiệm kết xuất

Kết xuất danh sách câu trắc

2 btnDongY Click nghiệm ra file word và đóng

màn hình

3 btnBoQua Click Đóng màn hình

166

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.1.13 Lớp MH_TaoDeThi

Hình 51. Màn hình tạo đề thi - Tab Nhập dàn bài trắc nghiệm

167

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Hình 52. Màn hình tạo đề thi - Tab Câu trắc nghiệm phát sinh

MH_TaoDeThi

cmbKhoiThi: ComboBox

cmbMonThi: ComboBox

txtTongSoCauDuDinh: TextBox

txtSoCauDaPhatSinh: TextBox

txtSoCauCanPhatSinh: TextBox

txtSoCauTrenDanBaiTracNghiem: TextBox

txtSoCauConThieu: TextBox

treelistDanBaiTracNghiem: TreeList

mnuThucDon: Menu

btnThem: Button

btnXoa: Button

168

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

btnLuuThietKe: Button

btnMoThietKe: Button

btnXemTatCa: Button

btnDongTatCa: Button

btnPhatSinhCauHoi: Button

btnThoat: Button

gridDSCauTN: Grid

gridPhuongAnTraLoi: Grid

txtNoiDungCauHoi: TextBox

btnXoaKhoiDeThi: Button

btnTimKiemCauHoi: Button

btnKiemTraTrung: Button

btnBoCauHoiTrung: Button

btnTronDe: Button

xlCauHoi: XL_CauHoi

MH_TaoDeThi_Load

gridDSCauTN_FocusedRowChanged

btnThem_Click

btnXoa_Click

btnLuuThietKe_Click

btnMoThietKe_Click

btnXemTatCa_Click

btnDongTatCa_Click

btnPhatSinhCauHoi_Click

btnThoat_Click

btnXoaKhoiDeThi_Click

btnTimKiemCauHoi_Click

btnKiemTraTrung_Click

btnBoCauHoiTrung_Click

169

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

btnTronDe_Click

treelistDanBaiTracNghiem_MouseUp

mnuThucDon_Click

Danh sách các đối tượng thể hiện:

STT Tên Loại/Kiểu Ý nghĩa Ghi

chú

cmbKhoiThi ComboBox Ô chọn khối khối 1

cmbMonThi ComboBox Ô chọn môn thi 2

Ô tổng số câu trắc txtTongSoCauDuDinh TextBox 3 nghiệm dự định

Ô số câu trắc nghiệm 4 txtSoCauDaPhatSinh TextBox đã phát sinh được

Ô số câu trắc nghiệm 5 txtSoCauCanPhatSinh TextBox cần phát sinh

Ô số câu hỏi trên dàn txtSoCauTrenDanBaiTrac TextBox 6 bài trắc nghiệm Nghiem

7 txtSoCauConThieu TextBox Ô số câu còn thiếu

treelistDanBaiTracNghie Cây dàn bài trắc TreeList 8 m nghiệm

Thực đơn những thao

9 mnuThucDon Menu tác trên cây dàn bài trắc

nghiệm

Nút thêm nốt trên cây 10 btnThem Button

Nút xóa nốt trên cây 11 btnXoa Button

Nút lưu dàn bài trắc 12 btnLuuThietKe Button nghiệm

13 btnMoThietKe Button Nút mở dàn bài trắc

170

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

nghiệm

14 btnXemTatCa Button Nút xem tất cả các nốt

15 btnDongTatCa Button Nút đóng tất cả các nốt

16 btnPhatSinhCauHoi Button Nút phát sinh câu hỏi

17 btnThoat Button Nút thoát

Lưới danh sách câu trắc Reado 18 gridDSCauTN Grid nghiệm nly

Lưới danh sách phương Reado 19 gridPhuongAnTraLoi Grid án trả lời nly

Reado 20 txtNoiDungCauHoi TextBox Ô nội dung câu hỏi nly

Nút xóa câu trắc 21 btnXoaKhoiDeThi Button nghiệm khỏi đề thi

22 btnTimKiemCauHoi Button Nút tìm kiếm câu hỏi

Nút kiểm tra trùng câu 23 btnKiemTraTrung Button hỏi

24 btnBoCauHoiTrung Button Nút bỏ câu hỏi trùng

25 btnTronDe Button Nút trộn đề thi

Danh sách các đối tượng xử lý:

STT Tên Lớp Ý nghĩa Ghi chú

Xử lý danh sách câu trắc nghiệm 1 xlCauHoi XL_CauHoi trong đề thi

Danh sách các biến cố:

STT Thể hiện Loại biến cố Xử lý Ghi chú

Đọc danh sách khối, 1 MH_TaoDeThi Load môn thi, nội dung môn

171

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

học, mục tiêu môn học

FocusedRowChan Thay đổi chi tiết câu trắc 2 gridDSCauTN ged nghiệm trên lưới

Hiển thị thực đơn thêm

3 btnThem Click nốt trên dàn bài trắc

nghiệm

Hiển thị thực đơn xóa

4 btnXoa Click nốt trên dàn bài trắc

nghiệm

Lưu dàn bài trắc nghiệm 5 btnLuuThietKe Click xuống tập tin XML

Đọc dàn bài trắc nghiệm

từ tập tin XML và hiển 6 btnMoThietKe Click thị lên treelist dàn bài

trắc nghiệm

Mở tất cả các nốt trên

7 btnXemTatCa Click treelist dàn bài trắc

nghiệm

Đóng tất cả các nốt trên

8 btnDongTatCa Click treelist dàn bài trắc

nghiệm

Phát sinh danh sách câu btnPhatSinhCau 9 Click trắc nghiệm theo dàn bài Hoi trắc nghiệm

10 btnThoat Click Đóng màn hình

Xóa câu trắc nghiệm btnXoaKhoiDeT Click 11 khỏi đề thi hi

btnTimKiemCau Mở màn hình tìm kiếm 12 Click Hoi câu hỏi

172

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Kiểm tra trong đề thi có btnKiemTraTru Click 13 câu hỏi trùng ng

btnBoCauHoiTr Click Xóa câu hỏi trùng 14 ung

15 btnTronDe Click Mở màn hình trộn đề thi

Nếu nhấn chuột phải thì

hiển thị thực đơn thao treelistDanhBai MouseUp 16 tác trên treelist dàn bài TracNghiem

trắc nghiệm

Thực hiện chức năng

17 mnuThucDon Click tương ứng với mục thực

đơn được nhấn

B.2.1.14 Lớp MH_TronDe

Hình 53. Màn hình trộn đề

MH_TronDe

txtThuMuc: TextBox

173

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

txtSoLuongDe: TextBox

txtTyLeTrungChapNhan: TextBox

txtKhoangCachGiua2CauHoi: TextBox

txtSoTabCanhLePhuongAnTraLoi: TextBox

cmbKieuDanhSoCauHoi: ComboBox

cmbKieuDanhSoDapAn: ComboBox

checkHienThiQuaTrinhPhatSinh: CheckBox

btnDongY: Button

btnBoQua: Button

arrCauTN: CauTN[]

txtThuMuc_Click

btnDongY_Click

btnBoQua_Click

Danh sách các đối tượng thể hiện:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Ô tên thư mục 1 txtThuMuc TextBox kết xuất

Ô số lượng đề 2 txtSoLuongDe TextBox muốn phát sinh

Ô tỷ lệ trùng txtTyLeTrungChapNh 3 TextBox câu hỏi chấp an nhận

Ô khoảng cách txtKhoangCachGiua2C 4 TextBox giữa 2 câu hỏi auHoi trong file word

Ô số tab canh lề txtSoTabCanhLePhuon 5 TextBox phương án trả gAnTraLoi lời

174

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Ô chọn kiểu cmbKieuDanhSoCauH ComboBox 6 đánh số câu hỏi oi

Ô chọn kiểu

đánh số các cmbKieuDanhSoDapA ComboBox 7 phương án trả n

lời

Check hiển thị

quá trình phát checkHienThiQuaTrin CheckBox 8 sinh ra tập tin hPhatSinh

word và excel

9 btnDongY Button Nút đồng ý

10 btnBoQua Button Nút bỏ qua

Danh sách các đối tượng xử lý:

STT Tên Lớp Ý nghĩa Ghi chú

Danh sách câu trắc nghiệm trong đề 1 m_arrCautn CauTN[] thi

Danh sách các biến cố:

STT Thể hiện Loại biến cố Xử lý Ghi chú

Mở hộp thoại nhập tên thư 1 txtThuMuc Click mục chứa các tập tin

Gọi hàm xáo trộn đề thi và

2 btnDongY Click xuất đề thi ra tập tin word

và excel

3 btnBoQua Click Đóng màn hình

175

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.1.15 Lớp MH_DanhGiaDeThi

Hình 54. Màn hình đánh giá đề thi

MH_DanhGiaDeThi

txtTenFileBangDapAn: TextBox

txtTenFileBaiLam: TextBox

btnDongY: Button

btnBoQua: Button

txtTenFileBangDapAn_Click

txtTenFileBaiLam_Click

btnDongY_Click

btnBoQua_Click

Danh sách các đối tượng thể hiện:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Ô tên tập tin 1 txtTenFileBangDapAn TextBox bảng đáp án

Ô tên tập tin 2 txtTenFileBaiLam TextBox bảng bài làm

3 btnDongY Button Nút đồng ý

4 btnBoQua Button Nút bỏ qua

176

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các biến cố:

STT Thể hiện Loại biến cố Xử lý Ghi chú

Mở hộp thoại nhập tên tập txtTenFileBa Click 1 tin excel chứa bảng đáp án ngDapAn

Mở hộp thoại nhập tên tập txtTenFileBai Click 2 tin excel chứa bảng bài làm Lam

btnDongY Click 3 Gọi hàm đánh giá đề thi

btnBoQua Click 4 Đóng màn hình

B.2.2 Thiết kế lớp đối tượng xử lý nghiệp vụ

B.2.2.1 Lớp CauTN

CauTN

LoaiCauHoiTN: enum

m_LoaiCauTN: LoaiCauHoiTN

m_MaCH: string

m_TacGia: string

m_MonHoc: string

m_NDMH: string

m_NDMHCon: string

m_MTMH: string

m_MTMHCon: string

m_DoKho: float

m_DoPhanCach: float

m_NoiDungCauHoiXML: string

m_NoiDungCauHoiText: string

m_MaTacGia: int

m_MaND: int[]

177

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

m_MaMT: int[]

m_SoLanXuatHien: int

PhatSinhMaCH()

Luu(string,string,string,string):Boolean

CapNhat(string,string,string,string):Boolean

CapNhatDoKhoDoPhanCachSoLanXuatHien(string,string,string,string)

Xoa(string,string,string,string)

CoTheLuu(): Boolean

ChonCauTracNghiemTheoYeuCau(YeuCau,string,string,string,string):CauTN[]

TimCauTracNghiem(TieuChuanTiemKiem,string,string,string,string):CauTN[]

Duplicate(): CauTN

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Kiểu liệt kệ loại câu hỏi trắc LoaiCauHoiTN enum 1 nghiệm

LoaiCau 2 m_LoaiCauTN Loại câu trắc nghiệm HoiTN

string 3 m_MaCH Mã câu hỏi trắc nghiệm

string 4 m_TacGia Tên tác giả

string 5 m_MonHoc Tên môn học

string 6 m_NDMH Tên nội dung môn học chính

string 7 m_NDMHCon Tên nội dung con

string 8 m_MTMH Tên mục tiêu môn học chính

string 9 m_MTMHCon Tên mục tiêu con

float 10 m_DoKho Độ khó câu trắc nghiệm

float 11 m_DoPhanCach Độ phân cách câu trắc nghiệm

12 m_NoiDungCauHo string Nội dung câu hỏi theo kiểu XML

178

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

iXML

m_NoiDungCauHo string Nội dung câu hỏi theo kiểu văn bản 13 iText

14 m_MaTacGia int Mã tác giả

Mã nội dung môn học (gồm mã

15 m_MaND int[] môn học, mã nội dung, mã nội

dung con)

Mã mục tiêu môn học (gồm mã 16 m_MaMT int[] mục tiêu chính, mã mục tiêu con)

Số lần câu trắc nghiệm đã xuất 17 m_SoLanXuatHien int hiện trong các đề thi

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Phát sinh mã Hàm 1 PhatSinhMaCH câu hỏi ảo

Lưu câu trắc Hàm string,string,st 2 Luu Boolean nghiệm xuống ảo ring,string cơ sở dữ liệu

Cập nhật câu

trắc nghiệm Hàm string,string,st 3 CapNhat Boolean xuống cơ sở ảo ring,string

dữ liệu

Cập nhật độ

khó, độ phân CapNhatDoKhoDo cách và số lần Hàm string,string,st 4 PhanCachSoLanXu xuất hiện sau ảo ring,string atHien khi đánh giá

đề thi

179

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Xóa câu trắc Hàm string,string,st nghiệm khỏi 5 Xoa ảo ring,string cơ sở dữ liệu

Kiểm tra xem

câu trắc 6 CoTheLuu Boolean nghiệm có thể

lưu hay không

Đọc danh

sách câu trắc YeuCau,strin nghiệm theo Hàm ChonCauTracNghie 7 CauTN[] g,string,string yêu cầu của ảo mTheoYeuCau ,string dàn bài trắc

nghiệm

Tìm kiếm câu TieuChuanTie trắc nghiệm Hàm TimCauTracNghie mKiem,string, 8 tiêu CauTN[] theo string,string,st ảo m tìm chuẩn ring kiếm

Sao chép câu Hàm 9 Duplicate(): CauTN trắc nghiệm ảo

B.2.2.2 Lớp CauTN DaLuaChon

CauTNDaLuaChon : CauTN

m_iSoPhuongAnTraLoi: int

m_DanhSachPhuongAnTraLoi: PhuongAnTraLoi[]

m_iDapAn: int

PhatSinhMaCH()

Luu(string,string,string,string):Boolean

CapNhat(string,string,string,string):Boolean

180

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

CapNhatDoKhoDoPhanCachSoLanXuatHien(string,string,string,string)

Xoa(string,string,string,string)

ChonCauTracNghiemTheoYeuCau(YeuCau,string,string,string,string):CauTN[]

TimCauTracNghiem(TieuChuanTiemKiem,string,string,string,string):CauTN[]

Duplicate(): CauTN

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

1 m_iSoPhuongAnTraLoi int Số phương án trả lời

m_DanhSachPhuongAn PhuongAnTr Danh sách phương án 2 TraLoi: aLoi[] trả lời

Đáp án (là phương án 3 m_iDapAn int trả lời nào)

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Phát sinh mã Hàm 1 PhatSinhMaCH câu hỏi đa lựa ảo chọn

Lưu câu trắc

nghiệm đa lựa Hàm string,string,st Boolean 2 Luu chọn xuống ảo ring,string

cơ sở dữ liệu

Cập nhật câu

trắc nghiệm Hàm string,string,st 3 CapNhat Boolean đa lựa chọn ảo ring,string xuống cơ sở

dữ liệu

4 CapNhatDoKhoDo string,string,st Cập nhật độ Hàm

181

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

PhanCachSoLanXu ring,string khó, độ phân ảo

atHien cách và số lần

xuất hiện câu

trắc nghiệm

đa lựa chọn

sau khi đánh

giá đề thi

Xóa câu trắc

Hàm nghiệm đa lựa string,string,st 5 Xoa chọn khỏi cơ ảo ring,string

sở dữ liệu

Đọc danh

sách câu trắc

YeuCau,strin nghiệm đa lựa Hàm ChonCauTracNghie g,string,string CauTN[] chọn theo yêu 6 ảo mTheoYeuCau ,string cầu của dàn

bài trắc

nghiệm

Tìm kiếm câu

trắc nghiệm TieuChuanTie

đa lựa chọn Hàm TimCauTracNghie mKiem,string, CauTN[] 7 theo tiêu ảo m string,string,st

chuẩn tìm ring

kiếm

Sao chép câu Hàm 8 Duplicate(): CauTN trắc nghiệm ảo đa lựa chọn

182

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.2.3 Lớp CauTNDungSai

CauTNDungSai : CauTN

m_iDapAn: int

PhatSinhMaCH()

Luu(string,string,string,string):Boolean

CapNhat(string,string,string,string):Boolean

CapNhatDoKhoDoPhanCachSoLanXuatHien(string,string,string,string)

Xoa(string,string,string,string)

ChonCauTracNghiemTheoYeuCau(YeuCau,string,string,string,string):CauTN[]

TimCauTracNghiem(TieuChuanTiemKiem,string,string,string,string):CauTN[]

Duplicate(): CauTN

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Đáp án (0: sai, 1: 1 m_iDapAn int đúng)

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Phát sinh mã Hàm 1 PhatSinhMaCH câu hỏi đúng ảo sai

Lưu câu trắc

nghiệm đúng Hàm string,string,st 2 Luu Boolean sai xuống cơ ảo ring,string

sở dữ liệu

Cập nhật câu Hàm string,string,st Boolean 3 CapNhat trắc nghiệm ảo ring,string

183

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

đúng sai

xuống cơ sở

dữ liệu

Cập nhật độ

khó, độ phân

cách và số lần CapNhatDoKhoDo xuất hiện câu Hàm string,string,st 4 PhanCachSoLanXu trắc nghiệm ảo ring,string atHien đúng sai sau

khi đánh giá

đề thi

Xóa câu trắc

nghiệm đúng Hàm string,string,st 5 Xoa sai khỏi cơ sở ảo ring,string

dữ liệu

Đọc danh

sách câu trắc

YeuCau,strin nghiệm đúng Hàm ChonCauTracNghie 6 g,string,string CauTN[] sai theo yêu ảo mTheoYeuCau ,string cầu của dàn

bài trắc

nghiệm

Tìm kiếm câu TieuChuanTie trắc nghiệm mKiem,string, Hàm TimCauTracNghie CauTN[] đúng sai theo 7 ảo m string,string,st tiêu chuẩn tìm ring kiếm

Sao chép câu Hàm 8 Duplicate(): CauTN trắc nghiệm ảo

184

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

đúng sai

B.2.2.4 Lớp PhuongAnTraLoi

PhuongAnTraLoi

m_sNoiDungXML: string

m_sNoiDungText: string

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Nội dung phương án 1 m_sNoiDungXML string trả lời theo kiểu XML

Nội dung phương án

2 m_sNoiDungText string trả lời theo kiểu văn

bản

B.2.2.5 Lớp YeuCau

YeuCau

m_LoaiCauTN: LoaiCauHoiTN

m_MaMonHoc: int

m_MaNDMH: int

m_MaNDMHCon: int

m_MaMTMH: int

m_MaMTMHCon: int

m_DoKhoToiThieu:float

m_DoKhoToiDa: float

m_DoPhanCachToiThieu: float

m_DoPhanCachToiDa: float

m_SoCau: int

185

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Loại câu trắc 1 m_LoaiCauTN LoaiCauHoiTN nghiệm

Mã môn học 2 m_MaMonHoc int

Mã nội dung m_MaNDMH int chính

Mã nội dung con m_MaNDMHCon int

Mã mục tiêu m_MaMTMH int chính

Mã mục tiêu con m_MaMTMHCon int

Độ khó tối thiểu m_DoKhoToiThieu float

Độ khó tối đa m_DoKhoToiDa float

m_DoPhanCachToiThie Độ phân cách tối float thiểu u

Độ phân cách tối m_DoPhanCachToiDa float thiểu

Số câu trắc m_SoCau int nghiệm

B.2.2.6 Lớp TieuChuanTimKiem

TieuChuanTimKiem

sNoiDung: string

iMaTG: int

iMaMH: int

iMaNDMH: int

iMaNDC: int

iMaMTMH: int

iMaMTC: int

186

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

fTuDoKho: float

fDenDoKho: float

fTuDoPhanCach: float

fDenDoPhanCach: float

iTuSoLanXuatHien: int

iDenSoLanXuatHien: int

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Nội dung (từ hoặc cụm từ 1 sNoiDung: string string câu trắc nghiệm chứa)

2 Mã tác giả iMaTG int

3 Mã môn học iMaMH int

4 Mã nội dung môn học chính iMaNDMH int

5 Mã nội dung con iMaNDC int

6 Mã mục tiêu môn học iMaMTMH int

7 Mã mục tiêu con iMaMTC int

8 Độ khó từ fTuDoKho float

9 Độ khó đến fDenDoKho float

10 fTuDoPhanCach float Độ phân cách từ

11 fDenDoPhanCach float Độ phân cách đến

iTuSoLanXuatHi int Số lần xuất hiện từ 12 en

iDenSoLanXuatH int Số lần xuất hiện đến 13 ien

B.2.2.7 Lớp XL_CauHoi

XL_CauHoi

187

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

m_DanhSachCauTracNghiem: CauTN[]

SapXepCauTracNghiemTheoLoai()

ChuyenMaSangTen()

Luu()

CapNhat()

DocDanhSachCauTracNghiemTheoYeuCau(YeuCau): Boolean

TimKiemCauHoi(string,TieuChuanTimKiem)

KiemTraTrungCauHoi(): Boolean

CapNhatDoKhoDoPhanCachSoLanXuatHien()

XoaCauHoiTheoTacGia(int)

XoaCauHoiTheoMonHoc(int)

XoaCauHoiTheoNoiDungChinh(int,int)

XoaCauHoiTheoNoiDungCon(int,int,int)

XoaCauHoiTheoMucTieuChinh(int)

XoaCauHoiTheoMucTieuCon(int,int)

TinhDoKhoCauTN(float,int): float

TinhDoPhanCachCauTN(ThongTinDanhGia,int): float

TinhDoTinCayBaiTN(float,float,int): float

DanhGiaDeThi(ThongTinDanhGia[],int): float

188

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Danh sách câu trắc m_DanhSachCauTracNg CauTN[] 1 nghiệm hiem

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Sắp xếp câu

trắc nghiệm SapXepCauTracNg 1 theo loại câu hiemTheoLoai

trắc nghiệm

Chuyển tác

giả, nội dung, 2 ChuyenMaSangTen mục tiêu từ

tên sang mã

Lưu danh

sách câu trắc

3 Luu nghiệm

xuống cơ sở

dữ liệu

Cập nhật

danh sách

câu trắc 4 CapNhat nghiệm

xuống cơ sở

dữ liệu

Đọc danh DocDanhSachCauT

5 YeuCau Boolean racNghiemTheoYeu sách câu trắc

nghiệm theo Cau

189

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

yêu cầu của

dàn bài trắc

nghiệm

Tìm kiếm câu

trắc nghiệm string,TieuCh theo tiêu 6 TimKiemCauHoi uanTimKiem chuẩn tìm

kiếm

Kiểm tra KiemTraTrungCau Boolean 7 trùng câu trắc Hoi nghiệm

Cập nhật độ

khó, độ phân

cách, số lần CapNhatDoKhoDo xuất hiện của 8 PhanCachSoLanXu danh sách câu atHien trắc nghiệm

sau khi đánh

giá đề thi

Xóa câu trắc XoaCauHoiTheoTa 9 int nghiệm theo cGia tác giả

Xóa câu trắc XoaCauHoiTheoM 10 int nghiệm theo onHoc môn học

Xóa câu trắc

nghiệm theo XoaCauHoiTheoNo 11 int,int nội dung iDungChinh

chính

190

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Xóa câu trắc XoaCauHoiTheoNo nghiệm theo int,int,int 12 iDungCon nội dung con

Xóa câu trắc

nghiệm theo XoaCauHoiTheoM int 13 tiêu mục ucTieuChinh

chính

Xóa câu trắc XoaCauHoiTheoM int,int 14 nghiệm theo ucTieuCon mục tiêu con

Tính độ khó

15 TinhDoKhoCauTN float,int float câu trắc

nghiệm

Tính độ phân TinhDoPhanCachC ThongTinDan 16 float cách câu trắc auTN hGia,int nghiệm

Tính độ tin TinhDoTinCayBaiT 17 float,float,int float cậy bài trắc N nghiệm

Đánh giá đề ThongTinDan float 18 DanhGiaDeThi thi hGia[],int

B.2.2.8 Lớp XL_Khoi

XL_Khoi

dtKhoi: DataTable

ltKhoi: LT_Khoi

CapNhat()

DocDanhSachKhoi(): DataTable

DocDanhSachMaKhoiTenKhoi(): DataTable

191

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

1 dtKhoi DataTable Danh sách khối

2 ltKhoi LT_Khoi Đối tượng lưu trữ khối

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Cập nhật danh

sách khối 1 CapNhat xuống cơ sở

dữ liệu

Đọc danh 2 DocDanhSachKhoi DataTable sách khối

Đọc danh DocDanhSachMaK 3 DataTable sách mã khối, hoiTenKhoi tên khối

B.2.2.9 Lớp XL_MonHoc

XL_MonHoc

dtMonHoc: DataTable

dtBanSaoMonHoc: DataTable

dtKhoi_MonHoc: DataTable

ltMonHoc: LT_MonHoc

iMaMH: int

iMaKhoi: int

DocDanhSachMonHoc(): DataTable

DocDanhSachMaKhoiMaMHTenMH(): DataTable

DocDanhSachKhoi_MonHoc(): DataTable

192

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

DocDanhSachMaMHTenMH(): DataTable

CapNhatMonHoc()

CapNhatKhoi_MonHoc()

XoaKhoi_MonHocTheoKhoi()

XoaKhoi_MonHocTheoMonHoc()

XoaKhoi_MonHoc()

ThemKhoi_MonHoc()

LaMonHocThuocKhoi(): Boolean

TimKhoi_MonHoc(): DataRow

TimMaMHTheoTen(string): int

TaoBanSao()

XoaCauHoiTheoMonHocBiXoa()

193

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

dtMonHoc DataTable Danhs sách môn học 1

Bản sao danh sách dtBanSaoMonHoc DataTable 2 môn học

Danh sách khối-môn 3 dtKhoi_MonHoc DataTable học

Đối tượng lưu trữ ltMonHoc LT_MonHoc 4 môn học

iMaMH int Mã môn học 5

iMaKhoi int Mã khối 6

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

DocDanhSachMon Đọc danh DataTable 1 Hoc sách môn học

Đọc danh

sách mã khối, DocDanhSachMaK DataTable 2 mã môn học, hoiMaMHTenMH

tên môn học

Đọc danh DocDanhSachKhoi DataTable sách khối- 3 _MonHoc môn học

Đọc danh

sách mã môn DocDanhSachMaM 4 DataTable học, tên môn HTenMH

học

5 CapNhatMonHoc Cập nhật môn

194

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

học

Cập nhật CapNhatKhoi_Mon 6 khối-môn học Hoc

Xóa khối-môn XoaKhoi_MonHoc 7 học theo khối TheoKhoi

Xóa khối-môn XoaKhoi_MonHoc 8 học theo môn TheoMonHoc học

Xóa khối-môn 9 XoaKhoi_MonHoc học

ThemKhoi_MonHo Thêm khối- 10 c môn học

Kiểm tra môn LaMonHocThuocK 11 Boolean học thuộc hoi khối

Tìm khối-môn 12 TimKhoi_MonHoc DataRow học

Tìm môn học TimMaMHTheoTe string int 13 theo tên n

Tạo bản sao

14 TaoBanSao danh sách

môn học

XoaCauHoiTheoM Xóa câu hỏi 15 onHocBiXoa theo môn học.

B.2.2.10 Lớp XL_MucTieuMonHoc

XL_MucTieuMonHoc

dtMucTieuChinh: DataTable

dtMucTieuCon: DataTable

195

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

dtBanSaoMucTieuChinh: DataTable

dtBanSaoMucTieuCon: DataTable

ltMucTieuMonHoc: LT_MucTieuMonHoc

XoaMucTieuConThuocMucTieuChinh(int)

DocDanhSachMucTieuChinh():DataTable

DocDanhSachMucTieuCon():DataTable

CapNhatMucTieuChinh()

CapNhatMucTieuCon()

DocDanhSachMaMTChinhTenMTChinh():DataTable

DocDanhSachMaMTConTenMTCon():DataTable

TimMaMucTieu(string,string): int[]

TimMaMTChinhTheoTen(int[],string)

TimMaMTConTheoTen(int[],string)

TaoBanSaoMucTieuChinh()

TaoBanSaoMucTieuCon()

XoaCauHoiTheoMucTieuChinh()

XoaCauHoiTheoMucTieuCon()

196

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Danh sách mục tiêu 1 dtMucTieuChinh DataTable chính

Danh sách mục tiêu 2 dtMucTieuCon DataTable con

Bản sao mục danh 3 dtBanSaoMucTieuChinh DataTable sách mục tiêu chính

Bản sao mục danh 4 dtBanSaoMucTieuCon DataTable sách mục tiêu con

LT_MucTieu Đối tượng lưu trữ 5 ltMucTieuMonHoc MonHoc mục tiêu môn học

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Xóa mục tiêu XoaMucTieuConTh int 1 con theo mục uocMucTieuChinh tiêu chính

Đọc danh DocDanhSachMuc DataTable 2 sách mục tiêu TieuChinh chính

Đọc danh DocDanhSachMuc DataTable 3 sách mục tiêu TieuCon() con

Cập nhật mục CapNhatMucTieuC 4 tiêu chính hinh

Cập nhật mục CapNhatMucTieuC 5 tiêu con on

197

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Đọc danh DocDanhSachMaM sách mã, tên 6 TChinhTenMTChin DataTable tiêu mục h chính

Đọc danh DocDanhSachMaM 7 DataTable sách mã, tên TConTenMTCon mục tiêu con

Tìm mã mục 8 TimMaMucTieu string,string int[] tiêu theo tên

Tìm mã mục TimMaMTChinhTh 9 int[],string tiêu chính eoTen theo tên

Tìm mã mục TimMaMTConThe 10 int[],string tiêu con theo oTen tên

Tạo bản sao TaoBanSaoMucTie 11 mục tiêu uChinh chính

Tạo bản sao TaoBanSaoMucTie 12 mục tiêu con uCon

Xóa câu trắc

nghiệm theo XoaCauHoiTheoM 13 tiêu mục ucTieuChinh

chính

Xóa câu trắc XoaCauHoiTheoM 14 nghiệm theo ucTieuCon mục tiêu con

198

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.2.11 Lớp XL_NoiDungMonHoc

XL_NoiDungMonHoc

dtNoiDungChinh: DataTable

dtNoiDungCon: DataTable

dtBanSaoNoiDungChinh: DataTable

dtBanSaoNoiDungCon: DataTable

ltNoiDungMonHoc: LT_NoiDungMonHoc

XoaNoiDungConThuocNoiDungChinh(int)

DocDanhSachNoiDungChinh():DataTable

DocDanhSachNoiDungCon():DataTable

CapNhatNoiDungChinh()

CapNhatNoiDungCon()

DocDanhSachMaMTChinhTenMTChinh():DataTable

DocDanhSachMaMTConTenMTCon():DataTable

TimMaNoiDung(int,string,string): int[]

TimMaNDChinhTheoTen(int[],string)

TimMaNDConTheoTen(int[],string)

TaoBanSaoNoiDungChinh()

TaoBanSaoNoiDungCon()

XoaCauHoiTheoNoiDungChinh()

XoaCauHoiTheoNoiDungCon()

199

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Danh sách nội dung 1 dtMucTieuChinh DataTable chính

Danh sách nội dung 2 dtNoiDungCon DataTable con

Bản sao danh sách 3 dtBanSaoNoiDungChinh DataTable nội dung chính

Bản sao danh sách 4 dtBanSaoNoiDungCon DataTable nội dung con

LT_NoiDun Đối tượng lưu trữ nội 5 ltNoiDungMonHoc gMonHoc dung môn học

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Xóa nội dung XoaNoiDungConTh int 1 con theo nội uocNoiDungChinh dung chính

Đọc danh DocDanhSachNoiD DataTable 2 sách nội dung ungChinh chính

Đọc danh DocDanhSachNoiD DataTable 3 sách nội dung ungCon() con

Cập nhật nội CapNhatNoiDungC 4 dung chính hinh

Cập nhật nội CapNhatNoiDungC 5 dung con on

200

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Đọc danh DocDanhSachMaN sách mã, tên 6 DChinhTenNDChin DataTable nội dung h chính

Đọc danh DocDanhSachMaN 7 DataTable sách mã, tên DConTenNDCon nội dung con

Tìm mã nội int,string,strin int[] 8 TimMaNoiDung dung theo tên g

Tìm mã nội TimMaNDChinhTh 9 int[],string dung chính eoTen theo tên

Tìm mã nội TimMaNDConTheo int[],string 10 dung con theo Ten tên

Tạo bản sao TaoBanSaoNoiDun 11 nội dung gChinh chính

Tạo bản sao TaoBanSaoNoiDun 12 nội dung con gCon

Xóa câu trắc

nghiệm theo XoaCauHoiTheoNo 13 nội dung iDungChinh

chính

Xóa câu trắc XoaCauHoiNoiDun 14 nghiệm theo gCon nội dung con

201

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.2.12 Lớp XL_TacGia

XL_TacGia

dtTacGia: DataTable

dtBanSaoTacGia: DataTable

ltTacGia: LT_TacGia

CapNhat()

DocDanhSachTacGia(): DataTable

DocDanhSachMaTGTenTG(): DataTable

TimMaTGTheoTen(string):int

TaoBanSao()

XoaCauHoiTheoTacGiaBiXoa()

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

dtTacGia DataTable Danh sách tác giả 1

Bản sao danh sách tác dtBanSaoTacGia DataTable 2 giả

Đối tượng lưu trữ tác 3 ltTacGia LT_TacGia giả

202

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Cập nhật danh

sách tác giả 1 CapNhat xuống cơ sở

dữ liệu

Đọc danh DocDanhSachTacG DataTable 2 sách tác giả ia

Đọc danh DocDanhSachMaT DataTable 3 sách mã, tên GTenTG tác giả

Tìm mã tác 4 TimMaTGTheoTen string int giả theo tên

Tạo bản sao

5 TaoBanSao danh sách tác

giả

Xóa câu hỏi XoaCauHoiTheoTa 6 theo tác giả bị cGiaBiXoa xóa

B.2.2.13 Lớp ThongTinDanhGia

ThongTinDanhGia

m_MaCH: string

m_SigmaX: float

m_SigmaX2: float

m_SigmaY: float

m_SigmaY2: float

m_SigmaXY: float

203

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

1 m_MaCH string

2 m_SigmaX float

3 m_SigmaX2 float

4 m_SigmaY float

5 m_SigmaY2 float

6 m_SigmaXY float

B.2.2.14 Lớp DisOrderTest

DisOrderTest

m_arrDeThi: CauTN[][]

fTyLeTrungBoDeThi: float

KiemTraTrungPhuongAnTraLoi(CauTNDaLuaChon,CauTNDaLuaChon):

Boolean

TyLeTrung2DeThi(CauTN[], CauTN[]): float

TyLeTrungBoDeThi(CauTN[]): float

XaoTron(CauTN[],float): CauTN[]

LayDanhSachCauTN(CauTN[],LoaiCauHoiTN): CauTN[]

XaoTronThuTuTrongDanhSach(CauTN[])

XaoTronPhuongAnTrongCau(CauTNDaLuaChon,int[])

CapNhatNoiDungPhuongAnMix(CauTNDaLuaChon,int[])

XaoTronPhuongAnTraLoiCuaTatCaCauHoi(CauTN[])

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Mảng các đề thi đã 1 m_arrDeThi CauTN[][] được xáo trộn

204

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Tỷ lệ trùng giữa các

2 fTyLeTrungBoDeThi float đề thi trong mảng đề

thi

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Kiểm tra CauTNDa trùng các KiemTraTrungPhuo LuaChon,C 1 phương án trả Boolean auTNDaLu ngAnTraLoi lời giữa các aChon câu hỏi

Kiểm tra và

trả về tỷ lệ CauTN[], 2 TyLeTrung2DeThi float trùng giữa 2 CauTN[]

đề thi.

Kiểm tra và

trả về tỷ lệ TyLeTrungBoDeTh 3 CauTN[] float trùng của toàn i bộ các đề thi

đã xáo trộn.

Xáo trộn câu CauTN[],fl 4 XaoTron CauTN[] hỏi để tạo oat thành đề thi

CauTN[],L LayDanhSachCauT Lọc ra các câu 5 CauTN[] oaiCauHoi N hỏi cùng loại TN

Xáo trộn thứ XaoTronThuTuTro 6 CauTN[] tự câu hỏi ngDanhSach trong danh

205

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

sách câu hỏi

Xáo trộn các CauTNDa phương án trả XaoTronPhuongAn LuaChon,i 7 lời trong câu TrongCau nt[] hỏi

Cập nhật lại

nội dung các

phương án trả CauTNDa lời phức hợp CapNhatNoiDungP LuaChon,i 8 huongAnMix sau khi đã xáo nt[] trộn các

phương án trả

lời đơn.

Xáo trộn

phương án trả XaoTronPhuongAn

lời của tất cả 9 CauTN[] TraLoiCuaTatCaCa

các câu trắc uHoi

nghiệm

B.2.2.15 Lớp ExcelRender

ExcelRender

m_ExcelApp: ExcelApplicationClass

m_WorkBook: ExcelWorkbook

m_WorkBook1: ExcelWorkbook

m_WorkBook2: ExcelWorkbook

OpenExcelApp(Boolean)

CloseExcelApp()

OpenNewWorkBook()

206

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

CloseWorkBook()

SaveWorkBookAs(string)

Render_DapAn(CauTN[],int,Boolean)

DocTatCaCacMangChiSo(string, string, int): ThongTinDanhGia[]

CongDonCacChiSo(ThongTinDanhGia[],string, int,int)

TinhTongDiem1BaiLam(int[]): int

TinhDiemToanBoBaiThi(ExcelWorkbook,ExcelWorkbook): int[]

LaySoCauHoi(ExcelWorksheet): int

TinhDiemBaiLam(ExcelWorksheet,ExcelWorksheet,int): int

Danh sách các biến thành phần :

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Biến tương ứng với 1 m_ExcelApp ExcelApplicationClass ứng dụng Excel.

Biến tương ứng với 2 m_WorkBook ExcelWorkbook workbook đang mở

3 m_WorkBook1 ExcelWorkbook

4 m_WorkBook2 ExcelWorkbook

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Mở ứng dụng 1 OpenExcelApp Boolean Excel

Đóng ứng 2 CloseExcelApp dụng Excel

OpenNewWorkBoo Mở workbook 3 k

Đóng 4 CloseWorkBook workbook

207

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Lưu 5 SaveWorkBookAs string workbook

Kết xuất đáp CauTN[],in 6 Render_DapAn án t,Boolean

Đọc các chỉ

số cần thiết

cho việc đánh DocTatCaCacMang string, ThongTinDa 7 giá độ khó, độ ChiSo string, int nhGia[]

phân cách của

câu hỏi.

Tính toán các

chỉ số cần ThongTin thiết cho việc DanhGia[], đánh giá độ 8 CongDonCacChiSo string, khó, độ phân int,int cách của câu

hỏi

Tính điểm 1 TinhTongDiem1Bai int[] int 9 bài thi. Lam

ExcelWork Tính điểm TinhDiemToanBoB 10 int[] book,Excel toàn bộ các aiThi Workbook bài thi.

Lấy số câu ExcelWork 11 LaySoCauHoi int hỏi có trong sheet đáp án

ExcelWork

sheet,Excel Tính điểm bài int 12 TinhDiemBaiLam Worksheet, làm

int

208

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.2.16 Lớp WordParser

WordParser

m_iSoCauTN: int

m_arrCauTN: CauTN[]

m_WordApp: WordApplicationClass

m_Doc : Word.Document

m_TestParser: TestParser

OpenWordApp(Boolean)

CloseWordApp()

OpenWordFile(string)

CloseWordFile()

TimViTriKetThucCauTNKeTiep(int): int

DocHetCauTN(): CauTN[]

RenderForUpdate(CauTN[],Boolean,Boolean,Boolean,Boolean,Boolean,string)

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

1 m_iSoCauTN Int Số câu trắc nghiệm

Mảng câu trắc 2 m_arrCauTN CauTN[] nghiệm

3 m_WordApp WordApplicationClass Biến ứng dụng Word

Biến tài liệu 4 m_Doc Word.Document Document

Biến xử lý đọc câu 5 m_TestParser TestParser trắc nghiệm

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

209

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Mở ứng dụng 1 OpenWordApp Boolean Word

Đóng ứng 2 CloseWordApp dụng Word

Mở tập tin 3 OpenWordFile string Word

Đóng tập tin 4 CloseWordFile Word

Đọc tất cả câu 6 DocHetCauTN CauTN[] trắc nghiệm

CauTN[],B

Kết xuất câu oolean,Boo

trắc nghiệm lean,Boole 7 RenderForUpdate cho việc cập an,Boolean

,Boolean,st nhật.

ring

B.2.2.17 Lớp TestParser

TestParser

m_sTacGia: string

m_sMonHoc: string

m_sNoiDung: string

m_sNoiDungCon: string

m_sMucTieu: string

m_sMucTieuCon: string

m_iLoaiCauTN: LoaiCauHoiTN

DocThongTinTongQuat(WordRange)

LayGiaTriXML(string,WordRange): string

LayGiaTriText(string,WordRange): string

210

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

DocPhuongAnTraLoi(WordRange,CauTN)

DocDapAn(WordRange,CauTN)

LayLoaiCauHoi(WordRange): LoaiCauHoiTN

DocCauTN(WordRange): CauTN

RenderTestForUpdate(CauTN,WordRange,Boolean,Boolean,Boolean,Boolean,Boolean)

Render_PhuongAnTraLoi(CauTN,WordRange)

Render_DapAn(CauTN,WordRange)

Danh sách các biến thành phần :

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Biến lưu giá trị 1 m_sTacGia string Tác giả mặc định

Biến lưu giá trị 2 m_sMonHoc string Môn học mặc định

Biến lưu giá trị

3 m_sNoiDung string Nội dung mặc

định

Biến lưu giá trị

4 m_sNoiDungCon string Nội dung con mặc

định

Biến lưu giá trị 5 m_sMucTieu string Mục tiêu mặc định

Biến lưu giá trị

6 m_sMucTieuCon string Mục tiêu con mặc

định

Biến lưu giá trị

7 m_iLoaiCauTN LoaiCauHoiTN Loại câu trắc

nghiệm mặc định

211

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Đọc các thông

tin mặc định DocThongTinTong WordRang 1 vào các biến Quat e giá trị mặc

định

Lấy giá trị string,Wor String 2 LayGiaTriXML dạng XML từ dRange tập tin Word

Lấy giá trị string,Wor 3 LayGiaTriText String text từ tập tin dRange Word

Đọc phương

án trả lời của Hàm DocPhuongAnTraL WordRang 4 câu trắc ảo e,CauTN oi

nghiệm

Đọc đáp án Hàm WordRang 5 DocDapAn trả lời của câu ảo e,CauTN trắc nghiệm

WordRang LoaiCauHoi Đọc loại câu 6 LayLoaiCauHoi TN trắc nghiệm e

WordRang Đọc 1 câu trắc 7 DocCauTN CauTN nghiệm e

CauTN,Wo Phát sinh câu rdRange,B trắc nghiệm RenderTestForUpda 8 oolean,Boo cho việc cập te lean,Boole nhật. an,Boolean

212

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

,Boolean

Phát sinh

phương án trả Hàm Render_PhuongAn CauTN,Wo 9 ảo lời của câu TraLoi rdRange

trắc nghiệm

Phát sinh đáp Hàm CauTN,Wo án của câu 10 Render_DapAn ảo rdRange trắc nghiệm

B.2.2.18 Lớp CauTNDaLuaChonParser

CauTNDaLuaChonParser : TestParser

DocPhuongAnTraLoi(WordRange,CauTN)

DocDapAn(WordRange,CauTN)

Render_PhuongAnTraLoi(CauTN,WordRange)

Render_DapAn(CauTN,WordRange)

Danh sách các hàm thành phần :

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Đọc phương

án trả lời của Hàm DocPhuongAnTraL WordRang 1 câu trắc ảo e,CauTN oi

nghiệm

Đọc đáp án Hàm WordRang 2 DocDapAn trả lời cảu câu ảo e,CauTN trắc nghiệm

Phát sinh Hàm Render_PhuongAn CauTN,Wo 3 phương án trả ảo TraLoi rdRange lời

213

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Phát sinh đáp Hàm CauTN,Wo 4 Render_DapAn án trả lời ảo rdRange

B.2.2.19 Lớp CauTNDungSaiParser

CauTNDungSaiParser : TestParser

DocPhuongAnTraLoi(WordRange,CauTN)

DocDapAn(WordRange,CauTN)

Render_PhuongAnTraLoi(CauTN,WordRange)

Render_DapAn(CauTN,WordRange)

214

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Đọc phương

Hàm án trả lời của DocPhuongAnTraL WordRang 1 ảo câu trắc e,CauTN oi

nghiệm

Đọc đáp án Hàm WordRang 2 DocDapAn trả lời cảu câu ảo e,CauTN trắc nghiệm

Phát sinh Hàm Render_PhuongAn CauTN,Wo 3 phương án trả ảo TraLoi rdRange lời

Phát sinh đáp Hàm CauTN,Wo 4 Render_DapAn án trả lời ảo rdRange

215

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.2.20 Lớp WordRender

WordRender

LoaiTemplate: enum

m_WordApp: WordApplicationClass

m_Doc: WordDocument

m_iKhoangCachDongGiua2Cau: int

m_iKhoangCachTab: int

m_iKieuDanhSoCauHoi: int

m_iKieuDanhSoDapAn: int

m_sStartUpPath: string

OpenWordApp(Boolean,int,int,int)

CloseWordApp()

OpenNewWordFile(LoaiTemplate)

CloseWordFile(string)

RenderTest(CauTN[],string,int)

RenderAnswerTable(CauTN[],string)

RenderAnswerSheet(CauTN[],string,int)

InsertTable1(CauTN[],Boolean)

InsertTable2(CauTN[],Boolean)

XacDinhSoCotCuaBang(CauTN[]): int

XacDinhSoDongCuaBang(CauTN[]): int

216

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các biến thành phần:

Tên Loại/Kiểu Ý nghĩa Ghi chú ST

T

Loại template cần 1 LoaiTemplate enum mở

WordApplicatio Biến ứng dụng 2 m_WordApp nClass Word

Biến tài liệu 3 m_Doc WordDocument Document

Khoảng cách tính m_iKhoangCachDongGi 4 int theo dòng giữa 2 ua2Cau câu hỏi

Khoảng cách tab

5 m_iKhoangCachTab Int của phương án trả

lời so với lề trái

Kiểu đánh số câu 6 m_iKieuDanhSoCauHoi int hỏi

Kiểu đánh số đáp 7 m_iKieuDanhSoDapAn int án

Đường dẫn nơi 8 m_sStartUpPath string chứa chương trình

217

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các hàm thành phần :

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Mở ứng dụng Boolean,int 1 OpenWordApp Word ,int,int

Đóng ứng 2 CloseWordApp dụng Word

Mở tập tin LoaiTempl 3 OpenNewWordFile Word ate

Đóng tập tin 4 CloseWordFile string Word

CauTN[],st Phát sinh câu 5 RenderTest ring,int trắc nghiệm

Phát sinh

bảng trả lời RenderAnswerTabl CauTN[],st 6 dành cho thí ring e

sinh

Phát sinh RenderAnswerShee CauTN[],st 7 bảng đáp án ring,int t

Xác định số XacDinhSoCotCua 10 CauTN[] int cột cần thiết Bang cho các bảng

Xác định số XacDinhSoDongCu 11 CauTN[] int dòng cần thiết aBang cho các bảng

218

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.2.21 Lớp TestRender

TestRender

InsertTest(WordRange,CauTN,string,int,int)

PhatSinhNoiDungCauTN(WordRange,CauTN,string)

PhatSinhPhuongAnTraLoi(WordRange,CauTN,int,int)

Danh sách các hàm thành phần :

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

WordRang Thêm vào

1 InsertTest e,CauTN,st câu trắc

ring,int,int nghiệm

WordRang Phát sinh PhatSinhNoiDungC 2 e,CauTN,st nội dung câu auTN ring trắc nghiệm

WordRang Phát sinh Hàm PhatSinhPhuongAn 3 e,CauTN,in phương án ảo TraLoi t,int trả lời

B.2.2.22 Lớp CauTNDaLuaChonRender

CauTNDaLuaChonRender : TestRender

PhatSinhPhuongAnTraLoi(WordRange,CauTN,int,int)

219

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

WordRang Phát sinh Hàm PhatSinhPhuongAn 1 e,CauTN,in phương án ảo TraLoi t,int trả lời

B.2.2.23 Lớp CauTNDungSaiRender

CauTNDungSaiRender : TestRender

PhatSinhPhuongAnTraLoi(WordRange,CauTN,int,int)

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

WordRang Phát sinh Hàm PhatSinhPhuongAn 1 e,CauTN,in phương án ảo TraLoi t,int trả lời

B.2.3 Thiết kế lớp đối tượng xử lý lưu trữ

B.2.3.1 Lớp LT_Bang

LT_Bang

sqlConnection: SqlConnection

dAdapter: SqlDataAdapter

MoKetNoi()

DongKetNoi()

ThucHienLenhCapNhat(string Lenh)

ThucHienLenhTruyVan(string Lenh): DataTable

ThucHienLenhTruyVan(SqlCommand, SqlCommand,

220

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

SqlCommand,SqlCommand):DataTable

CapNhat(DataTable)

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Đối tượng kết nối đến 1 sqlConnection SqlConnection cơ sở dữ liệu

Đối tượng hỗ trợ đọc dAdapter SqlDataAdapter 2 và cập nhật dữ liệu

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Mở kết nối đến cơ sở dữ 1 MoKetNoi liệu

2 DongKetNoi Đóng kết nối

Thực hiện lệnh cập nhật ThucHienLenh string Lenh 3 (insert,update,delete) CapNhat

Thực hiện lệnh truy vấn

dữ liệu (chỉ trả về dữ liệu, ThucHienLenh string Lenh DataTable 4 không thể cập nhật trở TruyVan

lại)

SqlCommand, Thực hiện lệnh truy vấn ThucHienLenh SqlCommand, 5 DataTable dữ liệu (có thể cập nhật TruyVan SqlCommand, trở lại cơ sở dữ liệu) SqlCommand

Cập nhật trở lại cơ sở dữ 6 CapNhat DataTable liệu

221

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.3.2 Lớp LT_Khoi

LT_Khoi

ltBang: LT_Bang

CapNhat(DataTable)

DocDanhSachKhoi():DataTable

DocDanhSachMaKhoiTenKhoi():DataTable

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Đối tượng lưu trữ giao tiếp với cơ sở dữ ltBang LT_Bang 1 liệu

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Cập nhật danh sách

1 CapNhat DataTable khối xuống cơ sở dữ

liệu

DocDanhSachK Đọc danh sách khối (có 2 DataTable hoi cập nhật)

Đọc danh sách mã, tên DocDanhSachM DataTable 3 khối aKhoiTenKhoi

222

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.3.3 Lớp LT_MonHoc

LT_MonHoc

ltBangMonHoc: LT_Bang

ltBangKhoi_MonHoc: LT_Bang

CapNhatMonHoc(DataTable)

CapNhatKhoi_MonHoc(DataTable)

DocDanhSachMonHoc(): DataTable

DocDanhSachMaMHTenMH(): DataTable

DocDanhSachMaKhoiMaMHTenMH(): DataTable

DocDanhSachKhoi_MonHoc(): DataTable

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Đối tượng lưu trữ giao tiếp với 1 ltBangMonHoc LT_Bang cơ sở dữ liệu

Đối tượng lưu trữ giao tiếp với ltBangKhoi_Mo LT_Bang 2 cơ sở dữ liệu nHoc

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Cập nhật danh sách CapNhatMonHo 1 DataTable môn học xuống cơ sở c dữ liệu

Cập nhật danh sách CapNhatKhoi_M 2 DataTable khối-môn học xuống cơ onHoc sở dữ liệu

DocDanhSachM Đọc danh sách môn 3 DataTable onHoc học (có cập nhật)

223

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Đọc danh sách mã, tên DocDanhSachM DataTable 4 môn học aMHTenMH

DocDanhSachM Đọc danh sách mã

5 DataTable aKhoiMaMHTen khối, mã môn học, tên

MH môn học

Đọc danh sách khối- DocDanhSachK DataTable 6 môn học hoi_MonHoc

B.2.3.4 xLớp LT_TacGia

LT_TacGia

ltBang: LT_Bang

CapNhat(DataTable)

DocDanhSachTacGia():DataTable

DocDanhSachMaTGTenTG():DataTable

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Đối tượng lưu trữ giao tiếp với cơ sở dữ ltBang LT_Bang 1 liệu

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Cập nhật danh sách tác 1 CapNhat DataTable giả xuống cơ sở dữ liệu

Đọc danh sách tác giả DocDanhSachTa DataTable 2 (có cập nhật) cGia

Đọc danh sách mã, tên DocDanhSachM DataTable 3 tác giả aTGTenTG

224

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.3.5 Lớp LT_NoiDungMonHoc

LT_NoiDungMonHoc

ltBangNoiDungChinh: LT_Bang

ltBangNoiDungCon: LT_Bang

CapNhatNoiDungChinh(DataTable)

CapNhatNoiDungCon(DataTable)

DocDanhSachNoiDungChinh(): DataTable

DocDanhSachNoiDungCon(): DataTable

DocDanhSachMaNDChinhTenNDChinh(string): DataTable

DocDanhSachMaNDConTenNDCon(string): DataTable

DocDanhSachMaNDChinhTenNDChinh(): DataTable

DocDanhSachMaNDConTenNDCon(): DataTable

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

ltBangNoiDung Đối tượng lưu trữ giao tiếp với 1 LT_Bang Chinh cơ sở dữ liệu

ltBangNoiDung Đối tượng lưu trữ giao tiếp với LT_Bang 2 Chinh cơ sở dữ liệu

225

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Cập nhật nội dung CapNhatNoiDun DataTable 1 chính xuống cơ sở dữ gChinh liệu

Cập nhật nội dung con CapNhatNoiDun DataTable 2 xuống cơ sở dữ liệu gCon

Đọc danh sách nội DocDanhSachN DataTable dung chính (có cập 3 oiDungChinh nhật)

DocDanhSachN Đọc danh sách nội DataTable 4 oiDungCon dung con (có cập nhật)

DocDanhSachM Đọc danh sách mã, tên

5 string DataTable aNDChinhTenN nội dung chính theo

DChinh môn học

DocDanhSachM Đọc danh sách mã, tên

6 string DataTable aNDConTenND nội dung con theo môn

Con học

DocDanhSachM Đọc danh sách mã, tên 7 aNDChinhTenN DataTable nội dung chính DChinh

DocDanhSachM Đọc danh sách mã, tên 8 DataTable aNDConTenND nội dung con Con

226

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.3.6 Lớp LT_MucTieuMonHoc

LT_MucTieuMonHoc

ltBangMucTieuChinh: LT_Bang

ltBangMucTieuCon: LT_Bang

CapNhatMucTieuChinh(DataTable)

CapNhatMucTieuCon(DataTable)

DocDanhSachMucTieuChinh(): DataTable

DocDanhSachMucTieuCon(): DataTable

DocDanhSachMaMTChinhTenMTChinh(): DataTable

DocDanhSachMaMTConTenMTCon(): DataTable

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Đối tượng lưu trữ giao tiếp với ltBangMucTieu LT_Bang 1 cơ sở dữ liệu Chinh

Đối tượng lưu trữ giao tiếp với ltBangMucTieu LT_Bang 2 cơ sở dữ liệu Chinh

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Cập nhật mục tiêu CapNhatMucTie 1 DataTable chính xuống cơ sở dữ uChinh liệu

Cập nhật mục tiêu con CapNhatMucTie DataTable 2 xuống cơ sở dữ liệu uCon

Đọc danh sách mục DocDanhSachM DataTable 3 tiêu chính (có cập nhật) ucTieuChinh

4 DocDanhSachM DataTable Đọc danh sách mục

227

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

tiêu con (có cập nhật) ucTieuCon

DocDanhSachM Đọc danh sách mã, tên 5 aMTChinhTenM DataTable mục tiêu chính TChinh

DocDanhSachM Đọc danh sách mã, tên 6 DataTable aMTConTenMT mục tiêu con Con

B.2.3.7 Lớp LT_CauTNDaLuaChon

LT_CauTNDaLuaChon

ltBang: LT_Bang

MoKetNoi()

DongKetNoi()

Them(string,string,string,int,float,float,int MaTGBS,int[] ,int[],

PhuongAnTraLoi[])

CapNhat(string,string,string,int,float,float,int[],int[],PhuongAnTraLoi[])

CapNhatDoKhoDoPhanCachSoLanXuatHien(string,float,float)

XoaPhuongAnTraLoi(string)

Xoa(string)

XoaCauHoiTheoTacGia(int)

XoaCauHoiTheoMonHoc(int)

XoaCauHoiTheoNoiDungChinh(int,int)

XoaCauHoiTheoNoiDungCon(int,int,int)

XoaCauHoiTheoMucTieuChinh(int)

XoaCauHoiTheoMucTieuCon(int,int)

DocDanhSachCauHoiTheoYeuCau(YeuCau): DataTable

DocDanhSachPhuongAnTraLoi(string): DataTable

TimKiemCauHoi(TieuChuanTimKiem): DataTable

228

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Đối tượng lưu trữ giao tiếp với cơ sở dữ ltBang LT_Bang 1 liệu

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

Mở kết nối đến cơ sở 1 MoKetNoi dữ liệu

2 DongKetNoi Đóng kết nối

string,strin

g,string,in

t,float,floa Thêm câu trắc nghiệm t,int đa lựa chọn vào cơ sở 3 Them MaTGBS, dữ liệu int[] ,int[],

PhuongAn

TraLoi[]

string,strin

g,string,in

t,float,floa Cập nhật câu trắc 4 CapNhat t,int[],int[] nghiệm đa lựa chọn

,PhuongA

nTraLoi[]

Cập nhật độ khó, độ CapNhatDoKho phân cách, số lần xuất string,floa 5 DoPhanCachSoL hiện câu trắc nghiệm đa t,float anXuatHien lựa chọn

6 XoaPhuongAnTr string Xóa các phương án trả

229

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

lời của câu trắc nghiệm aLoi

đa lựa chọn

Xóa câu trắc nghiệm đa 7 Xoa string lựa chọn

Xóa câu trắc nghiệm đa XoaCauHoiTheo int 8 lựa chọn theo tác giả TacGia

Xóa câu trắc nghiệm đa XoaCauHoiTheo int 9 lựa chọn theo môn học MonHoc

Xóa câu trắc nghiệm đa XoaCauHoiTheo lựa chọn theo nội dung int,int 10 NoiDungChinh môn học chính

Xóa câu trắc nghiệm đa XoaCauHoiTheo 11 int,int,int lựa chọn theo nội dung NoiDungCon môn học con

Xóa câu trắc nghiệm đa XoaCauHoiTheo lựa chọn theo mục tiêu 12 int MucTieuChinh môn học chính

Xóa câu trắc nghiệm đa XoaCauHoiTheo 13 int,int lựa chọn theo mục tiêu MucTieuCon môn học con

DocDanhSachCa Đọc danh sách câu trắc

14 uHoiTheoYeuCa YeuCau DataTable nghiệm đa lựa chọn

theo yêu cầu u

Đọc danh sách phương DocDanhSachPh string DataTable 15 án trả lời uongAnTraLoi

TieuChua TimKiemCauHo Tìm kiếm câu trắc 16 DataTable nTimKie i nghiệm đa lựa chọn m

230

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

B.2.3.8 Lớp LT_CauTNDungSai

LT_CauTNDungSai

ltBang: LT_Bang

Them(string,string,string,int,float,float,int MaTGBS,int[] ,int[])

CapNhat(string,string,string,int,float,float,int[],int[])

CapNhatDoKhoDoPhanCachSoLanXuatHien(string,float,float)

Xoa(string)

XoaCauHoiTheoTacGia(int)

XoaCauHoiTheoMonHoc(int)

XoaCauHoiTheoNoiDungChinh(int,int)

XoaCauHoiTheoNoiDungCon(int,int,int)

XoaCauHoiTheoMucTieuChinh(int)

XoaCauHoiTheoMucTieuCon(int,int)

DocDanhSachCauHoiTheoYeuCau(YeuCau): DataTable

TimKiemCauHoi(TieuChuanTimKiem): DataTable

231

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Danh sách các biến thành phần:

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

Đối tượng lưu trữ giao tiếp với cơ sở dữ ltBang LT_Bang 1 liệu

Danh sách các hàm thành phần:

STT Tên hàm Tham số Kết quả Xử lý Ghi chú

string,strin

g,string,in Thêm câu trắc nghiệm t,float,floa 1 Them đúng-sai vào cơ sở dữ t,int liệu MaTGBS,

int[] ,int[]

string,strin

g,string,in

t,float,floa Cập nhật câu trắc 2 CapNhat t,int[],int[] nghiệm đúng-sai

,PhuongA

nTraLoi[]

Cập nhật độ khó, độ CapNhatDoKho phân cách, số lần xuất string,floa 3 DoPhanCachSoL hiện câu trắc nghiệm t,float anXuatHien đúng-sai

Xóa câu trắc nghiệm 4 Xoa string đúng-sai

Xóa câu trắc nghiệm XoaCauHoiTheo int 5 đúng-sai theo tác giả TacGia

Xóa câu trắc nghiệm XoaCauHoiTheo int 6 đúng-sai theo môn học MonHoc

232

Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học

Xóa câu trắc nghiệm XoaCauHoiTheo int,int đúng-sai theo nội dung 7 NoiDungChinh môn học chính

Xóa câu trắc nghiệm XoaCauHoiTheo int,int,int 8 đúng-sai theo nội dung NoiDungCon môn học con

Xóa câu trắc nghiệm XoaCauHoiTheo int 9 đúng-sai theo mục tiêu MucTieuChinh môn học chính

Xóa câu trắc nghiệm XoaCauHoiTheo 10 int,int đúng-sai theo mục tiêu MucTieuCon môn học con

DocDanhSachCa Đọc danh sách câu trắc

11 YeuCau DataTable uHoiTheoYeuCa nghiệm đúng-sai theo

u yêu cầu

TieuChua TimKiemCauHo Tìm kiếm câu trắc 12 DataTable nTimKie nghiệm đúng sai i m

233