SlideShare a Scribd company logo
1 of 123
Download to read offline
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
NGUYỄN QUỐC BẢO - NGUYỄN PHÚ CƯỜNG
PHẦN MỀM THIẾT KẾ VÀ CHẤM ĐIỂM
TỰ ĐỘNG BIỂU MẪU THI TRẮC NGHIỆM
KHÓA LUẬN CỬ NHÂN TIN HỌC
TP. HCM, 2005
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
NGUYỄN QUỐC BẢO - 0112172
NGUYỄN PHÚ CƯỜNG - 0112177
PHẦN MỀM THIẾT KẾ VÀ CHẤM ĐIỂM
TỰ ĐỘNG BIỂU MẪU THI TRẮC NGHIỆM
KHÓA LUẬN CỬ NHÂN TIN HỌC
GIÁO VIÊN HƯỚNG DẪN
Th.s TRẦN ĐỨC DUẨN
NIÊN KHÓA 2001 - 2005
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
LỜI CẢM ƠN
Chúng em xin cảm ơn Khoa Công Nghệ Thông Tin, trường Đại Học Khoa
Học Tự Nhiên TPHCM đã tạo rất nhiều điều kiện thuận lợi cho chúng em thực hiện
đề tài này.
Chúng em cũng xin được gửi lời cảm ơn chân thành nhất đến thầy Trần Đức
Duẩn, người đã luôn tận tình chỉ bảo và hướng dẫn nhóm chúng em trong suốt thời
gian nghiên cứu vừa qua.
Bên cạnh đó, chúng em cũng rất cảm ơn các Thầy Cô trong Khoa đã tận tình
giảng dạy và trang bị cho chúng em thật nhiều kiến thức bổ ích trong các năm học
vừa qua, góp phần rất lớn vào việc nghiên cứu thành công luận văn này.
Ngoài ra cũng xin được gửi lời cảm ơn đến hai bạn Phạm Thị Minh Chung
(0112054) và Nguyễn Ngọc Duy Quang (0112194) trong việc đã hỗ trợ các trang
thiết bị cần thiết cho quá trình thực hiện đề tài.
Cuối cùng, chúng em xin gửi lòng biết ơn sâu sắc đến cha mẹ chúng em, các
bậc sinh thành đã có công nuôi dưỡng và dạy dỗ cho chúng em đến ngày hôm nay,
những người đã luôn hết lòng tận tụy chăm sóc, ủng hộ và động viên chúng em
trong lúc khó khăn cũng như trong suốt thời gian học tập và nghiên cứu.
Dù đã cố gắng hoàn thành thật tốt luận văn trong phạm vi yêu cầu, nhưng
chúng em biết có những thiếu sót chắc chắn không thể tránh khỏi. Chúng em mong
sẽ nhận được sự thông cảm và tận tình chỉ bảo của quý Thầy Cô và các bạn.
TP.Hồ Chí Minh, tháng 7 năm 2005
Nhóm sinh viên thực hiện:
Nguyễn Phú Cường - Nguyễn Quốc Bảo
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 1 -
MỤC LỤC
MỤC LỤC..................................................................................................................1
DANH MỤC CÁC HÌNH.........................................................................................5
DANH MỤC CÁC BẢNG ........................................................................................7
LỜI MỞ ĐẦU............................................................................................................9
Chương 1: TỔNG QUAN.......................................................................................11
1.1 Yêu cầu thực tế và lý do thực hiện đề tài: .......................................................11
1.2 Mục tiêu của đề tài:.........................................................................................12
1.3 Giải pháp hiện có:...........................................................................................12
1.4 Hướng tiếp cận của luận văn ..........................................................................13
1.5 Nội dung thực hiện của đề tài: ........................................................................14
Chương 2: CƠ SỞ LÝ THUYẾT...........................................................................16
2.1 Lý thuyết cho phần thiết kế biễu mẫu thi trắc nghiệm: ...................................17
2.1.1 Phân tích các thành phần trên biểu mẫu trắc nghiệm: ..............................17
2.1.2 Tổ chức dữ liệu để biểu diễn và lưu trữ biểu mẫu....................................22
2.2 Lý thuyết cho phần chấm điểm tự động: .........................................................24
2.2.1 Tóm tắt quá trình thực hiện của phần chấm điểm tự động.......................24
2.2.2 Sơ Lược Các Lý Thuyết Về Xử Lý Ảnh Và Nhận Dạng .........................27
2.2.2.1 Xử lý ảnh:...........................................................................................27
2.2.2.1.1 Các thao tác xử lý ảnh cơ bản:...................................................27
2.2.2.1.2 Tô màu bằng thuật toán dựa theo dòng quét cải tiến ................28
2.2.2.2 Nhận dạng:.........................................................................................32
2.2.2.2.1 Nhận dạng bốn góc của bài thi bằng thuật toán Hough
Transform..................................................................................................32
2.2.2.2.2 Kiểm tra vùng tô ........................................................................39
2.2.2.2.3 Mạng nơ ron và ứng dụng vào nhận dạng chữ viết tay in..........42
Chương 3: THIẾT KẾ CHƯƠNG TRÌNH...........................................................45
3.1 PHÂN TÍCH: ...................................................................................................45
3.2 XÁC ĐỊNH YÊU CẦU:....................................................................................46
3.3 XÂY DỰNG MÔ HÌNH USE-CASE:...............................................................47
3.3.1 Xác định Actor và Use-Case: ...................................................................47
3.3.2 Mô hình Use-case: ....................................................................................47
3.3.3 Đặc tả Use-case: .......................................................................................48
3.3.3.1 THIETKEBIEUMAU:.......................................................................48
3.3.3.1.1 TAOMOI:...................................................................................49
3.3.3.1.2 SUABIEUMAU:........................................................................49
3.3.3.1.3 CHONDOITUONG:..................................................................50
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 2 -
3.3.3.1.4 THEMDOITUONGCOBAN:....................................................50
3.3.3.1.4 THEMDOITUONGDOHOA:....................................................50
3.3.3.1.5 XOADOITUONG:.....................................................................51
3.3.3.1.6 CAPNHATDOITUONG:...........................................................51
3.3.3.2 SOANDAPAN:..................................................................................52
3.3.3.2.1 THEMDAPAN: .........................................................................53
3.3.3.2.2 CAPNHATDAPAN:..................................................................53
3.3.3.2.3 XOADAPAN: ............................................................................54
3.3.3.3 CHAMDIEM: ....................................................................................54
3.3.3.4 QUANLYKYTHI: .............................................................................55
3.3.3.4.1 THEMKYTHI:...........................................................................56
3.3.3.4.2 CAPNHATKYTHI: ...................................................................56
3.3.3.4.3 XOAKYTHI: .............................................................................57
3.3.3.5 QUANLYTHISINH:..........................................................................57
3.3.3.5.1 THEMTHISINH: .......................................................................58
3.3.3.5.2 CAPNHATTHISINH:................................................................58
3.3.3.5.3 XOATHISINH:..........................................................................59
3.3.3.6 QUANLYMONHOC:........................................................................60
3.3.3.6.1 THEMMONHOC: .....................................................................60
3.3.3.6.2 CAPNHATMONHOC:..............................................................61
3.3.3.6.3 XOAMONHOC: ........................................................................61
3.3.3.7 QUANLYBAILAM:..........................................................................62
3.3.3.6.1 THEMMONHOC: .....................................................................63
3.3.3.6.2 CAPNHATMONHOC:..............................................................63
3.3.3.6.3 XOAMONHOC: ........................................................................63
3.4 SƠ ĐỒ LỚP:....................................................................................................64
3.4.1 Sơ đồ:........................................................................................................64
3.4.2 Mô tả một số lớp chính:............................................................................67
3.4.2.1 Lớp Entity: .........................................................................................67
3.4.2.2 Lớp Text:............................................................................................68
3.4.2.3 Lớp TextCell:.....................................................................................69
3.4.2.4 Lớp TextField: ...................................................................................70
3.4.2.5 Lớp ChoiceElement: ..........................................................................71
3.4.2.6 Lớp Choice:........................................................................................72
3.4.2.7 Lớp AnswerCell:................................................................................72
3.4.2.8 Lớp AnswerSheet:..............................................................................74
3.4.2.9 Lớp Line:............................................................................................75
3.4.2.10 Lớp Rect:..........................................................................................76
3.4.2.11 Lớp Ellipse:......................................................................................77
3.4.2.12 Lớp ImageObj:.................................................................................78
3.4.2.13 Lớp Page: .........................................................................................78
3.4.2.14 Lớp Key: ..........................................................................................79
3.4.2.15 Lớp AnswerKey:..............................................................................80
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 3 -
3.4.2.16 Lớp Rate:..........................................................................................81
3.4.2.17 Lớp Estimation:................................................................................81
3.4.2.18 Lớp Sentence:...................................................................................82
3.4.2.19 Lớp Answer:.....................................................................................83
3.4.2.20 Lớp Recognition: .............................................................................83
3.5 Thiết kế cơ sở dữ liệu: .....................................................................................84
3.5.1 Sơ đồ:........................................................................................................84
3.5.2 Mô tả các bảng:.........................................................................................85
3.5.2.1 MauThi:..............................................................................................85
3.5.2.2 KyThi: ................................................................................................89
3.5.2.3 MonThi: .............................................................................................89
3.5.2.4 DeThi: ................................................................................................90
3.5.2.5 BaiLam:..............................................................................................91
3.5.2.6 ThiSinh:..............................................................................................92
3.6 Thiết kế giao diện một số màn hình chính: .....................................................92
3.6.1 Màn hình thiết kế biểu mẫu:.....................................................................92
3.6.2 Màn hình chấm điểm: ...............................................................................93
3.7 Cài đặt:............................................................................................................94
Chương 4: THỰC NGHIỆM, ĐÁNH GIÁ VÀ TỔNG KẾT..............................95
4.1 Thực nghiệm:...................................................................................................95
4.2 Kết quả.............................................................................................................95
4.2.1 Phần thiết kế các biểu mẫu: ......................................................................95
4.2.2 Phần chấm điểm tự động: .......................................................................100
4.3 Đánh giá........................................................................................................101
4.4 Kết luận .........................................................................................................102
4.5 Hướng phát triển:..........................................................................................102
PHỤ LỤC...............................................................................................................104
PL.1 Các thao tác xử lý ảnh cơ bản:...................................................................104
PL.1.1 Làm xám ảnh:......................................................................................104
PL.1.2 Chuyển sang ảnh nhị phân ...................................................................106
PL.1.3 Xoay ảnh. .............................................................................................108
PL.1.4 Biến đổi tỉ lệ ảnh (Scale)......................................................................110
PL.2 Lý thuyết về mạng nơron ............................................................................111
PL.2.1 Đặt vấn đề ............................................................................................111
PL.2.2 Định nghĩa............................................................................................111
PL.2.3 Sơ lược cấu tạo của mạng nơron..........................................................111
PL.2.4 Quá trình ánh xạ và quá trình học của mạng nơ ron............................112
PL.2.4.1 Quá trình ánh xạ ............................................................................112
PL.2.4.2 Quá trình học.................................................................................113
PL.2.4.3 Lan truyền ngược sai số ................................................................114
PL.2.5 Hàm truyền...........................................................................................115
PL.2.6 Khởi tạo trọng ......................................................................................116
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 4 -
PL.2.7 Vấn đề quá khớp ..................................................................................116
TÀI LIỆU THAM KHẢO ....................................................................................118
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 5 -
DANH MỤC CÁC HÌNH
Hình 2-1: Mô hình chung cho toàn bộ phần mềm ...............................................16
Hình 2-2 : Mẫu bài thi TOEFL..............................................................................18
Hình 2-3: Mẫu thi của kỳ thi sát hạch Nhật Bản .................................................19
Hình 2-4: Phần văn bản trong đề thi mẫu ............................................................20
Hình 2-5: Phần ghi tên thí sinh trong đề thi mẫu ................................................21
Hình 2-6: Phần ghi mã số thí sinh trong đề thi mẫu............................................21
Hình 2-7: Phần lựa chọn giới tính trong đề thi mẫu............................................21
Hình 2-8: Phần trả lời câu hỏi của thí sinh trong đề thi mẫu.............................22
Hình 2-9: Sơ đồ tóm tắt quá trình chấm thi .........................................................27
Hình 2-10: quá trình thực hiện của thuật toán tô màu dựa theo đường biên...29
Hình 2-11..................................................................................................................30
Hình 2-12..................................................................................................................31
Hình 2-13..................................................................................................................31
Hình 2-14..................................................................................................................32
Hình 2-15..................................................................................................................35
Hình 2-16..................................................................................................................36
Hình 2-17..................................................................................................................37
Hình 2-18..................................................................................................................37
Hình 2-19: khi chưa được tô ..................................................................................39
Hình 2-20: các dạng sau khi đã tô .........................................................................39
Hình 2-21: ảnh cần kiểm tra tô được phân thành 3 vùng ...................................40
Hình 2-22: cấu tạo của mạng nơ ron được áp dụng cho đề tài...........................43
Hình 3-1: Mô hình Use-Case..................................................................................48
Hình 3-2: Sơ đồ lớp xử lý chính.............................................................................65
Hình 3-3: Sơ đồ lớp truy cập cơ sở dữ liệu:..........................................................65
Hinh 3-4: CellStyle: Char.......................................................................................69
Hinh 3-5: CellStyle: Number..................................................................................69
Hinh 3-6: CellStyle: All...........................................................................................69
Hinh 3-7: AnswerStyles - Vertical .........................................................................73
Hinh 3-8: AnswerStyle - Vertical...........................................................................73
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 6 -
Hình 3-9: Mô hình cơ sở dữ liệu ............................................................................85
Hình 3-10: Màn hình thiết kế biểu mẫu................................................................93
Hình 3-11 : Màn hình chấm điểm tự động............................................................94
Hình 4.1: mẫu thi Institutional TOEFL thực tế...................................................96
Hình 4-2: mẫu TOEFL được thiết kết bởi chương trình ....................................97
Hình 4-3: Mẫu của kỳ thi sát hạch chuẩn kỹ sư Nhật Bản. ................................98
Hình 4-4: Mẫu đề thi Mạng không dây và an ninh mạng ...................................99
Hình PL-1: ảnh trước khi được làm xám ...........................................................105
Hình PL-2: ảnh sau khi được làm xám...............................................................105
Hình PL-3: ảnh xám trước khi được chuyển thành ảnh nhị phân...................107
Hình PL-4: ảnh sau khi chuyển thành ảnh nhị phân với ngưỡng là 128.........107
Hình PL-5: Bài thi trong file ảnh bị lệch. ...........................................................108
Hình PL-6: Bài thi sau khi xoay sẽ không còn bị lệch. ......................................109
Hình PL-7: ảnh trước khi biến đổi tỉ lệ...............................................................110
Hình PL-8: ảnh sau khi biến đổi tỉ lệ còn 60% so với ảnh ban đầu.................110
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 7 -
DANH MỤC CÁC BẢNG
Bảng 3-1: Danh sách các lớp trong sơ đồ lớp .......................................................67
Bảng 3-2: Danh sách thuộc tính lớp Entity...........................................................67
Bảng 3-3: Danh sách phương thức lớp Entity......................................................68
Bảng 3-4: Danh sách thuộc tính lớp Text .............................................................68
Bảng 3-5: Danh sách phương thức lớp Text.........................................................69
Bảng 3-6: Danh sách thuộc tính lớp TextCell.......................................................69
Bảng 3-7: Danh sách phương thức lớp TextCell..................................................70
Bảng 3-8: Danh sách thuộc tính lớp TextField.....................................................70
Bảng 3-9: Danh sách phương thức lớp TextField ................................................71
Bảng 3-10: Danh sách thuộc tính lớp ChoiceElement .........................................71
Bảng 3-11: Danh sách phương thức lớp ChoiceElement.....................................72
Bảng 3-12: Danh sách thuộc tính lớp Choice .......................................................72
Bảng 3-13: Danh sách phương thức lớp Choice...................................................72
Bảng 3-14: Danh sách thuộc tính lớp AnswerCell ...............................................73
Bảng 3-15: Danh sách phương thức lớp AnswerCell...........................................74
Bảng 3-16: Danh sách thuộc tính lớp AnswerSheet.............................................74
Bảng 3-17: Danh sách phương thức lớp AnswerSheet ........................................75
Bảng 3-18: Danh sách thuộc tính lớp Line ...........................................................75
Bảng 3-19: Danh sách phương thức lớp Line.......................................................76
Bảng 3-20: Danh sách thuộc tính lớp Rect ...........................................................76
Bảng 3-21: Danh sách phương thức lớp Rect.......................................................77
Bảng 3-22: Danh sách thuộc tính lớp Ellipse........................................................77
Bảng 3-23: Danh sách phương thức lớp Ellipse...................................................78
Bảng 3-24: Danh sách thuộc tính lớp ImageObj..................................................78
Bảng 3-25: Danh sách phương thức lớp ImageObj .............................................78
Bảng 3-26: Danh sách thuộc tính lớp Page...........................................................79
Bảng 3-27: Danh sách phương thức lớp Page ......................................................79
Bảng 3-28: Danh sách thuộc tính lớp Key ............................................................79
Bảng 3-29: Danh sách phương thức lớp Key........................................................80
Bảng 3-30: Danh sách thuộc tính lớp AnswerKey ...............................................80
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 8 -
Bảng 3-31: Danh sách phương thức lớp AnswerKey...........................................80
Bảng 3-32: Danh sách thuộc tính lớp Rate ...........................................................81
Bảng 3-33: Danh sách phương thức lớp Rate.......................................................81
Bảng 3-34: Danh sách thuộc tính lớp Estimation.................................................82
Bảng 3-35: Danh sách phương thức lớp Estimation............................................82
Bảng 3-36: Danh sách thuộc tính lớp Sentence....................................................82
Bảng 3-37: Danh sách phương thức lớp Sentence................................................83
Bảng 3-38: Danh sách thuộc tính lớp Answer......................................................83
Bảng 3-39: Danh sách phương thức lớp Answer..................................................83
Bảng 3-40: Danh sách thuộc tính lớp Recognition...............................................84
Bảng 3-41: Danh sách phương thức lớp Recognition ..........................................84
Bảng 3-42: Danh sách các trường trong bảng MauThi.......................................85
Bảng 3-43: Danh sách các trường trong bảng KyThi..........................................89
Bảng 3-44: Danh sách các trường trong bảng MonThi.......................................90
Bảng 3-45: Danh sách các trường trong bảng DeThi ..........................................90
Bảng 3-46: Danh sách các trường trong bảng BaiLam.......................................91
Bảng 3-47: Danh sách các trường trong bảng ThiSinh.......................................92
Bảng 4-1 : So sánh chấm bằng tay và chấm bằng máy......................................101
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 9 -
LỜI MỞ ĐẦU
Hiện nay thi trắc nghiệm là một hình thức thi rất phổ biến tại các nước trên
thế giới. Nhờ vào đặc điểm luôn có sự rõ ràng của đáp án mà những tranh cãi nhọc
nhằn trong việc tính điểm được giảm đi rất nhiều. Điều này dẫn đến việc nâng cao
tính chính xác, khách quan trong việc đưa ra kết quả bài thi. Bên cạnh đó thời gian
để chấm từng bài thi trắc nghiệm là tương đối nhanh, cho nên sẽ làm tăng tính hiệu
quả trong việc tổ chức thi cử. Hình thức thi trắc nghiệm thường được áp dụng cho
các môn học thuộc lĩnh vực khoa học tự nhiên, các môn ngoại ngữ, tức những dạng
kiến thức không đòi hỏi ở khả năng tự luận.
Do đó, nền giáo dục của nước ta hiện nay đã ý định chuyển những môn thi
có thể sang hình thức trắc nghiệm vào năm 2007, 2008. Đối với Khoa Công Nghệ
Thông Tin cùng những Khoa khác của trường Đại Học Khoa Học Tự Nhiên TP.
HCM cũng vậy, việc chuyển đổi những môn thi thích hợp sang thi trắc nghiệm là
một quy luật tất yếu, nhằm có thể đánh giá chính xác hơn kiến thức của sinh viên
(tuy rằng đã có một số môn được áp dụng sang thi trắc nghiệm - chẳng hạn như
tiếng Anh, Hợp Ngữ...).
Mặc dù đã được ghi nhận nhiều về những ích lợi như vậy, thế nhưng, hình
thức thi này đến nay vẫn chưa thể được áp dụng rộng rãi tại Việt Nam. Các giải
pháp – bao gồm bộ thiết bị chuyên dụng và phần mềm đi kèm – thường có giá thành
khá cao, chỉ thích hợp cho các kỳ thi lớn và quan trọng. Ngoài ra, còn phải kể đến
sự cứng nhắc trong định dạng của các mẫu bài thi. Điều này có nghĩa rằng mẫu thi
phải cố định, đối với mỗi thiết bị chấm chỉ dùng được cho các mẫu có sẵn của riêng
thiết bị đó mà thôi.
Từ những bất cập như trên, giải pháp được luận văn lựa chọn là tận dụng các
thiết bị thường thấy trong điều kiện Việt Nam để áp dụng vào việc thi trắc nghiệm.
Đó chính là những chiếc máy tính cá nhân, máy scan đang được sử dụng rộng rãi
hàng ngày trong từng công sở, trường học, thậm chí ngay cả các hộ gia đình. Chúng
sẽ đóng vai trò như những thiết bị đầu vào và xử lý cho quá trình chấm thi. Khi sử
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 10 -
dụng các thiết bị này, hình thức thi trắc nghiệm sẽ giảm được giá thành, cũng như
tăng thêm tính khả dụng, khi có thể áp dụng tại hầu hết mọi nơi tại Việt Nam.
Luận văn này gồm 4 chương có nội dung như sau:
o Chương 1. Tổng quan: giới thiệu bối cảnh, lý do thực hiện đề tài cũng
như các giải pháp hiện thời có liên quan, từ đó rút ra hướng tiếp cận của
luận văn để thực hiện đề tài.
o Chương 2. Cơ sở lý thuyết: trình bày sơ lược về các lý thuyết của xử lý
ảnh, của mạng nơron, cũng như ứng dụng của chúng trong đề tài.
o Chương 3. Thiết kế phần mềm: tài liệu phân tích và thiết kế chương
trình.
o Chương 4. Thực nghiệm, đánh giá và tổng kết: nêu đánh giá về toàn bộ
đề tài, trình bày những kết quả đã đạt được cũng như các hạn chế của đề
tài, từ đó đề xuất những hướng nghiên cứu trong tương lai.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 11 -
Chương 1: TỔNG QUAN
1.1 Yêu cầu thực tế và lý do thực hiện đề tài:
Trong những năm gần đây, việc thi cử luôn là một chủ đề thời sự rất được
quan tâm. Chuyện gian lận quay cóp trong các kỳ thi, kết quả điểm thi không chính
xác, thường theo ý kiến chủ quan của người chấm thi dẫn đến việc khiếu kiện, đáp
án kỳ thi tuyển sinh không nhất quán, rõ ràng, v.v..., hầu như năm nào cũng xảy ra,
gây nhiều bức xúc. Do đó, nhu cầu cần có một phương pháp thi – chủ yếu áp dụng
với các môn khoa học tự nhiên - cho kết quả chính xác hơn được đặt ra.
Trong bối cảnh đó, thi trắc nghiệm - dạng thi mà mỗi bài thi có một đáp án rõ
ràng kèm theo – là một giải pháp được nhắc đến. Đối với một kỳ thi trắc nghiệm
được tổ chức và quản lý tốt, minh bạch, kết quả thi của thí sinh sẽ khách quan,
không còn phụ thuộc nhiều vào người chấm bài nữa. Ngoài ra, việc chấm thi sẽ mau
lẹ.
Tuy nhiên, câu hỏi lại được đặt ra rằng: khi phương pháp thi trắc nghiệm có
những ưu điểm như vậy nhưng tại sao vẫn chưa được phổ biến ở Việt Nam. Bộ
Giáo Dục Việt Nam đã từng có ý định chuyển các môn thi thích hợp trong kỳ thi
tuyển sinh đại học sang hình thức thi trắc nghiệm, thế rồi đã phải dời lại cho đến tận
năm 2008, cột mốc mà đến giờ hiện vẫn còn chưa chắc chắn. Ngay như Khoa Công
Nghệ Thông Tin của trường Khoa Học Tự Nhiên của chúng ta, tuy đã áp dụng ở
một số môn như Tiếng Anh, Hợp Ngữ..., thi trắc nghiệm vẫn còn tương đối xa lạ.
Sau khi phân tích đi tìm các nguyên nhân, ta nhận thấy rằng dù đã từng áp
dụng thi trắc nghiệm ở một số môn tại nhiều nơi, thế nhưng nước ta vẫn còn thực
hiện cách thức chấm bài thủ công, nguyên nhân chính là do ở kinh phí. Và vì chấm
như vậy, cho nên kết quả được đưa ra rất chậm và đôi lúc còn chưa khách quan (do
người chấm nhầm lẫn trong lúc chấm ...), không đảm bảo được tính chính xác như
bản chất của hình thức thi trắc nghiệm. Trong khi đó, để có thể chấm tự động, đòi
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 12 -
hỏi phải có thiết bị chuyên dụng với giá thành tương đối cao (vì thường có giải pháp
phần mềm riêng đi kèm). Muốn vậy, kỳ thi phải lớn và thu lệ phí đầu vào cao. Điều
này là không khả thi trong điều kiện của Việt Nam. Tiếp nữa, các mẫu bài thi có sẵn
cho các thiết bị chuyên dụng đó thường cố định, không khả chuyển, việc tạo ra các
mẫu mới là có nhưng khá khó khăn, phức tạp và tốn kém. Do vậy, đòi hỏi cần có
một giải pháp giải quyết toàn diện các bất cập đó là một đòi hỏi chính đáng.
1.2 Mục tiêu của đề tài:
Mục tiêu của đề tài là nhằm đưa ra một giải pháp cho phép tổ chức thi trắc
nghiệm, sao cho giá thành rẻ, có thể áp dụng ngay vào các trường học, chẳng hạn
như Khoa Công Nghệ Thông Tin của chúng ta. Ngoài ra, giải pháp còn phải cho
phép khả năng tạo lập, chỉnh sửa các biểu mẫu thi để phù hợp với nhu cầu trong
từng môn thi của mỗi kỳ thi.
1.3 Giải pháp hiện có:
Tại Việt Nam cũng như trên thế giới, các dụng cụ chuyên dụng dùng cho việc
thi trắc nghiệm đã có từ khá lâu, mà phổ biến nhất là máy chấm carbon dùng cho
các kỳ thi TOEFL hay IELTS. Đây là một thiết bị cho phép chấm bài hàng loạt
nhưng yêu cầu bài thi phải theo mẫu cố định ứng với máy chấm bài và đòi hỏi phải
có thiết bị in ấn chuyên biệt đi kèm. Bài thi sau khi được in ấn và xử lý bởi thiết bị
in ấn chuyên dụng sẽ có hình dạng nhất định theo quy định sẵn của máy chấm, có
các đánh dấu carbon trên nhiều vị trí của bài thi. Máy chấm carbon nhờ vào những
thành phần chuyên dụng đo nồng độ carbon, sẽ xác định đựơc các vị trí đánh dấu.
Từ đó tính toán ra được các vị trí để lấy thông tin thí sinh cũng như xác định kết quả
bài thi. Tuy nhiên, để cho kết quả được chính xác, thí sinh khi làm bài trên các mẫu
thi này, cần phải dùng bút chì carbon.
Như ta đã thấy, các thiết bị này còn có khuyết điểm lớn là giá thành cao, do
phải đi kèm với nhiều thiết bị chuyên biệt khác, và độ khả chuyển kém. Ứng với
mỗi bài thi sẽ là một cặp máy chấm và máy in riêng biệt. Điều này không phù hợp
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 13 -
với thực tế của Việt Nam ta khi mà thu nhập bình quân so với các nước khác còn
kém rất xa.
Ưu điểm và khuyết điểm của giải pháp dùng máy chấm carbon:
Ưu điểm: chấm rất nhanh và rất chính xác, thích hợp cho các kỳ thi lớn và
rất lớn.
Khuyết điểm: chỉ dùng cho một mẫu bài thi cụ thể đối với từng thiết bị chấm
và in chuyên biệt. Do thiết bị không phổ biến nên giá thành cao.
1.4 Hướng tiếp cận của luận văn
Giải pháp được đưa ra là sử dụng các thiết bị phổ biến sẵn có trong điều kiện
Việt Nam hiện nay như máy tính cá nhân, máy in và máy scan để giảm giá thành.
Trong giải pháp này, máy tính cá nhân sẽ đóng vai trò trung tâm, thực hiện việc
thiết kế các biểu mẫu, sau đó dùng máy in để in chúng ra. Máy tính cũng đồng thời
đóng vai trò thực hiện việc chấm điểm các bài thi thông qua thiết bị scan. Thiết bị
scan này có thể là máy scan thường thấy. Tuy nhiên trong thực tế, do số lượng bài
thi nhiều, cần được chấm điểm toàn bộ, nên thiết bị scan được khuyến khích là các
máy scan có chức năng cho phép scan hàng loạt. Ngoài ra, vì không dùng thiết bị in
ấn chuyên biệt, nên việc in màu cho bài thi là không khả thi. Giải pháp đưa ra sẽ là
dùng máy in đen trắng in hàng loạt, hoặc tiết kiệm chi phí hơn bằng cách in bản
mẫu và dùng máy photocopy để sao chép ra.
Vì dùng máy scan, nên việc bắt buộc bài thi đầu vào để chấm điểm phải đặt
chính xác vị trí quy định là điều không khả thi. Bài thi sẽ được chấm chính xác khi
scan lệch không quá 5 độ. Từ các vị trí đánh dấu góc của bài thi được nhận dạng,
máy tính sẽ tính ra được các vị trí khác cần thiết trong bài nhờ vào các thông tin
trong bản mẫu thiết kế - hay còn gọi là mẫu chấm bài.
Tuy nhiên, do giải pháp này không dùng các thiết bị chuyên dụng để chấm bài,
nên các bài thi đầu vào cho máy tính sẽ không được chuẩn, từ đó việc chấm bài sẽ
tốn khá nhiều thời gian cho việc chuẩn hoá lại bài thi (thông qua nhận dạng) cũng
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 14 -
như kết quả chấm sẽ có lúc không được chính xác hoàn toàn như khi thực hiện bằng
thiết bị chuyên dụng.
Các ưu điểm và khuyết điểm của giải pháp mà luận văn đã chọn:
Ưu điểm: giá thành cho thiết bị sẽ rẻ hơn, do đã có sẵn. Các mẫu bài thi
cũng khả chuyển hơn, được thiết kế tuỳ theo nhu cầu của người dùng, có
khả năng ứng dụng tại bất kỳ nơi nào miễn có các thiết bị thông thường
như máy in, máy scan và máy tính cá nhân.
Khuyết điểm: chấm điểm chậm hơn các máy chuyên dụng, và không được
chính xác bằng. Không khả thi với các kỳ thi quá lớn vì chi phí cho việc
quét tất cả các bài thi là rất cao.
Phần mềm cần thực hiện 2 nhiệm vụ chính: thiết kế các biểu mẫu và chấm
điểm tự động bài thi.
Dựa vào các mẫu đề thi trắc nghiệm có sẵn (TOEFL, TOEIC, IELTS...), ta
nhận thấy những công việc chính yếu trong việc thiết kế một bài thi trắc nghiệm bao
gồm: chỉnh sửa trình bày bài thi; lưu và đọc lại các mẫu đã tạo; soạn đáp án; thực
hiện in mẫu. Giải pháp dùng công nghệ XML được cân nhắc chọn lựa.
Trong khi đó, đối với công việc chấm thi, ta cần thực hiện: chỉnh sửa ảnh bài
thi đầu vào theo một chuẩn quy định; thực hiện các xử lý trên từng vùng của ảnh để
phân tích thông tin như kiểm tra tô, nhận dạng chữ viết tay; so với đáp án có sẵn để
cho ra kết quả; lưu kết quả vào database.
1.5 Nội dung thực hiện của đề tài:
Các công việc chính của đề tài bao gồm:
Thu thập và tìm hiểu về các mẫu bài thi trắc nghiệm thông dụng như
TOEFL, IELTS... từ đó đưa ra các phần thường được dùng đi dùng lại trong
bài thi.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 15 -
Phân tích, thiết kế và thực thi viết mã lệnh cho các thành phần của chương
trình tạo biễu mẫu bài thi trắc nghiệm.
Phân tích, xây dựng và tổ chức cơ sở dữ liệu để lưu trữ thông tin của mẫu bài
thi cũng như các đáp án đi kèm với mẫu bài thi đó.
Tìm hiểu các lý thuyết về xử lý ảnh, về nhận dạng giúp chuẩn hoá và đưa ra
kết quả cho các bài thi.
Tìm hiểu và ứng dụng mạng nơron trong việc nhận dạng chữ viết tay in từ
các bài thi.
Chương tiếp theo sẽ bàn về các lý thuyết được ứng dụng trong việc xây dựng
chương trình.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 16 -
Chương 2: CƠ SỞ LÝ THUYẾT
Với hướng tiếp cận cho luận văn như đã được trình bày ở chương trước, ta
nhận thấy phần mềm cần được chia ra làm 2 phần: phần thiết kế, tạo lập các biểu
mẫu thi trắc nghiệm và phần chấm điểm tự động các bài thi trắc nghiệm.
Hình 2-1: Mô hình chung cho toàn bộ phần mềm
Sau đây, ta sẽ đi sâu vào nghiên cứu các lý thuyết ứng dụng cho từng phần.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 17 -
2.1 Lý thuyết cho phần thiết kế biễu mẫu thi trắc nghiệm:
2.1.1 Phân tích các thành phần trên biểu mẫu trắc nghiệm:
Sau đây là một số mẫu thi trắc nghiệm mà chúng em đã thu thập được:
- Mẫu bài thi của kỳ thi TOEFL:
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 18 -
Hình 2-2 : Mẫu bài thi TOEFL
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 19 -
- Mẫu thi của kỳ thi sát hạch kỹ sư chất lượng Nhật Bản:
Hình 2-3: Mẫu thi của kỳ thi sát hạch Nhật Bản
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 20 -
Sau khi quan sát các biểu mẫu thi trắc nghiệm của một số kỳ thi chúng em có
nhận xét rằng một biểu mẫu thường gồm có những thành phần sau:
a) Phần thông tin thí sinh:
Phần này dành cho thí sinh ghi thông của mình, nó bao gồm các đối
tượng sau:
i) Text: dùng để viết tiêu đề hay văn bản
Hình 2-4: Phần văn bản trong đề thi mẫu
ii) TextField: dùng để ghi tên, ngày sinh hay mã số thí sinh…
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 21 -
Hình 2-5: Phần ghi tên thí sinh trong đề thi mẫu
Hình 2-6: Phần ghi mã số thí
sinh trong đề thi mẫu
iii) Choice: phần lựa chọn
Hình 2-7: Phần lựa chọn giới tính trong đề thi mẫu
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 22 -
b) Phần trả lời câu hỏi:
Đây là nơi thí sinh đánh dấu câu trả lời của mình. Nó có dạng như hình
sau:
Hình 2-8: Phần trả lời câu hỏi của thí sinh trong đề thi mẫu
c) Các phần khác:
Qua hình minh họa trên ta nhận thấy trên các biểu mẫu có thêm đường
viền đen. Các đối tượng này đóng vai trò là lề của biểu mẫu, điều này giúp ích
rất nhiều cho quá trình chấm điểm được chính xác hơn.
Ngoài những thành phần nêu trên chúng ta còn thấy trên đề còn có một số đối
tượng đồ hoạ như: đường thẳng, hình chữ nhật, hình tròn…
2.1.2 Tổ chức dữ liệu để biểu diễn và lưu trữ biểu mẫu.
Thiết kế biểu mẫu là một phần của hệ thống, nó không chỉ có nhiệm vụ tạo ra
những mẫu bài thi trắc nghiệm mà còn có nhiệm vụ cung cấp thông tin về mẫu bài
thi đó cho quá trình nhận dạng sau này. Do đó việc tổ chức lưu trữ như thế nào cũng
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 23 -
là vấn đề hết sức quan trọng. Ngày nay công nghệ XML đang phát triển rất mạnh và
đang được áp dụng rất rộng rãi. Ngoài việc giúp cho định nghĩa một đối tượng có
cấu trúc được rõ ràng, nó còn có khả năng chuyển đổi sang các hệ thống khác một
cách dễ dàng. Và đó cũng là lý do mà chương trình chọn cách lưu trữ có sử dụng
XML. [5]
Mỗi biểu mẫu được xem là một “Document” gồm nhiều trang “Page”. Mỗi
trang lại gồm các đối tượng khác. Dựa theo phân tích các đối tượng như trên thì ta
có thể lưu trữ biểu mẫu theo cấu trúc như sau (chi tiết sẽ được đề cập sau).
<Document>
<Page>
<Text/>
<Text/>
<TextField/>
<AnswerSheet/>
<AnswerSheet/>
<Line/>
<Rect/>
<Ellipse/>
…
</Page>
<Page>
</Page>
…
</Document>
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 24 -
2.2 Lý thuyết cho phần chấm điểm tự động:
2.2.1 Tóm tắt quá trình thực hiện của phần chấm điểm tự động
Chương trình khi chấm điểm sẽ thực hiện một quá trình được tóm tắt như sau:
Đầu tiên, bài thi sau khi được làm xong, sẽ được quét đưa vào máy tính
xử lý. Ảnh lúc này là ảnh màu chiếm nhiều thông tin không cần thiết
cho việc chấm điểm, do đó trước khi chấm cần được làm xám và
chuyển thành ảnh nhị phân (tức ảnh trắng đen) để loại bỏ bớt các
thông tin dư thừa. Vì các máy scan hầu hết đều không có vị trí canh
chuẩn, nên ảnh bài thi đầu vào cho việc chấm điểm có thể sẽ bị lệch,
nghĩa là các vị trí cần chấm trong ảnh không chính xác so với mẫu
chấm bài, dẫn đến bài chấm sẽ bị sai.
Dựa vào các đánh dấu có sẵn ở 4 góc của bài thi được xác định bằng
thuật toán Hough Transform, máy sẽ tính được góc lệch của bài thi.
(Tuy nhiên, do ban đầu việc scan bị lệch nên phần rìa của bài thi sẽ bị
vùng đen. Nên để nhận dạng 4 góc đựơc chính xác, trước đó chương
trình cần chuyển vùng rìa đen sang trắng, tức loại bỏ vùng đen đó bằng
thuật toán tô màu. Để cải tiến tốc độ, thuật toán tô màu dựa theo
dòng quét cải tiến được sử dụng).
Sau khi tính được góc lệch của ảnh bài thi so với mẫu chấm bài,
chương trình sẽ áp dụng phép xoay ảnh, một trong các lý thuyết xử lý
ảnh, để chuyển bài thi về trạng thái đúng, tức ảnh bài thi không bị lệch
nữa. Lúc này, các vị trí đánh dấu của bài thi đã thay đổi, đều bị xoay
một góc như ảnh bài thi, chương trình sẽ thực hiện các phép tính xoay
để xác định lại vị trí hiện tại của các đánh dấu ở 4 góc. Tiếp đó, chương
trình sẽ thực hiện cắt bỏ các phần thừa ngoài vùng đánh dấu của bài thi,
chỉ lấy toàn bộ phần bên trong vùng đánh dấu. Kết quả ta đã có đựơc
một ảnh bài thi hoàn chỉnh có các vị trí chấm được xác định theo mẫu
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 25 -
chấm bài chuẩn. Các bước trên là các giai đoạn làm chuẩn ảnh đầu vào
để việc chấm thi được chính xác.
Công việc tiếp theo là chấm điểm ảnh bài thi đã được chuẩn hoá theo
mẫu chấm tương ứng. Dựa vào các thông tin về các vị trí cần thiết (cho
việc rút trích thông tin thí sinh cũng như chấm điểm cho bài thi) từ bản
mẫu bài thi trong phần thiết kế, ta sẽ lấy ra các vùng ảnh cần được xử
lý (crop).
Tuỳ theo thông tin từ mẫu chấm, ta sẽ biết được vùng ảnh lấy ra cần
thực hiện hoặc việc xem xét có tô hay không, hoặc phức tạp hơn là
nhận dạng chữ viết tay in có trong vùng ảnh đó. Đối với trường hợp xét
một vùng ảnh là có được tô hay không thì công việc chỉ đơn giản là
xét xem mật độ điểm đen trong vùng ảnh đó có lớn hay nhỏ hơn một
ngưỡng nào đó do ta quy định sẵn từ trước. Tuy nhiên, đối với trường
hợp vùng ảnh chứa chữ viết tay in, công việc tương đối phức tạp hơn,
đòi hỏi phải áp dụng lý thuyết về mạng nơron để nhận dạng ký tự
được chứa trong vùng ảnh đang xét. Do mạng nơron có số đầu vào xác
định cụ thể, nên vùng ảnh cần nhận dạng phải được biến đổi tỉ lệ
(scale) lại cho phù hợp với đầu vào của mạng. Chi tiết về việc ứng
dụng mạng nơ ron sẽ được bàn rõ ở phần “Mạng nơ ron và ứng dụng
vào nhận dạng chữ viết tay in”.
Sau khi chấm xong, thông tin của bài làm vừa có sẽ được so với đáp án
để cho ra kết quả, đưa vào danh sách các bài thi đã chấm. Người dùng
có thể lưu lại danh sách kết quả này vào cơ sở dữ liệu để tiện việc xem
xét lại về sau.
Sau đây là sơ đồ mô tả tóm tắt quá trình chấm thi:
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 26 -
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 27 -
Hình 2-9: Sơ đồ tóm tắt quá trình chấm thi
2.2.2 Sơ Lược Các Lý Thuyết Về Xử Lý Ảnh Và Nhận Dạng
2.2.2.1 Xử lý ảnh:
2.2.2.1.1 Các thao tác xử lý ảnh cơ bản:
Trong phần chấm điểm tự động này, các thao tác xử lý ảnh được ứng dụng
bao gồm: làm xám ảnh (greyscale), chuyển ảnh sang ảnh nhị phân (threshold), xoay
ảnh, biển đổi tỉ lệ ảnh.
Ta nhận thấy, đối với đề tài nhận dạng bài thi trắc nghiệm cụ thể như yêu
cầu, màu sắc trong ảnh của bài thi là không cần thiết. Do đó, thực hiện việc chuyển
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 28 -
đổi từ ảnh màu sang ảnh xám rồi sang ảnh nhị phân là nhằm đơn giản hoá, loại bỏ
các thông tin dư thừa và chuẩn hoá đầu vào của chương trình, giúp quá trình xử lý
của chương trình được gọn nhẹ và nhanh hơn.
Tiếp đến, do bài thi của thí sinh khi được quét vào máy để chấm sẽ xảy ra
trường hợp bài thi bị đặt nghiêng trong máy scan, dẫn đến bài thi trong ảnh đầu vào
không được vuông góc như trong bản thiết kế mà sẽ bị nghiêng một góc bất kỳ.
Việc ứng dụng xoay ảnh ở đây nhằm xoay bài thi lại cho vuông góc như trong mẫu
thiết kế.
Cuối cùng, vì chương trình cho phép các file ảnh đầu vào có kích thước bất
kỳ, nên việc biến đổi tỉ lệ ảnh là cần thiết nhằm giúp chuyển các vùng cần nhận
dạng hay xử lý về một chuẩn chung, cụ thể là về một kích thước chung (chẳng hạn
vùng viết chữ tay cần nhận dạng sẽ được scale lại thành ảnh có kích thước 16x16 để
phù hợp với đầu vào của mạng nơrôn ứng dụng cho việc nhận dạng chữ viết tay -
xem ở phần nhận dạng chữ viết tay).
Chi tiết về các thao tác này được bàn rõ ở phần phụ lục.
2.2.2.1.2 Tô màu bằng thuật toán dựa theo dòng quét cải tiến
Các định nghĩa:
Một vùng tô bao gồm đường biên và vùng bên trong. Đường biên là
một đường khép kín, ví dụ như đa giác.
Tô màu là thao tác tìm các điểm sáng “nằm bên trong” một vùng tô.
Tô dựa theo dòng quét (scan line) là tô màu theo dòng điểm sáng trên
màn hình.
Cách thực hiện:
Thuật toán tô màu dựa theo đường biên: [2]
Đường biên trong thuật toán này được mô tả bằng một giá trị duy nhất
là màu của tất cả các điểm thuộc về đường biên.
Bắt đầu từ điểm nằm bên trong vùng tô, ta sẽ kiểm tra các điểm lân cận của
nó đã được tô màu hay có phải là điểm biên hay không, nếu không phải là
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 29 -
điểm đã tô và không phải là điểm biên, ta sẽ tô màu nó. Quá trình này được
lặp đi lặp lại cho đến khi nào không còn tô được điểm nào nữa thì dừng.
Bằng cách này, toàn bộ các điểm thuộc vùng tô được kiểm tra và sẽ được tô
hết.
Hình 2-10: quá trình thực hiện của thuật toán tô màu dựa theo đường biên
Tuy nhiên, do thuật toán này khi cài đặt có tính đệ quy, thường dẫn
đến tràn bộ nhớ đối với vùng tô khá lớn. Cho nên, để cải tiến, ta sẽ tiến hành
loang dần và lần lượt tô từng đoạn giao theo dòng quét ngang thay vì tô theo
các điểm lân cận (chẳng hạn 4 điểm lân cận). Đó chính là thuật toán tô màu
dựa theo dòng quét cải tiến được trình bày ngay sau đây.
Thuật toán tô màu theo dòng quét cải tiến:
Giới thiệu ý tưởng:
Lưu lại thông tin của điểm bắt đầu mỗi đoạn giao nhau của dòng quét
ngang thay vì phải lưu hết tất cả các điểm lân cận chưa được tô xung quanh
điểm hiện hành. Việc tô màu được thực hiện loang theo các dòng quét từ
điểm bắt đầu hướng lên biên trên, sau khi tô xong, lại theo hướng xuống biên
dưới. Ứng với mỗi dòng quét ngang, ta sẽ loang và tìm pixel trái nhất để lưu
lại.
Chi tiết thuật toán:
Từ một điểm bất kỳ nằm trong vùng cần tô:
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 30 -
B1: ta tìm điểm bên trái nhất trong vùng cần tô của dòng kề trên và dòng kề
dưới điểm đang xét tính từ vị trí của điểm đang xét (miễn các dòng kề trên và
dòng kề dưới này vẫn nằm trong vùng cần tô). Các điểm trái nhất đó, ta đưa
vào một danh sách chờ theo thứ tự định sẵn (chẳng hạn điểm nằm trên trước
rồi điểm nằm dưới sau) miễn các điểm đó không trùng với các điểm đã có
trong danh sách chờ.
B2: Ta lại tiếp tục xét cho điểm kề bên phải của điểm đang xét. Nếu đã đến
đường biên thì nhảy sang B3, còn ko thì quay lại B1.
B3: Ta lấy phần tử được đưa vào sau cùng của danh sách chờ rồi lại quay trở
về B1 làm tương tự như trên. Nếu danh sách chờ hết phần tử thì đã tô xong
vùng cần tô, thuật toán kết thúc.
Ví dụ minh hoạ:
Trong hình 2.10 sau, đoạn giao đầu tiên chứa điểm bắt đầu (tô màu
trắng) sẽ được tô trước). Sau đó các vị trí 1, 2 ứng với các đoạn giao của các
dòng quét kế tiếp sẽ được lưu lại.
Hình 2-11
Bước tiếp theo (hình 2.11), điểm ứng với vị trí 2 sẽ được lấy ra và tiến
hành tô màu bằng cách loang từ điểm này ra theo chiều ngang, sau đó pixel
ứng vị trí 3 của dòng quét kế tiếp sẽ được lưu lại.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 31 -
Hình 2-12
Sau khi dòng quét ứng với điểm 3 đã được xử lý tương tự như trên
xong, stack lưu các vị trí của các điểm “hạt giống” cho các dòng quét kế tiếp
như trong hình 2.12.
Hình 2-13
Hình 2.13 minh hoạ khi thuật toán đã tô được toàn bộ một phần vùng
phía trên bên phải của vùng tô. Khi pixel ứng với vị trí 5 được xử lý xong, ta
có phần còn lại phía trên bên trái sẽ được tô. Sau đó pixel ứng với vị trí 4 sẽ
được xử lý, các dòng quét phía dưới sẽ được tô tiếp theo.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 32 -
Hình 2-14
Ý nghĩa:
Thuật toán tô màu dựa theo dòng quét cải tiến được dùng để tô màu 4 góc
của ảnh bài thi khi mới vừa được đưa vào chấm. Vì ảnh của bài thi ban đầu có phần
rìa xung quanh mày đen, mà nếu cứ để như vậy rồi nhận dạng các ký hiệu định sẵn
ở bốn góc sẽ dẫn đến nhận dạng sai vị trí các ký hiệu đó.
Vì vậy, ta phải dùng thuật toán tô màu để tô trắng các vùng đen ở bốn góc
giúp việc nhận dạng đựơc chính xác. Để giúp giảm bớt thời gian thực hiện của
chương trình, trong tình huống cụ thể này, ta đã áp dụng thuật toán tô màu quét
dòng cải tiến giúp việc tô màu được nhanh hơn, không tốn nhiều tài nguyên.
2.2.2.2 Nhận dạng:
2.2.2.2.1 Nhận dạng bốn góc của bài thi bằng thuật toán Hough
Transform
Thuật toán Hough Transform cơ bản [3] :
Dẫn nhập:
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 33 -
Xét trường hợp cần nhận dạng các đường thẳng bất kỳ trong một ảnh nhị phân
(với các hình ảnh trên hình được quy định có màu đen):
- Ta biết rằng với mỗi điểm đen bất kỳ trong không gian ảnh sẽ có vô số các
đường thẳng đi qua điểm đó.
- Ta lại biết rằng mọi đường thẳng đều có thể biểu diễn được bằng phương
trình sau:
y = mx + b
với m và b là 2 số thực bất kỳ, trong đó m xác định góc của đường thẳng so
với trục hoành và b xác định vị trí đường thẳng cắt với trục tung.
Do đó, với một cặp điểm đen (x1,y1) xác định bất kỳ, ta sẽ có thể tìm ra được
vô số cặp (m,b) ứng với các đường thẳng có thể đi qua điểm (x1,y1) đó, sao cho m
và b thoả điều kiện sau:
b = y1 – mx1
Thuật toán Hough Transform cơ bản được thực hiện dựa trên ý tưởng
như sau:
Mỗi cặp điểm (x,y) trong ảnh sẽ xác định trong không gian (m,b) một đường
thẳng duy nhất tương ứng với cặp điểm (x,y) đó. Đường thẳng này giúp xác định
các cặp điểm (m,b) mà giá trị của chúng giúp tạo nên các đường thẳng trong ảnh mà
đi qua được cặp điểm (x,y). Với nhiều cặp điểm (x,y) sẽ xác định nhiều đường
thẳng tương ứng trong không gian (m,b). Như vậy, trong không gian (m,b), nếu tại
điểm (m,b) nào mà có số đường thẳng đi qua vị trí đó trong không gian (m,b) lớn
hơn một giá trị cụ thể (tuỳ theo quy định chiều dài của đường thẳng lớn hơn bao
nhiêu thì là được cho là đường thẳng), thì cặp giá trị (m,b) của điểm đó chính là 2
giá trị xác định nên một trong những đường thẳng cần được tìm thấy trong ảnh.
Các bước thực hiện:
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 34 -
Cho mảng 2 chiều (m,b). Giá trị tại một vị trí trong mảng cho biết số lần
đường thẳng được tạo bởi cặp giá trị (m,b) tương ứng với vị trí đó xuất hiện trong
ảnh.
B1: quét qua tất cả các điểm cần xét trong ảnh.
B2: với mỗi điểm được xét, ta sẽ tính các cặp giá trị (m,b) thoả các đừơng
thẳng đi qua điểm đó. Từ đó, ta tăng giá trị tại các vị trí (m,b) tương ứng trong
mảng 2 chiều mô tả không gian (m,b) đó lên 1 đơn vị.
B3: sau đó xét tất cả các phần tử trong mảng 2 chiều mô tả không gian (m,b)
đó, nếu tại phần tử nào mà có giá trị lớn hơn chiều dài quy định cần thiết để tạo nên
một đường thẳng thì ta sẽ nhận dạng được một đường thẳng y = mx + b trong đó
m,b xác định nhờ vào vị trí của phần tử đó.
Cải tiến cho thuật toán Hough Transform cơ bản áp dụng cho việc nhận
dạng các đường thẳng:
Trong phần trên, ta thấy m, b trong công thức b = y – mx không bị giới hạn.
Điều này có nghĩa rằng, khi m đến lên vô cực thì b cũng tương ứng đến vô cực. Do
đó, việc sử dụng mảng 2 chiều (là có giới hạn) để mô tả không gian (m,b) (không có
giới hạn), điều này là không tưởng trong việc lập trình. Ngoài ra, theo quy định, chỉ
số của mảng không được âm.
Do đó, ta cần một công thức thay thế cho công thức biễu diễn đường thẳng:
y = mx + b
sao cho việc xác định các tham số (như m và b chẳng hạn) nằm trong một
khoảng giới hạn xác định.
Và công thức đó là:
x*cosA + y*sinA = B
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 35 -
Hình 2-15
trong đó:
- A là số độ của góc đuợc tạo bởi đường thẳng và trục hoành, giá trị kiểu số
thực.
- B là khoảng cách từ đường thẳng đó đến gốc toạ độ (áp dụng trong đề tài
là góc trên trái của ảnh), kiểu số thực.
Công thức này cũng có thể biễu diễn mọi đường thẳng bất kỳ trong không
gian 2 chiều như công thức y = mx + b nhưng 2 tham số A và B của nó có giới hạn
trong ảnh 2 chiều:
- A nằm trong khoảng từ -89 độ -> 90 độ.
- Vì thuật toán được áp dụng cho ảnh 2 chiều, nên B được giới hạn từ 0 ->
chiều dài đường chéo của ảnh.
Để dùng mảng 2 chiều mô tả không gian (A,B) tương tự như không gian
(m,b), bắt buộc A và B phải đựơc làm tròn đến một đơn vị nào đó, dẫn đến sai số
trong việc xác định chính xác đường thẳng. Tuỳ theo độ chính xác đựơc yêu cầu mà
A sẽ đựơc tính làm tròn tới 1 đơn vị hay nữa đơn vị, thậm chí thấp hơn nữa.
Ví dụ, đối với đường thẳng mà tham số A chỉ cần chính xác ở 1 đơn vị, thì
mảng 2 chiều ta cần tạo sẽ có chiều dài chiều A là 180. Nhưng nếu tham số A cần
chính xác đến nữa đơn vị (0,5) thì mảng 2 chiều cần tạo sẽ phải có chiều dài là
180/0,5=360. Tương tự, với độ chính xác n thì chiều dài chiều A sẽ là 180/n.
Ngoài ra, do mảng có chỉ số không được âm, nên thay vì A có giá trị từ -89
đến 90 độ, ta chuyển sang giá trị tương ứng từ 0 -> 179 (với 0 thực chất tương ứng
cho -89, 90 tương ứng cho 179...)
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 36 -
Như vậy, ta sẽ áp dụng thuật toán Hough Transform để nhận dạng đường
thẳng tương tự như phần đã trình bày ở trên, chỉ thay công thức:
y = mx + b
bằng
x*cosA + y*sinA = B
cũng như thay các tham số m, b bằng A và B.
Ví dụ minh họa:
Hình 2-16
Ta có 5 điểm 1, 2, 3, 4, 5 với vị trí trong không gian x, y như trên.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 37 -
Hình 2-17
Trong không gian (A,B), tập hợp các đường thẳng đi qua mỗi điểm sẽ
hình thành nên một đường hình sin tương ứng.
Hình 2-18
Ta thấy, giao điểm có tên là dòng 1 chính là giao điểm của 3 đường sin của 3
điểm 1, 3, 5. Cho nên, giao điểm dòng 1 chính là nơi mang giá trị cặp (A,B) hình
thành nên đường thẳng đi qua 3 điểm 1, 3 và 5 trong không gian (x,y).
Tương tự, giao điểm tên dòng 2 chính là nơi mang cặp giá trị (A,B) tạo nên
đường thẳng đi qua 3 điểm 2, 3, 4 trong không gian (x,y).
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 38 -
Áp dụng cho đề tài, ý nghĩa:
Thuật toán Hough Transform trong đề tài được áp dụng cho các vùng ảnh
trích ra từ bốn góc của bài thi (bốn vùng ảnh này được lấy ra bằng thuật toán cắt ảnh
- crop). Thuật toán giúp nhận dạng 4 vị trí đánh dấu ở 4 góc của bài thi, từ đó xác
định vùng chấm thi phù hợp với mẫu chấm thi.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 39 -
2.2.2.2.2 Kiểm tra vùng tô
Định nghĩa:
Vùng tô là phần được giới hạn trong một ô tròn (các ô tròn này có rất nhiều
trên bài làm của thí sinh). Tùy theo cách làm bài của từng thí sinh mà mỗi ô tròn có
được tô hay không. Công việc kiểm tra vùng tô là xét xem trong một ô tròn nào đó
có được tô đen hay không. Tùy theo quy định của người lập trình mà số phần trăm
được tô đen trong vùng tô là bao nhiêu thì ô tròn được xem là đã tô.
Hình 2-19: khi chưa được tô
Hình 2-20: các dạng sau khi đã tô
Cách thực hiện:
Do vùng tô cần xét chỉ là một vòng tròn nhỏ trong ảnh bitmap, và khi xem
xét một ảnh bitmap thì ảnh đó luôn là hình chữ nhật. Cho nên đầu vào của vùng tô
cần kiểm tra là một hình vuông (được lấy ra từ ảnh bài thi) có đường tròn nội tiếp
chính là ô tròn đang xét.
Khi đó, ta có 2 cách để kiểm tra vùng tô xem có được tô hay chưa:
Cách thứ nhất:
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 40 -
Ta sẽ quét tòan bộ vùng ảnh vuông đầu vào từ trái qua phải và từ trên
xuống dưới, xét xem số pixel đen chiếm bao nhiêu phần trăm trong tổng số
pixel của vùng ảnh đầu vào. Theo quy định như trong đề tài này, nếu số pixel
đen này chiếm hơn 60%, thì vùng tô đó đã đựơc tô đen, còn ngược lại là
chưa được tô.
Cách kiểm tra này độ chính xác không cao, vì xét cả những phần nằm
ngoài vùng tô. Tuy nhiên, do cài đặt dễ dàng và xử lý ít phức tạp (chỉ quét
một lần và theo thứ tự), tốc độ thực hiện nhanh hơn nên được áp dụng trong
đề tài.
Cách thứ hai:
Ta sẽ quét từ tâm hình vuông (còn là tâm của vòng tròn) dần lan ra
đến cạnh của hình vuông theo các đường tròn đồng tâm là tâm hình vuông.
Ta sẽ phân các vòng tròn thành 3 loại:
các vòng tròn nhỏ bên trong (ta quy định là các vòng tròn có
đường kính bằng nữa cạnh hình vuông trở xuống) gọi là T1.
các vòng tròn lớn bên trong (ta quy định là các vòng tròn có đuờng
kính lớn hơn nữa cạnh hình vuông đến bằng cạnh hình vuông) gọi là T2.
các vòng tròn bên ngòai (có đường kính lớn hơn cả cạnh hình
vuông) gọi là T3.
Hình 2-21: ảnh cần kiểm tra tô được phân thành 3 vùng
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 41 -
Trong một điều kiện tối ưu, vùng ảnh vuông đầu vào sẽ có vòng tròn
cần xét tô nội tiếp với ảnh vuông đó. Nhưng trong thực tế thì vòng tròn tô
trong vùng ảnh vuông đầu vào sẽ bị lệch, do đó các vòng tròn nhỏ T1 sẽ có
khả năng nằm trong vùng cần tô nhiều hơn là T2, và các vòng tròn T2 lại có
khả năng nhiều hơn T3. Do đó, pixel thuộc vòng tròn T1 sẽ góp phần nhiều
hơn so với các pixel thuộc T2 vào việc quyết định xem vùng tô có được tô
hay không. Điều này cũng tương tự cho các pixel thuộc vòng tròn T2 so với
T3. Vì vậy, độ ưu tiên của các pixel thuộc các vòng tròn sẽ được quy định
theo thứ tự lần lượt như sau: T1, T2, T3.
Ta có công thức sau:
Giá trị của vùng tô = ( Tổng số pixel T1 đen * độ ưu tiên
của T1 ) + ( Tổng số pixel T2 đen * độ ưu tiên của T2 ) + ( Tổng số
pixel T3 đen * độ ưu tiên T3 ) (1)
Như vậy, khi vùng tô được tô hoàn toàn trong điều kiện tối ưu (tức
ảnh đầu vào hình vuông chứa ô tròn cần tô nội tiếp ảnh), ta có:
Giá trị cho thấy vùng tô được tô hoàn toàn = ( Tổng số pixel
T1 * độ ưu tiên của T1 ) + ( Tổng số pixel T2 * độ ưu tiên của T2)
Do đó, chỉ gần đúng, ta đưa ra được thuật toán cho phép quyết định
xem vùng tô có được tô hay không bằng cách:
• Tính giá trị vùng tô áp dụng công thức (1).
• Nếu giá trị vùng tô > (60% * Giá trị vùng tô được tô hoàn toàn)
thì
o ô tròn đã được tô đen
• ngược lại
o ô tròn chưa đựơc tô.
Phương pháp này có độ chính xác cao hơn trong các trường hợp ảnh
vuông đầu vào có vùng tô bị lệch, tuy nhiên do cài đặt phức tạp, xử lý tính
toán nhiều hơn (phải tính từ tâm của hình tròn rồi lan dần sang xung quanh)
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 42 -
có thể làm ảnh hưởng đến tốc độ chung của chương trình nên không được áp
dụng cho đề tài.
2.2.2.2.3 Mạng nơ ron và ứng dụng vào nhận dạng chữ viết tay in
Giới thiệu về mạng nơ ron:
Mạng nơron là công cụ dùng để tìm gần đúng nhất bài giải của một vấn đề
bất kỳ mà không cần quan tâm đến nội dung chi tiết bên trong của bài toán. Để làm
được điều này, mạng nơron cần phải trải qua một quá trình, gọi là quá trình học
được thực hiện lặp đi lặp lại trên tập mẫu có sẵn. Sau khi được học xong, mạng
nơron có thể giải quyết các vấn đề liên quan đến bài toán đã cho cũng như các bài
toán cùng loại tương tự với độ chính xác chấp nhận được.
Mạng nơron được ứng dụng trong các bài toán nhận dạng, phân lớp như nhận
dạng mặt người, nhận dạng ký tự...
Lý thuyết về mạng nơron được bàn đến trong phần Phụ Lục.
Áp dụng:
Đối với đề tài luận văn này, việc áp dụng mạng nơron [1] để nhận dạng ký tự
được thực hiện như sau:
Thông thường, mạng nơron dùng để nhận dạng ký tự sẽ cho biết ký tự đang
xét là ký tự gì. Tuy nhiên, do ở đây, ký tự được xác định song song bằng nhận dạng
đi kèm với việc kiểm tra vị trí tô của ký tự tương ứng trong bài làm của thí sinh.
Cho nên, để đơn giản vấn đề, ta sẽ: xác định ký tự được chọn bằng cách dựa vào vị
trí tô của ký tự trong bài thi trước; rồi từ đó xác định xem ký tự viết tay có đúng là
ký tự đó hay không.
Như vậy, giờ đây vấn đề đã đơn giản hơn. Ta sẽ tạo ra tổng cộng là 36 mạng
nơron, mỗi mạng được áp dụng riêng cho từng chữ cái hoặc chữ số. Với mỗi mạng
nơron này, chỉ cần một nút xuất duy nhất để cho biết đúng ký tự đó hay không.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 43 -
Cấu tạo của dạng mạng nơ ron:
Như đã phân tích ở trên, các mạng nơ ron này được sử dụng để xét xem một
ký tự có phải là ký tự cần tìm hay không.
Do đó, các mạng nơ ron này sẽ có cấu tạo tương tự nhau. Mỗi mạng sẽ gồm
3 lớp: lớp nút nhập, lớp nút ẩn và lớp nút xuất. Mạng sẽ không có đường nối trực
tiếp từ lớp nhập đến lớp xuất. Đầu vào của mạng sẽ là vùng ảnh chứa ký tự đã được
biến đổi theo tỉ lệ chuẩn 16x16, đầu ra duy nhất cho biết giá trị là đúng hay sai
(đúng khi lớn hơn 0,5, sai khi ngược lại). Vì vậy, mạng có 256 nút nhập, 1 nút xuất.
Số nút ẩn được chọn là 3.
Sơ đồ cấu tạo của mạng như sau:
Hình 2-22: cấu tạo của mạng nơ ron được áp dụng cho đề tài
Thực nghiệm:
Mỗi mạng nơ ron được học trên 4644 mẫu (bao gồm tất cả các ký tự), trong
đó số mẫu đúng (chứa ký tự áp dụng cho từng mạng) là 129, còn lại là các mẫu sai.
Mỗi mạng được học trong khoảng thời gian hơn 4 tiếng.
Kết quả:
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 44 -
Một số mạng có tỉ lệ nhận dạng đúng là 80%.
Tuy nhiên, đa số chỉ đạt được 70%.
Đánh giá:
Mạng cần phải được học trên nhiều mẫu hơn nữa để có thể áp dụng thực tế.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 45 -
Chương 3: THIẾT KẾ CHƯƠNG TRÌNH
3.1 PHÂN TÍCH:
Ta đã phân tích các thành phần của một biểu mẫu thi ở trên nên ở đây chỉ nói
đến phần chấm điểm tự động. Đây là phần chính yếu của đề tài. Chương trình sẽ
nhận vào một bản scan của một bài thì sau đó sẽ đọc ra thông tin của thí sinh cùng
với kết quả bài làm của thí sinh đó. Sau đó tùy vào cách tính điểm mà sẽ cho điểm
thí sinh đó.
Đối với từng loại đối tượng mà ta sẽ có cách đọc thông tin khác nhau:
TextField: đối với đối tượng này ta có 2 việc cần làm là xác định
thí sinh đã viết ký tự gì, và đã tô ký tự gì. Sau đó sẽ kiểm tra xem
chúng có khớp với nhau hay không.
Choice: ta xác định xem thí sinh đã tô phần lựa chọn nào.
AnswerSheet: ta cũng xác định thí sinh đã tô những câu trả lời
nào.
Tóm lại ta sẽ có các công việc chính là:
Xác định vị trí chính xác của từng đối tượng.
Kiểm tra xem một vùng có được tô hay không.
Nhận dạng một ký tự viết tay.
Hiện nay có 2 cách tính điểm phổ biến như sau:
Tính điểm theo câu: theo cách này thì mỗi câu đúng sẽ được số
điểm nào đó và kết quả điểm của bài làm chính là tổng số điểm
của tất cả các câu chọn đúng.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 46 -
Tính điểm theo khoảng: theo cách tính này thì người ta sẽ đếm số
câu trả lời đúng của thí sinh sau đó dựa vào bảng điểm đã quy
định trước mà cho điểm thích hợp cho thí sinh.
Ví dụ: số câu đúng từ 35 – 40: 10 điểm; từ 30 – 34: 9 điểm…
3.2 XÁC ĐỊNH YÊU CẦU:
Xây dựng hệ thống “Thiết kế và chấm điểm tự động bài thi trắc nghiệm” phải
hộ trợ các tính năng sau:
Thiết kế biểu mẫu:
Có đầy đủ các đối tượng cơ bản để tạo thành một đề thi: text,
textfield, choice, answersheet (bảng trả lời).
Có các đối tượng đồ hoạ.
In ấn.
Kết xuất thành file.
Soạn đáp án:
Soạn đáp án cho từng câu trả lời.
Soạn cách thức chấm điểm.
Chấm điểm biểu mẫu:
Điều khiển máy scan, và nhận bài làm từ máy scan.
Đọc thông tin thí sinh.
Kiểm tra và chấm điểm bài làm của thí sinh.
Quản lý các kỳ thi:
Quản lý thông tin kỳ thi, môn thi
Quản lý thí sinh.
Quản lý bài làm thí sinh
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 47 -
3.3 XÂY DỰNG MÔ HÌNH USE-CASE:
[7]
3.3.1 Xác định Actor và Use-Case:
• Actor:
o NGUOIDUNG: (người dùng) thiết kế biểu mẫu và soạn đáp án.
• Use-case:
o THIETKEBIEUMAU: thiết kế biểu mẫu.
o SOANDAPAN: soạn đáp án
o CHAMDIEM: chấm điểm cho bài thi.
o QUANLYKYTHI: quản lý thông tin kỳ thi
o QUANLYMONHOC: quản lý thông tin môn học
o QUANLYTHISINH: quản lý thông tin thí sinh.
o QUANLYBAILAM: quản lý bài làm của thí sinh.
3.3.2 Mô hình Use-case:
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 48 -
Hình 3-1: Mô hình Use-Case
3.3.3 Đặc tả Use-case:
3.3.3.1 THIETKEBIEUMAU:
• Tóm tắt:
Use case này mô tả cách thức người dùng thiết kế một biểu mẫu thi
trắc nghiệm.
• Luồng sự kiện:
o Luồng sự kiện chính:
Use case này bắt đầu khi người dùng tạo một biểu mẫu mới hay sữa
lại một biểu mẫu sẵn có.
1. Người dùng chọn tính năng soạn thảo biểu mẫu mới hay mở một
biễu mẫu cũ để sữa lại.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 49 -
A1: Có biểu mẫu chưa lưu.
- Nếu người dùng chọn tạo mới biều mẫu thì luồng sự kiện phụ
TAOMOI được thực hiện.
- Nếu người dùng chọn sữa lại biểu mẫu cũ thì luồng sự kiện phụ
SUABIEUMAU được thực hiện.
2. Người dùng chọn tính năng chọn đối tượng, thêm các đối tượng cơ
bản, các đối tượng đồ họa, xóa đối tượng, cập nhật đối tượng.
- Nếu người dùng chọn tính năng chọn đối tượng thì luồng sự
kiện phụ CHONDOITUONG được thực hiện.
- Nếu người dùng chọn tính năng thêm đối tượng cơ bản thì
luồng sự kiện phụ THEMDOITUONGCOBAN được thực hiện.
- Nếu người dùng chọn tính năng thêm đối tượng đồ họa thì
luồng sự kiện phụ THEMDOITUONGDOHOA được thực hiện.
- Nếu người dùng chọn tính năng xóa đối tượng thì luồng sự kiện
phụ XOADOITUONG được thực hiện.
- Nếu người dùng chọn tính năng cập nhật đối tuợng thì luồng sự
kiện phụ CAPNHATDOITUONG được thực hiện.
o Các luồng sự kiện phụ:
3.3.3.1.1 TAOMOI:
1. Hệ thống sẽ mở ra một trang hoàn toàn mới để người dùng bắt
đầu soạn thảo.
2. Trở về luồng chính, bước 2.
3.3.3.1.2 SUABIEUMAU:
1. Hệ thống sẽ hiện lên một danh sách các biểu mẫu cho người
dùng chọn.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 50 -
2. Người dùng chọn biểu mẫu cần sữa và xác nhận nó.
3. Trở về luồng chính, bước 2.
3.3.3.1.3 CHONDOITUONG:
1. Người dùng cung cấp một giá trị tọa độ.
2. Hệ thống sẽ kiểm tra xem tại vị trí đó có đối tượng nào hay
không.
- Nếu không có đối tượng nào thì đối tượng được chọn sẽ
là bản thiết kế (Page).
- Nếu có đối tượng tại vị trí đó: hệ thống sẽ kiểm tra xem
nút Ctrl có nhấn hay không?
+ Nếu không: tất cả các đối tượng hiện đang được
chọn sẽ bị bỏ chọn và đối tượng đó sẽ được chọn.
+ Nếu có: qua bước 3.
3. Nếu lúc đó chỉ có duy nhất một đối tượng được chọn thì các
thuộc tính của đối tượng đó sẽ được hiển thị lên màn hình.
4. Trở về luồng chính, bước 2.
3.3.3.1.4 THEMDOITUONGCOBAN:
1. Người dùng chọn đối tượng cần thêm bao gồm: Text, TextField,
Choice, AnswerSheet.
2. Người dùng cung cấp tọa độ của đối tượng.
3. Hệ thống sẽ thêm đối tượng mà người dùng đã chọn ở trên vào
vị trí đó trong bản thiết kế.
4. Những thuộc tính của đối tượng đó sẽ được hiển thị lên màn
hình.
3.3.3.1.4 THEMDOITUONGDOHOA:
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 51 -
1. Người dùng chọn đối tượng cần thêm bao gồm: Line,
Rectangle, Ellipse.
2. Người dùng cung cấp tọa độ 2 điểm.
3. Hệ thống sẽ tạo ra đối tượng tương ứng mà người dùng đã chọn
trên dựa theo tọa độ 2 điểm đó và vẽ lên bản thiết kế.
4. Những thuộc tính của đối tượng đó sẽ được hiển thị lên màn
hình.
3.3.3.1.5 XOADOITUONG:
1. Người dùng chọn các đối tượng cần xóa (kích hoạt luồng
CHONDOITUONG).
2. Nếu không có đối tượng nào được chọn thì kết thúc luồng này.
3. Người dùng chọn tính năng xóa đối tượng.
4. Hệ thống sẽ xóa các đối tượng mà người dùng đã chọn trên ra
khỏi bản thiết kế.
3.3.3.1.6 CAPNHATDOITUONG:
1. Người dùng chọn đối tượng cần cập nhật (kích hoạt luồng
CHONDOITUONG).
2. Nếu không có đối tượng nào được chọn, hoặc có nhiều hơn một
đối tượng được chọn thì luồng này sẽ kết thúc.
3. Người dùng thay đổi thông tin thuộc tính của đối tượng đó (đã
được hiển thị lên màn hình nhờ luồng sự kiện chọn đối tượng).
Các thông tin này tùy thuộc vào từng loại đối tượng được chọn.
4. Thông tin về đối tượng sẽ được cập nhật.
5. Bản thiết kế sẽ được vẽ lại.
o Các luồng sự kiện khác:
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 52 -
A1: Có biểu mẫu chưa lưu.
1. Hệ thống hỏi xem người dùng có muốn lưu lại biểu mẫu đang
thiết kế hay không?
Nếu người dùng trả lời “có” thì luồng sự kiện LUUBIEUMAU
được thực hiện.
2. Trở về luồng chính.
• Các yêu cầu đặc biệt:
Không có.
• Điều kiện tiên quyết:
Không có.
• Post-Conditions:
Nếu use case này thành công thì thông tin về biều mẫu trong hệ thống
sẽ thay đổi.
• Điểm mở rộng:
Không có.
3.3.3.2 SOANDAPAN:
• Tóm tắt:
Use case này cho phép người dùng soạn đáp án của một biểu mẫu nào
đó.
• Luồng sự kiện:
o Luồng sự kiện chính:
Use case này bắt đầu khi người dùng muốn tạo mới một đáp án, thay
đổi thông tin của đáp án cũ hay xóa một đáp án nào đó ra khỏi hệ thống.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 53 -
1. Hệ thống yêu cầu người dùng chọn chức năng muốn thực hiện
(thêm, xóa hay cập nhật thông tin đáp án).
2. Sau khi người dùng cung cấp thông tin yêu cầu thì một trong các
luồng sau được thực hiện.
- Nếu người dùng chọn chức năng thêm thì luồng phụ
THEMDAPAN được thực hiện.
- Nếu người dùng chọn chức năng cập nhật thì luồng phụ
CAPNHATDAPAN được thực hiện.
- Nếu người dùng chọn chức năng xóa thì luồng phụ
XOADAPAN được thực hiện.
o Các luồng sự kiện phụ:
3.3.3.2.1 THEMDAPAN:
1. Hệ thống yêu cầu người dùng nhập vào thông tin đáp án như:
kỳ thi, môn thi, ngày thi, mẫu được sử dụng, đáp án đúng của
từng câu trả lời, thông tin về các tính điểm trong bài thi.
2. Sau khi người dùng cung cấp thông tin được yêu cầu, thì đáp án
này được thêm vào hệ thống.
3.3.3.2.2 CAPNHATDAPAN:
1. Hệ thống hiển thị danh sách các đáp án hiện có trong hệ thống
cho người dùng và yêu cầu người dùng chọn đáp án cần sửa.
2. Người dùng chọn đáp án. Hệ thống sẽ hiển thị thông tin của đáp
án lên màn hình.
3. Người dùng dùng thay đổi các thông tin của đáp án.
4. Sau khi người dùng thay đổi thông tin xong thì hệ thống sẽ cập
nhật thông tin của đáp án này vào hệ thống.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 54 -
3.3.3.2.3 XOADAPAN:
1. Hệ thống hiển thị danh sách các đáp án hiện có trong hệ thống
cho người dùng và yêu cầu người dùng chọn đáp án cần xóa.
2. Hệ thống nhắc người dùng xác nhận thao tác xóa môn học.
3. Người dùng xác nhận xóa.
4. Hệ thống sẽ xóa thông tin của đáp án này ra khỏi hệ thống.
o Các luồng sự kiện khác:
Thao tác xóa bị hủy: nếu trong luồng phụ XOADAPAN người
dùng quyết định không xóa đáp án này nữa, thao tác xóa bị hủy
và dòng sự kiện chính được bắt đầu lại từ đầu.
• Các yêu cầu đặc biệt:
Không có.
• Điều kiện tiên quyết:
Không có.
• Post-Conditions:
Nếu use case thành công, thông tin môn học sẻ được thêm, cập nhật
hoặc xóa khỏi hệ thống. Ngược lại, trạng thái của hệ thống không thay đổi.
• Điểm mở rộng:
Không có.
3.3.3.3 CHAMDIEM:
• Tóm tắt:
Use case này cho phép người dùng chấm điểm một bài làm của thí
sinh. (Bài làm này là ảnh được scan vào máy).
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 55 -
• Luồng sự kiện:
o Luồng sự kiện chính:
1. Người dùng cho biết ảnh có chứa bài làm của thí sinh.
2. Người dùng chọn mẫu đã được sử dụng trong bài làm và đáp án của
bài làm đó.
3. Người dùng chọn chức năng chấm điểm.
4. Kết quả và thông tin về bài làm của thí sinh sẽ được hiển thị lên
màn hình.
o Các luồng sự kiện phụ:
Không
• Các yêu cầu đặc biệt:
Không có.
• Điều kiện tiên quyết:
Ảnh chứa bài làm của thí sinh phải được đọc vào và người dùng phải
chọn mẫu và đáp án của bài làm đó.
• Post-Conditions:
Không có.
• Điểm mở rộng:
Không có.
3.3.3.4 QUANLYKYTHI:
• Tóm tắt:
Use case này cho phép người dùng duy trì thông tin của kỳ thi trong
hệ thống. Bao gồm các tính năng thêm, hiệu chỉnh và xóa kỳ thi ra khỏi hệ
thống.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 56 -
• Luồng sự kiện:
o Luồng sự kiện chính:
Use case này bắt đầu khi người dùng muốn thêm, thay đổi hay xóa
thông tin của kỳ thi ra khỏi hệ thống.
1. Hệ thống yêu cầu người dùng chọn chức năng muốn thực hiện
(thêm, xóa hay cập nhật thông tin kỳ thi).
2. Sau khi người dùng cung cấp thông tin yêu cầu thì một trong các
luồng sau được thực hiện.
- Nếu người dùng chọn chức năng thêm thì luồng phụ
THEMKYTHI được thực hiện.
- Nếu người dùng chọn chức năng cập nhật thì luồng phụ
CAPNHATKYTHI được thực hiện.
- Nếu người dùng chọn chức năng xóa thì luồng phụ
XOAKYTHI được thực hiện.
o Các luồng sự kiện phụ:
3.3.3.4.1 THEMKYTHI:
1. Hệ thống yêu cầu người dùng nhập vào thông tin kỳ thi bao
gồm: tên kỳ thi, thời gian thi.
2. Sau khi người dùng cung cấp thông tin được yêu cầu, thì kỳ thi
này được thêm vào hệ thống.
3.3.3.4.2 CAPNHATKYTHI:
1. Hệ thống hiển thị danh sách các kỳ thi có sẵn trong hệ thống lên
màn hình và yêu cầu người dùng chọn kỳ thi cần sửa.
2. Người dùng chọn kỳ thi. Hệ thống sẽ hiển thị thông tin của kỳ
thi lên màn hình.
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 57 -
3. Người dùng thay đổi các thông tin của kỳ thi.
4. Sau khi người dùng sửa thông tin xong thì hệ thống sẽ cập nhật
thông tin của kỳ thi này vào hệ thống.
3.3.3.4.3 XOAKYTHI:
1. Hệ thống hiển thị danh sách các kỳ thi có sẵn trong hệ thống lên
màn hình và yêu cầu người dùng chọn kỳ thi cần xóa.
2. Hệ thống nhắc người dùng xác nhận thao tác xóa kỳ thi.
3. Người dùng xác nhận xóa.
4. Hệ thống sẽ xóa thông tin của kỳ thi này ra khỏi hệ thống.
o Các luồng sự kiện khác:
Thao tác xóa bị hủy: nếu trong luồng phụ XOAKYTHI người
dùng quyết định không xóa kỳ thi này nữa, thao tác xóa bị hủy
và dòng sự kiện chính được bắt đầu lại từ đầu.
• Các yêu cầu đặc biệt:
Không có.
• Điều kiện tiên quyết:
Không có.
• Post-Conditions:
Nếu use case thành công, thông tin kỳ thi sẽ được thêm, cập nhật
hoặc xóa khỏi hệ thống. Ngược lại, trạng thái của hệ thống không thay đổi.
• Điểm mở rộng:
Không có.
3.3.3.5 QUANLYTHISINH:
• Tóm tắt:
Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm
- 58 -
Use case này cho phép người dùng duy trì thông tin của thí sinh trong
hệ thống. Bao gồm các tính năng thêm, hiệu chỉnh và xóa thí sinh ra khỏi
hệ thống.
• Luồng sự kiện:
o Luồng sự kiện chính:
Use case này bắt đầu khi người dùng muốn thêm, thay đổi hay xóa
thông tin của thí sinh ra khỏi hệ thống.
1. Hệ thống yêu cầu người dùng chọn chức năng muốn thực hiện
(thêm, xóa hay cập nhật thông tin thí sinh).
2. Sau khi người dùng cung cấp thông tin yêu cầu thì một trong các
luồng sau được thực hiện.
- Nếu người dùng chọn chức năng thêm thì luồng phụ
THEMTHISINH được thực hiện.
- Nếu người dùng chọn chức năng cập nhật thì luồng phụ
CAPNHATTHISINH được thực hiện.
- Nếu người dùng chọn chức năng xóa thì luồng phụ
XOATHISINH được thực hiện.
o Các luồng sự kiện phụ:
3.3.3.5.1 THEMTHISINH:
1. Hệ thống yêu cầu người dùng nhập vào thông tin thí sinh bao
gồm: mã thí sinh, họ tên, ngày sinh, giới tính, các thông tin
khác của thí sinh (ghi chú).
2. Sau khi người dùng cung cấp thông tin được yêu cầu, thì thí
sinh này được thêm vào hệ thống.
3.3.3.5.2 CAPNHATTHISINH:
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem
Cham diem tu dong bieu mau thi trac nghiem

