Upload
vcoi-vit
View
171
Download
2
Embed Size (px)
Citation preview
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
1
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
Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học
2
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.
Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học
3
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
Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học
4
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
Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học
5
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
Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học
6
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
Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học
7
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
Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học
8
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
Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học
9
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
Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học
10
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
Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học
11
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
Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học
12
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
Quản lý kho dữ liệu đề thi trắc nghiệm tuyển sinh đại học
13
Bảng 29. Mẫu đáp án ............................................................................................. 94
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
14
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 :
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
15
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.
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 …
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
16
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
17
Khác biệt:
Luận đề Trắc nghiệm
Một câu hỏi thuộc loại luận đề đòi
hỏi thí sinh phải tự mình soạn câu
trả lời và diễn tả câu trả lời bằng
ngôn ngữ của chính mình.
Một câu hỏi trắc nghiệm buộc thí
sinh phải lựa chọn câu trả lời đúng
nhất trong một số câu đã cho sẵn.
Một bài luận đề gồm số câu hỏi
tương đối ít và có tính cách tổng
quát, đòi hỏi thí sinh phải triển khai
câu trả lời bằng lời lẽ dài dòng.
Một bài trắc nghiệm thường gồm
nhiều câu hỏi có tính cách chuyên
biệt chỉ đòi hỏi những câu trả lời
ngắn gọn.
Trong khi làm một bài luận đề, thí
sinh phải bỏ ra phần lớn thời gian
để suy nghĩ và viết.
Trong khi làm một bài trắc nghiệm,
thí sinh dùng nhiều thời gian để đọc
và suy nghĩ.
Chất lượng của một bài luận đề tùy
thuộc chủ yếu vào kỹ năng của
người chấm bài.
Chất lượng của một bài trắc nghiệm
được xác định một phần lớn do kỹ
năng của người soạn thảo bài trắc
nghiệm.
Một bài thi theo lối luận đề tương
đối dễ soạn, nhưng khó chấm và
khó cho điểm chính xác.
Một bài thi trắc nghiệm khó soạn,
nhưng việc chấm và cho điểm tương
đối dễ dàng và chính xác.
Thí sinh có nhiều tự do bộc lộ cá
tính của mình trong câu trả lời, và
người chấm bài cũng có tự do cho
điểm các câu trả lời theo xu hướng
riêng của mình.
Người soạn thảo trắc nghiệm có
nhiều tự do bộc lộ kiến thức và các
giá trị của mình qua việc đặt các câu
hỏi, nhưng chỉ cho thí sinh quyền tự
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
vụ học tập của người học và trên cơ
sở đó giám khảo thẩm định mức độ
Trong các câu hỏi trắc nghiệm,
nhiệm vụ học tập của người học và
trên cơ sở đó giám khảo thẩm định
Xây dựng phầ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
hoàn thành các nhiệm vụ ấy không
được phát biểu một cách rõ rà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.
Một bài luận đề cho phép và đôi
khi khuyến khích sự “lừa phỉnh”
(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).
Một bài trắc nghiệm cho phép và đôi
khi khuyến khích sự phỏng đoán.
Sự phân bố điểm số của một bài thi
luận đề có thể được kiểm soát một
phần lớn do người chấm (ấn định
điểm tối đa và tối thiểu).
Phân bố điểm số của thí sinh hầu
như hoàn toàn được quyết định do
bài trắc nghiệm.
Bảng 1. Bảng so sánh khác biệt giữa luận đề và trắc nghiệm [1]
Tương đồng:
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.
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
đề.
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.
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
19
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:
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.
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ể.
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
20
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.
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
21
(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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
22
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í
Khác biệt:
Trắc nghiệm chuẩn mực Trắc nghiệm tiêu chí
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
23
Thường bao trùm một miền các
nhiệm vụ học tập rộng lớn, mỗi
nhiệm vụ chỉ có một số câu hỏi
trắc nghiệm.
Tập trung vào một miền xác định,
với khá nhiều câu hỏi trắc nghiệm
cho mỗi nhiệm vụ.
Nhấn mạnh sự phân biệt giữa các
cá nhân dựa trên mức trình độ
học tập tương đối của họ.
Nhấn mạnh sự mô tả các nhiệm vụ
học tập mà một cá nhân có thể
hoặc không thể thực hiện được.
Thích các câu hỏi có độ khó trung
bình và thông thường loại bỏ các
câu hỏi dễ.
Quy độ khó của câu trắc nghiệm
vào độ khó của nhiệm vụ học tập,
và không thay đổi độ khó của câu
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)
sử dụng cho mục đích kiểm định
khảo sát.
Chủ yếu (nhưng không bắt buộc)
sử dụng cho mục đích kiểm định
thành thạo.
Chỉ có thể diễn giải kết quả dựa
trên một nhóm xác định rõ ràng.
Chỉ có thể diễn giải kết quả dựa
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]
Tương đồng:
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.
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).
Cả hai loại đều sử dụng cùng những loại câu hỏi giống nhau.
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.
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).
Cả hai loại đều rất cần thiết trong đánh giá giáo dục.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
24
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ì độ
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
25
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à:
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ó
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
26
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.
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.
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.
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:
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
27
• 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.
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:
Bài trắc nghiệm có đạt được mục đích đo lường của nó hay không?
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
28
2.2.3 Mối liên hệ giữa tính tin cậy và tính giá trị
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
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
Mục đích giáo dục (educational goal):
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
29
Đườ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.
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.
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.
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
30
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
tư duy
Hướng đến các hành động
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
Tạo dễ dàng cho việc kiểm tra và chấm điểm công bằng.
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.
Khuyến khích học sinh tự đánh giá vì họ biết họ phải đạt cái gì.
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.
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):
S – Specific (cụ thể)
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
31
M – Measurable (có thể đo được)
A – Achievable (có thể đặt được)
R – Result-oriented (hướng kết quả)
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ố đó.
Xây dựng phầ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
(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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
33
• 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:
Cần khảo sát những gì ở học sinh?
Đặ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?
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?
Mức độ khó của các câu trắc nghiệm
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:
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
34
Mục tiêu Chủ đề
1
Chủ đề
2
Chủ đề
3
Chủ đề
4
Chủ đề
5
Tổng
cộng
1. Hiểu biết:
- Từ ngữ, ký hiệu, quy
ước
3
2
5
5
15
- Tính chất, đặc điểm,
tiêu chuẩn
3 1 3 2 3 12
- Sự kiện, dữ kiện 4 3 7 1 15
- Khuynh hướng diễn
biến các sự việc
2 4 4 10
- Định luật, nguyên tắc 1 4 2 1 8
2. Khả năng:
So sánh, nêu sự tương
đồng, dị biệt
2
3
1
6
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ờ.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
35
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
36
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)
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).
Ưu điểm:
Dễ xây dựng
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.
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.
Nhược điểm:
Độ may rủi cao (50%), do đó dễ khuyến khích người trả lời đoán mò.
Thường chỉ được dùng để kiểm tra mức độ nhận biết, hiểu.
Những yêu cầu khi soạn câu trắc nghiệm Đúng-Sai:
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.
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ĩ.
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
37
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.
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)
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.
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.
Ưu điểm:
Độ 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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
38
Nếu soạn đúng quy cách, kết quả có tính tin cậy và tính giá trị cao.
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.
Có thể được sử dụng để kiểm tra các kỹ năng nhận thức bậc cao.
Nhược điểm:
Tuy độ may rui thấp nhưng người trả lời vẫn có thể đoán mò.
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.
Để 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.
Những yêu cầu khi soạn câu trắc nghiệm đa lựa chọn:
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.
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.
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
39
• 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)
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…
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.
Ưu điểm:
Dễ xây dựng.
Có thể hạn chế sự đoán mò bằng cách tăng số lượng lựa chọn.
Nhược điểm:
Chỉ chủ yếu dùng để kiểm tra khả năng nhận biết.
Thông tin có tính dàn trải, không nhấn mạnh được những điều quan
trọng.
Những yêu cầu khi soạn câu trắc nghiệm đối chiếu cặp đôi:
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.
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)
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
40
Ưu điểm:
Dễ xây dựng.
Người trả lời không thể đoán mò.
Nhược điểm:
Thường chỉ được dùng để kiểm tra trình độ mức độ nhận biết, hiểu.
Đôi khi khó đánh giá đúng nội dung trả lời.
Những yêu cầu khi soạn câu trắc nghiệm điền khuyết:
Nội dung của phần trả lời càng cô đọng càng tốt.
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.
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:
Những câu nào là quá khó, câu nào là quá dễ.
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.
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ó.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
41
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]:
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:
Độ khó câu i =Số người trả lời đúng câu i
Tổng số người làm bài trắc nghiệm
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
42
• 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.
Công thức tính độ khó vừa phải của câu trắc nghiệm [1]:
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
Độ khó vừa phải = 100% + % may rủi
2
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
43
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:
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
D = Tỉ lệ % nhóm cao làm
đúng câu trắc nghiệm
Tỉ lệ % nhóm thấp làm
đúng câu trắc nghiệm _
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
44
• Đ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
(90.9%)
7 người
(63.6%)
D = 90.9% - 63.6% = 27.3% (=
0.27)
28 5 người
(45.4%)
5 người
(45.4%)
D = 45.4% - 45.4% = 0% (= 0.00)
17 3 người
(27.2%)
4 người
(36.3%)
D = 27.2% - 36.3% = - 9.1% (= -
0.09)
13 11người
(100%)
9 người
(81.8%)
D = 100% - 81.8% = 18.2% (=0.18)
27 5 người
(45.4%)
2 người
(18.1%)
D = 45.4% - 18.1% = 27.3% (=
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]:
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)
D = ]Y)( - Y][NX)( - X[N 2222 ∑∑∑∑
YX ∑∑∑ - XYN
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
45
• 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 0 10201 0
2 102 0 0 12544 0
3 95 0 0 9025 0
4 120 0 0 14400 0
5 113 0 0 12769 0
6 91 0 0 8281 0
7 117 0 0 13689 0
8 105 0 0 11025 0
9 117 1 1 13689 117
10 105 1 1 11025 105
11 118 1 1 13924 118
12 100 1 1 10000 100
13 98 1 1 9604 98
14 122 1 1 14884 122
15 97 1 1 9409 97
16 111 1 1 12321 111
Tổng 1712 8 8 184630 868Bả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:
D =
= ]1712 - 184630 x ][168 - 8 x 61[ 22
16 x 868 – 8 x 1712 = 0.16
]Y)( - Y][NX)( - X[N 2222 ∑∑∑∑
YX ∑∑∑ - XYN
Xây dựng phầ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
2.5.2.3 Kết luận từ độ phân cách
Độ phân cách D Kết luận
D Ў 0.40 Câu trắc nghiệm có độ phân cách rất tốt
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
D Ў 0.19 Câu trắc nghiệm có độ phân cách kém, cần
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
47
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:
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
48
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.
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]:
rxy = ]Y)( - Y][NX)( - X[N 2222 ∑∑∑∑
YX ∑∑∑ - XYN
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
49
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:
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:
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:
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ẻ
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
rn = nrs
(n – 1)rs + 1
r = 2rxy
rxy + 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
50
2 8 0 64 0 0
3 9 8 81 64 72
4 14 11 196 121 154
5 12 14 144 196 168
6 7 6 49 36 42
7 18 11 324 121 198
8 6 8 36 64 48
9 6 9 36 81 54
10 6 3 36 9 18
11 5 10 25 100 50
Tổng 102 88 1112 856 892 Bảng 10. Điểm số của mỗi thí sinh
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]:
Trong đó:
• k : Số câu hỏi trong bài trắc nghiệm.
rxy = ]Y)( - Y][NX)( - X[N 2222 ∑∑∑∑
YX ∑∑∑ - XYN
= 11 x 892 – 102 x 88
]88 - 856 x ][11102 - 1112 x 11[ 22=
437209
r = 2rxy
rxy + 1 = 2 x
437209
437209
+ 1 = 0.647
Độ tin cậy toàn bài trắc nghiệm:
r = kk – 1
) - (12
2i
σσ∑
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
51
• 2iσ : Biến lượng (độ lệch tiêu chuẩn bình phương) của mỗi 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á
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
thức này được gọi là công thức Kuder – Richardson 20 [1].
Trong đó:
• 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
nghiệm).
• 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á
nhân trong nhóm về toàn thể bài trắc nghiệm.
Trong đó:
• 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
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
r = kk – 1
)pq
- 1(2σ
∑
2σ =N 2Y∑ - ( Y∑ )2
N(N - 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
52
4 6 36
5 4 16
6 6 36
7 3 9
8 3 9
9 4 16
10 5 25
Tổng 58 392Bả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
Tổng 2.22 Bảng 12. Tính pq
2σ = N 2Y∑ - ( Y∑ )2
N(N - 1) =
10 x 392- 582
10 x 9 = 6.18
r = kk – 1
)pq
- 1(2σ
∑ = 10
9)
18.62.22
- 1( = 0.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
53
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]
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
54
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 :
- Soạn câu trắc nghiệm trên máy tính và lưu vào tập tin Word.
o Mẫu nhập : Mẫu 1(xem ở phần phụ lục)
- 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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
55
- 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
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.
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ì
đị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
giá.
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)
- 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
Tính tiến hóa :
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
56
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
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.
Tính tiện dụng :
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
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
Kiến trúc 1 : Người dùng, chương trình và dữ liệu ở cùng 1 máy A
Hình 1. Kiến trúc triển khai 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
57
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
58
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
Số thứ tự Tên nghiệp vụ Diễn giải
1. Quản lý tác giả 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.
2. Quản lý 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 khối thi và chọn các môn học thuộc khối thi
3. Quản lý môn 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.
4. Quản lý nộidung môn họ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.
5. Quản lý mục tiêu môn họ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 mục tiêu cần khảo sát của câu trắc nghiệm.
6. Nhập câu hỏi 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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
59
câu trắc nghiệm đó vào hệ thống.
7. Tìm kiếm câu hỏi
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.
8. Cập nhật câu hỏi
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.
9. Soạn đề thi
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.)
10. Đánh giá đề thi
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ụ
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
60
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ể
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
61
3.5 Sơ đồ lớp
Để mô tả lớp đối tượng, sử dụng ký hiệu sau
<Tên lớp> <Danh sách các thuộc tính><Các trách nhiệm của lớp>
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)
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
62
Danh sách các lớp đối tượng
Số thứ tự Tên lớp Diễn giải 1 Câu trắc nghiệm Lớp 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
5 Đề thi Lớp đề thi, chứa nhiều câu trắc
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
63
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 :
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
64
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
dưới :
Các lớp đọc tập tin Word
Hình 8. Các lớp xử lý đọc tập tin Word
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
65
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
STT
Tên đối tượng Loại đối tượng Diễn giải
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
6 MH_MucTieuMonHoc Màn hinh quản lý mục tiêu môn học
7 MH_TaoDeThi Màn hinh nhập dàn bài trắc nghiệm
8 MH_ThemCauHoi Màn hinh nhậpcâu hỏi
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
12 MH_TuyChonPhatSinh
CapNhat
Đối
tượng
giao tiếp
người
dùng
Màn hinh tùy chọn phát sinh cập nhật
13 XL_CauHoi Lớp đối tượng xử lý câu hỏi
14 XL_DanBaiTracNghie
Đối
tượng xử Lớp đối tượng xử lý dàn bài trắc
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
66
m nghiệm
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
31 CauTNDaLuaChonPars
er
lý nghiệp
vụ
Lớp đối tượng xử lý việc đọc nội dung
câu trắc nghiệm đa lựa chọn trên tập tin
Word
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
67
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
der
Lớp đối tượng xử lý việc kết xuất câu
trắc nghiệm đa lựa chọn ra tập tin
Word.
36 CauTNDungSaiRender
Lớp đối tượng xử lý việc kết xuất câu
trắc nghiệm đúng sai ra tập tin Word.
37 LT_Khoi Lớp đối tượng xử lý việc lưu trữ khối
38 LT_MonHoc Lớp đối tượng xử lý việc lưu trữ môn
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
m
Lớp đối tượng xử lý việc lưu trữ dàn bài
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ý lưu trữ
Lớp đối tượng xử lý việc lưu trữ thông
tin cơ sở dữ liệu
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
68
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
MaCH : S(17)NoiDungXML : SNoiDungText : SDapAn : NDoKho : RDoPhanCach : RMaTGBS : NMaMH : NMaNDMH : NMaNDC : NMaMTMH : NMaMTC : NSoLanXuatHien : N
CAU_HOI_DUNG_SAI
MaCH : S(17)NoiDungXML : SNoiDungText : SDapAn : NDoKho : RDoPhanCach : RMaTGBS : NMaMH : NMaNDMH : NMaNDC : NMaMTMH : NMaMTC : NSoLanXuatHien : N
TAC_GIA
MaTG : NTenTG : S(40)BangCap : S(30)DonViCongTac : S(30)DiaChi : S(80)DienThoai : S(15)GhiChu : S)50_
DANH_SACH_LUA_CHON
MaCH : S(17)MaLuaChon : NNoiDungXML : SNoiDungText : S
MUC_TIEU_MON_HOC
MaMTMH : NTenMTMH : S(30)GhiChu : S(50)
MUC_TIEU_CON
MaMTMH : NMaMTC : NTenMTC : S(30)GhiChu : S(50)
MON_HOC
MaMH : NTenMH : S(15)
KHOI
MaKhoi : NTenKhoi : S(6)GhiChu : S(50)
KHOI_MONHOC
MaKhoi : NMaMH : N
NOI_DUNG_MON_HOC
MaMH : NMaNDMH : NTenNDMH : S(30)GhiChu : S(50)
NOI_DUNG_CON
MaMH : NMaNDMH : NMaNDC : NTenNDC : S(30)GhiChu : S(50)
Hình 10. Sơ đồ logic dữ liệu
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
69
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
70
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
71
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
72
4.3.3 Trộn đề thi
Hình 13. Sơ đồ truyền động xử lý trộn đề thi
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
73
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
năng được phơi bày của Automation server. Có 2 loại Automation client :
o Client động : là các client lấy thông tin về các thuộc tính và phương
thức của Automation Server trong lúc chạy chương trình (run time).
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
Automation server trong lúc biên dịch (compile time).
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
74
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).
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
75
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
76
Hình 15. Mô hình đối tượng Word
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
trình Word.
Document : là đối tượng chính của việc lập trình với Word. Khi mở hay tạo
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.
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
con trỏ hiện tại .
Range : đại diện cho các vùng kề nhau trong tài liệu, được xác định bằng vị
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
trong cùng 1 tài liệu. Đối tượng Range có các đặc điểm sau :
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,
hay là toàn bộ văn bản.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
77
o Nó bao gồm các ký tự không được “hiển thị” như khoảng cách, tab,
ký tự đánh dấu paragraph
o Nó có thể là vùng văn bản đang được chọn, hay có thể là vùng văn
bản khác với vùng văn bản đang được chọn.
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.
Bookmark : đối tượng Bookmark tương tự như đối tượng Range ở 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
không chạy mã lập trình hoặc đã đóng tài liệu.
o Mặc định, Bookmark được ẩn, nhưng có thể làm cho hiển thị bằng
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.
Các lớp đối tượng chính :
Application : Đối tượng Application đại diện cho ứng dụng Excel. Đối
tượng Application cung cấp rất nhiều thông tin về : ứng dụng đang chạy, các
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
78
tùy chọn được áp dụng vào thể hiện đó, các đối tượng hiệnt tại đang được
người sử dụng mở ...
WorkBook : Đối tượng Workbook đại diện một workbook trong ứng dụng
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 để
tương tác với một workbook được chỉ định hoặc với workbook hiện hành.
Worksheet : Tương ứng với sheet trong 1 Workbook. Mặc dù lớp
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à
Workbook.
Range : Đối tượng Range là đối tượng mà bạn sẽ sử dụng nhiều nhất trong
ứ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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
79
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 :
- 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
quan điểm nhị phân
- Công thức tính độ tin cậy của bài trắc nghiệm
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ụ
r = kk – 1
)pq
- 1(2σ
∑
D = ]Y)( - Y][NX)( - X[N 2222 ∑∑∑∑
YX ∑∑∑ - XYN
Độ khó câu i =Số người trả lời đúng câu i
Tổng số người làm bài trắc nghiệm
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
80
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
theo ý nghĩa
CauTN,CauTNDaLuaChon
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.
STT Tên điều khiển Cách đặt tên Ví dụ 1 Button btn_ btnDongY, btnThoat
2 CheckBox check checkHienThi
3 Grid grid_ gridTacGia, gridMonHoc
4 Label lb_ lbTacGia, lbMonHoc
5 TextBox txt_ txtTacGia, txtMonHoc
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
STT Tên kiểu dữ liệu Cách đặt tên Ví dụ 1 Số nguyên i_ iDiem, iDem
2 Boolean b_ bVisible, bXuatMaCauHoi
3 Số thực f_ fDoKho, fDoPhanCach
4 Chuỗi s_ sTacGia, sMonHoc
Bảng 20. Quy tắc đặt tên biến
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
81
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
82
• Tính độ khó và độ phân cách câu trắc nghiệm 1:
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 47Bảng 22. Điểm bài làm và điểm câu trắc nghiệm 1
Tính độ khó câu trắc nghiệm 1[ 2.5.1.2 ]:
Tính độ phân cách câu trắc nghiệm 1[ 2.5.2.2.2 ]:
Độ khó câu 1 = Số người trả lời đúng câu i
Tổng số người làm bài trắc nghiệm
= NX∑ =
107
= 0.7
D = ]Y)( - Y][NX)( - X[N 2222 ∑∑∑∑
= ]58 - 392 x ][107 - 7 x 10[ 22
10 x 47 – 7 x 58 = 0.59
YXXYN ∑∑−∑
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
83
• 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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
84
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
Tổng 2.22 Bảng 24. Tính pq
2σ = N 2Y∑ - ( Y∑ )2
N(N - 1) =
10 x 392- 582
10 x 9 = 6.18
r = kk – 1
)pq
- 1(2σ
∑ = 10
9)
18.62.22
- 1( = 0.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
85
Chương 6. Kết luận
6.1 Những kết quả đạt được
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à
các lĩnh vực khác nhau (giáo dục, xã hội, tâm lý, kinh tế ...)
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ó 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à
Microsoft Word có hỗ trợ.
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
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,
nội dung đã được soạn thảo ban đầu.
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
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ó, độ
phân cách ...
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
và dễ dàng sử dụng.
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ứ
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
các đề được chỉ định bởi người sử dụng
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
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
86
o Người sử dụng có thể chỉ định số đề thi sẽ được phát sinh, định dạng
đánh số thứ tự câu hỏi, đánh số các phương án trả lời ....
o Kết xuất tốt ra file Word các đề thi, bảng trả lời cho thí sinh, bảng đáp
án tương ứng với các đề thi ...
o Khả năng tùy biến định dạng cao vì tập tin được kết xuất theo
Template (.dot) của Microsoft Word, khi người sử dụng có nhu cầu
thay đổi chỉ cần thay đổi tập tin Template (.dot) tương ứng
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í
sinh ra tập tin Excel
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ử
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
87
Chức năng, đặc điểm TQS Chương trình của nhóm đã phát triển
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
Có Có
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)
Quản lý các mục tiêu của câu trắc nghiệm
Không Có
Hình thức nhập câu hỏi vào ngân hàng dữ liệu
- Hỗ trợ nhập trên chương trình (chỉ nhập được các nội dung đơn giản)
Có Không
- Hỗ trợ nhập từ file Word
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.
Hỗ trợ tốt việc soạn thảo câu hỏi với nội dung bất kỳ
- 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)
Không hổ trợ 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 ra file Word
Không hỗ trợ 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ợ việc soạn dàn bài trắc nghiệm
Không hỗ trợ 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.
Hỗ trợ chấm điểm bài thi
Có. Người sử dụng nhập bài làm thí sinh bằng cách
Có. Người sử dụng nhập bài làm của thí sinh vào
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
88
sử dụng chuột chọn kết quả bài làm thí sinh trên màn hình
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.
Hỗ trợ đánh giá câu trắc nghiệm
Có (áp dụng công thức Pearson )
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
89
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
90
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
91
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 <Nội dung câu hỏi của câu trắc nghiệm>
1/ <Nội dung phương án trả lời 1>
2/ <Nội dung phương án trả lời 2>
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
92
……
n/ <Nội dung phương án trả lời n>
#DA <Số thứ tự của đáp án>
@CH
#MaCH CH2
#Loai 2
#ND <Nội dung câu hỏi của câu trắc nghiệm>
#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:
Kỳ thi tuyển sinh đại học năm học 2004 - 2005
Môn thi : Ngày thi Thờ i gian Đề thi số
CHỮ KÝ GIÁM THỊ Chữ ký giám th ị 1 Chữ ký giám th ị 2
PHẦN CÂU HỎI
Bảng 27. Mẫu đề thi
A.3 Mẫu bảng trả lờ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
93
Kỳ thi tuyển sinh đại học năm học 2004 - 2005
Họ và tên Số báo danh
Ngày sinh Nơi sinh Môn thi
Thông tin kỳ thi
Ngày thi Hộ i đồng thi Thờ i gian
Chữ ký giám thị Chữ ký giám th ị 1 Chữ ký giám th ị 2 Số thứ tự bài thi
Chữ ký giám th ị 1 Chữ ký giám th ị 2 Số thứ tự bài thi
BẢNG TRẢ LỜI
A B C D
Câu 1
Câu 2
A B C D
Câu 3
Câu 4
Bảng 28. Mẫu bảng trả lờ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
94
A.4 Mẫu đáp án
Kỳ thi tuyển sinh đại học năm học 2004 - 2005
Môn thi :
Ngày thi Thời gian Đề thi số
ĐÁP ÁN
PHẦN CÂU HỎI ĐA LỰA CHỌN VÀ ĐÚNG SAI A B C D
Câu 1 x
Câu 2 x
A B C D
Câu 3 x
Câu 4 x
Bảng 29. Mẫu đáp án
A.5 Mẫu nhập đánh giá
Đề thi số 3 Số câu hỏi 4
Câu hỏi 1 2 3 4Bài làm 1 A B C ABài làm 2 A A B CBài làm 3 B C A D
Bảng 30. Mẫu nhập đánh giá
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
95
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ụ .
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
96
A.1.1 Quản lý tác giả
A.1.1.1 Thêm tác giả
Hình 17. Sơ đô sử dụng chi
tiết 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.
- Ghi D4 vào bộ nhớ phụ.
- Thông báo D2 đến người sử dụng.
A.1.1.2 Cập nhật tác giả
Hình 18. Sơ đô sử dụng chi
tiết 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).
Xử lý :
- Đọ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ụ.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
97
- Thông báo D2 đến người sử dụng.
A.1.1.3 Xóa tác giả
Hình 19. Sơ đô sử dụng chi
tiết 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).
Xử lý :
- Đọ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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
98
A.1.2 Quản lý khối thi
A.1.2.1 Thêm khối thi
Hình 20. Sơ đô sử dụng chi
tiết 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.
- Ghi D4 vào bộ nhớ phụ.
- Thông báo D2 cho người sử dụng.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
99
Cập nhật khối thi
Hình 21. Sơ đô sử dụng chi
tiết 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)
Xử lý :
- Đọ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
Hình 22. Sơ đô sử dụng chi
tiết 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).
Xử lý :
- Đọc D3 từ bộ nhớ phụ hiển thị cho người sử
dụng.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
100
- 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
Hình 23. Sơ đô sử dụng chi
tiết 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.
- Ghi D4 vào bộ nhớ phụ.
- Thông báo D2 cho người sử dụng.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
101
A.1.3.1 Cập nhật môn thi
Hình 24. Sơ đô sử dụng chi
tiết 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).
Xử lý :
- Đọ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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
102
A.1.3.2 Xóa môn thi
Hình 25. Sơ đô sử dụng chi
tiết 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).
Xử lý :
- Đọ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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
103
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
Hình 26. Sơ đô sử dụng chi
tiết 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.
- Ghi D4 vào bộ nhớ phụ.
- 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
Hình 27. Sơ đô sử dụng chi
tiết 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ú).
Xử lý :
- Đọ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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
104
A.1.4.3 Xóa nội dung môn học
Hình 28. Sơ đô sử dụng chi
tiết 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.
- 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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
105
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
Hình 29. Sơ đô sử dụng chi
tiết 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.
- Ghi D4 vào bộ nhớ phụ.
- 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
Hình 30. Sơ đô sử dụng chi
tiết 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ú).
Xử lý :
- Đọ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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
106
A.1.5.3 Xóa mục tiêu môn học
Hình 31. Sơ đô sử dụng chi
tiết 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ử
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
107
A.1.6 Nhập câu hỏi
Hình 32. Sơ đồ sử dụng chi
tiết
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).
Xử lý :
- 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
Hình 33. Sơ đô sử dụng chi
tiết 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).
Xử lý :
- 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ử
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
108
dụng.
- Thông báo D2 cho người sử dụng.
A.1.8 Cập nhật câu hỏi
Hình 34. Sơ đô sử dụng chi
tiết 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).
Xử lý :
- 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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
109
A.1.9 Soạn đề thi
Hình 35. Sơ đô sử dụng chi
tiết 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,
Độ khó, Độ phân cách, Số lần xuất hiện).
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.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
110
A.1.10 Đánh giá đề thi và các câu trắc nghiệm
Hình 36. Sơ đô sử dụng chi
tiết Đá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ý :
- Nhận D1 từ người sử dụng.
- 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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
111
- Độ 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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
112
- 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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
113
- 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
chính
Mã khối
2 TenKhoi S(6) Tên khối
3 GhiChu S(50) Ghi chú về khố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
114
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
chính
Mã môn học
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
chính, là khóa ngoại đến
bảng KHOI
Mã khối
2 MaMH N >0, tham gia vào khóa
chính, là khóa ngoại đến
bảng MON_HOC
Mã môn
học
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
chính, là khóa ngoại đến
bảng MON_HOC
Mã môn học
2 MaNDMH N >0, tham gia vào khóa
chính
Mã nội dung
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
115
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
chính, tham gia vào khóa
ngoại đến bảng
NOI_DUNG_MON_HOC
Mã môn học
2 MaNDMH N >0, tham gia vào khóa
chính, tham gia vào khóa
ngoại đến bảng
NOI_DUNG_MON_HOC
Mã nội dung
môn học
3 MaNDC N >0, tham gia vào khóa
chính
Mã nội dung
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
chính
Mã mục tiêu môn
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
116
chính, là khóa ngoại đến
bảng
MUC_TIEU_MON_HOC
môn học
2 MaMTC N >0, tham gia vào khóa
chính
Mã mục tiêu
con
3 TenMTC S(30) Tên mục tiêu
con
4 GhiChu S(50) Ghi chú cho
mục tiêu con
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
117
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
chính
Mã tác giả
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
118
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 N >0, là khóa ngoại
đến bảng TAC_GIA
Mã tác giả biên soạn
câu trắc nghiệm
8 MaMH N >0, tham gia vào
khóa ngoại đến
bảng
NOI_DUNG_MON
_HOC và bảng
NOI_DUNG_CON
Mã môn học
9 MaNDMH N >0, tham gia vào
khóa ngoại đến
bảng
NOI_DUNG_MON
_HOC và bảng
NOI_DUNG_CON
Mã nội dung môn học
10 MaNDC N >0, tham gia vào
khóa ngoại đến
bảng
NOI_DUNG_CON
Mã nội dung con
11 MaMTMH N >0, tham gia vào
khóa ngoại đến
bảng
MUC_TIEU_MON
_HOC và bảng
MUC_TIEU_CON
Mã mục tiêu môn học
12 MaMTC N >0, tham gia vào Mã mục tiêu con
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
119
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
chính, tham gia vào
khóa ngoại đến bảng
CAU_HOI_DA_LUA_
CHON
Mã câu hỏi
2 MaLuaChon N >0, tham gia vào khóa
chính
Mã lựa chọn
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
120
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 N >0, là khóa ngoại
đến bảng TAC_GIA
Mã tác giả biên soạn
câu trắc nghiệm
8 MaMH N >0, tham gia vào
khóa ngoại đến
bảng
NOI_DUNG_MON
_HOC và bảng
NOI_DUNG_CON
Mã môn học
9 MaNDMH N >0, tham gia vào
khóa ngoại đến
bảng
NOI_DUNG_MON
_HOC và bảng
NOI_DUNG_CON
Mã nội dung môn học
10 MaNDC N >0, tham gia vào
khóa ngoại đến
bảng
NOI_DUNG_CON
Mã nội dung con
11 MaMTMH N >0, tham gia vào Mã mục tiêu môn học
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
121
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
khóa ngoại đến
bảng
MUC_TIEU_CON
Mã mục tiêu con
13 SoLanXuatHien N >0 Số lần câu trắc
nghiệm đã xuất hiện
trong các đề thi
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
122
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
123
Danh sách các đối tượng thể hiện:
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 DanhMucChucNang OutlookBar
Chức danh sách
các chức năng
của phần mềm
Vị trí (0,0),
Nằm ở cạnh
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ú
1 MH_Chinh Load Đọc thông tin về cơ sở dữ
liệu
2 DanhMucChucNang Click
Bật các màn hình tương ứng
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
124
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ú
1 lblTieuDeManHinh Label Tiêu đề màn hình
2 gridTacGia Grid Lưới danh sách các tác giả
3 btnThem Button Nút thêm tác giả
4 btnXoa Button Nút xóa tác giả
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
125
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ú
1 flagChanged Boolean True: có thay đổi trên lưới
False: không có thay đổi trên lưới
2 flagDeleted Boolean True: có xóa trên lưới
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ú
1 xlTacGia XL_TacGiaXử lý các thao tác liên quan đến đối
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ú
1 MH_TacGia Load Đọc danh sách tác giả từ cơ sở
dữ liệu
2 MH_TacGia Closing
Xử lý lưu lại các thay đổi của
người dùng trước khi đóng
màn hình
3 gridTacGia InitNewRow Gán mã tác giả vào cột số thứ
tự trên lưới
4 gridTacGia CellValueChanged Bật cờ flagChanged
5 btnThem Click Focus vào dòng thêm mới trên
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
126
lưới, bật cờ flagChanged
6 btnXoa Click
Xóa dòng dữ liệu trên lưới,
bật cờ flagDeleted,
flagChanged
7 btnHuyBo Click
Hủy bỏ các thao tác thêm,
xóa, sửa đã thực hiện trước
đó, tắt cờ flagChanged,
flagDeleted
8 btnLuu Click
Lưu các thao tác thêm, xóa,
sửa xuống cơ sở dữ liệu, tắt
cờ flagChanged, flagDeleted
9 btnDongY Click
Lưu các thao tác thêm, xóa,
sửa xuống cơ sở dữ liệu và
đóng màn hình
10 btnBoQua Click Đóng màn hình
Danh sách các hàm xử lý:
STT Tên hàm Tham số Kết quả Xử lý Ghi chú
1 HoiXoaCacCauTrac
NghiemLienQuan
Hỏi người sử dụng
để xóa các câu trắc
nghiệm liên quan
đến tác giả bị xóa
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
127
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
128
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 gridKhoi Grid Lưới danh sách các khối
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:
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
129
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 flagChanged Boolean True: có thay đổi trên lưới
False: không có thay đổi trên lưới
2 flagDeleted Boolean True: có xóa trên lưới
False: không có xóa trên lưới
3 dtKhoi_MonHocCu DataTable
Chứa danh sách khối-môn học để
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ú
1 xlKhoi XL_Khoi Xử lý các thao tác liên quan đến
đối tượng khối
2 xlMonHoc XL_MonHoc Xử lý các thao tác liên quan đến
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ú
1 MH_Khoi Load Đọc danh sách khối từ cơ sở
dữ liệu
2 MH_Khoi Closing
Xử lý lưu lại các thay đổi của
người dùng trước khi đóng
màn hình
3 gridKhoi InitNewRow Gán mã khối vào cột số thứ tự
trên lưới
4 gridKhoi CellValueChanged Bật cờ flagChanged
5 btnThem Click Focus vào dòng thêm mới trên
lưới, bật cờ flagChanged
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
130
6 btnXoa Click
Xóa dòng dữ liệu trên lưới,
bật cờ flagDeleted,
flagChanged
7 btnHuyBo Click
Hủy bỏ các thao tác thêm,
xóa, sửa đã thực hiện trước
đó, tắt cờ flagChanged,
flagDeleted
8 btnLuu Click
Lưu các thao tác thêm, xóa,
sửa xuống cơ sở dữ liệu, tắt
cờ flagChanged, flagDeleted
9 btnDongY Click
Lưu các thao tác thêm, xóa,
sửa xuống cơ sở dữ liệu và
đóng màn hình
10 btnBoQua Click Đóng màn hình
11 linkChonMo
nHoc Click
Mở màn hình nhập danh sách
môn học thuộc khối
12 linkThemMo
nHoc Click
Mở màn hình quản lý môn
học
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
131
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
132
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ú
1 lblTieuDeManHinh Label Tiêu đề màn hình
2 gridMonHoc Grid Lưới danh sách các khối
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:
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
133
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 flagChanged Boolean True: có thay đổi trên lưới
False: không có thay đổi trên lưới
2 flagDeleted Boolean True: có xóa trên lưới
False: không có xóa trên lưới
3 dtKhoi_MonHocCu DataTable
Chứa danh sách khối-môn học để
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
2 xlMonHoc XL_MonHoc Xử lý các thao tác liên quan đến
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ú
1 MH_MonHoc Load Đọc danh sách môn học từ cơ
sở dữ liệu
2 MH_MonHoc Closing
Xử lý lưu lại các thay đổi của
người dùng trước khi đóng
màn hình
3 gridMonHoc InitNewRow Gán mã môn học vào cột số
thứ tự trên lưới
4 gridMonHoc CellValueChanged Bật cờ flagChanged
5 btnThem Click Focus vào dòng thêm mới trên
lưới, bật cờ flagChanged
6 btnXoa Click Xóa dòng dữ liệu trên lướ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
134
bật cờ flagDeleted,
flagChanged
7 btnHuyBo Click
Hủy bỏ các thao tác thêm,
xóa, sửa đã thực hiện trước
đó, tắt cờ flagChanged,
flagDeleted
8 btnLuu Click
Lưu các thao tác thêm, xóa,
sửa xuống cơ sở dữ liệu, tắt
cờ flagChanged, flagDeleted
9 btnDongY Click
Lưu các thao tác thêm, xóa,
sửa xuống cơ sở dữ liệu và
đóng màn hình
10 btnBoQua Click Đóng màn hình
11 linkChonKhoi Click Mở màn hình nhập danh sách
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ú
1 HoiXoaCacCauTrac
NghiemLienQuan
Hỏi người sử dụng
để xóa các câu trắc
nghiệm liên quan
đến tác giả bị xóa
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
135
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
136
Danh sách các đối tượng thể hiện:
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 lstDanhSachMonHoc ListBox Chứa danh sách môn học
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ú
1 xlMonHoc XL_MonHoc Xử lý các thao tác liên quan thêm,
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ú
1
MH_NhapDan
hSachMonHoc
ThuocKhoi
Load Tạo danh sách môn học
2 lstDanhSachM
onHoc ItemCheck
Thêm, xóa môn học thuộc
khối
3 btnDongY Click Trả về OK
4 btnBoQua Click Trả về Cancel
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
137
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ú
1 lstDanhSachKhoi ListBox Chứa danh sách khối
2 btnDongY Button Nút đồng ý
3 btnBoQua Button Nút bỏ qua
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
138
Danh sách các đối tượng xử lý:
STT Tên Lớp Ý nghĩa Ghi chú
1 xlMonHoc XL_MonHoc Xử lý các thao tác liên quan thêm,
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ú
1
MH_NhapDan
hSachKhoiCh
uaMonHoc
Load Tạo danh sách khối
2 lstDanhSachK
hoi ItemCheck Thêm, xóa khối chứa môn học
3 btnDongY Click Trả về OK
4 btnBoQua Click Trả về Cancel
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
139
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
140
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
2 gridNoiDungChinh Grid Lưới chứa danh sách các
nội dung chính của môn
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
141
học
3 gridNoiDungCon Grid
Lưới chứa danh sách các
nội dung con thuộc nội
dung chính
4 btnThemNDMH Button Nút thêm nội dung chính
5 btnThemNDCon Button Nút thêm nội dung con
6 btnXoaNDMH Button Nút xóa nội dung chính
7 btnXoaNDCon Button Nút xóa nội dung con
8 btnHuyBo Button Nút hủy bỏ
9 btnLuu Button Nút lưu
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ú
1 flagChanged Boolean True: có thay đổi trên lưới
False: không có thay đổi trên lưới
2 flagDeleted Boolean True: có xóa trên lưới
False: không có xóa trên lưới
3 dtNoiDungConCu DataTable Chứa danh sách nội dung con cũ
Danh sách các đối tượng xử lý:
STT Tên Lớp Ý nghĩa Ghi
chú
1 xlNoiDungMonHoc XL_NoiDungMonHoc
Xử lý các thao tác
liên quan đến đối
tượng nội dung môn
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
142
học
Danh sách các biến cố:
STT Thể hiện Loại biến cố Xử lý Ghi chú
1 MH_NoiDung
MonHoc Load
Đọc danh sách môn học và
nội dung môn học từ cơ sở dữ
liệu
2 MH_NoiDung
MonHoc Closing
Xử lý lưu lại các thay đổi của
người dùng trước khi đóng
màn hình
3 cmbDanhSach
MonHoc Changed
Lọc nội dung môn học chính
thuộc môn học
4 gridNoiDungC
hinh FocusRowChanged
Lọc nội dung con thuộc nội
dung chính
5 gridNoiDungC
hinh InitNewRow
Gán mã nội dung môn học
chính vào cột số thứ tự trên
lưới nội dung chính
6 gridNoiDungC
on InitNewRow
Gán mã nội dung môn học
con vào cột số thứ tự trên lưới
nội dung con
7 gridNoiDungC
hinh CellValueChanged Bật cờ flagChanged
8 gridNoiDungC
on CellValueChanged Bật cờ flagChanged
9 btnThemNDM
H Click
Focus vào dòng thêm mới trên
lưới nội dung chính, bật cờ
flagChanged
10 btnThemNDC
on Click
Focus vào dòng thêm mới trên
lưới nội dung con, bật cờ
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
143
flagChanged
11 btnXoaNDMH Click
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
chính, bật cờ flagDeleted,
flagChanged
12 btnXoaNDCon Click
Xóa dòng dữ liệu trên lưới
nội dung con, bật cờ
flagDeleted, flagChanged
13 btnHuyBo Click
Hủy bỏ các thao tác thêm,
xóa, sửa đã thực hiện trước
đó, tắt cờ flagChanged,
flagDeleted
14 btnLuu Click
Lưu các thao tác thêm, xóa,
sửa xuống cơ sở dữ liệu, tắt
cờ flagChanged, flagDeleted
15 btnDongY Click
Lưu các thao tác thêm, xóa,
sửa xuống cơ sở dữ liệu và
đóng màn hình
16 btnBoQua Click Đóng màn hình
Danh sách các hàm xử lý:
STT Tên hàm Tham số Kết quả Xử lý Ghi chú
1 HoiXoaCacCauTrac
NghiemLienQuan
Hỏi người sử dụng
để xóa các câu trắc
nghiệm liên quan
đến nội dung môn
học bị xóa
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
144
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
145
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
146
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 gridMucTieuChinh Grid Lưới chứa danh sách các
mục tiêu chính
3 gridMucTieuCon Grid
Lưới chứa danh sách các
mục tiêu con thuộc mục
tiêu chính
4 btnThemMTMH Button Nút thêm mục tiêu chính
5 btnThemMTCon Button Nút thêm mục tiêu con
6 btnXoaMTMH Button Nút xóa mục tiêu chính
7 btnXoaMTCon Button Nút xóa mục tiêu con
8 btnHuyBo Button Nút hủy bỏ
9 btnLuu Button Nút lưu
10 btnDongY Button Nút đồng ý
11 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ú
1 flagChanged Boolean True: có thay đổi trên lưới
False: không có thay đổi trên lưới
2 flagDeleted Boolean True: có xóa trên lưới
False: không có xóa trên lưới
3 dtNoiDungConCu DataTable Chứa danh sách mục tiêu con cũ
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
147
Danh sách các đối tượng xử lý:
STT Tên Lớp Ý nghĩa Ghi
chú
1 xlMucTieuMonHoc XL_MucTieuMonHoc
Xử lý các thao tác
liên quan đến đối
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ú
1 MH_MucTieu
MonHoc Load
Đọc mục tiêu môn học từ cơ
sở dữ liệu
2 MH_MucTieu
MonHoc Closing
Xử lý lưu lại các thay đổi của
người dùng trước khi đóng
màn hình
3 gridMucTieuC
hinh FocusRowChanged
Lọc mục tiêu con thuộc mục
tiêu chính
4 gridMucTieuC
hinh InitNewRow
Gán mã mục tiêu môn học
chính vào cột số thứ tự trên
lưới mục tiêu chính
5 gridMucTieuC
on InitNewRow
Gán mã mục tiêu môn học
con vào cột số thứ tự trên lưới
mục tiêu con
6 gridMucTieuC
hinh CellValueChanged Bật cờ flagChanged
7 gridMucTieuC
on CellValueChanged Bật cờ flagChanged
8 btnThemMTM
H Click
Focus vào dòng thêm mới trên
lưới mục tiêu chính, bật cờ
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
148
flagChanged
9 btnThemMTC
on Click
Focus vào dòng thêm mới trên
lưới mục tiêu con, bật cờ
flagChanged
10 btnXoaMTMH Click
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
chính, bật cờ flagDeleted,
flagChanged
11 btnXoaMTCo
n Click
Xóa dòng dữ liệu trên lưới
mục tiêu con, bật cờ
flagDeleted, flagChanged
12 btnHuyBo Click
Hủy bỏ các thao tác thêm,
xóa, sửa đã thực hiện trước
đó, tắt cờ flagChanged,
flagDeleted
13 btnLuu Click
Lưu các thao tác thêm, xóa,
sửa xuống cơ sở dữ liệu, tắt
cờ flagChanged, flagDeleted
14 btnDongY Click
Lưu các thao tác thêm, xóa,
sửa xuống cơ sở dữ liệu và
đóng màn hình
15 btnBoQua Click Đóng màn hình
Danh sách các hàm xử lý:
STT Tên hàm Tham số Kết quả Xử lý Ghi chú
1 HoiXoaCacCauTrac
NghiemLienQuan
Hỏi người sử dụng
để xóa các câu trắc
nghiệm liên quan
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
149
đế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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
150
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
151
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ú
1 tabNhapDanhSachTapTin TabControl
Chứa chức năng
nhập danh sach
tập tin
tabDanhSachCauHoi TabControl
Chứa chức năng
liệt kê danh sách
câu hỏi đọc được
từ file word và
lưu xuống cơ sở
dữ liệu
lstDSTapTin ListBox Chứa danh sách
tập tin
btnChonTapTin Button Nút chọn tập tin
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
152
btnBoChonTapTin Button Nút bỏ chọn tập
tin
btnDocNoiDung Button Nút đọc nội dung
btnBoQua Button Nút bỏ qua
btnLuu Button Nút lưu
btnXoa Button Nút xóa
lblSoCauTN Label Tiêu đề số câu
trắc nghiệm
lblNoiDungCauHoi Label Tiêu đề nội dung
câu hỏi
lblPhuongAnTraLoi Label Tiêu đề phương
án trả lời
gridDSCauTN Grid
Lưới danh sách
câu trắc nghiệm
đọc được từ file
word
gridDSPhuongAnTraLoi Grid Lưới danh sách
phương án trả lời Readonly
txtNoiDungCauHoi TextBox
Ô văn bản nội
dung câu hỏi trắc
nghiệm
Readonly
groupChiTietCauTN GroupBox Nhóm chi tiết câu
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
153
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ú
1 MH_ThemCauHoi Load Mở tab nhập danh sách tập
tin
2 gridDSCauTN
FocusedRowC
hanged
Thay đổi chi tiết câu trắc
nghiệm
btnChonTapTin Click Mở hộp thoại chọn tập tin
btnBoChonTapTin Click Bỏ tập tin khỏi danh sách
tập tin
btnDocNoiDung Click Đọc nội dung file word
btnBoQua Click Đóng màn hình
btnLuu Click Lưu danh sách câu trắc
nghiệm xuống cơ sở dữ liệu
btnXoa Click Xóa câu trắc nghiệm khỏi
danh sách
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
154
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
155
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
156
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ú
1 tabNhapDanhSachTapTin TabControl
Chứa chức năng
nhập danh sach
tập tin
tabDanhSachCauHoi TabControl
Chứa chức năng
liệt kê danh sách
câu hỏi đọc được
từ file word và
lưu xuống cơ sở
dữ liệu
lstDSTapTin ListBox Chứa danh sách
tập tin
btnChonTapTin Button Nút chọn tập tin
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
157
btnBoChonTapTin Button Nút bỏ chọn tập
tin
btnDocNoiDung Button Nút đọc nội dung
btnBoQua Button Nút bỏ qua
btnLuu Button Nút lưu (cập nhật
câu trắc nghiệm)
btnXoa Button Nút xóa
lblSoCauTN Label Tiêu đề số câu
trắc nghiệm
lblNoiDungCauHoi Label Tiêu đề nội dung
câu hỏi
lblPhuongAnTraLoi Label Tiêu đề phương
án trả lời
gridDSCauTN Grid
Lưới danh sách
câu trắc nghiệm
đọc được từ file
word
gridDSPhuongAnTraLoi Grid Lưới danh sách
phương án trả lời Readonly
txtNoiDungCauHoi TextBox
Ô văn bản nội
dung câu hỏi trắc
nghiệm
Readonly
groupChiTietCauTN GroupBox Nhóm chi tiết câu
trắc nghiệm
Danh sách các đối tượng xử lý:
STT Tên Lớp Ý nghĩa Ghi
chú
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
158
1 xlCauHoi XL_CauHoi Xử lý việc cập nhật câu trắ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ú
1 MH_ChinhSuaCau
Hoi Load
Mở tab nhập danh sách tập
tin
2 gridDSCauTN
FocusedRowC
hanged
Thay đổi chi tiết câu trắc
nghiệm
btnChonTapTin Click Mở hộp thoại chọn tập tin
btnBoChonTapTin Click Bỏ tập tin khỏi danh sách
tập tin
btnDocNoiDung Click Đọc nội dung file word
btnBoQua Click Đóng màn hình
btnLuu Click Cập nhật danh sách câu trắc
nghiệm xuống cơ sở dữ liệu
btnXoa Click Xóa câu trắc nghiệm khỏi
danh sách
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
159
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
160
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
161
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ú
1 groupTieuChiTimKiem GroupBox Nhóm các tiêu chí tìm
kiếm
2 cmbLoaiCauTN ComboBox Ô loại câu trắc nghiệm
3 txtNoiDung TextBox Ô văn bản chứa nội
dung cần tìm
4 cmbTacGiaBienSoan ComboBox Ô chọn tác giả
5 cmbMonHoc: ComboBox Ô chọn môn học
6 cmbNoiDungMonHoc ComboBoxÔ chọn nội dung môn
học
7 cmbNoiDungCon ComboBox Ô chọn nội dung con
8 cmbMucTieuMonHoc ComboBoxÔ chọn mục tiêu môn
học
9 cmbMucTieuCon ComboBox Ô chọn mục tiêu con
10 txtTuDoKho TextBox Ô từ độ khó
11 txtDenDoKho TextBox Ô đến độ khó
12 txtTuDoPhanCach TextBox Ô từ độ phân cách
13 txtDenDoPhanCach TextBox Ô đến độ phân cách
14 txtTuSoLanXuatHien TextBox Ô từ số lần xuất hiện
15 txtDenSoLanXuatHien TextBox Ô đến số lần xuất hiện
16 gridDSCauTN Grid Lưới danh sách câu trắc
nghiệm tìm được Readonly
17 gridDSPhuongAnTraLoi Grid Lưới phương án trả lời Readonly
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
162
18 txtNoiDungCauHoi TextBox Ô nội dung câu hỏi Readonly
19 groupChiTietCauTN GroupBox Nhóm chi tiết câu trắc
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ú
1 xlCauHoi XL_CauHoi Xử lý tìm kiếm câu hỏi
trắc nghiệm
2 arrDanhSachCauHoiDeThi CauTN[] Danh sách câu trắc
nghiệm trong đề thi
Danh sách các biến cố:
STT Thể hiện Loại
biến cố
Xử lý Ghi chú
1 MH_TimKiemCauHoi Load
Đọc danh sách tác giả,
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
163
RowCha
nged
nghiệm
3 btnTimKiem Click Tìm kiếm câu trắc nghiệm
4 btnThoat Click Đóng màn hình
5 btnXoaKhoiDanhSach Click Xóa câu trắc nghiệm khỏi
danh sách
6 btnXoaKhoiNganHang
CauHoi Click
Xóa câu trắc nghiệm khỏi
cơ sở dữ liệu
7 btnKetXuatTaiLieuWor
d Click
Kết xuất danh sách ra file
word để chỉnh sửa
8 btnThemVaoDeThi Click
Thêm những câu trắc
nghiệm được chọn vào đề
thi
Enable khi gọi
từ màn hình tạo
đề 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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
164
MH_TuyChonPhatSinhCapNhat
txtTenFile: TextBox
groupTuyChon: GroupBox
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ú
1 txtTenFile TextBox Ô tên file word kết
xuất
2 groupTuyChon GroupBox Nhóm tùy chọn phát
sinh
3 checkVisible CheckBox
Checkbox hiển thị quá
trình kết xuất ra file
word
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
165
4 checkTacGia CheckBox Checkbox xuất tên tác
giả ra file word
5 checkMonHoc CheckBox Checkbox xuất tên
môn học ra file word
6 checkNDMH CheckBox
Checkbox xuất tên nội
dung môn học ra file
word
7 checkMTMH CheckBox
Checkbox xuất tên
mục tiêu môn học ra
file word
8 checkDK CheckBox
Checkbox xuất độ khó
câu trắc nghiệm ra file
word
9 checkDPC CheckBox
Checkbox xuất độ
phân cách câu trắc
nghiệm ra file word
10 checkND CheckBox
Checkbox xuất nội
dung câu trắc nghiệm
ra file word
11 checkPA CheckBox
Checkbox xuất các
phương án trả lời của
câu trắc nghiệm ra file
word
12 checkDA CheckBox
Checkbox xuất đáp án
của câu trắc nghiệm ra
file word
13 btnDongY Button Nút đồng ý
14 btnBoQua Button Nút bỏ qua
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
166
Danh sách các đối tượng xử lý:
STT Tên Lớp Ý nghĩa Ghi chú
1 m_arrCautn CauTN[] Danh sách câu trắc nghiệm kết xuất
ra file word
Danh sách các biến cố:
STT Thể hiện Loại biến cố Xử lý Ghi chú
1 txtTenFile Click
Mở hộp thoại nhập tên file
word chứa danh sách câu
trắc nghiệm kết xuất
2 btnDongY Click
Kết xuất danh sách câu trắc
nghiệm ra file word và đóng
màn hình
3 btnBoQua Click Đóng màn hình
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
167
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
168
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
169
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
170
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ú
1 cmbKhoiThi ComboBox Ô chọn khối khối
2 cmbMonThi ComboBox Ô chọn môn thi
3 txtTongSoCauDuDinh TextBox Ô tổng số câu trắc
nghiệm dự định
4 txtSoCauDaPhatSinh TextBox Ô số câu trắc nghiệm
đã phát sinh được
5 txtSoCauCanPhatSinh TextBox Ô số câu trắc nghiệm
cần phát sinh
6 txtSoCauTrenDanBaiTrac
Nghiem TextBox
Ô số câu hỏi trên dàn
bài trắc nghiệm
7 txtSoCauConThieu TextBox Ô số câu còn thiếu
8 treelistDanBaiTracNghie
m TreeList
Cây dàn bài trắc
nghiệm
9 mnuThucDon Menu
Thực đơn những thao
tác trên cây dàn bài trắc
nghiệm
10 btnThem Button Nút thêm nốt trên cây
11 btnXoa Button Nút xóa nốt trên cây
12 btnLuuThietKe Button Nút lưu dàn bài trắc
nghiệm
13 btnMoThietKe Button Nút mở dàn bài trắc
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
171
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
18 gridDSCauTN Grid Lưới danh sách câu trắc
nghiệm
Reado
nly
19 gridPhuongAnTraLoi Grid Lưới danh sách phương
án trả lời
Reado
nly
20 txtNoiDungCauHoi TextBox Ô nội dung câu hỏi Reado
nly
21 btnXoaKhoiDeThi Button Nút xóa câu trắc
nghiệm khỏi đề thi
22 btnTimKiemCauHoi Button Nút tìm kiếm câu hỏi
23 btnKiemTraTrung Button Nút kiểm tra trùng câu
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ú
1 xlCauHoi XL_CauHoiXử lý danh sách câu trắc nghiệm
trong đề thi
Danh sách các biến cố:
STT Thể hiện Loại biến cố Xử lý Ghi chú
1 MH_TaoDeThi Load Đọc danh sách khối,
môn thi, nội dung môn
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
172
học, mục tiêu môn học
2 gridDSCauTN FocusedRowChan
ged
Thay đổi chi tiết câu trắc
nghiệm trên lưới
3 btnThem Click
Hiển thị thực đơn thêm
nốt trên dàn bài trắc
nghiệm
4 btnXoa Click
Hiển thị thực đơn xóa
nốt trên dàn bài trắc
nghiệm
5 btnLuuThietKe Click Lưu dàn bài trắc nghiệm
xuống tập tin XML
6 btnMoThietKe Click
Đọc dàn bài trắc nghiệm
từ tập tin XML và hiển
thị lên treelist dàn bài
trắc nghiệm
7 btnXemTatCa Click
Mở tất cả các nốt trên
treelist dàn bài trắc
nghiệm
8 btnDongTatCa Click
Đóng tất cả các nốt trên
treelist dàn bài trắc
nghiệm
9 btnPhatSinhCau
Hoi Click
Phát sinh danh sách câu
trắc nghiệm theo dàn bài
trắc nghiệm
10 btnThoat Click Đóng màn hình
11 btnXoaKhoiDeT
hi Click
Xóa câu trắc nghiệm
khỏi đề thi
12 btnTimKiemCau
Hoi Click
Mở màn hình tìm kiếm
câu hỏ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
173
13 btnKiemTraTru
ng Click
Kiểm tra trong đề thi có
câu hỏi trùng
14 btnBoCauHoiTr
ung Click Xóa câu hỏi trùng
15 btnTronDe Click Mở màn hình trộn đề thi
16 treelistDanhBai
TracNghiem MouseUp
Nếu nhấn chuột phải thì
hiển thị thực đơn thao
tác trên treelist dàn bài
trắc nghiệm
17 mnuThucDon Click
Thực hiện chức năng
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
174
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ú
1 txtThuMuc TextBox Ô tên thư mục
kết xuất
2 txtSoLuongDe TextBox Ô số lượng đề
muốn phát sinh
3 txtTyLeTrungChapNh
an TextBox
Ô tỷ lệ trùng
câu hỏi chấp
nhận
4 txtKhoangCachGiua2C
auHoi TextBox
Ô khoảng cách
giữa 2 câu hỏi
trong file word
5 txtSoTabCanhLePhuon
gAnTraLoi TextBox
Ô số tab canh lề
phương án trả
lờ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
175
6 cmbKieuDanhSoCauH
oi ComboBox
Ô chọn kiểu
đánh số câu hỏi
7 cmbKieuDanhSoDapA
n ComboBox
Ô chọn kiểu
đánh số các
phương án trả
lời
8 checkHienThiQuaTrin
hPhatSinh CheckBox
Check hiển thị
quá trình phát
sinh ra tập tin
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ú
1 m_arrCautn CauTN[] Danh sách câu trắc nghiệm trong đề
thi
Danh sách các biến cố:
STT Thể hiện Loại biến cố Xử lý Ghi chú
1 txtThuMuc Click Mở hộp thoại nhập tên thư
mục chứa các tập tin
2 btnDongY Click
Gọi hàm xáo trộn đề thi và
xuất đề thi ra tập tin word
và excel
3 btnBoQua Click Đóng màn hình
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
176
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ú
1 txtTenFileBangDapAn TextBox Ô tên tập tin
bảng đáp án
2 txtTenFileBaiLam TextBox Ô tên tập tin
bảng bài làm
3 btnDongY Button Nút đồng ý
4 btnBoQua Button Nút bỏ qua
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
177
Danh sách các biến cố:
STT Thể hiện Loại biến cố Xử lý Ghi chú
1 txtTenFileBa
ngDapAn Click
Mở hộp thoại nhập tên tập
tin excel chứa bảng đáp án
2 txtTenFileBai
Lam Click
Mở hộp thoại nhập tên tập
tin excel chứa bảng bài làm
3 btnDongY Click Gọi hàm đánh giá đề thi
4 btnBoQua Click Đó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[]
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
178
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ú
1 LoaiCauHoiTN
enum
Kiểu liệt kệ loại câu hỏi trắc
nghiệm
2 m_LoaiCauTN LoaiCau
HoiTN Loại câu trắc nghiệm
3 m_MaCH string Mã câu hỏi trắc nghiệm
4 m_TacGia string Tên tác giả
5 m_MonHoc string Tên môn học
6 m_NDMH string Tên nội dung môn học chính
7 m_NDMHCon string Tên nội dung con
8 m_MTMH string Tên mục tiêu môn học chính
9 m_MTMHCon string Tên mục tiêu con
10 m_DoKho float Độ khó câu trắc nghiệm
11 m_DoPhanCach float Độ 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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
179
iXML
13 m_NoiDungCauHo
iText string Nội dung câu hỏi theo kiểu văn bản
14 m_MaTacGia int Mã tác giả
15 m_MaND int[]
Mã nội dung môn học (gồm mã
môn học, mã nội dung, mã nội
dung con)
16 m_MaMT int[] Mã mục tiêu môn học (gồm mã
mục tiêu chính, mã mục tiêu con)
17 m_SoLanXuatHien int Số lần câu trắc nghiệm đã xuất
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ú
1 PhatSinhMaCH Phát sinh mã
câu hỏi
Hàm
ảo
2 Luu string,string,st
ring,string Boolean
Lưu câu trắc
nghiệm xuống
cơ sở dữ liệu
Hàm
ảo
3 CapNhat string,string,st
ring,string Boolean
Cập nhật câu
trắc nghiệm
xuống cơ sở
dữ liệu
Hàm
ảo
4
CapNhatDoKhoDo
PhanCachSoLanXu
atHien
string,string,st
ring,string
Cập nhật độ
khó, độ phân
cách và số lần
xuất hiện sau
khi đánh giá
đề thi
Hàm
ảo
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
180
5 Xoa string,string,st
ring,string
Xóa câu trắc
nghiệm khỏi
cơ sở dữ liệu
Hàm
ảo
6 CoTheLuu Boolean
Kiểm tra xem
câu trắc
nghiệm có thể
lưu hay không
7 ChonCauTracNghie
mTheoYeuCau
YeuCau,strin
g,string,string
,string
CauTN[]
Đọc danh
sách câu trắc
nghiệm theo
yêu cầu của
dàn bài trắc
nghiệm
Hàm
ảo
8 TimCauTracNghie
m
TieuChuanTie
mKiem,string,
string,string,st
ring
CauTN[]
Tìm kiếm câu
trắc nghiệm
theo tiêu
chuẩn tìm
kiếm
Hàm
ảo
9 Duplicate(): CauTN Sao chép câu
trắc nghiệm
Hà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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
181
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
2 m_DanhSachPhuongAn
TraLoi:
PhuongAnTr
aLoi[]
Danh sách phương án
trả lời
3 m_iDapAn int Đáp án (là phương án
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ú
1 PhatSinhMaCH
Phát sinh mã
câu hỏi đa lựa
chọn
Hàm
ảo
2 Luu string,string,st
ring,string Boolean
Lưu câu trắc
nghiệm đa lựa
chọn xuống
cơ sở dữ liệu
Hàm
ảo
3 CapNhat string,string,st
ring,string Boolean
Cập nhật câu
trắc nghiệm
đa lựa chọn
xuống cơ sở
dữ liệu
Hàm
ảo
4 CapNhatDoKhoDo string,string,st Cập nhật độ Hàm
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
182
PhanCachSoLanXu
atHien
ring,string khó, độ phân
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
ảo
5 Xoa string,string,st
ring,string
Xóa câu trắc
nghiệm đa lựa
chọn khỏi cơ
sở dữ liệu
Hàm
ảo
6 ChonCauTracNghie
mTheoYeuCau
YeuCau,strin
g,string,string
,string
CauTN[]
Đọc danh
sách câu trắc
nghiệm đa lựa
chọn theo yêu
cầu của dàn
bài trắc
nghiệm
Hàm
ảo
7 TimCauTracNghie
m
TieuChuanTie
mKiem,string,
string,string,st
ring
CauTN[]
Tìm kiếm câu
trắc nghiệm
đa lựa chọn
theo tiêu
chuẩn tìm
kiếm
Hàm
ảo
8 Duplicate(): CauTN
Sao chép câu
trắc nghiệm
đa lựa chọn
Hàm
ảo
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
183
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ú
1 m_iDapAn int Đáp án (0: sai, 1:
đú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ú
1 PhatSinhMaCH
Phát sinh mã
câu hỏi đúng
sai
Hàm
ảo
2 Luu string,string,st
ring,string Boolean
Lưu câu trắc
nghiệm đúng
sai xuống cơ
sở dữ liệu
Hàm
ảo
3 CapNhat string,string,st
ring,string Boolean
Cập nhật câu
trắc nghiệm
Hàm
ảo
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
184
đúng sai
xuống cơ sở
dữ liệu
4
CapNhatDoKhoDo
PhanCachSoLanXu
atHien
string,string,st
ring,string
Cập nhật độ
khó, độ phân
cách và số lần
xuất hiện câu
trắc nghiệm
đúng sai sau
khi đánh giá
đề thi
Hàm
ảo
5 Xoa string,string,st
ring,string
Xóa câu trắc
nghiệm đúng
sai khỏi cơ sở
dữ liệu
Hàm
ảo
6 ChonCauTracNghie
mTheoYeuCau
YeuCau,strin
g,string,string
,string
CauTN[]
Đọc danh
sách câu trắc
nghiệm đúng
sai theo yêu
cầu của dàn
bài trắc
nghiệm
Hàm
ảo
7 TimCauTracNghie
m
TieuChuanTie
mKiem,string,
string,string,st
ring
CauTN[]
Tìm kiếm câu
trắc nghiệm
đúng sai theo
tiêu chuẩn tìm
kiếm
Hàm
ảo
8 Duplicate(): CauTN Sao chép câu
trắc nghiệm
Hàm
ảo
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
185
đú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ú
1 m_sNoiDungXML string Nội dung phương án
trả lời theo kiểu XML
2 m_sNoiDungText string
Nội dung phương án
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
186
Danh sách các biến thành phần:
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 m_LoaiCauTN LoaiCauHoiTN Loại câu trắc
nghiệm
2 m_MaMonHoc int Mã môn học
m_MaNDMH int Mã nội dung
chính
m_MaNDMHCon int Mã nội dung con
m_MaMTMH int Mã mục tiêu
chính
m_MaMTMHCon int Mã mục tiêu con
m_DoKhoToiThieu float Độ khó tối thiểu
m_DoKhoToiDa float Độ khó tối đa
m_DoPhanCachToiThie
u float
Độ phân cách tối
thiểu
m_DoPhanCachToiDa float Độ phân cách tối
thiểu
m_SoCau int Số câu trắc
nghiệm
B.2.2.6 Lớp TieuChuanTimKiem
TieuChuanTimKiem
sNoiDung: string
iMaTG: int
iMaMH: int
iMaNDMH: int
iMaNDC: int
iMaMTMH: int
iMaMTC: int
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
187
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ú
1 sNoiDung: string string Nội dung (từ hoặc cụm từ
câu trắc nghiệm chứa)
2 iMaTG int Mã tác giả
3 iMaMH int Mã môn học
4 iMaNDMH int Mã nội dung môn học chính
5 iMaNDC int Mã nội dung con
6 iMaMTMH int Mã mục tiêu môn học
7 iMaMTC int Mã mục tiêu con
8 fTuDoKho float Độ khó từ
9 fDenDoKho float Độ khó đến
10 fTuDoPhanCach float Độ phân cách từ
11 fDenDoPhanCach float Độ phân cách đến
12 iTuSoLanXuatHi
en int Số lần xuất hiện từ
13 iDenSoLanXuatH
ien int Số lần xuất hiện đến
B.2.2.7 Lớp XL_CauHoi
XL_CauHoi
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
188
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
189
Danh sách các biến thành phần:
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 m_DanhSachCauTracNg
hiem CauTN[]
Danh sách câu 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ú
1 SapXepCauTracNg
hiemTheoLoai
Sắp xếp câu
trắc nghiệm
theo loại câu
trắc nghiệm
2 ChuyenMaSangTen
Chuyển tác
giả, nội dung,
mục tiêu từ
tên sang mã
3 Luu
Lưu danh
sách câu trắc
nghiệm
xuống cơ sở
dữ liệu
4 CapNhat
Cập nhật
danh sách
câu trắc
nghiệm
xuống cơ sở
dữ liệu
5
DocDanhSachCauT
racNghiemTheoYeu
Cau
YeuCau Boolean
Đọc danh
sách câu trắc
nghiệm theo
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
190
yêu cầu của
dàn bài trắc
nghiệm
6 TimKiemCauHoi string,TieuCh
uanTimKiem
Tìm kiếm câu
trắc nghiệm
theo tiêu
chuẩn tìm
kiếm
7 KiemTraTrungCau
Hoi Boolean
Kiểm tra
trùng câu trắc
nghiệm
8
CapNhatDoKhoDo
PhanCachSoLanXu
atHien
Cập nhật độ
khó, độ phân
cách, số lần
xuất hiện của
danh sách câu
trắc nghiệm
sau khi đánh
giá đề thi
9 XoaCauHoiTheoTa
cGia int
Xóa câu trắc
nghiệm theo
tác giả
10 XoaCauHoiTheoM
onHoc int
Xóa câu trắc
nghiệm theo
môn học
11 XoaCauHoiTheoNo
iDungChinh int,int
Xóa câu trắc
nghiệm theo
nội dung
chính
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
191
12 XoaCauHoiTheoNo
iDungCon int,int,int
Xóa câu trắc
nghiệm theo
nội dung con
13 XoaCauHoiTheoM
ucTieuChinh int
Xóa câu trắc
nghiệm theo
mục tiêu
chính
14 XoaCauHoiTheoM
ucTieuCon int,int
Xóa câu trắc
nghiệm theo
mục tiêu con
15 TinhDoKhoCauTN float,int float
Tính độ khó
câu trắc
nghiệm
16 TinhDoPhanCachC
auTN
ThongTinDan
hGia,int float
Tính độ phân
cách câu trắc
nghiệm
17 TinhDoTinCayBaiT
N float,float,int float
Tính độ tin
cậy bài trắc
nghiệm
18 DanhGiaDeThi ThongTinDan
hGia[],int float
Đánh giá đề
thi
B.2.2.8 Lớp XL_Khoi
XL_Khoi
dtKhoi: DataTable
ltKhoi: LT_Khoi
CapNhat()
DocDanhSachKhoi(): DataTable
DocDanhSachMaKhoiTenKhoi(): DataTable
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
192
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ú
1 CapNhat
Cập nhật danh
sách khối
xuống cơ sở
dữ liệu
2 DocDanhSachKhoi DataTable Đọc danh
sách khối
3 DocDanhSachMaK
hoiTenKhoi DataTable
Đọc danh
sách mã khối,
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
193
DocDanhSachMaMHTenMH(): DataTable
CapNhatMonHoc()
CapNhatKhoi_MonHoc()
XoaKhoi_MonHocTheoKhoi()
XoaKhoi_MonHocTheoMonHoc()
XoaKhoi_MonHoc()
ThemKhoi_MonHoc()
LaMonHocThuocKhoi(): Boolean
TimKhoi_MonHoc(): DataRow
TimMaMHTheoTen(string): int
TaoBanSao()
XoaCauHoiTheoMonHocBiXoa()
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
194
Danh sách các biến thành phần:
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 dtMonHoc DataTable Danhs sách môn học
2 dtBanSaoMonHoc DataTable Bản sao danh sách
môn học
3 dtKhoi_MonHoc DataTable Danh sách khối-môn
học
4 ltMonHoc LT_MonHoc Đối tượng lưu trữ
môn học
5 iMaMH int Mã môn học
6 iMaKhoi int Mã 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ú
1 DocDanhSachMon
Hoc DataTable
Đọc danh
sách môn học
2 DocDanhSachMaK
hoiMaMHTenMH DataTable
Đọc danh
sách mã khối,
mã môn học,
tên môn học
3 DocDanhSachKhoi
_MonHoc DataTable
Đọc danh
sách khối-
môn học
4 DocDanhSachMaM
HTenMH DataTable
Đọc danh
sách mã môn
học, tên môn
học
5 CapNhatMonHoc Cập nhật môn
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
195
học
6 CapNhatKhoi_Mon
Hoc
Cập nhật
khối-môn học
7 XoaKhoi_MonHoc
TheoKhoi
Xóa khối-môn
học theo khối
8 XoaKhoi_MonHoc
TheoMonHoc
Xóa khối-môn
học theo môn
học
9 XoaKhoi_MonHoc Xóa khối-môn
học
10 ThemKhoi_MonHo
c
Thêm khối-
môn học
11 LaMonHocThuocK
hoi Boolean
Kiểm tra môn
học thuộc
khối
12 TimKhoi_MonHoc DataRowTìm khối-môn
học
13 TimMaMHTheoTe
n string int
Tìm môn học
theo tên
14 TaoBanSao
Tạo bản sao
danh sách
môn học
15 XoaCauHoiTheoM
onHocBiXoa
Xóa câu hỏi
theo môn học.
B.2.2.10 Lớp XL_MucTieuMonHoc
XL_MucTieuMonHoc
dtMucTieuChinh: DataTable
dtMucTieuCon: DataTable
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
196
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()
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
197
Danh sách các biến thành phần:
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 dtMucTieuChinh DataTable Danh sách mục tiêu
chính
2 dtMucTieuCon DataTable Danh sách mục tiêu
con
3 dtBanSaoMucTieuChinh DataTable Bản sao mục danh
sách mục tiêu chính
4 dtBanSaoMucTieuCon DataTable Bản sao mục danh
sách mục tiêu con
5 ltMucTieuMonHoc LT_MucTieu
MonHoc
Đối tượng lưu trữ
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ú
1 XoaMucTieuConTh
uocMucTieuChinh int
Xóa mục tiêu
con theo mục
tiêu chính
2 DocDanhSachMuc
TieuChinh DataTable
Đọc danh
sách mục tiêu
chính
3 DocDanhSachMuc
TieuCon() DataTable
Đọc danh
sách mục tiêu
con
4 CapNhatMucTieuC
hinh
Cập nhật mục
tiêu chính
5 CapNhatMucTieuC
on
Cập nhật mục
tiêu con
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
198
6
DocDanhSachMaM
TChinhTenMTChin
h
DataTable
Đọc danh
sách mã, tên
mục tiêu
chính
7 DocDanhSachMaM
TConTenMTCon DataTable
Đọc danh
sách mã, tên
mục tiêu con
8 TimMaMucTieu string,string int[] Tìm mã mục
tiêu theo tên
9 TimMaMTChinhTh
eoTen int[],string
Tìm mã mục
tiêu chính
theo tên
10 TimMaMTConThe
oTen int[],string
Tìm mã mục
tiêu con theo
tên
11 TaoBanSaoMucTie
uChinh
Tạo bản sao
mục tiêu
chính
12 TaoBanSaoMucTie
uCon
Tạo bản sao
mục tiêu con
13 XoaCauHoiTheoM
ucTieuChinh
Xóa câu trắc
nghiệm theo
mục tiêu
chính
14 XoaCauHoiTheoM
ucTieuCon
Xóa câu trắc
nghiệm theo
mục tiêu con
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
199
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()
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
200
Danh sách các biến thành phần:
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 dtMucTieuChinh DataTable Danh sách nội dung
chính
2 dtNoiDungCon DataTable Danh sách nội dung
con
3 dtBanSaoNoiDungChinh DataTable Bản sao danh sách
nội dung chính
4 dtBanSaoNoiDungCon DataTable Bản sao danh sách
nội dung con
5 ltNoiDungMonHoc LT_NoiDun
gMonHoc
Đối tượng lưu trữ nội
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ú
1 XoaNoiDungConTh
uocNoiDungChinh int
Xóa nội dung
con theo nội
dung chính
2 DocDanhSachNoiD
ungChinh DataTable
Đọc danh
sách nội dung
chính
3 DocDanhSachNoiD
ungCon() DataTable
Đọc danh
sách nội dung
con
4 CapNhatNoiDungC
hinh
Cập nhật nội
dung chính
5 CapNhatNoiDungC
on
Cập nhật nội
dung con
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
201
6
DocDanhSachMaN
DChinhTenNDChin
h
DataTable
Đọc danh
sách mã, tên
nội dung
chính
7 DocDanhSachMaN
DConTenNDCon DataTable
Đọc danh
sách mã, tên
nội dung con
8 TimMaNoiDung int,string,strin
g int[]
Tìm mã nội
dung theo tên
9 TimMaNDChinhTh
eoTen int[],string
Tìm mã nội
dung chính
theo tên
10 TimMaNDConTheo
Ten int[],string
Tìm mã nội
dung con theo
tên
11 TaoBanSaoNoiDun
gChinh
Tạo bản sao
nội dung
chính
12 TaoBanSaoNoiDun
gCon
Tạo bản sao
nội dung con
13 XoaCauHoiTheoNo
iDungChinh
Xóa câu trắc
nghiệm theo
nội dung
chính
14 XoaCauHoiNoiDun
gCon
Xóa câu trắc
nghiệm theo
nội dung con
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
202
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ú
1 dtTacGia DataTable Danh sách tác giả
2 dtBanSaoTacGia DataTable Bản sao danh sách tác
giả
3 ltTacGia LT_TacGia Đối tượng lưu trữ tác
giả
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
203
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ú
1 CapNhat
Cập nhật danh
sách tác giả
xuống cơ sở
dữ liệu
2 DocDanhSachTacG
ia DataTable
Đọc danh
sách tác giả
3 DocDanhSachMaT
GTenTG DataTable
Đọc danh
sách mã, tên
tác giả
4 TimMaTGTheoTen string int Tìm mã tác
giả theo tên
5 TaoBanSao
Tạo bản sao
danh sách tác
giả
6 XoaCauHoiTheoTa
cGiaBiXoa
Xóa câu hỏi
theo tác giả bị
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
204
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ú
1 m_arrDeThi CauTN[][] Mảng các đề thi đã
được xáo trộn
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
205
2 fTyLeTrungBoDeThi float
Tỷ lệ trùng giữa các
đề 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ú
1 KiemTraTrungPhuo
ngAnTraLoi
CauTNDa
LuaChon,C
auTNDaLu
aChon
Boolean
Kiểm tra
trùng các
phương án trả
lời giữa các
câu hỏi
2 TyLeTrung2DeThi CauTN[],
CauTN[] float
Kiểm tra và
trả về tỷ lệ
trùng giữa 2
đề thi.
3 TyLeTrungBoDeTh
i CauTN[] float
Kiểm tra và
trả về tỷ lệ
trùng của toàn
bộ các đề thi
đã xáo trộn.
4 XaoTron CauTN[],fl
oat CauTN[]
Xáo trộn câu
hỏi để tạo
thành đề thi
5 LayDanhSachCauT
N
CauTN[],L
oaiCauHoi
TN
CauTN[] Lọc ra các câu
hỏi cùng loại
6 XaoTronThuTuTro
ngDanhSach CauTN[]
Xáo trộn thứ
tự câu hỏi
trong danh
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
206
sách câu hỏi
7 XaoTronPhuongAn
TrongCau
CauTNDa
LuaChon,i
nt[]
Xáo trộn các
phương án trả
lời trong câu
hỏi
8 CapNhatNoiDungP
huongAnMix
CauTNDa
LuaChon,i
nt[]
Cập nhật lại
nội dung các
phương án trả
lời phức hợp
sau khi đã xáo
trộn các
phương án trả
lời đơn.
9
XaoTronPhuongAn
TraLoiCuaTatCaCa
uHoi
CauTN[]
Xáo trộn
phương án trả
lời của tất cả
các câu trắc
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()
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
207
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ú
1 m_ExcelApp ExcelApplicationClass Biến tương ứng với
ứng dụng Excel.
2 m_WorkBook ExcelWorkbook Biến tương ứng với
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ú
1 OpenExcelApp Boolean Mở ứng dụng
Excel
2 CloseExcelApp Đóng ứng
dụng Excel
3 OpenNewWorkBoo
k Mở workbook
4 CloseWorkBook Đóng
workbook
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
208
5 SaveWorkBookAs string Lưu
workbook
6 Render_DapAn CauTN[],in
t,Boolean
Kết xuất đáp
án
7 DocTatCaCacMang
ChiSo
string,
string, int
ThongTinDa
nhGia[]
Đọc các chỉ
số cần thiết
cho việc đánh
giá độ khó, độ
phân cách của
câu hỏi.
8 CongDonCacChiSo
ThongTin
DanhGia[],
string,
int,int
Tính toán các
chỉ số cần
thiết cho việc
đánh giá độ
khó, độ phân
cách của câu
hỏi
9 TinhTongDiem1Bai
Lam int[] int
Tính điểm 1
bài thi.
10 TinhDiemToanBoB
aiThi
ExcelWork
book,Excel
Workbook
int[]
Tính điểm
toàn bộ các
bài thi.
11 LaySoCauHoi ExcelWork
sheet int
Lấy số câu
hỏi có trong
đáp án
12 TinhDiemBaiLam
ExcelWork
sheet,Excel
Worksheet,
int
int Tính điểm bài
làm
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
209
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
2 m_arrCauTN CauTN[] Mảng câu trắc
nghiệm
3 m_WordApp WordApplicationClass Biến ứng dụng Word
4 m_Doc Word.Document Biến tài liệu
Document
5 m_TestParser TestParser Biến xử lý đọc câu
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ú
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
210
1 OpenWordApp Boolean Mở ứng dụng
Word
2 CloseWordApp Đóng ứng
dụng Word
3 OpenWordFile string Mở tập tin
Word
4 CloseWordFile Đóng tập tin
Word
6 DocHetCauTN CauTN[] Đọc tất cả câu
trắc nghiệm
7 RenderForUpdate
CauTN[],B
oolean,Boo
lean,Boole
an,Boolean
,Boolean,st
ring
Kết xuất câu
trắc nghiệm
cho việc cập
nhật.
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
211
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ú
1 m_sTacGia string Biến lưu giá trị
Tác giả mặc định
2 m_sMonHoc string Biến lưu giá trị
Môn học mặc định
3 m_sNoiDung string
Biến lưu giá trị
Nội dung mặc
định
4 m_sNoiDungCon string
Biến lưu giá trị
Nội dung con mặc
định
5 m_sMucTieu string Biến lưu giá trị
Mục tiêu mặc định
6 m_sMucTieuCon string
Biến lưu giá trị
Mục tiêu con mặc
định
7 m_iLoaiCauTN LoaiCauHoiTN
Biến lưu giá trị
Loại câu trắc
nghiệm mặc định
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
212
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ú
1 DocThongTinTong
Quat
WordRang
e
Đọc các thông
tin mặc định
vào các biến
giá trị mặc
định
2 LayGiaTriXML string,Wor
dRange String
Lấy giá trị
dạng XML từ
tập tin Word
3 LayGiaTriText string,Wor
dRange String
Lấy giá trị
text từ tập tin
Word
4 DocPhuongAnTraL
oi
WordRang
e,CauTN
Đọc phương
án trả lời của
câu trắc
nghiệm
Hàm
ảo
5 DocDapAn WordRang
e,CauTN
Đọc đáp án
trả lời của câu
trắc nghiệm
Hàm
ảo
6 LayLoaiCauHoi WordRang
e
LoaiCauHoi
TN
Đọc loại câu
trắc nghiệm
7 DocCauTN WordRang
e CauTN
Đọc 1 câu trắc
nghiệm
8 RenderTestForUpda
te
CauTN,Wo
rdRange,B
oolean,Boo
lean,Boole
an,Boolean
Phát sinh câu
trắc nghiệm
cho việc cập
nhật.
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
213
,Boolean
9 Render_PhuongAn
TraLoi
CauTN,Wo
rdRange
Phát sinh
phương án trả
lời của câu
trắc nghiệm
Hàm
ảo
10 Render_DapAn CauTN,Wo
rdRange
Phát sinh đáp
án của câu
trắc nghiệm
Hàm
ảo
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ú
1 DocPhuongAnTraL
oi
WordRang
e,CauTN
Đọc phương
án trả lời của
câu trắc
nghiệm
Hàm
ảo
2 DocDapAn WordRang
e,CauTN
Đọc đáp án
trả lời cảu câu
trắc nghiệm
Hàm
ảo
3 Render_PhuongAn
TraLoi
CauTN,Wo
rdRange
Phát sinh
phương án trả
lời
Hàm
ảo
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
214
4 Render_DapAn CauTN,Wo
rdRange
Phát sinh đáp
án trả lời
Hàm
ảo
B.2.2.19 Lớp CauTNDungSaiParser
CauTNDungSaiParser : TestParser
DocPhuongAnTraLoi(WordRange,CauTN)
DocDapAn(WordRange,CauTN)
Render_PhuongAnTraLoi(CauTN,WordRange)
Render_DapAn(CauTN,WordRange)
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
215
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ú
1 DocPhuongAnTraL
oi
WordRang
e,CauTN
Đọc phương
án trả lời của
câu trắc
nghiệm
Hàm
ảo
2 DocDapAn WordRang
e,CauTN
Đọc đáp án
trả lời cảu câu
trắc nghiệm
Hàm
ảo
3 Render_PhuongAn
TraLoi
CauTN,Wo
rdRange
Phát sinh
phương án trả
lời
Hàm
ảo
4 Render_DapAn CauTN,Wo
rdRange
Phát sinh đáp
án trả lời
Hàm
ảo
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
216
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
217
Danh sách các biến thành phần:
ST
T
Tên Loại/Kiểu Ý nghĩa Ghi chú
1 LoaiTemplate enum Loại template cần
mở
2 m_WordApp WordApplicatio
nClass
Biến ứng dụng
Word
3 m_Doc WordDocument Biến tài liệu
Document
4 m_iKhoangCachDongGi
ua2Cau int
Khoảng cách tính
theo dòng giữa 2
câu hỏi
5 m_iKhoangCachTab Int
Khoảng cách tab
của phương án trả
lời so với lề trái
6 m_iKieuDanhSoCauHoi int Kiểu đánh số câu
hỏi
7 m_iKieuDanhSoDapAn int Kiểu đánh số đáp
án
8 m_sStartUpPath string Đường dẫn nơi
chứa chương trình
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
218
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ú
1 OpenWordApp Boolean,int
,int,int
Mở ứng dụng
Word
2 CloseWordApp Đóng ứng
dụng Word
3 OpenNewWordFile LoaiTempl
ate
Mở tập tin
Word
4 CloseWordFile string Đóng tập tin
Word
5 RenderTest CauTN[],st
ring,int
Phát sinh câu
trắc nghiệm
6 RenderAnswerTabl
e
CauTN[],st
ring
Phát sinh
bảng trả lời
dành cho thí
sinh
7 RenderAnswerShee
t
CauTN[],st
ring,int
Phát sinh
bảng đáp án
10 XacDinhSoCotCua
Bang CauTN[] int
Xác định số
cột cần thiết
cho các bảng
11 XacDinhSoDongCu
aBang CauTN[] int
Xác định số
dòng cần thiết
cho các bảng
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
219
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ú
1 InsertTest
WordRang
e,CauTN,st
ring,int,int
Thêm vào
câu trắc
nghiệm
2 PhatSinhNoiDungC
auTN
WordRang
e,CauTN,st
ring
Phát sinh
nội dung câu
trắc nghiệm
3 PhatSinhPhuongAn
TraLoi
WordRang
e,CauTN,in
t,int
Phát sinh
phương án
trả lời
Hàm
ảo
B.2.2.22 Lớp CauTNDaLuaChonRender
CauTNDaLuaChonRender : TestRender
PhatSinhPhuongAnTraLoi(WordRange,CauTN,int,int)
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
220
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ú
1 PhatSinhPhuongAn
TraLoi
WordRang
e,CauTN,in
t,int
Phát sinh
phương án
trả lời
Hàm
ảo
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ú
1 PhatSinhPhuongAn
TraLoi
WordRang
e,CauTN,in
t,int
Phát sinh
phương án
trả lời
Hàm
ảo
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,
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
221
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ú
1 sqlConnection SqlConnection Đối tượng kết nối đến
cơ sở dữ liệu
2 dAdapter SqlDataAdapter Đối tượng hỗ trợ đọc
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ú
1 MoKetNoi Mở kết nối đến cơ sở dữ
liệu
2 DongKetNoi Đóng kết nối
3 ThucHienLenh
CapNhat string Lenh
Thực hiện lệnh cập nhật
(insert,update,delete)
4 ThucHienLenh
TruyVan string Lenh DataTable
Thực hiện lệnh truy vấn
dữ liệu (chỉ trả về dữ liệu,
không thể cập nhật trở
lại)
5 ThucHienLenh
TruyVan
SqlCommand,
SqlCommand,
SqlCommand,
SqlCommand
DataTable
Thực hiện lệnh truy vấn
dữ liệu (có thể cập nhật
trở lại cơ sở dữ liệu)
6 CapNhat DataTable Cập nhật trở lại cơ sở dữ
liệu
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
222
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ú
1 ltBang LT_Bang Đối tượng lưu trữ giao tiếp với cơ sở 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ú
1 CapNhat DataTable
Cập nhật danh sách
khối xuống cơ sở dữ
liệu
2 DocDanhSachK
hoi DataTable
Đọc danh sách khối (có
cập nhật)
3 DocDanhSachM
aKhoiTenKhoi DataTable
Đọc danh sách mã, tên
khố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
223
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ú
1 ltBangMonHoc LT_Bang Đối tượng lưu trữ giao tiếp với
cơ sở dữ liệu
2 ltBangKhoi_Mo
nHoc LT_Bang
Đối tượng lưu trữ giao tiếp với
cơ sở 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ú
1 CapNhatMonHo
c DataTable
Cập nhật danh sách
môn học xuống cơ sở
dữ liệu
2 CapNhatKhoi_M
onHoc DataTable
Cập nhật danh sách
khối-môn học xuống cơ
sở dữ liệu
3 DocDanhSachM
onHoc DataTable
Đọc danh sách môn
học (có cập nhật)
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
224
4 DocDanhSachM
aMHTenMH DataTable
Đọc danh sách mã, tên
môn học
5
DocDanhSachM
aKhoiMaMHTen
MH
DataTable
Đọc danh sách mã
khối, mã môn học, tên
môn học
6 DocDanhSachK
hoi_MonHoc DataTable
Đọc danh sách khối-
môn học
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ú
1 ltBang LT_Bang Đối tượng lưu trữ giao tiếp với cơ sở 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ú
1 CapNhat DataTable Cập nhật danh sách tác
giả xuống cơ sở dữ liệu
2 DocDanhSachTa
cGia DataTable
Đọc danh sách tác giả
(có cập nhật)
3 DocDanhSachM
aTGTenTG DataTable
Đọc danh sách mã, tên
tác giả
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
225
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ú
1 ltBangNoiDung
Chinh LT_Bang
Đối tượng lưu trữ giao tiếp với
cơ sở dữ liệu
2 ltBangNoiDung
Chinh LT_Bang
Đối tượng lưu trữ giao tiếp với
cơ sở dữ liệu
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
226
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ú
1 CapNhatNoiDun
gChinh DataTable
Cập nhật nội dung
chính xuống cơ sở dữ
liệu
2 CapNhatNoiDun
gCon DataTable
Cập nhật nội dung con
xuống cơ sở dữ liệu
3 DocDanhSachN
oiDungChinh DataTable
Đọc danh sách nội
dung chính (có cập
nhật)
4 DocDanhSachN
oiDungCon DataTable
Đọc danh sách nội
dung con (có cập nhật)
5
DocDanhSachM
aNDChinhTenN
DChinh
string DataTable
Đọc danh sách mã, tên
nội dung chính theo
môn học
6
DocDanhSachM
aNDConTenND
Con
string DataTable
Đọc danh sách mã, tên
nội dung con theo môn
học
7
DocDanhSachM
aNDChinhTenN
DChinh
DataTable Đọc danh sách mã, tên
nội dung chính
8
DocDanhSachM
aNDConTenND
Con
DataTable Đọc danh sách mã, tên
nội dung con
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
227
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ú
1 ltBangMucTieu
Chinh LT_Bang
Đối tượng lưu trữ giao tiếp với
cơ sở dữ liệu
2 ltBangMucTieu
Chinh LT_Bang
Đối tượng lưu trữ giao tiếp với
cơ sở 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ú
1 CapNhatMucTie
uChinh DataTable
Cập nhật mục tiêu
chính xuống cơ sở dữ
liệu
2 CapNhatMucTie
uCon DataTable
Cập nhật mục tiêu con
xuống cơ sở dữ liệu
3 DocDanhSachM
ucTieuChinh DataTable
Đọc danh sách mục
tiêu chính (có cập nhật)
4 DocDanhSachM DataTable Đọc danh sách mục
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
228
ucTieuCon tiêu con (có cập nhật)
5
DocDanhSachM
aMTChinhTenM
TChinh
DataTable Đọc danh sách mã, tên
mục tiêu chính
6
DocDanhSachM
aMTConTenMT
Con
DataTable Đọc danh sách mã, tên
mục tiêu 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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
229
Danh sách các biến thành phần:
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 ltBang LT_Bang Đối tượng lưu trữ giao tiếp với cơ sở 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ú
1 MoKetNoi Mở kết nối đến cơ sở
dữ liệu
2 DongKetNoi Đóng kết nối
3 Them
string,strin
g,string,in
t,float,floa
t,int
MaTGBS,
int[] ,int[],
PhuongAn
TraLoi[]
Thêm câu trắc nghiệm
đa lựa chọn vào cơ sở
dữ liệu
4 CapNhat
string,strin
g,string,in
t,float,floa
t,int[],int[]
,PhuongA
nTraLoi[]
Cập nhật câu trắc
nghiệm đa lựa chọn
5
CapNhatDoKho
DoPhanCachSoL
anXuatHien
string,floa
t,float
Cập nhật độ khó, độ
phân cách, số lần xuất
hiện câu trắc nghiệm đa
lựa chọn
6 XoaPhuongAnTr string Xóa các phương án trả
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
230
aLoi lời của câu trắc nghiệm
đa lựa chọn
7 Xoa string Xóa câu trắc nghiệm đa
lựa chọn
8 XoaCauHoiTheo
TacGia int
Xóa câu trắc nghiệm đa
lựa chọn theo tác giả
9 XoaCauHoiTheo
MonHoc int
Xóa câu trắc nghiệm đa
lựa chọn theo môn học
10 XoaCauHoiTheo
NoiDungChinh int,int
Xóa câu trắc nghiệm đa
lựa chọn theo nội dung
môn học chính
11 XoaCauHoiTheo
NoiDungCon int,int,int
Xóa câu trắc nghiệm đa
lựa chọn theo nội dung
môn học con
12 XoaCauHoiTheo
MucTieuChinh int
Xóa câu trắc nghiệm đa
lựa chọn theo mục tiêu
môn học chính
13 XoaCauHoiTheo
MucTieuCon int,int
Xóa câu trắc nghiệm đa
lựa chọn theo mục tiêu
môn học con
14
DocDanhSachCa
uHoiTheoYeuCa
u
YeuCau DataTable
Đọc danh sách câu trắc
nghiệm đa lựa chọn
theo yêu cầu
15 DocDanhSachPh
uongAnTraLoi string DataTable
Đọc danh sách phương
án trả lời
16 TimKiemCauHo
i
TieuChua
nTimKie
m
DataTable Tìm kiếm câu trắc
nghiệm đa lựa chọn
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
231
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
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
232
Danh sách các biến thành phần:
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 ltBang LT_Bang Đối tượng lưu trữ giao tiếp với cơ sở 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ú
1 Them
string,strin
g,string,in
t,float,floa
t,int
MaTGBS,
int[] ,int[]
Thêm câu trắc nghiệm
đúng-sai vào cơ sở dữ
liệu
2 CapNhat
string,strin
g,string,in
t,float,floa
t,int[],int[]
,PhuongA
nTraLoi[]
Cập nhật câu trắc
nghiệm đúng-sai
3
CapNhatDoKho
DoPhanCachSoL
anXuatHien
string,floa
t,float
Cập nhật độ khó, độ
phân cách, số lần xuất
hiện câu trắc nghiệm
đúng-sai
4 Xoa string Xóa câu trắc nghiệm
đúng-sai
5 XoaCauHoiTheo
TacGia int
Xóa câu trắc nghiệm
đúng-sai theo tác giả
6 XoaCauHoiTheo
MonHoc int
Xóa câu trắc nghiệm
đúng-sai theo môn học
Xây dựng phần mềm quản lý ngân hàng câu hỏi trắc nghiệm tuyển sinh đại học
233
7 XoaCauHoiTheo
NoiDungChinh int,int
Xóa câu trắc nghiệm
đúng-sai theo nội dung
môn học chính
8 XoaCauHoiTheo
NoiDungCon int,int,int
Xóa câu trắc nghiệm
đúng-sai theo nội dung
môn học con
9 XoaCauHoiTheo
MucTieuChinh int
Xóa câu trắc nghiệm
đúng-sai theo mục tiêu
môn học chính
10 XoaCauHoiTheo
MucTieuCon int,int
Xóa câu trắc nghiệm
đúng-sai theo mục tiêu
môn học con
11
DocDanhSachCa
uHoiTheoYeuCa
u
YeuCau DataTable
Đọc danh sách câu trắc
nghiệm đúng-sai theo
yêu cầu
12 TimKiemCauHo
i
TieuChua
nTimKie
m
DataTable Tìm kiếm câu trắc
nghiệm đúng sai