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
Có
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