More Related Content

Similar to Cham diem tu dong bieu mau thi trac nghiem

Xay dung ung_dung_voi_sematic_web
Xay dung ung_dung_voi_sematic_webXay dung ung_dung_voi_sematic_web
Xay dung ung_dung_voi_sematic_web
Duy Vọng
 
Tinh toan luat va luat ly thuyet do thi
Tinh toan luat va luat ly thuyet do thiTinh toan luat va luat ly thuyet do thi
Tinh toan luat va luat ly thuyet do thi
Vcoi Vit
 
Báo cáo thực tập cuoi ki joomla athena
Báo cáo thực tập cuoi ki joomla athenaBáo cáo thực tập cuoi ki joomla athena
Báo cáo thực tập cuoi ki joomla athena
Tuan Huy
 
Thiết kế và chế tạo khuôn sản phẩm khớp chuyển động bánh xe đẩy hàng trong sâ...
Thiết kế và chế tạo khuôn sản phẩm khớp chuyển động bánh xe đẩy hàng trong sâ...Thiết kế và chế tạo khuôn sản phẩm khớp chuyển động bánh xe đẩy hàng trong sâ...
Thiết kế và chế tạo khuôn sản phẩm khớp chuyển động bánh xe đẩy hàng trong sâ...
Man_Ebook
 
