237
TRƯỜNG ĐẠI HC KHOA HC TNHIÊN KHOA CÔNG NGHTHÔNG TIN BMÔN CÔNG NGHPHN MM VŨ MNH HOÀNG HI - NGUYN ĐÌNH NGC DUY XÂY DNG PHN MM QUN LÝ NGÂN HÀNG CÂU HI TRC NGHIM TUYN SINH ĐẠI HC KHÓA LUN CNHÂN TIN HC TP. HCM, 2005

Ql ngân hàng và trắc nghiệm đề thi đại học

Embed Size (px)

Citation preview

Page 1: Ql ngân hàng và trắc nghiệm đề thi đại học

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

Page 2: Ql ngân hàng và trắc nghiệm đề thi đại học

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

Page 3: Ql ngân hàng và trắc nghiệm đề thi đại học

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

Page 4: Ql ngân hàng và trắc nghiệm đề thi đại học

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

Page 5: Ql ngân hàng và trắc nghiệm đề thi đại học

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

Page 6: Ql ngân hàng và trắc nghiệm đề thi đại học

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.

Page 7: Ql ngân hàng và trắc nghiệm đề thi đại học

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

Page 8: Ql ngân hàng và trắc nghiệm đề thi đại học

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

Page 9: Ql ngân hàng và trắc nghiệm đề thi đại học

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

Page 10: Ql ngân hàng và trắc nghiệm đề thi đại học

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

Page 11: Ql ngân hàng và trắc nghiệm đề thi đại học

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

Page 12: Ql ngân hàng và trắc nghiệm đề thi đại học

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

Page 13: Ql ngân hàng và trắc nghiệm đề thi đại học

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

Page 14: Ql ngân hàng và trắc nghiệm đề thi đại học

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

Page 15: Ql ngân hàng và trắc nghiệm đề thi đại học

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

Page 16: Ql ngân hàng và trắc nghiệm đề thi đại học

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

Page 17: Ql ngân hàng và trắc nghiệm đề thi đại học

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

Page 18: Ql ngân hàng và trắc nghiệm đề thi đại 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

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 :

Page 19: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 20: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 21: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 22: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 23: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 24: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 25: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 26: Ql ngân hàng và trắc nghiệm đề thi đại 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

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í

Page 27: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 28: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ì độ

Page 29: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ó

Page 30: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 31: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 32: Ql ngân hàng và trắc nghiệm đề thi đại 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

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):

Page 33: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 34: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ể)

Page 35: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ố đó.

Page 36: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 37: Ql ngân hàng và trắc nghiệm đề thi đại 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

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:

Page 38: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ờ.

Page 39: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 40: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 41: Ql ngân hàng và trắc nghiệm đề thi đại 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

Page 42: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 43: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 44: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 45: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 46: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 47: Ql ngân hàng và trắc nghiệm đề thi đại 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

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 _

Page 48: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 49: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 50: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 51: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 52: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 53: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 54: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

σσ∑

Page 55: Ql ngân hàng và trắc nghiệm đề thi đại 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

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)

Page 56: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 57: Ql ngân hàng và trắc nghiệm đề thi đại 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

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]

Page 58: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 59: Ql ngân hàng và trắc nghiệm đề thi đại 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

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 :

Page 60: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 61: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 62: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 63: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ụ

Page 64: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ể

Page 65: Ql ngân hàng và trắc nghiệm đề thi đại 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

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)

Page 66: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 67: Ql ngân hàng và trắc nghiệm đề thi đại 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

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 :

Page 68: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 69: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 70: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 71: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 72: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 73: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 74: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 75: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 76: Ql ngân hàng và trắc nghiệm đề thi đại 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

72

4.3.3 Trộn đề thi

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

Page 77: Ql ngân hàng và trắc nghiệm đề thi đại 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

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).

Page 78: Ql ngân hàng và trắc nghiệm đề thi đại 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

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).