Thiết kế và chế tạo bộ khuôn ép nhựa sản phẩm giá đỡ sạc điện thoại.pdf
Thiết kế và chế tạo bộ khuôn ép nhựa sản phẩm giá đỡ sạc điện thoại.pdfThiết kế và chế tạo bộ khuôn ép nhựa sản phẩm giá đỡ sạc điện thoại.pdf
Thiết kế và chế tạo bộ khuôn ép nhựa sản phẩm giá đỡ sạc điện thoại.pdf
Man_Ebook
 
Khoa Xây Dựng - Giao Thông Trường Cao Đẳng KTKT Kiên Giang
Khoa Xây Dựng - Giao Thông Trường Cao Đẳng KTKT Kiên GiangKhoa Xây Dựng - Giao Thông Trường Cao Đẳng KTKT Kiên Giang
Khoa Xây Dựng - Giao Thông Trường Cao Đẳng KTKT Kiên Giang
Tran Vinh
 
Mẫu thư xin việc tiếng anh cho sinh viên mới ra trường
Mẫu thư xin việc tiếng anh cho sinh viên mới ra trườngMẫu thư xin việc tiếng anh cho sinh viên mới ra trường
Mẫu thư xin việc tiếng anh cho sinh viên mới ra trường
dkhanhle
 
de tai nghien cuu khoa hoc giao duc.ppt
de tai nghien cuu khoa hoc giao duc.pptde tai nghien cuu khoa hoc giao duc.ppt
de tai nghien cuu khoa hoc giao duc.ppt
tuyen43ty
 
E leaning dttx
E leaning dttxE leaning dttx
E leaning dttx
Viet Nam
 
E leaning dttx
E leaning dttxE leaning dttx
E leaning dttx
Duy Vọng
 
To chuc bai giang cho dttx
To chuc bai giang cho dttxTo chuc bai giang cho dttx
To chuc bai giang cho dttx
Vcoi Vit
 
Nghien cuu cong nghe webgis va xay dung trang web du bao thoi tiet khu vuc na...
Nghien cuu cong nghe webgis va xay dung trang web du bao thoi tiet khu vuc na...Nghien cuu cong nghe webgis va xay dung trang web du bao thoi tiet khu vuc na...
Nghien cuu cong nghe webgis va xay dung trang web du bao thoi tiet khu vuc na...
Vcoi Vit
 

Similar to Cham diem tu dong bieu mau thi trac nghiem (20)

Xay dung ung_dung_voi_sematic_web
Xay dung ung_dung_voi_sematic_webXay dung ung_dung_voi_sematic_web
Xay dung ung_dung_voi_sematic_web
 
Tinh toan luat va luat ly thuyet do thi
Tinh toan luat va luat ly thuyet do thiTinh toan luat va luat ly thuyet do thi
Tinh toan luat va luat ly thuyet do thi
 
Đề tài: Thiết kế và thi công hệ thống quang báo, HAY, 9đ
Đề tài: Thiết kế và thi công hệ thống quang báo, HAY, 9đĐề tài: Thiết kế và thi công hệ thống quang báo, HAY, 9đ
Đề tài: Thiết kế và thi công hệ thống quang báo, HAY, 9đ
 
Báo cáo thực tập cuoi ki joomla athena
Báo cáo thực tập cuoi ki joomla athenaBáo cáo thực tập cuoi ki joomla athena
Báo cáo thực tập cuoi ki joomla athena
 
Thiết kế và chế tạo khuôn sản phẩm khớp chuyển động bánh xe đẩy hàng trong sâ...
Thiết kế và chế tạo khuôn sản phẩm khớp chuyển động bánh xe đẩy hàng trong sâ...Thiết kế và chế tạo khuôn sản phẩm khớp chuyển động bánh xe đẩy hàng trong sâ...
Thiết kế và chế tạo khuôn sản phẩm khớp chuyển động bánh xe đẩy hàng trong sâ...
 
Đề tài: Mô hình nhà nuôi chim yến điều khiển, giám sát từ xa
Đề tài: Mô hình nhà nuôi chim yến điều khiển, giám sát từ xaĐề tài: Mô hình nhà nuôi chim yến điều khiển, giám sát từ xa
Đề tài: Mô hình nhà nuôi chim yến điều khiển, giám sát từ xa
 
Luận Văn Thiết Kế Csdl Theo Phương Pháp Mô Hình Và Ứng Dụng Vào Việc Xây Dựng...
Luận Văn Thiết Kế Csdl Theo Phương Pháp Mô Hình Và Ứng Dụng Vào Việc Xây Dựng...Luận Văn Thiết Kế Csdl Theo Phương Pháp Mô Hình Và Ứng Dụng Vào Việc Xây Dựng...
Luận Văn Thiết Kế Csdl Theo Phương Pháp Mô Hình Và Ứng Dụng Vào Việc Xây Dựng...
 
Thiết kế và chế tạo bộ khuôn ép nhựa sản phẩm giá đỡ sạc điện thoại.pdf
Thiết kế và chế tạo bộ khuôn ép nhựa sản phẩm giá đỡ sạc điện thoại.pdfThiết kế và chế tạo bộ khuôn ép nhựa sản phẩm giá đỡ sạc điện thoại.pdf
Thiết kế và chế tạo bộ khuôn ép nhựa sản phẩm giá đỡ sạc điện thoại.pdf
 
Khoa Xây Dựng - Giao Thông Trường Cao Đẳng KTKT Kiên Giang
Khoa Xây Dựng - Giao Thông Trường Cao Đẳng KTKT Kiên GiangKhoa Xây Dựng - Giao Thông Trường Cao Đẳng KTKT Kiên Giang
Khoa Xây Dựng - Giao Thông Trường Cao Đẳng KTKT Kiên Giang
 
Mẫu thư xin việc tiếng anh cho sinh viên mới ra trường
Mẫu thư xin việc tiếng anh cho sinh viên mới ra trườngMẫu thư xin việc tiếng anh cho sinh viên mới ra trường
Mẫu thư xin việc tiếng anh cho sinh viên mới ra trường
 
de tai nghien cuu khoa hoc giao duc.ppt
de tai nghien cuu khoa hoc giao duc.pptde tai nghien cuu khoa hoc giao duc.ppt
de tai nghien cuu khoa hoc giao duc.ppt
 
E leaning dttx
E leaning dttxE leaning dttx
E leaning dttx
 
E leaning dttx
E leaning dttxE leaning dttx
E leaning dttx
 