Page 79: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 80: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 81: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 82: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 83: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 84: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 85: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 86: Ql ngân hàng và trắc nghiệm đề thi đại 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

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 ∑∑−∑

Page 87: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 88: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 89: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 90: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 91: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 92: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 93: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 94: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 95: Ql ngân hàng và trắc nghiệm đề thi đại 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

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>

Page 96: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 97: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 98: Ql ngân hàng và trắc nghiệm đề thi đại 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

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á

Page 99: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ụ .

Page 100: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ụ.

Page 101: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 102: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 103: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 104: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 105: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 106: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 107: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 108: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 109: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 110: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 111: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ử

Page 112: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 113: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 114: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 115: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 116: Ql ngân hàng và trắc nghiệm đề thi đại 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

Page 117: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 118: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 119: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 120: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 121: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 122: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 123: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 124: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 125: Ql ngân hàng và trắc nghiệm đề thi đại 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

Page 126: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 127: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 128: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ả

Page 129: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 130: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 131: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 132: Ql ngân hàng và trắc nghiệm đề thi đại 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

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:

Page 133: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 134: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 135: Ql ngân hàng và trắc nghiệm đề thi đại 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

Page 136: Ql ngân hàng và trắc nghiệm đề thi đại 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

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:

Page 137: Ql ngân hàng và trắc nghiệm đề thi đại 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

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,

Page 138: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 139: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 140: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 141: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 142: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 143: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 144: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 145: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 146: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ờ

Page 147: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 148: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 149: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 150: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ũ

Page 151: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ờ

Page 152: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 153: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 154: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 155: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 156: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 157: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 158: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 159: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 160: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 161: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ú

Page 162: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 163: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 164: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 165: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 166: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 167: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 168: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 169: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 170: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 171: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 172: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 173: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 174: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 175: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 176: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 177: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 178: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 179: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 180: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 181: Ql ngân hàng và trắc nghiệm đề thi đại 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

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[]

Page 182: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 183: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 184: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 185: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 186: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 187: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 188: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 189: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 190: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 191: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 192: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 193: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 194: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 195: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 196: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 197: Ql ngân hàng và trắc nghiệm đề thi đại 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

193

DocDanhSachMaMHTenMH(): DataTable

CapNhatMonHoc()

CapNhatKhoi_MonHoc()

XoaKhoi_MonHocTheoKhoi()

XoaKhoi_MonHocTheoMonHoc()

XoaKhoi_MonHoc()

ThemKhoi_MonHoc()

LaMonHocThuocKhoi(): Boolean

TimKhoi_MonHoc(): DataRow

TimMaMHTheoTen(string): int

TaoBanSao()

XoaCauHoiTheoMonHocBiXoa()

Page 198: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 199: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 200: Ql ngân hàng và trắc nghiệm đề thi đại 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

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()

Page 201: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 202: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 203: Ql ngân hàng và trắc nghiệm đề thi đại 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

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()

Page 204: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 205: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 206: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ả

Page 207: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 208: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 209: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 210: Ql ngân hàng và trắc nghiệm đề thi đại 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

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()

Page 211: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 212: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 213: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ú

Page 214: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 215: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 216: Ql ngân hàng và trắc nghiệm đề thi đại 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

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.

Page 217: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 218: Ql ngân hàng và trắc nghiệm đề thi đại 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

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)

Page 219: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 220: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 221: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 222: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 223: Ql ngân hàng và trắc nghiệm đề thi đại 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

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)

Page 224: Ql ngân hàng và trắc nghiệm đề thi đại 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

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,

Page 225: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 226: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 227: Ql ngân hàng và trắc nghiệm đề thi đại 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

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)

Page 228: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ả

Page 229: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 230: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 231: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 232: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 233: Ql ngân hàng và trắc nghiệm đề thi đại 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

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ả

Page 234: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 235: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 236: Ql ngân hàng và trắc nghiệm đề thi đại 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

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

Page 237: Ql ngân hàng và trắc nghiệm đề thi đại 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