To chuc bai giang cho dttx
To chuc bai giang cho dttxTo chuc bai giang cho dttx
To chuc bai giang cho dttx
 
Đề tài: Mô hình điều khiển, giám sát bãi giữ xe ô tô tự động, 9đ
Đề tài: Mô hình điều khiển, giám sát bãi giữ xe ô tô tự động, 9đĐề tài: Mô hình điều khiển, giám sát bãi giữ xe ô tô tự động, 9đ
Đề tài: Mô hình điều khiển, giám sát bãi giữ xe ô tô tự động, 9đ
 
Đề tài: Thiết kế dây chuyền phân loại đai ốc ứng dụng xử lý ảnh
Đề tài: Thiết kế dây chuyền phân loại đai ốc ứng dụng xử lý ảnhĐề tài: Thiết kế dây chuyền phân loại đai ốc ứng dụng xử lý ảnh
Đề tài: Thiết kế dây chuyền phân loại đai ốc ứng dụng xử lý ảnh
 
Nghien cuu cong nghe webgis va xay dung trang web du bao thoi tiet khu vuc na...
Nghien cuu cong nghe webgis va xay dung trang web du bao thoi tiet khu vuc na...Nghien cuu cong nghe webgis va xay dung trang web du bao thoi tiet khu vuc na...
Nghien cuu cong nghe webgis va xay dung trang web du bao thoi tiet khu vuc na...
 
ĐỒ ÁN - Thiết kế bãi lọc trồng cây dòng chảy ngay xử lý nước thải sinh hoạt.doc
ĐỒ ÁN - Thiết kế bãi lọc trồng cây dòng chảy ngay xử lý nước thải sinh hoạt.docĐỒ ÁN - Thiết kế bãi lọc trồng cây dòng chảy ngay xử lý nước thải sinh hoạt.doc
ĐỒ ÁN - Thiết kế bãi lọc trồng cây dòng chảy ngay xử lý nước thải sinh hoạt.doc
 
lathe machine
lathe machinelathe machine
lathe machine
 
Đề tài: Giám sát điện năng qua internet, HAY, 9đ
Đề tài: Giám sát điện năng qua internet, HAY, 9đĐề tài: Giám sát điện năng qua internet, HAY, 9đ
Đề tài: Giám sát điện năng qua internet, HAY, 9đ
 

More from Vcoi Vit

2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri31
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri312eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri31
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri31
Vcoi Vit
 
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri14
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri142eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri14
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri14
Vcoi Vit
 
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri13
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri132eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri13
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri13
Vcoi Vit
 
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri05
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri052eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri05
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri05
Vcoi Vit
 
Giao trinh nuoi_trong_thuy_san46
Giao trinh nuoi_trong_thuy_san46Giao trinh nuoi_trong_thuy_san46
Giao trinh nuoi_trong_thuy_san46
Vcoi Vit
 
Giao trinh nuoi_trong_thuy_san28
Giao trinh nuoi_trong_thuy_san28Giao trinh nuoi_trong_thuy_san28
Giao trinh nuoi_trong_thuy_san28
Vcoi Vit
 
Giao trinh nuoi_trong_thuy_san23
Giao trinh nuoi_trong_thuy_san23Giao trinh nuoi_trong_thuy_san23
Giao trinh nuoi_trong_thuy_san23
Vcoi Vit
 
Giao trinh nuoi_trong_thuy_san22
Giao trinh nuoi_trong_thuy_san22Giao trinh nuoi_trong_thuy_san22
Giao trinh nuoi_trong_thuy_san22
Vcoi Vit
 
Giao trinh nuoi_trong_thuy_san21
Giao trinh nuoi_trong_thuy_san21Giao trinh nuoi_trong_thuy_san21
Giao trinh nuoi_trong_thuy_san21
Vcoi Vit
 
Giao trinh nuoi_trong_thuy_san16
Giao trinh nuoi_trong_thuy_san16Giao trinh nuoi_trong_thuy_san16
Giao trinh nuoi_trong_thuy_san16
Vcoi Vit
 
Giao trinh nuoi_trong_thuy_san05
Giao trinh nuoi_trong_thuy_san05Giao trinh nuoi_trong_thuy_san05
Giao trinh nuoi_trong_thuy_san05
Vcoi Vit
 
Giao trinh nuoi_trong_thuy_san02
Giao trinh nuoi_trong_thuy_san02Giao trinh nuoi_trong_thuy_san02
Giao trinh nuoi_trong_thuy_san02
Vcoi Vit
 
Giao trinh tong hop sv50
Giao trinh tong hop sv50Giao trinh tong hop sv50
Giao trinh tong hop sv50
Vcoi Vit
 
Giao trinh tong hop sv49
Giao trinh tong hop sv49Giao trinh tong hop sv49
Giao trinh tong hop sv49
Vcoi Vit
 
Giao trinh tong hop sv48
Giao trinh tong hop sv48Giao trinh tong hop sv48
Giao trinh tong hop sv48
Vcoi Vit
 
Giao trinh tong hop sv47
Giao trinh tong hop sv47Giao trinh tong hop sv47
Giao trinh tong hop sv47
Vcoi Vit
 
Giao trinh tong hop sv46
Giao trinh tong hop sv46Giao trinh tong hop sv46
Giao trinh tong hop sv46
Vcoi Vit
 
Giao trinh tong hop sv45
Giao trinh tong hop sv45Giao trinh tong hop sv45
Giao trinh tong hop sv45
Vcoi Vit
 
Giao trinh tong hop sv43
Giao trinh tong hop sv43Giao trinh tong hop sv43
Giao trinh tong hop sv43
Vcoi Vit
 
Giao trinh tong hop sv41
Giao trinh tong hop sv41Giao trinh tong hop sv41
Giao trinh tong hop sv41
Vcoi Vit
 

More from Vcoi Vit (20)

2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri31
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri312eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri31
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri31
 
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri14
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri142eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri14
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri14
 
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri13
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri132eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri13
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri13
 
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri05
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri052eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri05
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri05
 
Giao trinh nuoi_trong_thuy_san46
Giao trinh nuoi_trong_thuy_san46Giao trinh nuoi_trong_thuy_san46
Giao trinh nuoi_trong_thuy_san46
 
Giao trinh nuoi_trong_thuy_san28
Giao trinh nuoi_trong_thuy_san28Giao trinh nuoi_trong_thuy_san28
Giao trinh nuoi_trong_thuy_san28
 
Giao trinh nuoi_trong_thuy_san23
Giao trinh nuoi_trong_thuy_san23Giao trinh nuoi_trong_thuy_san23
Giao trinh nuoi_trong_thuy_san23
 
Giao trinh nuoi_trong_thuy_san22
Giao trinh nuoi_trong_thuy_san22Giao trinh nuoi_trong_thuy_san22
Giao trinh nuoi_trong_thuy_san22
 
Giao trinh nuoi_trong_thuy_san21
Giao trinh nuoi_trong_thuy_san21Giao trinh nuoi_trong_thuy_san21
Giao trinh nuoi_trong_thuy_san21
 
Giao trinh nuoi_trong_thuy_san16
Giao trinh nuoi_trong_thuy_san16Giao trinh nuoi_trong_thuy_san16
Giao trinh nuoi_trong_thuy_san16
 
Giao trinh nuoi_trong_thuy_san05
Giao trinh nuoi_trong_thuy_san05Giao trinh nuoi_trong_thuy_san05
Giao trinh nuoi_trong_thuy_san05
 
Giao trinh nuoi_trong_thuy_san02
Giao trinh nuoi_trong_thuy_san02Giao trinh nuoi_trong_thuy_san02
Giao trinh nuoi_trong_thuy_san02
 
Giao trinh tong hop sv50
Giao trinh tong hop sv50Giao trinh tong hop sv50
Giao trinh tong hop sv50
 
Giao trinh tong hop sv49
Giao trinh tong hop sv49Giao trinh tong hop sv49
Giao trinh tong hop sv49
 
Giao trinh tong hop sv48
Giao trinh tong hop sv48Giao trinh tong hop sv48
Giao trinh tong hop sv48
 
Giao trinh tong hop sv47
Giao trinh tong hop sv47Giao trinh tong hop sv47
Giao trinh tong hop sv47
 
Giao trinh tong hop sv46
Giao trinh tong hop sv46Giao trinh tong hop sv46
Giao trinh tong hop sv46
 
Giao trinh tong hop sv45
Giao trinh tong hop sv45Giao trinh tong hop sv45
Giao trinh tong hop sv45
 
Giao trinh tong hop sv43
Giao trinh tong hop sv43Giao trinh tong hop sv43
Giao trinh tong hop sv43
 
Giao trinh tong hop sv41
Giao trinh tong hop sv41Giao trinh tong hop sv41
Giao trinh tong hop sv41
 

Cham diem tu dong bieu mau thi trac nghiem

  • 1. 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 NGUYỄN QUỐC BẢO - NGUYỄN PHÚ CƯỜNG PHẦN MỀM THIẾT KẾ VÀ CHẤM ĐIỂM TỰ ĐỘNG BIỂU MẪU THI TRẮC NGHIỆM KHÓA LUẬN CỬ NHÂN TIN HỌC TP. HCM, 2005
  • 2. 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 NGUYỄN QUỐC BẢO - 0112172 NGUYỄN PHÚ CƯỜNG - 0112177 PHẦN MỀM THIẾT KẾ VÀ CHẤM ĐIỂM TỰ ĐỘNG BIỂU MẪU THI TRẮC NGHIỆM KHÓA LUẬN CỬ NHÂN TIN HỌC GIÁO VIÊN HƯỚNG DẪN Th.s TRẦN ĐỨC DUẨN NIÊN KHÓA 2001 - 2005
  • 3. NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... .......................................................................................................................................
  • 4. NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... ....................................................................................................................................... .......................................................................................................................................
  • 5. LỜI CẢM ƠN Chúng em xin cảm ơn Khoa Công Nghệ Thông Tin, trường Đại Học Khoa Học Tự Nhiên TPHCM đã tạo rất nhiều điều kiện thuận lợi cho chúng em thực hiện đề tài này. Chúng em cũng xin được gửi lời cảm ơn chân thành nhất đến thầy Trần Đức Duẩn, người đã luôn tận tình chỉ bảo và hướng dẫn nhóm chúng em trong suốt thời gian nghiên cứu vừa qua. Bên cạnh đó, chúng em cũng rất cảm ơn các Thầy Cô trong Khoa đã tận tình giảng dạy và trang bị cho chúng em thật nhiều kiến thức bổ ích trong các năm học vừa qua, góp phần rất lớn vào việc nghiên cứu thành công luận văn này. Ngoài ra cũng xin được gửi lời cảm ơn đến hai bạn Phạm Thị Minh Chung (0112054) và Nguyễn Ngọc Duy Quang (0112194) trong việc đã hỗ trợ các trang thiết bị cần thiết cho quá trình thực hiện đề tài. Cuối cùng, chúng em xin gửi lòng biết ơn sâu sắc đến cha mẹ chúng em, các bậc sinh thành đã có công nuôi dưỡng và dạy dỗ cho chúng em đến ngày hôm nay, những người đã luôn hết lòng tận tụy chăm sóc, ủng hộ và động viên chúng em trong lúc khó khăn cũng như trong suốt thời gian học tập và nghiên cứu. Dù đã cố gắng hoàn thành thật tốt luận văn trong phạm vi yêu cầu, nhưng chúng em biết có những thiếu sót chắc chắn không thể tránh khỏi. Chúng em mong sẽ nhận được sự thông cảm và tận tình chỉ bảo của quý Thầy Cô và các bạn. TP.Hồ Chí Minh, tháng 7 năm 2005 Nhóm sinh viên thực hiện: Nguyễn Phú Cường - Nguyễn Quốc Bảo
  • 6. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 1 - MỤC LỤC MỤC LỤC..................................................................................................................1 DANH MỤC CÁC HÌNH.........................................................................................5 DANH MỤC CÁC BẢNG ........................................................................................7 LỜI MỞ ĐẦU............................................................................................................9 Chương 1: TỔNG QUAN.......................................................................................11 1.1 Yêu cầu thực tế và lý do thực hiện đề tài: .......................................................11 1.2 Mục tiêu của đề tài:.........................................................................................12 1.3 Giải pháp hiện có:...........................................................................................12 1.4 Hướng tiếp cận của luận văn ..........................................................................13 1.5 Nội dung thực hiện của đề tài: ........................................................................14 Chương 2: CƠ SỞ LÝ THUYẾT...........................................................................16 2.1 Lý thuyết cho phần thiết kế biễu mẫu thi trắc nghiệm: ...................................17 2.1.1 Phân tích các thành phần trên biểu mẫu trắc nghiệm: ..............................17 2.1.2 Tổ chức dữ liệu để biểu diễn và lưu trữ biểu mẫu....................................22 2.2 Lý thuyết cho phần chấm điểm tự động: .........................................................24 2.2.1 Tóm tắt quá trình thực hiện của phần chấm điểm tự động.......................24 2.2.2 Sơ Lược Các Lý Thuyết Về Xử Lý Ảnh Và Nhận Dạng .........................27 2.2.2.1 Xử lý ảnh:...........................................................................................27 2.2.2.1.1 Các thao tác xử lý ảnh cơ bản:...................................................27 2.2.2.1.2 Tô màu bằng thuật toán dựa theo dòng quét cải tiến ................28 2.2.2.2 Nhận dạng:.........................................................................................32 2.2.2.2.1 Nhận dạng bốn góc của bài thi bằng thuật toán Hough Transform..................................................................................................32 2.2.2.2.2 Kiểm tra vùng tô ........................................................................39 2.2.2.2.3 Mạng nơ ron và ứng dụng vào nhận dạng chữ viết tay in..........42 Chương 3: THIẾT KẾ CHƯƠNG TRÌNH...........................................................45 3.1 PHÂN TÍCH: ...................................................................................................45 3.2 XÁC ĐỊNH YÊU CẦU:....................................................................................46 3.3 XÂY DỰNG MÔ HÌNH USE-CASE:...............................................................47 3.3.1 Xác định Actor và Use-Case: ...................................................................47 3.3.2 Mô hình Use-case: ....................................................................................47 3.3.3 Đặc tả Use-case: .......................................................................................48 3.3.3.1 THIETKEBIEUMAU:.......................................................................48 3.3.3.1.1 TAOMOI:...................................................................................49 3.3.3.1.2 SUABIEUMAU:........................................................................49 3.3.3.1.3 CHONDOITUONG:..................................................................50
  • 7. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 2 - 3.3.3.1.4 THEMDOITUONGCOBAN:....................................................50 3.3.3.1.4 THEMDOITUONGDOHOA:....................................................50 3.3.3.1.5 XOADOITUONG:.....................................................................51 3.3.3.1.6 CAPNHATDOITUONG:...........................................................51 3.3.3.2 SOANDAPAN:..................................................................................52 3.3.3.2.1 THEMDAPAN: .........................................................................53 3.3.3.2.2 CAPNHATDAPAN:..................................................................53 3.3.3.2.3 XOADAPAN: ............................................................................54 3.3.3.3 CHAMDIEM: ....................................................................................54 3.3.3.4 QUANLYKYTHI: .............................................................................55 3.3.3.4.1 THEMKYTHI:...........................................................................56 3.3.3.4.2 CAPNHATKYTHI: ...................................................................56 3.3.3.4.3 XOAKYTHI: .............................................................................57 3.3.3.5 QUANLYTHISINH:..........................................................................57 3.3.3.5.1 THEMTHISINH: .......................................................................58 3.3.3.5.2 CAPNHATTHISINH:................................................................58 3.3.3.5.3 XOATHISINH:..........................................................................59 3.3.3.6 QUANLYMONHOC:........................................................................60 3.3.3.6.1 THEMMONHOC: .....................................................................60 3.3.3.6.2 CAPNHATMONHOC:..............................................................61 3.3.3.6.3 XOAMONHOC: ........................................................................61 3.3.3.7 QUANLYBAILAM:..........................................................................62 3.3.3.6.1 THEMMONHOC: .....................................................................63 3.3.3.6.2 CAPNHATMONHOC:..............................................................63 3.3.3.6.3 XOAMONHOC: ........................................................................63 3.4 SƠ ĐỒ LỚP:....................................................................................................64 3.4.1 Sơ đồ:........................................................................................................64 3.4.2 Mô tả một số lớp chính:............................................................................67 3.4.2.1 Lớp Entity: .........................................................................................67 3.4.2.2 Lớp Text:............................................................................................68 3.4.2.3 Lớp TextCell:.....................................................................................69 3.4.2.4 Lớp TextField: ...................................................................................70 3.4.2.5 Lớp ChoiceElement: ..........................................................................71 3.4.2.6 Lớp Choice:........................................................................................72 3.4.2.7 Lớp AnswerCell:................................................................................72 3.4.2.8 Lớp AnswerSheet:..............................................................................74 3.4.2.9 Lớp Line:............................................................................................75 3.4.2.10 Lớp Rect:..........................................................................................76 3.4.2.11 Lớp Ellipse:......................................................................................77 3.4.2.12 Lớp ImageObj:.................................................................................78 3.4.2.13 Lớp Page: .........................................................................................78 3.4.2.14 Lớp Key: ..........................................................................................79 3.4.2.15 Lớp AnswerKey:..............................................................................80
  • 8. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 3 - 3.4.2.16 Lớp Rate:..........................................................................................81 3.4.2.17 Lớp Estimation:................................................................................81 3.4.2.18 Lớp Sentence:...................................................................................82 3.4.2.19 Lớp Answer:.....................................................................................83 3.4.2.20 Lớp Recognition: .............................................................................83 3.5 Thiết kế cơ sở dữ liệu: .....................................................................................84 3.5.1 Sơ đồ:........................................................................................................84 3.5.2 Mô tả các bảng:.........................................................................................85 3.5.2.1 MauThi:..............................................................................................85 3.5.2.2 KyThi: ................................................................................................89 3.5.2.3 MonThi: .............................................................................................89 3.5.2.4 DeThi: ................................................................................................90 3.5.2.5 BaiLam:..............................................................................................91 3.5.2.6 ThiSinh:..............................................................................................92 3.6 Thiết kế giao diện một số màn hình chính: .....................................................92 3.6.1 Màn hình thiết kế biểu mẫu:.....................................................................92 3.6.2 Màn hình chấm điểm: ...............................................................................93 3.7 Cài đặt:............................................................................................................94 Chương 4: THỰC NGHIỆM, ĐÁNH GIÁ VÀ TỔNG KẾT..............................95 4.1 Thực nghiệm:...................................................................................................95 4.2 Kết quả.............................................................................................................95 4.2.1 Phần thiết kế các biểu mẫu: ......................................................................95 4.2.2 Phần chấm điểm tự động: .......................................................................100 4.3 Đánh giá........................................................................................................101 4.4 Kết luận .........................................................................................................102 4.5 Hướng phát triển:..........................................................................................102 PHỤ LỤC...............................................................................................................104 PL.1 Các thao tác xử lý ảnh cơ bản:...................................................................104 PL.1.1 Làm xám ảnh:......................................................................................104 PL.1.2 Chuyển sang ảnh nhị phân ...................................................................106 PL.1.3 Xoay ảnh. .............................................................................................108 PL.1.4 Biến đổi tỉ lệ ảnh (Scale)......................................................................110 PL.2 Lý thuyết về mạng nơron ............................................................................111 PL.2.1 Đặt vấn đề ............................................................................................111 PL.2.2 Định nghĩa............................................................................................111 PL.2.3 Sơ lược cấu tạo của mạng nơron..........................................................111 PL.2.4 Quá trình ánh xạ và quá trình học của mạng nơ ron............................112 PL.2.4.1 Quá trình ánh xạ ............................................................................112 PL.2.4.2 Quá trình học.................................................................................113 PL.2.4.3 Lan truyền ngược sai số ................................................................114 PL.2.5 Hàm truyền...........................................................................................115 PL.2.6 Khởi tạo trọng ......................................................................................116
  • 9. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 4 - PL.2.7 Vấn đề quá khớp ..................................................................................116 TÀI LIỆU THAM KHẢO ....................................................................................118
  • 10. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 5 - DANH MỤC CÁC HÌNH Hình 2-1: Mô hình chung cho toàn bộ phần mềm ...............................................16 Hình 2-2 : Mẫu bài thi TOEFL..............................................................................18 Hình 2-3: Mẫu thi của kỳ thi sát hạch Nhật Bản .................................................19 Hình 2-4: Phần văn bản trong đề thi mẫu ............................................................20 Hình 2-5: Phần ghi tên thí sinh trong đề thi mẫu ................................................21 Hình 2-6: Phần ghi mã số thí sinh trong đề thi mẫu............................................21 Hình 2-7: Phần lựa chọn giới tính trong đề thi mẫu............................................21 Hình 2-8: Phần trả lời câu hỏi của thí sinh trong đề thi mẫu.............................22 Hình 2-9: Sơ đồ tóm tắt quá trình chấm thi .........................................................27 Hình 2-10: quá trình thực hiện của thuật toán tô màu dựa theo đường biên...29 Hình 2-11..................................................................................................................30 Hình 2-12..................................................................................................................31 Hình 2-13..................................................................................................................31 Hình 2-14..................................................................................................................32 Hình 2-15..................................................................................................................35 Hình 2-16..................................................................................................................36 Hình 2-17..................................................................................................................37 Hình 2-18..................................................................................................................37 Hình 2-19: khi chưa được tô ..................................................................................39 Hình 2-20: các dạng sau khi đã tô .........................................................................39 Hình 2-21: ảnh cần kiểm tra tô được phân thành 3 vùng ...................................40 Hình 2-22: cấu tạo của mạng nơ ron được áp dụng cho đề tài...........................43 Hình 3-1: Mô hình Use-Case..................................................................................48 Hình 3-2: Sơ đồ lớp xử lý chính.............................................................................65 Hình 3-3: Sơ đồ lớp truy cập cơ sở dữ liệu:..........................................................65 Hinh 3-4: CellStyle: Char.......................................................................................69 Hinh 3-5: CellStyle: Number..................................................................................69 Hinh 3-6: CellStyle: All...........................................................................................69 Hinh 3-7: AnswerStyles - Vertical .........................................................................73 Hinh 3-8: AnswerStyle - Vertical...........................................................................73
  • 11. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 6 - Hình 3-9: Mô hình cơ sở dữ liệu ............................................................................85 Hình 3-10: Màn hình thiết kế biểu mẫu................................................................93 Hình 3-11 : Màn hình chấm điểm tự động............................................................94 Hình 4.1: mẫu thi Institutional TOEFL thực tế...................................................96 Hình 4-2: mẫu TOEFL được thiết kết bởi chương trình ....................................97 Hình 4-3: Mẫu của kỳ thi sát hạch chuẩn kỹ sư Nhật Bản. ................................98 Hình 4-4: Mẫu đề thi Mạng không dây và an ninh mạng ...................................99 Hình PL-1: ảnh trước khi được làm xám ...........................................................105 Hình PL-2: ảnh sau khi được làm xám...............................................................105 Hình PL-3: ảnh xám trước khi được chuyển thành ảnh nhị phân...................107 Hình PL-4: ảnh sau khi chuyển thành ảnh nhị phân với ngưỡng là 128.........107 Hình PL-5: Bài thi trong file ảnh bị lệch. ...........................................................108 Hình PL-6: Bài thi sau khi xoay sẽ không còn bị lệch. ......................................109 Hình PL-7: ảnh trước khi biến đổi tỉ lệ...............................................................110 Hình PL-8: ảnh sau khi biến đổi tỉ lệ còn 60% so với ảnh ban đầu.................110
  • 12. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 7 - DANH MỤC CÁC BẢNG Bảng 3-1: Danh sách các lớp trong sơ đồ lớp .......................................................67 Bảng 3-2: Danh sách thuộc tính lớp Entity...........................................................67 Bảng 3-3: Danh sách phương thức lớp Entity......................................................68 Bảng 3-4: Danh sách thuộc tính lớp Text .............................................................68 Bảng 3-5: Danh sách phương thức lớp Text.........................................................69 Bảng 3-6: Danh sách thuộc tính lớp TextCell.......................................................69 Bảng 3-7: Danh sách phương thức lớp TextCell..................................................70 Bảng 3-8: Danh sách thuộc tính lớp TextField.....................................................70 Bảng 3-9: Danh sách phương thức lớp TextField ................................................71 Bảng 3-10: Danh sách thuộc tính lớp ChoiceElement .........................................71 Bảng 3-11: Danh sách phương thức lớp ChoiceElement.....................................72 Bảng 3-12: Danh sách thuộc tính lớp Choice .......................................................72 Bảng 3-13: Danh sách phương thức lớp Choice...................................................72 Bảng 3-14: Danh sách thuộc tính lớp AnswerCell ...............................................73 Bảng 3-15: Danh sách phương thức lớp AnswerCell...........................................74 Bảng 3-16: Danh sách thuộc tính lớp AnswerSheet.............................................74 Bảng 3-17: Danh sách phương thức lớp AnswerSheet ........................................75 Bảng 3-18: Danh sách thuộc tính lớp Line ...........................................................75 Bảng 3-19: Danh sách phương thức lớp Line.......................................................76 Bảng 3-20: Danh sách thuộc tính lớp Rect ...........................................................76 Bảng 3-21: Danh sách phương thức lớp Rect.......................................................77 Bảng 3-22: Danh sách thuộc tính lớp Ellipse........................................................77 Bảng 3-23: Danh sách phương thức lớp Ellipse...................................................78 Bảng 3-24: Danh sách thuộc tính lớp ImageObj..................................................78 Bảng 3-25: Danh sách phương thức lớp ImageObj .............................................78 Bảng 3-26: Danh sách thuộc tính lớp Page...........................................................79 Bảng 3-27: Danh sách phương thức lớp Page ......................................................79 Bảng 3-28: Danh sách thuộc tính lớp Key ............................................................79 Bảng 3-29: Danh sách phương thức lớp Key........................................................80 Bảng 3-30: Danh sách thuộc tính lớp AnswerKey ...............................................80
  • 13. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 8 - Bảng 3-31: Danh sách phương thức lớp AnswerKey...........................................80 Bảng 3-32: Danh sách thuộc tính lớp Rate ...........................................................81 Bảng 3-33: Danh sách phương thức lớp Rate.......................................................81 Bảng 3-34: Danh sách thuộc tính lớp Estimation.................................................82 Bảng 3-35: Danh sách phương thức lớp Estimation............................................82 Bảng 3-36: Danh sách thuộc tính lớp Sentence....................................................82 Bảng 3-37: Danh sách phương thức lớp Sentence................................................83 Bảng 3-38: Danh sách thuộc tính lớp Answer......................................................83 Bảng 3-39: Danh sách phương thức lớp Answer..................................................83 Bảng 3-40: Danh sách thuộc tính lớp Recognition...............................................84 Bảng 3-41: Danh sách phương thức lớp Recognition ..........................................84 Bảng 3-42: Danh sách các trường trong bảng MauThi.......................................85 Bảng 3-43: Danh sách các trường trong bảng KyThi..........................................89 Bảng 3-44: Danh sách các trường trong bảng MonThi.......................................90 Bảng 3-45: Danh sách các trường trong bảng DeThi ..........................................90 Bảng 3-46: Danh sách các trường trong bảng BaiLam.......................................91 Bảng 3-47: Danh sách các trường trong bảng ThiSinh.......................................92 Bảng 4-1 : So sánh chấm bằng tay và chấm bằng máy......................................101
  • 14. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 9 - LỜI MỞ ĐẦU Hiện nay thi trắc nghiệm là một hình thức thi rất phổ biến tại các nước trên thế giới. Nhờ vào đặc điểm luôn có sự rõ ràng của đáp án mà những tranh cãi nhọc nhằn trong việc tính điểm được giảm đi rất nhiều. Điều này dẫn đến việc nâng cao tính chính xác, khách quan trong việc đưa ra kết quả bài thi. Bên cạnh đó thời gian để chấm từng bài thi trắc nghiệm là tương đối nhanh, cho nên sẽ làm tăng tính hiệu quả trong việc tổ chức thi cử. Hình thức thi trắc nghiệm thường được áp dụng cho các môn học thuộc lĩnh vực khoa học tự nhiên, các môn ngoại ngữ, tức những dạng kiến thức không đòi hỏi ở khả năng tự luận. Do đó, nền giáo dục của nước ta hiện nay đã ý định chuyển những môn thi có thể sang hình thức trắc nghiệm vào năm 2007, 2008. Đối với Khoa Công Nghệ Thông Tin cùng những Khoa khác của trường Đại Học Khoa Học Tự Nhiên TP. HCM cũng vậy, việc chuyển đổi những môn thi thích hợp sang thi trắc nghiệm là một quy luật tất yếu, nhằm có thể đánh giá chính xác hơn kiến thức của sinh viên (tuy rằng đã có một số môn được áp dụng sang thi trắc nghiệm - chẳng hạn như tiếng Anh, Hợp Ngữ...). Mặc dù đã được ghi nhận nhiều về những ích lợi như vậy, thế nhưng, hình thức thi này đến nay vẫn chưa thể được áp dụng rộng rãi tại Việt Nam. Các giải pháp – bao gồm bộ thiết bị chuyên dụng và phần mềm đi kèm – thường có giá thành khá cao, chỉ thích hợp cho các kỳ thi lớn và quan trọng. Ngoài ra, còn phải kể đến sự cứng nhắc trong định dạng của các mẫu bài thi. Điều này có nghĩa rằng mẫu thi phải cố định, đối với mỗi thiết bị chấm chỉ dùng được cho các mẫu có sẵn của riêng thiết bị đó mà thôi. Từ những bất cập như trên, giải pháp được luận văn lựa chọn là tận dụng các thiết bị thường thấy trong điều kiện Việt Nam để áp dụng vào việc thi trắc nghiệm. Đó chính là những chiếc máy tính cá nhân, máy scan đang được sử dụng rộng rãi hàng ngày trong từng công sở, trường học, thậm chí ngay cả các hộ gia đình. Chúng sẽ đóng vai trò như những thiết bị đầu vào và xử lý cho quá trình chấm thi. Khi sử
  • 15. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 10 - dụng các thiết bị này, hình thức thi trắc nghiệm sẽ giảm được giá thành, cũng như tăng thêm tính khả dụng, khi có thể áp dụng tại hầu hết mọi nơi tại Việt Nam. Luận văn này gồm 4 chương có nội dung như sau: o Chương 1. Tổng quan: giới thiệu bối cảnh, lý do thực hiện đề tài cũng như các giải pháp hiện thời có liên quan, từ đó rút ra hướng tiếp cận của luận văn để thực hiện đề tài. o Chương 2. Cơ sở lý thuyết: trình bày sơ lược về các lý thuyết của xử lý ảnh, của mạng nơron, cũng như ứng dụng của chúng trong đề tài. o Chương 3. Thiết kế phần mềm: tài liệu phân tích và thiết kế chương trình. o Chương 4. Thực nghiệm, đánh giá và tổng kết: nêu đánh giá về toàn bộ đề tài, trình bày những kết quả đã đạt được cũng như các hạn chế của đề tài, từ đó đề xuất những hướng nghiên cứu trong tương lai.
  • 16. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 11 - Chương 1: TỔNG QUAN 1.1 Yêu cầu thực tế và lý do thực hiện đề tài: Trong những năm gần đây, việc thi cử luôn là một chủ đề thời sự rất được quan tâm. Chuyện gian lận quay cóp trong các kỳ thi, kết quả điểm thi không chính xác, thường theo ý kiến chủ quan của người chấm thi dẫn đến việc khiếu kiện, đáp án kỳ thi tuyển sinh không nhất quán, rõ ràng, v.v..., hầu như năm nào cũng xảy ra, gây nhiều bức xúc. Do đó, nhu cầu cần có một phương pháp thi – chủ yếu áp dụng với các môn khoa học tự nhiên - cho kết quả chính xác hơn được đặt ra. Trong bối cảnh đó, thi trắc nghiệm - dạng thi mà mỗi bài thi có một đáp án rõ ràng kèm theo – là một giải pháp được nhắc đến. Đối với một kỳ thi trắc nghiệm được tổ chức và quản lý tốt, minh bạch, kết quả thi của thí sinh sẽ khách quan, không còn phụ thuộc nhiều vào người chấm bài nữa. Ngoài ra, việc chấm thi sẽ mau lẹ. Tuy nhiên, câu hỏi lại được đặt ra rằng: khi phương pháp thi trắc nghiệm có những ưu điểm như vậy nhưng tại sao vẫn chưa được phổ biến ở Việt Nam. Bộ Giáo Dục Việt Nam đã từng có ý định chuyển các môn thi thích hợp trong kỳ thi tuyển sinh đại học sang hình thức thi trắc nghiệm, thế rồi đã phải dời lại cho đến tận năm 2008, cột mốc mà đến giờ hiện vẫn còn chưa chắc chắn. Ngay như Khoa Công Nghệ Thông Tin của trường Khoa Học Tự Nhiên của chúng ta, tuy đã áp dụng ở một số môn như Tiếng Anh, Hợp Ngữ..., thi trắc nghiệm vẫn còn tương đối xa lạ. Sau khi phân tích đi tìm các nguyên nhân, ta nhận thấy rằng dù đã từng áp dụng thi trắc nghiệm ở một số môn tại nhiều nơi, thế nhưng nước ta vẫn còn thực hiện cách thức chấm bài thủ công, nguyên nhân chính là do ở kinh phí. Và vì chấm như vậy, cho nên kết quả được đưa ra rất chậm và đôi lúc còn chưa khách quan (do người chấm nhầm lẫn trong lúc chấm ...), không đảm bảo được tính chính xác như bản chất của hình thức thi trắc nghiệm. Trong khi đó, để có thể chấm tự động, đòi
  • 17. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 12 - hỏi phải có thiết bị chuyên dụng với giá thành tương đối cao (vì thường có giải pháp phần mềm riêng đi kèm). Muốn vậy, kỳ thi phải lớn và thu lệ phí đầu vào cao. Điều này là không khả thi trong điều kiện của Việt Nam. Tiếp nữa, các mẫu bài thi có sẵn cho các thiết bị chuyên dụng đó thường cố định, không khả chuyển, việc tạo ra các mẫu mới là có nhưng khá khó khăn, phức tạp và tốn kém. Do vậy, đòi hỏi cần có một giải pháp giải quyết toàn diện các bất cập đó là một đòi hỏi chính đáng. 1.2 Mục tiêu của đề tài: Mục tiêu của đề tài là nhằm đưa ra một giải pháp cho phép tổ chức thi trắc nghiệm, sao cho giá thành rẻ, có thể áp dụng ngay vào các trường học, chẳng hạn như Khoa Công Nghệ Thông Tin của chúng ta. Ngoài ra, giải pháp còn phải cho phép khả năng tạo lập, chỉnh sửa các biểu mẫu thi để phù hợp với nhu cầu trong từng môn thi của mỗi kỳ thi. 1.3 Giải pháp hiện có: Tại Việt Nam cũng như trên thế giới, các dụng cụ chuyên dụng dùng cho việc thi trắc nghiệm đã có từ khá lâu, mà phổ biến nhất là máy chấm carbon dùng cho các kỳ thi TOEFL hay IELTS. Đây là một thiết bị cho phép chấm bài hàng loạt nhưng yêu cầu bài thi phải theo mẫu cố định ứng với máy chấm bài và đòi hỏi phải có thiết bị in ấn chuyên biệt đi kèm. Bài thi sau khi được in ấn và xử lý bởi thiết bị in ấn chuyên dụng sẽ có hình dạng nhất định theo quy định sẵn của máy chấm, có các đánh dấu carbon trên nhiều vị trí của bài thi. Máy chấm carbon nhờ vào những thành phần chuyên dụng đo nồng độ carbon, sẽ xác định đựơc các vị trí đánh dấu. Từ đó tính toán ra được các vị trí để lấy thông tin thí sinh cũng như xác định kết quả bài thi. Tuy nhiên, để cho kết quả được chính xác, thí sinh khi làm bài trên các mẫu thi này, cần phải dùng bút chì carbon. Như ta đã thấy, các thiết bị này còn có khuyết điểm lớn là giá thành cao, do phải đi kèm với nhiều thiết bị chuyên biệt khác, và độ khả chuyển kém. Ứng với mỗi bài thi sẽ là một cặp máy chấm và máy in riêng biệt. Điều này không phù hợp
  • 18. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 13 - với thực tế của Việt Nam ta khi mà thu nhập bình quân so với các nước khác còn kém rất xa. Ưu điểm và khuyết điểm của giải pháp dùng máy chấm carbon: Ưu điểm: chấm rất nhanh và rất chính xác, thích hợp cho các kỳ thi lớn và rất lớn. Khuyết điểm: chỉ dùng cho một mẫu bài thi cụ thể đối với từng thiết bị chấm và in chuyên biệt. Do thiết bị không phổ biến nên giá thành cao. 1.4 Hướng tiếp cận của luận văn Giải pháp được đưa ra là sử dụng các thiết bị phổ biến sẵn có trong điều kiện Việt Nam hiện nay như máy tính cá nhân, máy in và máy scan để giảm giá thành. Trong giải pháp này, máy tính cá nhân sẽ đóng vai trò trung tâm, thực hiện việc thiết kế các biểu mẫu, sau đó dùng máy in để in chúng ra. Máy tính cũng đồng thời đóng vai trò thực hiện việc chấm điểm các bài thi thông qua thiết bị scan. Thiết bị scan này có thể là máy scan thường thấy. Tuy nhiên trong thực tế, do số lượng bài thi nhiều, cần được chấm điểm toàn bộ, nên thiết bị scan được khuyến khích là các máy scan có chức năng cho phép scan hàng loạt. Ngoài ra, vì không dùng thiết bị in ấn chuyên biệt, nên việc in màu cho bài thi là không khả thi. Giải pháp đưa ra sẽ là dùng máy in đen trắng in hàng loạt, hoặc tiết kiệm chi phí hơn bằng cách in bản mẫu và dùng máy photocopy để sao chép ra. Vì dùng máy scan, nên việc bắt buộc bài thi đầu vào để chấm điểm phải đặt chính xác vị trí quy định là điều không khả thi. Bài thi sẽ được chấm chính xác khi scan lệch không quá 5 độ. Từ các vị trí đánh dấu góc của bài thi được nhận dạng, máy tính sẽ tính ra được các vị trí khác cần thiết trong bài nhờ vào các thông tin trong bản mẫu thiết kế - hay còn gọi là mẫu chấm bài. Tuy nhiên, do giải pháp này không dùng các thiết bị chuyên dụng để chấm bài, nên các bài thi đầu vào cho máy tính sẽ không được chuẩn, từ đó việc chấm bài sẽ tốn khá nhiều thời gian cho việc chuẩn hoá lại bài thi (thông qua nhận dạng) cũng
  • 19. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 14 - như kết quả chấm sẽ có lúc không được chính xác hoàn toàn như khi thực hiện bằng thiết bị chuyên dụng. Các ưu điểm và khuyết điểm của giải pháp mà luận văn đã chọn: Ưu điểm: giá thành cho thiết bị sẽ rẻ hơn, do đã có sẵn. Các mẫu bài thi cũng khả chuyển hơn, được thiết kế tuỳ theo nhu cầu của người dùng, có khả năng ứng dụng tại bất kỳ nơi nào miễn có các thiết bị thông thường như máy in, máy scan và máy tính cá nhân. Khuyết điểm: chấm điểm chậm hơn các máy chuyên dụng, và không được chính xác bằng. Không khả thi với các kỳ thi quá lớn vì chi phí cho việc quét tất cả các bài thi là rất cao. Phần mềm cần thực hiện 2 nhiệm vụ chính: thiết kế các biểu mẫu và chấm điểm tự động bài thi. Dựa vào các mẫu đề thi trắc nghiệm có sẵn (TOEFL, TOEIC, IELTS...), ta nhận thấy những công việc chính yếu trong việc thiết kế một bài thi trắc nghiệm bao gồm: chỉnh sửa trình bày bài thi; lưu và đọc lại các mẫu đã tạo; soạn đáp án; thực hiện in mẫu. Giải pháp dùng công nghệ XML được cân nhắc chọn lựa. Trong khi đó, đối với công việc chấm thi, ta cần thực hiện: chỉnh sửa ảnh bài thi đầu vào theo một chuẩn quy định; thực hiện các xử lý trên từng vùng của ảnh để phân tích thông tin như kiểm tra tô, nhận dạng chữ viết tay; so với đáp án có sẵn để cho ra kết quả; lưu kết quả vào database. 1.5 Nội dung thực hiện của đề tài: Các công việc chính của đề tài bao gồm: Thu thập và tìm hiểu về các mẫu bài thi trắc nghiệm thông dụng như TOEFL, IELTS... từ đó đưa ra các phần thường được dùng đi dùng lại trong bài thi.
  • 20. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 15 - Phân tích, thiết kế và thực thi viết mã lệnh cho các thành phần của chương trình tạo biễu mẫu bài thi trắc nghiệm. Phân tích, xây dựng và tổ chức cơ sở dữ liệu để lưu trữ thông tin của mẫu bài thi cũng như các đáp án đi kèm với mẫu bài thi đó. Tìm hiểu các lý thuyết về xử lý ảnh, về nhận dạng giúp chuẩn hoá và đưa ra kết quả cho các bài thi. Tìm hiểu và ứng dụng mạng nơron trong việc nhận dạng chữ viết tay in từ các bài thi. Chương tiếp theo sẽ bàn về các lý thuyết được ứng dụng trong việc xây dựng chương trình.
  • 21. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 16 - Chương 2: CƠ SỞ LÝ THUYẾT Với hướng tiếp cận cho luận văn như đã được trình bày ở chương trước, ta nhận thấy phần mềm cần được chia ra làm 2 phần: phần thiết kế, tạo lập các biểu mẫu thi trắc nghiệm và phần chấm điểm tự động các bài thi trắc nghiệm. Hình 2-1: Mô hình chung cho toàn bộ phần mềm Sau đây, ta sẽ đi sâu vào nghiên cứu các lý thuyết ứng dụng cho từng phần.
  • 22. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 17 - 2.1 Lý thuyết cho phần thiết kế biễu mẫu thi trắc nghiệm: 2.1.1 Phân tích các thành phần trên biểu mẫu trắc nghiệm: Sau đây là một số mẫu thi trắc nghiệm mà chúng em đã thu thập được: - Mẫu bài thi của kỳ thi TOEFL:
  • 23. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 18 - Hình 2-2 : Mẫu bài thi TOEFL
  • 24. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 19 - - Mẫu thi của kỳ thi sát hạch kỹ sư chất lượng Nhật Bản: Hình 2-3: Mẫu thi của kỳ thi sát hạch Nhật Bản
  • 25. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 20 - Sau khi quan sát các biểu mẫu thi trắc nghiệm của một số kỳ thi chúng em có nhận xét rằng một biểu mẫu thường gồm có những thành phần sau: a) Phần thông tin thí sinh: Phần này dành cho thí sinh ghi thông của mình, nó bao gồm các đối tượng sau: i) Text: dùng để viết tiêu đề hay văn bản Hình 2-4: Phần văn bản trong đề thi mẫu ii) TextField: dùng để ghi tên, ngày sinh hay mã số thí sinh…
  • 26. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 21 - Hình 2-5: Phần ghi tên thí sinh trong đề thi mẫu Hình 2-6: Phần ghi mã số thí sinh trong đề thi mẫu iii) Choice: phần lựa chọn Hình 2-7: Phần lựa chọn giới tính trong đề thi mẫu
  • 27. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 22 - b) Phần trả lời câu hỏi: Đây là nơi thí sinh đánh dấu câu trả lời của mình. Nó có dạng như hình sau: Hình 2-8: Phần trả lời câu hỏi của thí sinh trong đề thi mẫu c) Các phần khác: Qua hình minh họa trên ta nhận thấy trên các biểu mẫu có thêm đường viền đen. Các đối tượng này đóng vai trò là lề của biểu mẫu, điều này giúp ích rất nhiều cho quá trình chấm điểm được chính xác hơn. Ngoài những thành phần nêu trên chúng ta còn thấy trên đề còn có một số đối tượng đồ hoạ như: đường thẳng, hình chữ nhật, hình tròn… 2.1.2 Tổ chức dữ liệu để biểu diễn và lưu trữ biểu mẫu. Thiết kế biểu mẫu là một phần của hệ thống, nó không chỉ có nhiệm vụ tạo ra những mẫu bài thi trắc nghiệm mà còn có nhiệm vụ cung cấp thông tin về mẫu bài thi đó cho quá trình nhận dạng sau này. Do đó việc tổ chức lưu trữ như thế nào cũng
  • 28. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 23 - là vấn đề hết sức quan trọng. Ngày nay công nghệ XML đang phát triển rất mạnh và đang được áp dụng rất rộng rãi. Ngoài việc giúp cho định nghĩa một đối tượng có cấu trúc được rõ ràng, nó còn có khả năng chuyển đổi sang các hệ thống khác một cách dễ dàng. Và đó cũng là lý do mà chương trình chọn cách lưu trữ có sử dụng XML. [5] Mỗi biểu mẫu được xem là một “Document” gồm nhiều trang “Page”. Mỗi trang lại gồm các đối tượng khác. Dựa theo phân tích các đối tượng như trên thì ta có thể lưu trữ biểu mẫu theo cấu trúc như sau (chi tiết sẽ được đề cập sau). <Document> <Page> <Text/> <Text/> <TextField/> <AnswerSheet/> <AnswerSheet/> <Line/> <Rect/> <Ellipse/> … </Page> <Page> </Page> … </Document>
  • 29. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 24 - 2.2 Lý thuyết cho phần chấm điểm tự động: 2.2.1 Tóm tắt quá trình thực hiện của phần chấm điểm tự động Chương trình khi chấm điểm sẽ thực hiện một quá trình được tóm tắt như sau: Đầu tiên, bài thi sau khi được làm xong, sẽ được quét đưa vào máy tính xử lý. Ảnh lúc này là ảnh màu chiếm nhiều thông tin không cần thiết cho việc chấm điểm, do đó trước khi chấm cần được làm xám và chuyển thành ảnh nhị phân (tức ảnh trắng đen) để loại bỏ bớt các thông tin dư thừa. Vì các máy scan hầu hết đều không có vị trí canh chuẩn, nên ảnh bài thi đầu vào cho việc chấm điểm có thể sẽ bị lệch, nghĩa là các vị trí cần chấm trong ảnh không chính xác so với mẫu chấm bài, dẫn đến bài chấm sẽ bị sai. Dựa vào các đánh dấu có sẵn ở 4 góc của bài thi được xác định bằng thuật toán Hough Transform, máy sẽ tính được góc lệch của bài thi. (Tuy nhiên, do ban đầu việc scan bị lệch nên phần rìa của bài thi sẽ bị vùng đen. Nên để nhận dạng 4 góc đựơc chính xác, trước đó chương trình cần chuyển vùng rìa đen sang trắng, tức loại bỏ vùng đen đó bằng thuật toán tô màu. Để cải tiến tốc độ, thuật toán tô màu dựa theo dòng quét cải tiến được sử dụng). Sau khi tính được góc lệch của ảnh bài thi so với mẫu chấm bài, chương trình sẽ áp dụng phép xoay ảnh, một trong các lý thuyết xử lý ảnh, để chuyển bài thi về trạng thái đúng, tức ảnh bài thi không bị lệch nữa. Lúc này, các vị trí đánh dấu của bài thi đã thay đổi, đều bị xoay một góc như ảnh bài thi, chương trình sẽ thực hiện các phép tính xoay để xác định lại vị trí hiện tại của các đánh dấu ở 4 góc. Tiếp đó, chương trình sẽ thực hiện cắt bỏ các phần thừa ngoài vùng đánh dấu của bài thi, chỉ lấy toàn bộ phần bên trong vùng đánh dấu. Kết quả ta đã có đựơc một ảnh bài thi hoàn chỉnh có các vị trí chấm được xác định theo mẫu
  • 30. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 25 - chấm bài chuẩn. Các bước trên là các giai đoạn làm chuẩn ảnh đầu vào để việc chấm thi được chính xác. Công việc tiếp theo là chấm điểm ảnh bài thi đã được chuẩn hoá theo mẫu chấm tương ứng. Dựa vào các thông tin về các vị trí cần thiết (cho việc rút trích thông tin thí sinh cũng như chấm điểm cho bài thi) từ bản mẫu bài thi trong phần thiết kế, ta sẽ lấy ra các vùng ảnh cần được xử lý (crop). Tuỳ theo thông tin từ mẫu chấm, ta sẽ biết được vùng ảnh lấy ra cần thực hiện hoặc việc xem xét có tô hay không, hoặc phức tạp hơn là nhận dạng chữ viết tay in có trong vùng ảnh đó. Đối với trường hợp xét một vùng ảnh là có được tô hay không thì công việc chỉ đơn giản là xét xem mật độ điểm đen trong vùng ảnh đó có lớn hay nhỏ hơn một ngưỡng nào đó do ta quy định sẵn từ trước. Tuy nhiên, đối với trường hợp vùng ảnh chứa chữ viết tay in, công việc tương đối phức tạp hơn, đòi hỏi phải áp dụng lý thuyết về mạng nơron để nhận dạng ký tự được chứa trong vùng ảnh đang xét. Do mạng nơron có số đầu vào xác định cụ thể, nên vùng ảnh cần nhận dạng phải được biến đổi tỉ lệ (scale) lại cho phù hợp với đầu vào của mạng. Chi tiết về việc ứng dụng mạng nơ ron sẽ được bàn rõ ở phần “Mạng nơ ron và ứng dụng vào nhận dạng chữ viết tay in”. Sau khi chấm xong, thông tin của bài làm vừa có sẽ được so với đáp án để cho ra kết quả, đưa vào danh sách các bài thi đã chấm. Người dùng có thể lưu lại danh sách kết quả này vào cơ sở dữ liệu để tiện việc xem xét lại về sau. Sau đây là sơ đồ mô tả tóm tắt quá trình chấm thi:
  • 31. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 26 -
  • 32. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 27 - Hình 2-9: Sơ đồ tóm tắt quá trình chấm thi 2.2.2 Sơ Lược Các Lý Thuyết Về Xử Lý Ảnh Và Nhận Dạng 2.2.2.1 Xử lý ảnh: 2.2.2.1.1 Các thao tác xử lý ảnh cơ bản: Trong phần chấm điểm tự động này, các thao tác xử lý ảnh được ứng dụng bao gồm: làm xám ảnh (greyscale), chuyển ảnh sang ảnh nhị phân (threshold), xoay ảnh, biển đổi tỉ lệ ảnh. Ta nhận thấy, đối với đề tài nhận dạng bài thi trắc nghiệm cụ thể như yêu cầu, màu sắc trong ảnh của bài thi là không cần thiết. Do đó, thực hiện việc chuyển
  • 33. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 28 - đổi từ ảnh màu sang ảnh xám rồi sang ảnh nhị phân là nhằm đơn giản hoá, loại bỏ các thông tin dư thừa và chuẩn hoá đầu vào của chương trình, giúp quá trình xử lý của chương trình được gọn nhẹ và nhanh hơn. Tiếp đến, do bài thi của thí sinh khi được quét vào máy để chấm sẽ xảy ra trường hợp bài thi bị đặt nghiêng trong máy scan, dẫn đến bài thi trong ảnh đầu vào không được vuông góc như trong bản thiết kế mà sẽ bị nghiêng một góc bất kỳ. Việc ứng dụng xoay ảnh ở đây nhằm xoay bài thi lại cho vuông góc như trong mẫu thiết kế. Cuối cùng, vì chương trình cho phép các file ảnh đầu vào có kích thước bất kỳ, nên việc biến đổi tỉ lệ ảnh là cần thiết nhằm giúp chuyển các vùng cần nhận dạng hay xử lý về một chuẩn chung, cụ thể là về một kích thước chung (chẳng hạn vùng viết chữ tay cần nhận dạng sẽ được scale lại thành ảnh có kích thước 16x16 để phù hợp với đầu vào của mạng nơrôn ứng dụng cho việc nhận dạng chữ viết tay - xem ở phần nhận dạng chữ viết tay). Chi tiết về các thao tác này được bàn rõ ở phần phụ lục. 2.2.2.1.2 Tô màu bằng thuật toán dựa theo dòng quét cải tiến Các định nghĩa: Một vùng tô bao gồm đường biên và vùng bên trong. Đường biên là một đường khép kín, ví dụ như đa giác. Tô màu là thao tác tìm các điểm sáng “nằm bên trong” một vùng tô. Tô dựa theo dòng quét (scan line) là tô màu theo dòng điểm sáng trên màn hình. Cách thực hiện: Thuật toán tô màu dựa theo đường biên: [2] Đường biên trong thuật toán này được mô tả bằng một giá trị duy nhất là màu của tất cả các điểm thuộc về đường biên. Bắt đầu từ điểm nằm bên trong vùng tô, ta sẽ kiểm tra các điểm lân cận của nó đã được tô màu hay có phải là điểm biên hay không, nếu không phải là
  • 34. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 29 - điểm đã tô và không phải là điểm biên, ta sẽ tô màu nó. Quá trình này được lặp đi lặp lại cho đến khi nào không còn tô được điểm nào nữa thì dừng. Bằng cách này, toàn bộ các điểm thuộc vùng tô được kiểm tra và sẽ được tô hết. Hình 2-10: quá trình thực hiện của thuật toán tô màu dựa theo đường biên Tuy nhiên, do thuật toán này khi cài đặt có tính đệ quy, thường dẫn đến tràn bộ nhớ đối với vùng tô khá lớn. Cho nên, để cải tiến, ta sẽ tiến hành loang dần và lần lượt tô từng đoạn giao theo dòng quét ngang thay vì tô theo các điểm lân cận (chẳng hạn 4 điểm lân cận). Đó chính là thuật toán tô màu dựa theo dòng quét cải tiến được trình bày ngay sau đây. Thuật toán tô màu theo dòng quét cải tiến: Giới thiệu ý tưởng: Lưu lại thông tin của điểm bắt đầu mỗi đoạn giao nhau của dòng quét ngang thay vì phải lưu hết tất cả các điểm lân cận chưa được tô xung quanh điểm hiện hành. Việc tô màu được thực hiện loang theo các dòng quét từ điểm bắt đầu hướng lên biên trên, sau khi tô xong, lại theo hướng xuống biên dưới. Ứng với mỗi dòng quét ngang, ta sẽ loang và tìm pixel trái nhất để lưu lại. Chi tiết thuật toán: Từ một điểm bất kỳ nằm trong vùng cần tô:
  • 35. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 30 - B1: ta tìm điểm bên trái nhất trong vùng cần tô của dòng kề trên và dòng kề dưới điểm đang xét tính từ vị trí của điểm đang xét (miễn các dòng kề trên và dòng kề dưới này vẫn nằm trong vùng cần tô). Các điểm trái nhất đó, ta đưa vào một danh sách chờ theo thứ tự định sẵn (chẳng hạn điểm nằm trên trước rồi điểm nằm dưới sau) miễn các điểm đó không trùng với các điểm đã có trong danh sách chờ. B2: Ta lại tiếp tục xét cho điểm kề bên phải của điểm đang xét. Nếu đã đến đường biên thì nhảy sang B3, còn ko thì quay lại B1. B3: Ta lấy phần tử được đưa vào sau cùng của danh sách chờ rồi lại quay trở về B1 làm tương tự như trên. Nếu danh sách chờ hết phần tử thì đã tô xong vùng cần tô, thuật toán kết thúc. Ví dụ minh hoạ: Trong hình 2.10 sau, đoạn giao đầu tiên chứa điểm bắt đầu (tô màu trắng) sẽ được tô trước). Sau đó các vị trí 1, 2 ứng với các đoạn giao của các dòng quét kế tiếp sẽ được lưu lại. Hình 2-11 Bước tiếp theo (hình 2.11), điểm ứng với vị trí 2 sẽ được lấy ra và tiến hành tô màu bằng cách loang từ điểm này ra theo chiều ngang, sau đó pixel ứng vị trí 3 của dòng quét kế tiếp sẽ được lưu lại.
  • 36. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 31 - Hình 2-12 Sau khi dòng quét ứng với điểm 3 đã được xử lý tương tự như trên xong, stack lưu các vị trí của các điểm “hạt giống” cho các dòng quét kế tiếp như trong hình 2.12. Hình 2-13 Hình 2.13 minh hoạ khi thuật toán đã tô được toàn bộ một phần vùng phía trên bên phải của vùng tô. Khi pixel ứng với vị trí 5 được xử lý xong, ta có phần còn lại phía trên bên trái sẽ được tô. Sau đó pixel ứng với vị trí 4 sẽ được xử lý, các dòng quét phía dưới sẽ được tô tiếp theo.
  • 37. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 32 - Hình 2-14 Ý nghĩa: Thuật toán tô màu dựa theo dòng quét cải tiến được dùng để tô màu 4 góc của ảnh bài thi khi mới vừa được đưa vào chấm. Vì ảnh của bài thi ban đầu có phần rìa xung quanh mày đen, mà nếu cứ để như vậy rồi nhận dạng các ký hiệu định sẵn ở bốn góc sẽ dẫn đến nhận dạng sai vị trí các ký hiệu đó. Vì vậy, ta phải dùng thuật toán tô màu để tô trắng các vùng đen ở bốn góc giúp việc nhận dạng đựơc chính xác. Để giúp giảm bớt thời gian thực hiện của chương trình, trong tình huống cụ thể này, ta đã áp dụng thuật toán tô màu quét dòng cải tiến giúp việc tô màu được nhanh hơn, không tốn nhiều tài nguyên. 2.2.2.2 Nhận dạng: 2.2.2.2.1 Nhận dạng bốn góc của bài thi bằng thuật toán Hough Transform Thuật toán Hough Transform cơ bản [3] : Dẫn nhập:
  • 38. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 33 - Xét trường hợp cần nhận dạng các đường thẳng bất kỳ trong một ảnh nhị phân (với các hình ảnh trên hình được quy định có màu đen): - Ta biết rằng với mỗi điểm đen bất kỳ trong không gian ảnh sẽ có vô số các đường thẳng đi qua điểm đó. - Ta lại biết rằng mọi đường thẳng đều có thể biểu diễn được bằng phương trình sau: y = mx + b với m và b là 2 số thực bất kỳ, trong đó m xác định góc của đường thẳng so với trục hoành và b xác định vị trí đường thẳng cắt với trục tung. Do đó, với một cặp điểm đen (x1,y1) xác định bất kỳ, ta sẽ có thể tìm ra được vô số cặp (m,b) ứng với các đường thẳng có thể đi qua điểm (x1,y1) đó, sao cho m và b thoả điều kiện sau: b = y1 – mx1 Thuật toán Hough Transform cơ bản được thực hiện dựa trên ý tưởng như sau: Mỗi cặp điểm (x,y) trong ảnh sẽ xác định trong không gian (m,b) một đường thẳng duy nhất tương ứng với cặp điểm (x,y) đó. Đường thẳng này giúp xác định các cặp điểm (m,b) mà giá trị của chúng giúp tạo nên các đường thẳng trong ảnh mà đi qua được cặp điểm (x,y). Với nhiều cặp điểm (x,y) sẽ xác định nhiều đường thẳng tương ứng trong không gian (m,b). Như vậy, trong không gian (m,b), nếu tại điểm (m,b) nào mà có số đường thẳng đi qua vị trí đó trong không gian (m,b) lớn hơn một giá trị cụ thể (tuỳ theo quy định chiều dài của đường thẳng lớn hơn bao nhiêu thì là được cho là đường thẳng), thì cặp giá trị (m,b) của điểm đó chính là 2 giá trị xác định nên một trong những đường thẳng cần được tìm thấy trong ảnh. Các bước thực hiện:
  • 39. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 34 - Cho mảng 2 chiều (m,b). Giá trị tại một vị trí trong mảng cho biết số lần đường thẳng được tạo bởi cặp giá trị (m,b) tương ứng với vị trí đó xuất hiện trong ảnh. B1: quét qua tất cả các điểm cần xét trong ảnh. B2: với mỗi điểm được xét, ta sẽ tính các cặp giá trị (m,b) thoả các đừơng thẳng đi qua điểm đó. Từ đó, ta tăng giá trị tại các vị trí (m,b) tương ứng trong mảng 2 chiều mô tả không gian (m,b) đó lên 1 đơn vị. B3: sau đó xét tất cả các phần tử trong mảng 2 chiều mô tả không gian (m,b) đó, nếu tại phần tử nào mà có giá trị lớn hơn chiều dài quy định cần thiết để tạo nên một đường thẳng thì ta sẽ nhận dạng được một đường thẳng y = mx + b trong đó m,b xác định nhờ vào vị trí của phần tử đó. Cải tiến cho thuật toán Hough Transform cơ bản áp dụng cho việc nhận dạng các đường thẳng: Trong phần trên, ta thấy m, b trong công thức b = y – mx không bị giới hạn. Điều này có nghĩa rằng, khi m đến lên vô cực thì b cũng tương ứng đến vô cực. Do đó, việc sử dụng mảng 2 chiều (là có giới hạn) để mô tả không gian (m,b) (không có giới hạn), điều này là không tưởng trong việc lập trình. Ngoài ra, theo quy định, chỉ số của mảng không được âm. Do đó, ta cần một công thức thay thế cho công thức biễu diễn đường thẳng: y = mx + b sao cho việc xác định các tham số (như m và b chẳng hạn) nằm trong một khoảng giới hạn xác định. Và công thức đó là: x*cosA + y*sinA = B
  • 40. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 35 - Hình 2-15 trong đó: - A là số độ của góc đuợc tạo bởi đường thẳng và trục hoành, giá trị kiểu số thực. - B là khoảng cách từ đường thẳng đó đến gốc toạ độ (áp dụng trong đề tài là góc trên trái của ảnh), kiểu số thực. Công thức này cũng có thể biễu diễn mọi đường thẳng bất kỳ trong không gian 2 chiều như công thức y = mx + b nhưng 2 tham số A và B của nó có giới hạn trong ảnh 2 chiều: - A nằm trong khoảng từ -89 độ -> 90 độ. - Vì thuật toán được áp dụng cho ảnh 2 chiều, nên B được giới hạn từ 0 -> chiều dài đường chéo của ảnh. Để dùng mảng 2 chiều mô tả không gian (A,B) tương tự như không gian (m,b), bắt buộc A và B phải đựơc làm tròn đến một đơn vị nào đó, dẫn đến sai số trong việc xác định chính xác đường thẳng. Tuỳ theo độ chính xác đựơc yêu cầu mà A sẽ đựơc tính làm tròn tới 1 đơn vị hay nữa đơn vị, thậm chí thấp hơn nữa. Ví dụ, đối với đường thẳng mà tham số A chỉ cần chính xác ở 1 đơn vị, thì mảng 2 chiều ta cần tạo sẽ có chiều dài chiều A là 180. Nhưng nếu tham số A cần chính xác đến nữa đơn vị (0,5) thì mảng 2 chiều cần tạo sẽ phải có chiều dài là 180/0,5=360. Tương tự, với độ chính xác n thì chiều dài chiều A sẽ là 180/n. Ngoài ra, do mảng có chỉ số không được âm, nên thay vì A có giá trị từ -89 đến 90 độ, ta chuyển sang giá trị tương ứng từ 0 -> 179 (với 0 thực chất tương ứng cho -89, 90 tương ứng cho 179...)
  • 41. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 36 - Như vậy, ta sẽ áp dụng thuật toán Hough Transform để nhận dạng đường thẳng tương tự như phần đã trình bày ở trên, chỉ thay công thức: y = mx + b bằng x*cosA + y*sinA = B cũng như thay các tham số m, b bằng A và B. Ví dụ minh họa: Hình 2-16 Ta có 5 điểm 1, 2, 3, 4, 5 với vị trí trong không gian x, y như trên.
  • 42. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 37 - Hình 2-17 Trong không gian (A,B), tập hợp các đường thẳng đi qua mỗi điểm sẽ hình thành nên một đường hình sin tương ứng. Hình 2-18 Ta thấy, giao điểm có tên là dòng 1 chính là giao điểm của 3 đường sin của 3 điểm 1, 3, 5. Cho nên, giao điểm dòng 1 chính là nơi mang giá trị cặp (A,B) hình thành nên đường thẳng đi qua 3 điểm 1, 3 và 5 trong không gian (x,y). Tương tự, giao điểm tên dòng 2 chính là nơi mang cặp giá trị (A,B) tạo nên đường thẳng đi qua 3 điểm 2, 3, 4 trong không gian (x,y).
  • 43. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 38 - Áp dụng cho đề tài, ý nghĩa: Thuật toán Hough Transform trong đề tài được áp dụng cho các vùng ảnh trích ra từ bốn góc của bài thi (bốn vùng ảnh này được lấy ra bằng thuật toán cắt ảnh - crop). Thuật toán giúp nhận dạng 4 vị trí đánh dấu ở 4 góc của bài thi, từ đó xác định vùng chấm thi phù hợp với mẫu chấm thi.
  • 44. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 39 - 2.2.2.2.2 Kiểm tra vùng tô Định nghĩa: Vùng tô là phần được giới hạn trong một ô tròn (các ô tròn này có rất nhiều trên bài làm của thí sinh). Tùy theo cách làm bài của từng thí sinh mà mỗi ô tròn có được tô hay không. Công việc kiểm tra vùng tô là xét xem trong một ô tròn nào đó có được tô đen hay không. Tùy theo quy định của người lập trình mà số phần trăm được tô đen trong vùng tô là bao nhiêu thì ô tròn được xem là đã tô. Hình 2-19: khi chưa được tô Hình 2-20: các dạng sau khi đã tô Cách thực hiện: Do vùng tô cần xét chỉ là một vòng tròn nhỏ trong ảnh bitmap, và khi xem xét một ảnh bitmap thì ảnh đó luôn là hình chữ nhật. Cho nên đầu vào của vùng tô cần kiểm tra là một hình vuông (được lấy ra từ ảnh bài thi) có đường tròn nội tiếp chính là ô tròn đang xét. Khi đó, ta có 2 cách để kiểm tra vùng tô xem có được tô hay chưa: Cách thứ nhất:
  • 45. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 40 - Ta sẽ quét tòan bộ vùng ảnh vuông đầu vào từ trái qua phải và từ trên xuống dưới, xét xem số pixel đen chiếm bao nhiêu phần trăm trong tổng số pixel của vùng ảnh đầu vào. Theo quy định như trong đề tài này, nếu số pixel đen này chiếm hơn 60%, thì vùng tô đó đã đựơc tô đen, còn ngược lại là chưa được tô. Cách kiểm tra này độ chính xác không cao, vì xét cả những phần nằm ngoài vùng tô. Tuy nhiên, do cài đặt dễ dàng và xử lý ít phức tạp (chỉ quét một lần và theo thứ tự), tốc độ thực hiện nhanh hơn nên được áp dụng trong đề tài. Cách thứ hai: Ta sẽ quét từ tâm hình vuông (còn là tâm của vòng tròn) dần lan ra đến cạnh của hình vuông theo các đường tròn đồng tâm là tâm hình vuông. Ta sẽ phân các vòng tròn thành 3 loại: các vòng tròn nhỏ bên trong (ta quy định là các vòng tròn có đường kính bằng nữa cạnh hình vuông trở xuống) gọi là T1. các vòng tròn lớn bên trong (ta quy định là các vòng tròn có đuờng kính lớn hơn nữa cạnh hình vuông đến bằng cạnh hình vuông) gọi là T2. các vòng tròn bên ngòai (có đường kính lớn hơn cả cạnh hình vuông) gọi là T3. Hình 2-21: ảnh cần kiểm tra tô được phân thành 3 vùng
  • 46. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 41 - Trong một điều kiện tối ưu, vùng ảnh vuông đầu vào sẽ có vòng tròn cần xét tô nội tiếp với ảnh vuông đó. Nhưng trong thực tế thì vòng tròn tô trong vùng ảnh vuông đầu vào sẽ bị lệch, do đó các vòng tròn nhỏ T1 sẽ có khả năng nằm trong vùng cần tô nhiều hơn là T2, và các vòng tròn T2 lại có khả năng nhiều hơn T3. Do đó, pixel thuộc vòng tròn T1 sẽ góp phần nhiều hơn so với các pixel thuộc T2 vào việc quyết định xem vùng tô có được tô hay không. Điều này cũng tương tự cho các pixel thuộc vòng tròn T2 so với T3. Vì vậy, độ ưu tiên của các pixel thuộc các vòng tròn sẽ được quy định theo thứ tự lần lượt như sau: T1, T2, T3. Ta có công thức sau: Giá trị của vùng tô = ( Tổng số pixel T1 đen * độ ưu tiên của T1 ) + ( Tổng số pixel T2 đen * độ ưu tiên của T2 ) + ( Tổng số pixel T3 đen * độ ưu tiên T3 ) (1) Như vậy, khi vùng tô được tô hoàn toàn trong điều kiện tối ưu (tức ảnh đầu vào hình vuông chứa ô tròn cần tô nội tiếp ảnh), ta có: Giá trị cho thấy vùng tô được tô hoàn toàn = ( Tổng số pixel T1 * độ ưu tiên của T1 ) + ( Tổng số pixel T2 * độ ưu tiên của T2) Do đó, chỉ gần đúng, ta đưa ra được thuật toán cho phép quyết định xem vùng tô có được tô hay không bằng cách: • Tính giá trị vùng tô áp dụng công thức (1). • Nếu giá trị vùng tô > (60% * Giá trị vùng tô được tô hoàn toàn) thì o ô tròn đã được tô đen • ngược lại o ô tròn chưa đựơc tô. Phương pháp này có độ chính xác cao hơn trong các trường hợp ảnh vuông đầu vào có vùng tô bị lệch, tuy nhiên do cài đặt phức tạp, xử lý tính toán nhiều hơn (phải tính từ tâm của hình tròn rồi lan dần sang xung quanh)
  • 47. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 42 - có thể làm ảnh hưởng đến tốc độ chung của chương trình nên không được áp dụng cho đề tài. 2.2.2.2.3 Mạng nơ ron và ứng dụng vào nhận dạng chữ viết tay in Giới thiệu về mạng nơ ron: Mạng nơron là công cụ dùng để tìm gần đúng nhất bài giải của một vấn đề bất kỳ mà không cần quan tâm đến nội dung chi tiết bên trong của bài toán. Để làm được điều này, mạng nơron cần phải trải qua một quá trình, gọi là quá trình học được thực hiện lặp đi lặp lại trên tập mẫu có sẵn. Sau khi được học xong, mạng nơron có thể giải quyết các vấn đề liên quan đến bài toán đã cho cũng như các bài toán cùng loại tương tự với độ chính xác chấp nhận được. Mạng nơron được ứng dụng trong các bài toán nhận dạng, phân lớp như nhận dạng mặt người, nhận dạng ký tự... Lý thuyết về mạng nơron được bàn đến trong phần Phụ Lục. Áp dụng: Đối với đề tài luận văn này, việc áp dụng mạng nơron [1] để nhận dạng ký tự được thực hiện như sau: Thông thường, mạng nơron dùng để nhận dạng ký tự sẽ cho biết ký tự đang xét là ký tự gì. Tuy nhiên, do ở đây, ký tự được xác định song song bằng nhận dạng đi kèm với việc kiểm tra vị trí tô của ký tự tương ứng trong bài làm của thí sinh. Cho nên, để đơn giản vấn đề, ta sẽ: xác định ký tự được chọn bằng cách dựa vào vị trí tô của ký tự trong bài thi trước; rồi từ đó xác định xem ký tự viết tay có đúng là ký tự đó hay không. Như vậy, giờ đây vấn đề đã đơn giản hơn. Ta sẽ tạo ra tổng cộng là 36 mạng nơron, mỗi mạng được áp dụng riêng cho từng chữ cái hoặc chữ số. Với mỗi mạng nơron này, chỉ cần một nút xuất duy nhất để cho biết đúng ký tự đó hay không.
  • 48. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 43 - Cấu tạo của dạng mạng nơ ron: Như đã phân tích ở trên, các mạng nơ ron này được sử dụng để xét xem một ký tự có phải là ký tự cần tìm hay không. Do đó, các mạng nơ ron này sẽ có cấu tạo tương tự nhau. Mỗi mạng sẽ gồm 3 lớp: lớp nút nhập, lớp nút ẩn và lớp nút xuất. Mạng sẽ không có đường nối trực tiếp từ lớp nhập đến lớp xuất. Đầu vào của mạng sẽ là vùng ảnh chứa ký tự đã được biến đổi theo tỉ lệ chuẩn 16x16, đầu ra duy nhất cho biết giá trị là đúng hay sai (đúng khi lớn hơn 0,5, sai khi ngược lại). Vì vậy, mạng có 256 nút nhập, 1 nút xuất. Số nút ẩn được chọn là 3. Sơ đồ cấu tạo của mạng như sau: Hình 2-22: cấu tạo của mạng nơ ron được áp dụng cho đề tài Thực nghiệm: Mỗi mạng nơ ron được học trên 4644 mẫu (bao gồm tất cả các ký tự), trong đó số mẫu đúng (chứa ký tự áp dụng cho từng mạng) là 129, còn lại là các mẫu sai. Mỗi mạng được học trong khoảng thời gian hơn 4 tiếng. Kết quả:
  • 49. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 44 - Một số mạng có tỉ lệ nhận dạng đúng là 80%. Tuy nhiên, đa số chỉ đạt được 70%. Đánh giá: Mạng cần phải được học trên nhiều mẫu hơn nữa để có thể áp dụng thực tế.
  • 50. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 45 - Chương 3: THIẾT KẾ CHƯƠNG TRÌNH 3.1 PHÂN TÍCH: Ta đã phân tích các thành phần của một biểu mẫu thi ở trên nên ở đây chỉ nói đến phần chấm điểm tự động. Đây là phần chính yếu của đề tài. Chương trình sẽ nhận vào một bản scan của một bài thì sau đó sẽ đọc ra thông tin của thí sinh cùng với kết quả bài làm của thí sinh đó. Sau đó tùy vào cách tính điểm mà sẽ cho điểm thí sinh đó. Đối với từng loại đối tượng mà ta sẽ có cách đọc thông tin khác nhau: TextField: đối với đối tượng này ta có 2 việc cần làm là xác định thí sinh đã viết ký tự gì, và đã tô ký tự gì. Sau đó sẽ kiểm tra xem chúng có khớp với nhau hay không. Choice: ta xác định xem thí sinh đã tô phần lựa chọn nào. AnswerSheet: ta cũng xác định thí sinh đã tô những câu trả lời nào. Tóm lại ta sẽ có các công việc chính là: Xác định vị trí chính xác của từng đối tượng. Kiểm tra xem một vùng có được tô hay không. Nhận dạng một ký tự viết tay. Hiện nay có 2 cách tính điểm phổ biến như sau: Tính điểm theo câu: theo cách này thì mỗi câu đúng sẽ được số điểm nào đó và kết quả điểm của bài làm chính là tổng số điểm của tất cả các câu chọn đúng.
  • 51. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 46 - Tính điểm theo khoảng: theo cách tính này thì người ta sẽ đếm số câu trả lời đúng của thí sinh sau đó dựa vào bảng điểm đã quy định trước mà cho điểm thích hợp cho thí sinh. Ví dụ: số câu đúng từ 35 – 40: 10 điểm; từ 30 – 34: 9 điểm… 3.2 XÁC ĐỊNH YÊU CẦU: Xây dựng hệ thống “Thiết kế và chấm điểm tự động bài thi trắc nghiệm” phải hộ trợ các tính năng sau: Thiết kế biểu mẫu: Có đầy đủ các đối tượng cơ bản để tạo thành một đề thi: text, textfield, choice, answersheet (bảng trả lời). Có các đối tượng đồ hoạ. In ấn. Kết xuất thành file. Soạn đáp án: Soạn đáp án cho từng câu trả lời. Soạn cách thức chấm điểm. Chấm điểm biểu mẫu: Điều khiển máy scan, và nhận bài làm từ máy scan. Đọc thông tin thí sinh. Kiểm tra và chấm điểm bài làm của thí sinh. Quản lý các kỳ thi: Quản lý thông tin kỳ thi, môn thi Quản lý thí sinh. Quản lý bài làm thí sinh
  • 52. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 47 - 3.3 XÂY DỰNG MÔ HÌNH USE-CASE: [7] 3.3.1 Xác định Actor và Use-Case: • Actor: o NGUOIDUNG: (người dùng) thiết kế biểu mẫu và soạn đáp án. • Use-case: o THIETKEBIEUMAU: thiết kế biểu mẫu. o SOANDAPAN: soạn đáp án o CHAMDIEM: chấm điểm cho bài thi. o QUANLYKYTHI: quản lý thông tin kỳ thi o QUANLYMONHOC: quản lý thông tin môn học o QUANLYTHISINH: quản lý thông tin thí sinh. o QUANLYBAILAM: quản lý bài làm của thí sinh. 3.3.2 Mô hình Use-case:
  • 53. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 48 - Hình 3-1: Mô hình Use-Case 3.3.3 Đặc tả Use-case: 3.3.3.1 THIETKEBIEUMAU: • Tóm tắt: Use case này mô tả cách thức người dùng thiết kế một biểu mẫu thi trắc nghiệm. • Luồng sự kiện: o Luồng sự kiện chính: Use case này bắt đầu khi người dùng tạo một biểu mẫu mới hay sữa lại một biểu mẫu sẵn có. 1. Người dùng chọn tính năng soạn thảo biểu mẫu mới hay mở một biễu mẫu cũ để sữa lại.
  • 54. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 49 - A1: Có biểu mẫu chưa lưu. - Nếu người dùng chọn tạo mới biều mẫu thì luồng sự kiện phụ TAOMOI được thực hiện. - Nếu người dùng chọn sữa lại biểu mẫu cũ thì luồng sự kiện phụ SUABIEUMAU được thực hiện. 2. Người dùng chọn tính năng chọn đối tượng, thêm các đối tượng cơ bản, các đối tượng đồ họa, xóa đối tượng, cập nhật đối tượng. - Nếu người dùng chọn tính năng chọn đối tượng thì luồng sự kiện phụ CHONDOITUONG được thực hiện. - Nếu người dùng chọn tính năng thêm đối tượng cơ bản thì luồng sự kiện phụ THEMDOITUONGCOBAN được thực hiện. - Nếu người dùng chọn tính năng thêm đối tượng đồ họa thì luồng sự kiện phụ THEMDOITUONGDOHOA được thực hiện. - Nếu người dùng chọn tính năng xóa đối tượng thì luồng sự kiện phụ XOADOITUONG được thực hiện. - Nếu người dùng chọn tính năng cập nhật đối tuợng thì luồng sự kiện phụ CAPNHATDOITUONG được thực hiện. o Các luồng sự kiện phụ: 3.3.3.1.1 TAOMOI: 1. Hệ thống sẽ mở ra một trang hoàn toàn mới để người dùng bắt đầu soạn thảo. 2. Trở về luồng chính, bước 2. 3.3.3.1.2 SUABIEUMAU: 1. Hệ thống sẽ hiện lên một danh sách các biểu mẫu cho người dùng chọn.
  • 55. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 50 - 2. Người dùng chọn biểu mẫu cần sữa và xác nhận nó. 3. Trở về luồng chính, bước 2. 3.3.3.1.3 CHONDOITUONG: 1. Người dùng cung cấp một giá trị tọa độ. 2. Hệ thống sẽ kiểm tra xem tại vị trí đó có đối tượng nào hay không. - Nếu không có đối tượng nào thì đối tượng được chọn sẽ là bản thiết kế (Page). - Nếu có đối tượng tại vị trí đó: hệ thống sẽ kiểm tra xem nút Ctrl có nhấn hay không? + Nếu không: tất cả các đối tượng hiện đang được chọn sẽ bị bỏ chọn và đối tượng đó sẽ được chọn. + Nếu có: qua bước 3. 3. Nếu lúc đó chỉ có duy nhất một đối tượng được chọn thì các thuộc tính của đối tượng đó sẽ được hiển thị lên màn hình. 4. Trở về luồng chính, bước 2. 3.3.3.1.4 THEMDOITUONGCOBAN: 1. Người dùng chọn đối tượng cần thêm bao gồm: Text, TextField, Choice, AnswerSheet. 2. Người dùng cung cấp tọa độ của đối tượng. 3. Hệ thống sẽ thêm đối tượng mà người dùng đã chọn ở trên vào vị trí đó trong bản thiết kế. 4. Những thuộc tính của đối tượng đó sẽ được hiển thị lên màn hình. 3.3.3.1.4 THEMDOITUONGDOHOA:
  • 56. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 51 - 1. Người dùng chọn đối tượng cần thêm bao gồm: Line, Rectangle, Ellipse. 2. Người dùng cung cấp tọa độ 2 điểm. 3. Hệ thống sẽ tạo ra đối tượng tương ứng mà người dùng đã chọn trên dựa theo tọa độ 2 điểm đó và vẽ lên bản thiết kế. 4. Những thuộc tính của đối tượng đó sẽ được hiển thị lên màn hình. 3.3.3.1.5 XOADOITUONG: 1. Người dùng chọn các đối tượng cần xóa (kích hoạt luồng CHONDOITUONG). 2. Nếu không có đối tượng nào được chọn thì kết thúc luồng này. 3. Người dùng chọn tính năng xóa đối tượng. 4. Hệ thống sẽ xóa các đối tượng mà người dùng đã chọn trên ra khỏi bản thiết kế. 3.3.3.1.6 CAPNHATDOITUONG: 1. Người dùng chọn đối tượng cần cập nhật (kích hoạt luồng CHONDOITUONG). 2. Nếu không có đối tượng nào được chọn, hoặc có nhiều hơn một đối tượng được chọn thì luồng này sẽ kết thúc. 3. Người dùng thay đổi thông tin thuộc tính của đối tượng đó (đã được hiển thị lên màn hình nhờ luồng sự kiện chọn đối tượng). Các thông tin này tùy thuộc vào từng loại đối tượng được chọn. 4. Thông tin về đối tượng sẽ được cập nhật. 5. Bản thiết kế sẽ được vẽ lại. o Các luồng sự kiện khác:
  • 57. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 52 - A1: Có biểu mẫu chưa lưu. 1. Hệ thống hỏi xem người dùng có muốn lưu lại biểu mẫu đang thiết kế hay không? Nếu người dùng trả lời “có” thì luồng sự kiện LUUBIEUMAU được thực hiện. 2. Trở về luồng chính. • Các yêu cầu đặc biệt: Không có. • Điều kiện tiên quyết: Không có. • Post-Conditions: Nếu use case này thành công thì thông tin về biều mẫu trong hệ thống sẽ thay đổi. • Điểm mở rộng: Không có. 3.3.3.2 SOANDAPAN: • Tóm tắt: Use case này cho phép người dùng soạn đáp án của một biểu mẫu nào đó. • Luồng sự kiện: o Luồng sự kiện chính: Use case này bắt đầu khi người dùng muốn tạo mới một đáp án, thay đổi thông tin của đáp án cũ hay xóa một đáp án nào đó ra khỏi hệ thống.
  • 58. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 53 - 1. Hệ thống yêu cầu người dùng chọn chức năng muốn thực hiện (thêm, xóa hay cập nhật thông tin đáp án). 2. Sau khi người dùng cung cấp thông tin yêu cầu thì một trong các luồng sau được thực hiện. - Nếu người dùng chọn chức năng thêm thì luồng phụ THEMDAPAN được thực hiện. - Nếu người dùng chọn chức năng cập nhật thì luồng phụ CAPNHATDAPAN được thực hiện. - Nếu người dùng chọn chức năng xóa thì luồng phụ XOADAPAN được thực hiện. o Các luồng sự kiện phụ: 3.3.3.2.1 THEMDAPAN: 1. Hệ thống yêu cầu người dùng nhập vào thông tin đáp án như: kỳ thi, môn thi, ngày thi, mẫu được sử dụng, đáp án đúng của từng câu trả lời, thông tin về các tính điểm trong bài thi. 2. Sau khi người dùng cung cấp thông tin được yêu cầu, thì đáp án này được thêm vào hệ thống. 3.3.3.2.2 CAPNHATDAPAN: 1. Hệ thống hiển thị danh sách các đáp án hiện có trong hệ thống cho người dùng và yêu cầu người dùng chọn đáp án cần sửa. 2. Người dùng chọn đáp án. Hệ thống sẽ hiển thị thông tin của đáp án lên màn hình. 3. Người dùng dùng thay đổi các thông tin của đáp án. 4. Sau khi người dùng thay đổi thông tin xong thì hệ thống sẽ cập nhật thông tin của đáp án này vào hệ thống.
  • 59. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 54 - 3.3.3.2.3 XOADAPAN: 1. Hệ thống hiển thị danh sách các đáp án hiện có trong hệ thống cho người dùng và yêu cầu người dùng chọn đáp án cần xóa. 2. Hệ thống nhắc người dùng xác nhận thao tác xóa môn học. 3. Người dùng xác nhận xóa. 4. Hệ thống sẽ xóa thông tin của đáp án này ra khỏi hệ thống. o Các luồng sự kiện khác: Thao tác xóa bị hủy: nếu trong luồng phụ XOADAPAN người dùng quyết định không xóa đáp án này nữa, thao tác xóa bị hủy và dòng sự kiện chính được bắt đầu lại từ đầu. • Các yêu cầu đặc biệt: Không có. • Điều kiện tiên quyết: Không có. • Post-Conditions: Nếu use case thành công, thông tin môn học sẻ được thêm, cập nhật hoặc xóa khỏi hệ thống. Ngược lại, trạng thái của hệ thống không thay đổi. • Điểm mở rộng: Không có. 3.3.3.3 CHAMDIEM: • Tóm tắt: Use case này cho phép người dùng chấm điểm một bài làm của thí sinh. (Bài làm này là ảnh được scan vào máy).
  • 60. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 55 - • Luồng sự kiện: o Luồng sự kiện chính: 1. Người dùng cho biết ảnh có chứa bài làm của thí sinh. 2. Người dùng chọn mẫu đã được sử dụng trong bài làm và đáp án của bài làm đó. 3. Người dùng chọn chức năng chấm điểm. 4. Kết quả và thông tin về bài làm của thí sinh sẽ được hiển thị lên màn hình. o Các luồng sự kiện phụ: Không • Các yêu cầu đặc biệt: Không có. • Điều kiện tiên quyết: Ảnh chứa bài làm của thí sinh phải được đọc vào và người dùng phải chọn mẫu và đáp án của bài làm đó. • Post-Conditions: Không có. • Điểm mở rộng: Không có. 3.3.3.4 QUANLYKYTHI: • Tóm tắt: Use case này cho phép người dùng duy trì thông tin của kỳ thi trong hệ thống. Bao gồm các tính năng thêm, hiệu chỉnh và xóa kỳ thi ra khỏi hệ thống.
  • 61. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 56 - • Luồng sự kiện: o Luồng sự kiện chính: Use case này bắt đầu khi người dùng muốn thêm, thay đổi hay xóa thông tin của kỳ thi ra khỏi hệ thống. 1. Hệ thống yêu cầu người dùng chọn chức năng muốn thực hiện (thêm, xóa hay cập nhật thông tin kỳ thi). 2. Sau khi người dùng cung cấp thông tin yêu cầu thì một trong các luồng sau được thực hiện. - Nếu người dùng chọn chức năng thêm thì luồng phụ THEMKYTHI được thực hiện. - Nếu người dùng chọn chức năng cập nhật thì luồng phụ CAPNHATKYTHI được thực hiện. - Nếu người dùng chọn chức năng xóa thì luồng phụ XOAKYTHI được thực hiện. o Các luồng sự kiện phụ: 3.3.3.4.1 THEMKYTHI: 1. Hệ thống yêu cầu người dùng nhập vào thông tin kỳ thi bao gồm: tên kỳ thi, thời gian thi. 2. Sau khi người dùng cung cấp thông tin được yêu cầu, thì kỳ thi này được thêm vào hệ thống. 3.3.3.4.2 CAPNHATKYTHI: 1. Hệ thống hiển thị danh sách các kỳ thi có sẵn trong hệ thống lên màn hình và yêu cầu người dùng chọn kỳ thi cần sửa. 2. Người dùng chọn kỳ thi. Hệ thống sẽ hiển thị thông tin của kỳ thi lên màn hình.
  • 62. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 57 - 3. Người dùng thay đổi các thông tin của kỳ thi. 4. Sau khi người dùng sửa thông tin xong thì hệ thống sẽ cập nhật thông tin của kỳ thi này vào hệ thống. 3.3.3.4.3 XOAKYTHI: 1. Hệ thống hiển thị danh sách các kỳ thi có sẵn trong hệ thống lên màn hình và yêu cầu người dùng chọn kỳ thi cần xóa. 2. Hệ thống nhắc người dùng xác nhận thao tác xóa kỳ thi. 3. Người dùng xác nhận xóa. 4. Hệ thống sẽ xóa thông tin của kỳ thi này ra khỏi hệ thống. o Các luồng sự kiện khác: Thao tác xóa bị hủy: nếu trong luồng phụ XOAKYTHI người dùng quyết định không xóa kỳ thi này nữa, thao tác xóa bị hủy và dòng sự kiện chính được bắt đầu lại từ đầu. • Các yêu cầu đặc biệt: Không có. • Điều kiện tiên quyết: Không có. • Post-Conditions: Nếu use case thành công, thông tin kỳ thi sẽ được thêm, cập nhật hoặc xóa khỏi hệ thống. Ngược lại, trạng thái của hệ thống không thay đổi. • Điểm mở rộng: Không có. 3.3.3.5 QUANLYTHISINH: • Tóm tắt:
  • 63. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 58 - Use case này cho phép người dùng duy trì thông tin của thí sinh trong hệ thống. Bao gồm các tính năng thêm, hiệu chỉnh và xóa thí sinh ra khỏi hệ thống. • Luồng sự kiện: o Luồng sự kiện chính: Use case này bắt đầu khi người dùng muốn thêm, thay đổi hay xóa thông tin của thí sinh ra khỏi hệ thống. 1. Hệ thống yêu cầu người dùng chọn chức năng muốn thực hiện (thêm, xóa hay cập nhật thông tin thí sinh). 2. Sau khi người dùng cung cấp thông tin yêu cầu thì một trong các luồng sau được thực hiện. - Nếu người dùng chọn chức năng thêm thì luồng phụ THEMTHISINH được thực hiện. - Nếu người dùng chọn chức năng cập nhật thì luồng phụ CAPNHATTHISINH được thực hiện. - Nếu người dùng chọn chức năng xóa thì luồng phụ XOATHISINH được thực hiện. o Các luồng sự kiện phụ: 3.3.3.5.1 THEMTHISINH: 1. Hệ thống yêu cầu người dùng nhập vào thông tin thí sinh bao gồm: mã thí sinh, họ tên, ngày sinh, giới tính, các thông tin khác của thí sinh (ghi chú). 2. Sau khi người dùng cung cấp thông tin được yêu cầu, thì thí sinh này được thêm vào hệ thống. 3.3.3.5.2 CAPNHATTHISINH: