1. 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
SINH VIÊN THỰC HIỆN
MAI HẢI THANH 0112113
ĐÀO PHƯƠNG THÚY 0112448
TÌM HIỂU VÀ XÂY DỰNG
HỆ THỐNG FRAMEWORK
HỖ TRỢ CÁC HÌNH THỨC
TRẮC NGHIỆM
LUẬN VĂN CỬ NHÂN TIN HỌC
Tp.HCM, 2005
2. 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
SINH VIÊN THỰC HIỆN
MAI HẢI THANH 0112113
ĐÀO PHƯƠNG THÚY 0112448
TÌM HIỂU VÀ XÂY DỰNG
HỆ THỐNG FRAMEWORK
HỖ TRỢ CÁC HÌNH THỨC
TRẮC NGHIỆM
GIẢNG VIÊN HƯỚNG DẪN
ThS. TRẦN MINH TRIẾT
ThS. NGUYỄN TẤN TRẦN MINH KHANG
Tp.HCM, 2005
3. 2
LỜI CÁM ƠN
Chúng em xin chân thành cám ơn Khoa Công Nghệ Thông Tin, trường
Đại Học Khoa Học Tự Nhiên TpHCM đã tạo điều kiện tốt cho chúng em thực
hiện đề tài luận văn tốt nghiệp này.
Chúng em xin chân thành cám ơn Thầy Trần Minh Triết và Thầy Nguyễn Tấn
Trần Minh Khang đã tận tình hướng dẫn, chỉ bảo chúng em trong suốt thời
gian thực hiện đề tài.
Chúng em xin chân thành cám ơn quý Thầy Cô trong Khoa đã tận tình giảng
dạy, trang bị cho chúng em những kiến thức quý báu trong những năm học
vừa qua.
Chúng con xin nói lên lòng biết ơn sâu sắc đối với Ông Bà, Cha Mẹ đã chăm
sóc, nuôi dạy chúng con thành người.
Xin chân thành cám ơn các anh chị và bạn bè đã ủng hộ, giúp đỡ và động viên
chúng em trong thời gian học tập và nghiên cứu.
Mặc dù chúng em đã cố gắng hoàn thành luận văn trong phạm vi và khả năng
cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Chúng em
kính mong nhận được sự cảm thông và tận tình chỉ bảo của quý Thầy Cô và
các bạn.
Sinh viên thực hiện,
Mai Hải Thanh & Đào Phương Thúy
07/2005
4. i
MỤC LỤC
Trang
MỤC LỤC ...................................................................................................... i
DANH SÁCH CÁC HÌNH...............................................................................v
DANH SÁCH CÁC BẢNG............................................................................ ix
Chương 1 Tổng quan....................................................................................1
1.1 Xu hướng chung...........................................................................................1
1.2 Hình thức thi trắc nghiệm............................................................................2
1.3 Lý do và mục tiêu của đề tài ........................................................................3
1.4 Cấu trúc của báo cáo: .................................................................................3
Chương 2 Chuẩn, chuẩn trắc nghiệm và đặc tả IMSQTI .......................5
2.1 Chuẩn và chuẩn trắc nghiệm.......................................................................5
2.1.1 Giới thiệu chung..................................................................................5
2.1.2 Tổ chức IMS .......................................................................................6
2.2 Đặc tả IMSQTI (Question and Test Interoperability) ...............................11
2.2.1 Lịch sử các phiên bản:.......................................................................11
2.2.2 Mục đích thiết kế...............................................................................11
2.2.3 Cấu trúc tổ chức bài thi và câu hỏi....................................................13
Chương 3 Phân loại câu hỏi trắc nghiệm.................................................15
3.1 Sơ đồ lớp interaction .................................................................................15
3.1.1 interaction..........................................................................................15
3.1.2 inlineInteraction ................................................................................15
3.1.3 blockInteraction.................................................................................16
3.2 Sơ đồ lớp choice.........................................................................................16
3.3 Các loại câu hỏi phân loại theo interaction ..............................................17
3.3.1 choiceInteraction...............................................................................17
3.3.2 orderInteraction.................................................................................18
3.3.3 associateInteraction...........................................................................18
3.3.4 matchInteraction................................................................................19
3.3.5 gapMatchInteraction .........................................................................19
3.3.6 inlineChoiceInteraction.....................................................................20
3.3.7 textEntryInteraction...........................................................................20
3.3.8 extendedTextInteraction....................................................................21
3.3.9 hottextInteraction ..............................................................................21
5. ii
3.3.10 hotspotInteraction..............................................................................22
3.3.11 selectPointInteraction........................................................................23
3.3.12 graphicOrderInteraction....................................................................24
3.3.13 graphicAssociateInteraction..............................................................25
3.3.14 graphicGapMatchInteraction.............................................................26
3.3.15 positionObjectInteraction..................................................................26
3.3.16 sliderInteraction.................................................................................27
3.3.17 drawingInteraction ............................................................................27
3.3.18 uploadInteraction...............................................................................27
3.3.19 customInteraction..............................................................................27
Chương 4 Kiến trúc chung của phần mềm ..............................................28
4.1 Phát biểu bài toán: ....................................................................................28
4.2 Mô hình kiến trúc và tổ chức hoạt động ....................................................30
4.2.1 Engine ...............................................................................................30
4.2.2 ETSONLINE.....................................................................................36
4.2.3 ETSClient..........................................................................................45
4.2.4 InteractionDefinition.........................................................................49
4.2.5 ImportExportEngine..........................................................................50
4.2.6 QuestionsPlugins...............................................................................50
4.2.7 UserInterfacePlugins.........................................................................50
4.2.8 ETSPluginService .............................................................................50
4.2.9 HelpCenter ........................................................................................51
4.3 Thiết kế dữ liệu ..........................................................................................53
4.3.1 Lược đồ các bảng dữ liệu..................................................................53
4.3.2 Danh sách và chức năng các bảng dữ liệu ........................................53
Chương 5 Module quản lý .........................................................................55
5.1 Đặc tả yêu cầu chức năng của module quản lý .........................................55
5.2 Mô hình Use-Case .....................................................................................56
5.2.1 Lược đồ chính của mô hình Use-Case ..............................................56
5.2.2 Đặc tả một số Use-Case chính ..........................................................58
5.3 Các lược đồ tuần tự chính .........................................................................64
5.3.1 Lược đồ tuần tự “CreateFolder”:.......................................................64
5.3.2 Lược đồ tuần tự “ChangeRole”:........................................................65
5.3.3 Lược đồ tuần tự “CreateMember”: ...................................................65
5.3.4 Lược đồ tuần tự “UpdateDataFromWin”:.........................................66
5.3.5 Lược đồ tuần tự “ExportToMSWord”: .............................................66
5.4 Các màn hình giao diện chính và hướng dẫn sử dụng ..............................67
5.4.1 Chức năng quản lý câu hỏi................................................................67
5.4.2 Chức năng quản lý đề thi...................................................................69
5.4.3 Chức năng quản lý thành viên...........................................................71
5.4.4 Chức năng quản lý ngân hàng câu hỏi, ngân hàng đề thi..................75
6. iii
Chương 6 Module soạn thảo......................................................................78
6.1 Đặc tả yêu cầu chức năng của module soạn thảo .....................................78
6.2 Mô hình Use-Case .....................................................................................78
6.2.1 Lược đồ chính của mô hình Use-Case ..............................................78
6.2.2 Đặc tả một số Use-Case chính ..........................................................79
6.3 Các lược đồ tuần tự chính .........................................................................86
6.3.1 Lược đồ tuần tự “CreateQuestion”....................................................86
6.3.2 Lược đồ tuần tự “ImportQuestionFromMSWord”............................87
6.4 Các màn hình giao diện chính và hướng dẫn sử dụng ..............................87
6.4.1 Chức năng “Soạn thảo nội dung câu hỏi” .........................................87
6.4.2 Chức năng “Import danh sách câu hỏi từ MS Word” .......................91
6.4.3 Chức năng “Soạn thảo thông tin section” .........................................92
6.4.4 Chức năng “Biên tập nội dung section”............................................94
6.4.5 Chức năng “Soạn thảo thông tin đề thi”............................................97
6.4.6 Chức năng “Biên tập nội dung đề thi” ..............................................99
Chương 7 Module plugin .........................................................................101
7.1 Mục đích và vị trí của plugin trong hệ thống ..........................................101
7.2 Tổ chức một bộ plugin câu hỏi ................................................................102
7.3 Plugin template đề thi..............................................................................104
7.3.1 Các bước để tạo một template.........................................................104
7.3.2 Hình ảnh giao diện:.........................................................................105
7.4 Plugin thành phần giao diện....................................................................108
Chương 8 Module tổ chức thi cử.............................................................111
8.1 Đặc tả yêu cầu chức năng của module tổ chức thi cử.............................111
8.2 Mô hình Use-Case ...................................................................................111
8.2.1 Lược đồ chính của mô hình Use-Case ............................................111
8.2.2 Đặc tả một số Use-Case chính ........................................................112
8.3 Các lược đồ tuần tự chính .......................................................................117
8.3.1 Lược đồ tuần tự “DoTest”...............................................................117
8.3.2 Lược đồ tuần tự “RequestResult” ...................................................118
8.3.3 Lược đồ tuần tự “ViewMemberResults”.........................................118
8.4 Giao diện và hướng dẫn sử dụng.............................................................118
8.4.1 Sơ đồ màn hình giao diện................................................................118
8.4.2 Chức năng thi ..................................................................................118
8.4.3 Chức năng tra cứu danh sách thí sinh và kết quả bài thi.................119
Chương 9 Các kỹ thuật bổ sung..............................................................122
9.1 Kỹ thuật thiết kế web application linh động và load động user control..122
9.2 Kỹ thuật automation Microsoft Word......................................................124
7. iv
9.2.1 Giới thiệu.........................................................................................124
9.2.2 Các đối tượng trong MS Word........................................................124
9.2.3 Ngôn ngữ VBA (Microsoft Visual Basic for Applications) ...........125
9.2.4 Ứng dụng trong hệ thống ................................................................128
Chương 10 Tổng kết...................................................................................132
10.1 Kết luận....................................................................................................132
10.2 Hướng phát triển......................................................................................132
Phuï luïc A - Export database theo đặc tả IMSQTI ..................................133
Phuï luïc B - Phần lưu trữ XML của một số dạng câu hỏi trong đặc tả
IMSQTI ..................................................................................................135
TÀI LIỆU THAM KHẢO ...........................................................................138
8. v
DANH SÁCH CÁC HÌNH
Hình 1-1 Logo ETS................................................................................................................1
Hình 1-2 Logo ETS-TOEFL..................................................................................................1
Hình 1-3 Logo MCAD - Microsoft........................................................................................1
Hình 1-4 Logo MCDBA - Microsoft.....................................................................................1
Hình 2-1 Logo tổ chức IMS...................................................................................................6
Hình 2-2 Vai trò của các thành phần tham gia hệ thống sử dụng đặc tả IMSQTI...............12
Hình 2-3 Cấu trúc bài thi trong đặc tả IMSQTI...................................................................13
Hình 3-1 Sơ đồ lớp interaction ............................................................................................15
Hình 3-2 Sơ đồ lớp inlineInteraction...................................................................................15
Hình 3-3 Sơ đồ lớp blockInteraction ...................................................................................16
Hình 3-4 Sơ đồ lớp choice...................................................................................................16
Hình 3-5 Câu hỏi choiceInteraction với 1 lựa chọn đúng....................................................17
Hình 3-6 Câu hỏi choiceInteraction với nhiều lựa chọn đúng.............................................17
Hình 3-7 Câu hỏi orderInteraction.......................................................................................18
Hình 3-8 Câu hỏi associateInteraction.................................................................................18
Hình 3-9 Câu hỏi matchInteraction .....................................................................................19
Hình 3-10 Câu hỏi gapMatchInteraction .............................................................................19
Hình 3-11 Câu hỏi inlineChoiceInteraction.........................................................................20
Hình 3-12 Câu hỏi loại textEntryInteraction .......................................................................20
Hình 3-13 Câu hỏi extendedTextInteraction .......................................................................21
Hình 3-14 Câu hỏi hottextInteraction..................................................................................21
Hình 3-15 Câu hỏi hotspotInteraction .................................................................................22
Hình 3-16 Câu hỏi selectPointInteraction............................................................................23
Hình 3-17 Câu hỏi graphicOrderInteraction........................................................................24
Hình 3-18 Câu hỏi graphicAssociateInteraction..................................................................25
Hình 3-19 Câu hỏi graphicGapMatchInteraction ................................................................26
Hình 3-20 Câu hỏi positionObjectInteraction......................................................................26
Hình 3-21 Câu hỏi sliderInteraction ....................................................................................27
Hình 4-1 Mô hình kiến trúc và tổ chức................................................................................30
Hình 4-2 Mối quan hệ giữa Engine và các component khác...............................................31
Hình 4-3 Sơ đồ tổ chức của Engine.....................................................................................32
9. vi
Hình 4-4 Sơ đồ lớp phần ETSEngineBasicObject của Engine............................................33
Hình 4-5 Sơ đồ lớp phần IMSQTIBasicObject của Engine.................................................34
Hình 4-6 Sơ đồ lớp phần ETSEngineControllerObject của Engine ....................................34
Hình 4-7 Sơ đồ lớp phần ETSEngineDBManager...............................................................35
Hình 4-8 Sơ đồ tổ chức ứng dụng ETSONLINE.................................................................36
Hình 4-9 Sơ đồ tổ chức lớp trong ETSONLINE .................................................................37
Hình 4-10 Trang chủ ETSONLINE.....................................................................................38
Hình 4-11 Phân cấp quản lý theo cấu trúc cây ....................................................................39
Hình 4-12 Trang quản lý chính của ETSONLINE ..............................................................39
Hình 4-13 Demo chức năng soạn thảo câu hỏi....................................................................40
Hình 4-14 Kết quả bài thi được truyền đi bằng XML .........................................................41
Hình 4-15 Sơ đồ tổ chức ứng dụng ETSClient....................................................................46
Hình 4-16 Sơ đồ tổ chức lớp trong ETSClient ....................................................................47
Hình 4-17 Sơ đồ tổ chức InteractionDefinition ...................................................................49
Hình 4-18 Sơ đồ tổ chức lớp trong InteractionDefinition....................................................49
Hình 4-19 Sơ đồ tổ chức HelpCenter ..................................................................................51
Hình 4-20 HelpCenterMenu ................................................................................................51
Hình 4-21 Liên hệ tác giả ....................................................................................................52
Hình 4-22 Hướng dẫn sử dụng ETSONLINE .....................................................................52
Hình 4-23 Sơ đồ các bảng dữ liệu .......................................................................................53
Hình 4-24 Danh sách các bảng dữ liệu................................................................................54
Hình 5-1 Mô hình Use-Case module quản lý ......................................................................56
Hình 5-2 Quản lý danh sách câu hỏi trên web.....................................................................67
Hình 5-3 Xem thông tin thống kê của câu hỏi.....................................................................68
Hình 5-4 Quản lý danh sách câu hỏi trên windows .............................................................68
Hình 5-5 Quản lý danh sách bài thi trên web ......................................................................69
Hình 5-6 Kết xuất đề thi ra file Word..................................................................................70
Hình 5-7 Xem thông tin thống kê bài thi.............................................................................71
Hình 5-8 Quản lý danh sách thành viên trên web................................................................72
Hình 5-9 Xem hồ sơ thành viên...........................................................................................72
Hình 5-10 Import danh sách sinh viên từ file Excel............................................................73
Hình 5-11 Di chuyển thành viên đang được chọn ...............................................................73
10. vii
Hình 5-12 Xem thông tin thống kê về tình hình trả lời câu hỏi của sinh viên.....................74
Hình 5-13 Quản lý danh sách thành viên trên windows......................................................75
Hình 5-14 Quản lý kho câu hỏi, kho bài thi, thành viên, cấu trúc section...........................76
Hình 5-15 Cấu trúc lại quan hệ giữa các thư mục ...............................................................76
Hình 5-16 Các chức năng đối với thư mục trên windows ...................................................77
Hình 6-1 Sơ đồ Use-Case module soạn thảo .......................................................................78
Hình 6-2 Chọn loại câu hỏi trên web...................................................................................87
Hình 6-3 Soạn thảo nội dung một câu hỏi ...........................................................................88
Hình 6-4 Menu tạo câu hỏi trên windows............................................................................89
Hình 6-5 Context Menu tạo câu hỏi trên windows..............................................................89
Hình 6-6 Danh sách các loại câu hỏi trong ứng dụng trên windows...................................90
Hình 6-7 Import danh sách câu hỏi từ MS Word ................................................................91
Hình 6-8 Soạn thảo một section trên web............................................................................92
Hình 6-9 Soạn section trên windows ...................................................................................93
Hình 6-10 Chọn trực tiếp câu hỏi cho section trên web ......................................................94
Hình 6-11 Chọn trực tiếp câu hỏi cho section trên windows...............................................95
Hình 6-12 Chọn kho câu hỏi cho section trên windows......................................................96
Hình 6-13 Soạn thảo đề thi trên web ...................................................................................97
Hình 6-14 Soạn thảo đề thi trên windows............................................................................98
Hình 6-15 Chọn section cho bài thi trên web ......................................................................99
Hình 6-16 Chọn section cho bài thi trên windows.............................................................100
Hình 7-1 Minh họa plugin .................................................................................................101
Hình 7-2 Tổ chức 1 bộ câu hỏi ..........................................................................................103
Hình 7-3 Template mặc định của bài thi............................................................................105
Hình 7-4 Template smoke skin..........................................................................................106
Hình 7-5 Template wave skin............................................................................................107
Hình 7-6 Chỉnh sửa cấu hình giao diện .............................................................................108
Hình 7-7 Plugin cột trái .....................................................................................................109
Hình 7-8 Plugin cột phải....................................................................................................109
Hình 7-9 Các plugin hiển thị theo lựa chọn của người dùng.............................................110
Hình 8-1 Sơ đồ Use-Case module thi cử ...........................................................................111
Hình 8-2 Sơ đồ các màn hình giao diện module thi cử .....................................................118
11. viii
Hình 8-3 Hình ảnh một bài thi...........................................................................................119
Hình 8-4 Danh sách thí sinh đã thi ....................................................................................120
Hình 8-5 Kết quả thi một bài thi nào đó của các thí sinh ..................................................120
Hình 8-6 Thông tin thống kê tình hình điểm số của một bài thi........................................121
Hình 9-1 Sơ đồ quan hệ của các đối tượng của MS Word ................................................124
Hình 9-2 Record macro trong MS Word ...........................................................................126
Hình 9-3 Edit macro trong MS Word ................................................................................127
Hình 9-4 Kết quả edit macro trong MS Word ...................................................................127
Hình 9-5 Add reference đến Word Object Library trong .NET.........................................128
12. ix
DANH SÁCH CÁC BẢNG
Bảng 2-1 Các đặc tả được tổ chức IMS định nghĩa...............................................................8
Bảng 5-1 Danh sách actor module quản lý..........................................................................57
Bảng 5-2 Danh sách Use-Case module quản lý...................................................................58
Bảng 6-1 Danh sách actor module soạn thảo.......................................................................79
Bảng 6-2 Danh sách Use-Case module soạn thảo ...............................................................79
Bảng 8-1 Danh sách actor module thi cử...........................................................................112
Bảng 8-2 Danh sách Use-Case module thi cử ...................................................................112
13. 1
Chương 1 Tổng quan
1.1 Xu hướng chung
Ngày nay, hình thức thi trắc nghiệm đã trở thành một trong những hình thức
thi phổ biến nhất trên thế giới. Với ưu điểm khách quan, chính xác và thuận tiện cho
cả người ra đề và thí sinh đi thi, hình thức thi này đã được áp dụng ở hầu khắp các
nước, đặc biệt là trong các kỳ thi của các tổ chức lớn có phạm vi toàn cầu như ETS
(Educational Testing Service) – tổ chức các kỳ thi TOEFL, GMAT, GRE…,
Microsoft – tổ chức các kỳ thi MCSE, MCAD…
Hình 1-1 Logo ETS
Hình 1-2 Logo ETS-TOEFL
Hình 1-3 Logo MCAD - Microsoft
Hình 1-4 Logo MCDBA - Microsoft
14. 2
Tại Việt Nam, trong những năm gần đây, song song với việc đổi mới phương
pháp dạy và học, việc đổi mới hình thức thi cử cũng trở thành một việc làm cấp
thiết. Trong các hình thức thi cử, trắc nghiệm khách quan là hình thức được nhiều
người chú ý nhất do những ưu điểm của nó trong việc kiểm tra, đánh giá trình độ
người dự thi như: khách quan, trung thực, kiểm tra được nhiều kiến thức, tránh
được việc học tủ, học vẹt…Do đó, trắc nghiệm đang là khuynh hướng của hầu hết
các kỳ thi ở Việt Nam hiện nay.
1.2 Hình thức thi trắc nghiệm
Hình thức của thi trắc nghiệm rất đa dạng, ví dụ: một câu hỏi có một số
phương án trả lời, thí sinh chọn câu trả lời đúng nhất, hay một câu hỏi có nhiều
phương án trả lời và thí sinh chọn các câu trả lời đúng.
Tuy nhiên, do độ phổ biến của một số cách thể hiện cũng như về bản chất nội
dung, trắc nghiệm thường được hiểu theo một phạm vi hẹp hơn, cụ thể: đó là một
hay nhiều bài kiểm tra, trong đó có một hay nhiều câu hỏi, trong mỗi câu hỏi có
nhiều phương án trả lời (thường là 4) và nhiệm vụ của thí sinh là chọn ra câu trả lời
đúng nhất.
Thật ra, trắc nghiệm không chỉ có thế, hình thức thi này rất phong phú, đa
dạng về nội dung và cả hình thức thể hiện. Câu hỏi trắc nghiệm không chỉ kiểm tra
việc thí sinh lựa chọn một phương án trả lời đúng mà còn có thể là kiểm tra kiến
thức kết hợp các ý niệm, kiến thức khác nhau khi tạo đường nối các phương án trả
lời có liên quan. Trong tình huống này, thể hiện của câu hỏi không còn là một số
phương án trả lời với ô đánh dấu để chọn câu trả lời đúng nữa, mà là 2 cột phương
án trả lời được xếp cạnh nhau để thí sinh tạo đường nối giữa các phương án trả lời
có liên quan. Hay trong một tình huống khác, câu hỏi trắc nghiệm có thể kiểm tra
kiến thức thuộc lòng một đoạn ký tự có ý nghĩa nào đó. Lúc này, sẽ không có
phương án trả lời nào được đưa ra để lựa chọn. Việc trả lời câu hỏi được thực hiện
bằng cách điền một đoạn ký tự vào một ô trống cho trước. Câu trả lời này đúng khi
nó so khớp với câu trả lời – là một đoạn ký tự – mà người ra đề mong đợi.
15. 3
1.3 Lý do và mục tiêu của đề tài
Như chúng ta đã nói, hình thức trắc nghiệm đang trở thành một xu hướng tất
yếu cho rất nhiều kỳ thi, đặc biệt là ở trên đất nước Việt Nam chúng ta. Trắc
nghiệm là một hình thức thi có thể ở trên giấy hoặc trên máy tính. Trong đó hình
thức thi trắc nghiệm trên giấy hiện phổ biến hơn, tuy vậy, lại không thuận tiện. Hình
thức thi trên máy tính có những ưu điểm riêng cần quan tâm. Đi xa hơn, hình thức
thi qua mạng đem lại rất nhiều lợi ích. Internet đem mọi người đến lại gần nhau hơn
bất kể không gian. Người ra đề cũng như người dự thi có thể ở bất cứ nơi đâu và bất
cứ khi nào muốn đều có thể thực hiện công việc của mình, không hề có giới hạn về
địa lý, chi phí rẻ do không cần sự di chuyển, phân phối đề thi, thu bài, chấm bài…
Nhận thức được tầm quan trọng đó và trong bối cảnh tại Việt Nam chưa có hệ thống
nào hỗ trợ việc thi trắc nghiệm trực tuyến qua mạng internet một cách toàn diện và
đầy đủ, chúng em quyết định đi sâu vào tìm hiểu và nghiên cứu một số vấn đề quan
trọng sau:
• Tìm hiểu các loại câu hỏi trắc nghiệm về bản chất.
• Xây dựng một bộ khung (framework) có tính tiến hóa cao, phục vụ cho việc
soạn câu hỏi, đề thi, cũng như việc thi cử.
• Xây dựng một hệ thống thi thử nghiệm.
1.4 Cấu trúc của báo cáo:
Từ những mục tiêu trên, chúng em đã thực hiện các công việc và kết quả các
công việc được thể hiện trong báo cáo luận văn này theo cấu trúc như sau:
Báo cáo luận văn gồm 10 chương:
Chương 1. Tổng quan: xu hướng của hình thức thi trắc nghiệm trong các
hình thức thi cử hiện nay, nêu lên nhu cầu thực tế và lý do thực hiện đề tài, đồng
thời giới thiệu sơ lược về đề tài và mục tiêu phải đạt được.
Chương 2.
16. 4
Chuẩn, chuẩn trắc nghiệm
và đặc tả IMSQTI: trình bày lý do cần đến chuẩn khi thực hiện phần mềm, giới
thiệu chuẩn trắc nghiệm được ưa chuộng trên thế giới và chuẩn được sử dụng trong
hệ thống phần mềm này.
Chương 3. Phân loại câu hỏi trắc nghiệm: chương này sẽ trình bày các dạng
câu hỏi trắc nghiệm theo phân loại của đặc tả IMSQTI.
Chương 4. Kiến trúc chung của phần mềm: chương này trình bày các yêu
cầu đặt ra cho bài toán, sau đó mô tả kiến trúc tổng quan của hệ thống phần mềm,
sự liên lạc giữa các thành tố và cách tổ chức hoạt động của hệ thống.
Chương 5. Module quản lý: trình bày các yêu cầu đặt ra cho module quản lý,
cách tổ chức, hoạt động của module và hướng dẫn sử dụng các chức năng của
module này.
Chương 6. Module soạn thảo: trình bày các yêu cầu đặt ra cho module soạn
thảo, cách tổ chức, hoạt động của module và hướng dẫn sử dụng các chức năng của
module soạn thảo.
Chương 7. Module plugin: trình bày các yêu cầu đặt ra cho module plugin,
cách tổ chức, hoạt động của module và hướng dẫn sử dụng các chức năng.
Chương 8. Module tổ chức thi cử: trình bày các yêu cầu đặt ra cho module
tổ chức thi cử, cách tổ chức, hoạt động và hướng dẫn sử dụng module .
Chương 9. Các kỹ thuật bổ sung: chương này trình bày các kỹ thuật lập
trình, kỹ thuật tổ chức, thiết kế hay, có ảnh hưởng quan trọng trong việc hoàn thành
hệ thống phần mềm nhưng chưa được nói đến ở các phần trên.
Chương 10. Tổng kết: tóm lại các vấn đề đã giải quyết và nêu ra một số
hướng phát triển trong tương lai.
17. 5
Chương 2 Chuẩn, chuẩn trắc nghiệm
và đặc tả IMSQTI
2.1 Chuẩn và chuẩn trắc nghiệm
2.1.1 Giới thiệu chung
ISO (International Standards Organization - Tổ chức chuẩn hoá quốc tế) định
nghĩa như sau:
Chuẩn: là các thoả thuận trên văn bản chứa các đặc tả kỹ thuật hoặc các
tiêu chí chính xác khác được sử dụng một cách thống nhất như các luật,
các chỉ dẫn, hoặc các định nghĩa của các đặc trưng, để đảm bảo rằng các
vật liệu, sản phẩm, quá trình, và dịch vụ phù hợp với mục đích của chúng.
Đối với những người làm việc trong lĩnh vực e-Learning (Theo Sun
Microsystems, e-Learning là: việc học tập được phân phối hoặc hỗ trợ qua công
nghệ điện tử. Việc phân phối qua nhiều kĩ thuật khác nhau như Internet, TV,
video tape, các hệ thống giảng dạy thông minh, và việc đào tạo dựa trên máy
tính) mà trắc nghiệm là một phần của nó, các chuẩn e-Learning đóng vai trò rất
quan trọng. Không có chuẩn e-Learning chúng ta sẽ không có khả năng trao đổi với
nhau và sử dụng lại các đối tượng học tập. Nhờ có chuẩn toàn bộ thị trường e-
Learning (người bán công cụ, khách hàng, người phát triển nội dung) sẽ tìm được
tiếng nói chung, hợp tác với nhau được cả về mặt kỹ thuật và mặt phương pháp.
Dựa vào các chuẩn e-Learning có thể giúp chúng ta giải quyết được những vấn đề
sau:
• Khả năng truy cập được: truy cập nội dung học tập từ một nơi ở xa cũng
như phân phối cho nhiều nơi khác không gặp trở ngại về khoảng cách địa lý.
• Tính khả chuyển: sử dụng được nội dung học tập phát triển tại ở một nơi
khác, bằng nhiều công cụ và nền tảng khác nhau tại nhiều nơi và trên nhiều
hệ thống khác nhau.
18. 6
• Tính thích ứng: đưa ra nội dung và phương pháp đào tạo phù hợp với từng
tình huống và từng cá nhân.
• Tính sử dụng lại: một nội dung học tập được tạo ra có thể được sử dụng ở
nhiều ứng dụng khác nhau.
• Tính bền vững: vẫn có thể sử dụng được các nội dung học tập khi công
nghệ thay đổi, mà không phải thiết kế lại.
• Tính giảm chi phí: tăng hiệu quả học tập rõ rệt trong khi giảm thời gian và
chi phí.
2.1.2 Tổ chức IMS
Có rất nhiều người và tổ chức liên quan tới các nhóm tham gia quá trình
chuẩn hoá. Các nhóm này đã đưa ra nhiều chuẩn và đặc tả khác nhau. Trong số
các chuẩn và đặc tả về thi trắc nghiệm hiện có trên thế giới, đặc tả IMSQTI
(Instructional Management System – Question and Test) là đặc tả có uy tín
và được nhiều nơi trên thế giới áp dụng nhất.
Hình 2-1 Logo tổ chức IMS
2.1.2.1 Tổ chức IMS
IMS (Instructional Management System) Global Learning Consortium
là tổ chức chuyên phát triển và xúc tiến các đặc tả mở để hỗ trợ các hoạt động
học tập phân tán trên mạng như định vị và sử dụng nội dung giáo dục, theo dõi
quá trình học tập, thông báo kết quả học tập, và trao đổi các thông tin về học
viên giữa các hệ thống quản lý.
IMS có hai mục tiêu chính:
• Xác định các đặc tả kỹ thuật phục vụ cho việc khả chuyển giữa các ứng
dụng và các dịch vụ trong học tập phân tán
• Hỗ trợ việc đưa các đặc tả của IMS vào các sản phẩm và các dịch vụ trên
toàn thế giới. IMS xúc tiến việc thực thi các đặc tả sao cho các môi
trường học tập phân tán và nội dung từ nhiều nguồn khác nhau có thể
hiểu nhau
19. 7
IMS đóng vai trò rất quan trọng trong việc đưa ra các đặc tả trong e-
Learning. Các đặc tả sau đó được các tổ chức ở cấp cao hơn như ADL, IEEE,
ISO sử dụng, chứng nhận thành chuẩn e-Learning dùng ở quy mô rộng rãi.
2.1.2.2 Mục đích, hoạt động của tổ chức IMS
• Tổ chức đưa ra và hỗ trợ các đặc tả dựa trên XML phục vụ cho các công
nghệ trong e-Learning. Các đặc tả của IMS được chấp nhận như các
chuẩn không chính thức trên toàn thế giới. Nó chính là điều kiện để
người mua các hệ thống LMS (Learning Management System – Hệ
thống quản lý học tập) đặt ra với người bán và là các hướng dẫn cho
những người phát triển các sản phẩm và các dịch vụ e-Learning.
• Để đưa ra một đặc tả, IMS tập hợp các yêu cầu về chức năng, dựa trên
khả năng kỹ thuật, và các ưu tiên phát triển từ những người sử dụng,
người bán sản phẩm, người mua sản phẩm, và người quản lý. Các yêu cầu
này sẽ được các đội dự án của IMS (IMS Project Teams) phát triển thành
một bộ các đặc tả bao gồm: Information Model, XML binding, và Best
Practice Guide. Các phiên bản Public Drafts Release và Final Releases sẽ
được công bố rộng rãi qua trang Web của IMS (www.imsglobal.org). Sau
đó, IMS sẽ nhận các ý kiến phản hồi về đặc tả để chỉnh sửa, nâng cấp.
2.1.2.3 Các đặc tả tổ chức IMS đặt ra
Tên đặc tả Chức năng
Meta-Data v1.2.1 Các thuộc tính mô tả các tài nguyên học tập
(learning resources) để hỗ trợ cho việc tìm kiếm
và phát hiện các tài nguyên học tập
Enterprise v1.1 Các định dạng dùng để trao đổi thông tin về học
viên, khóa học giữa các thành phần của hệ thống
Content Package v1.1.3 Các chỉ dẫn để đóng gói và trao đổi nội dung học
tập (learning content)
Question and Test
Interoperability v1.2
Các định dạng để xây dựng và trao đổi thông tin
về đánh giá kết quả học tập
Learner Information
Package(LIP) v1.0
Thông tin liên quan đến học viên như khả năng,
kết quả học tập
20. 8
Reusable Definition of
Competency or
Educational Objective v1.0
Là một khung (framework) để trao đổi các kết quả
học tập của học viên sử dụng các định nghĩa về
các mục tiêu giáo dục
Simple Sequencing v1.0 Xác định các đối tượng học tập được sắp xếp và
trình bày tương ứng với từng học viên như thế
nào.
Digital Repositories
Interoperability v1.0
Gắn kết việc học trên mạng với các tài nguyên
thông tin
Learning Design v1.0 Các định nghĩa dùng để mô tả việc thiết kế giảng
dạy và học tập
Assessiblity for Learner
Information Package v1.0
Đưa thêm các đặc điểm cho đặc tả LIP để gộp dữ
liệu bao gồm các yêu cầu thay đổi của học viên,
điều kiện sử dụng, công nghệ
Bảng 2-1 Các đặc tả được tổ chức IMS định nghĩa
(Theo website: www.el.edu.net.vn)
2.1.2.4 Tại sao tham gia IMS?
Rất nhiều thành viên (trên 100 thành viên) tham gia IMS vì:
• Các công ty và các tổ chức chính phủ đang đầu tư vào e-Learning và các
chương trình quản lý tri thức (knowledge management program) gia nhập
IMS để đảm bảo rằng các chính sách của họ, cơ sở hạ tầng e-Learning, và
các mục tiêu đặc thù của chương trình bắt kịp tối đa với sự phát triển của
công nghệ và xu hướng của e-Learning.
• Các người bán dịch vụ và sản phẩm tham gia để đóng góp vào sự phát
triển và đảm bảo rằng các sản phẩm tung ra phù hợp với các yêu cầu rộng
lớn của thị trường, để đảm bảo tính khả chuyển và có các tính năng dựa
trên chuẩn.
• Các tổ chức đưa ra các dịch vụ giáo dục và đào tạo tham gia để đảm
bảo rằng các quyết định đầu tư của họ là đúng và giảm thiểu rủi ro khi
mua các sản phẩm e-Learning.
21. 9
2.1.2.5 Sự hợp tác của IMS với các tổ chức khác
IMS có sự hợp tác rộng rãi và chặt chẽ với các tổ chức khác để đảm bảo
rằng các đặc tả của IMS có thể áp dụng được rộng rãi trong e-Learning. Dưới
đây là danh sách các tổ chức mà IMS có quan hệ chặt chẽ:
• Advanced Distributed Learning: ADL là một chương trình của bộ quốc
phòng Mĩ (Department of Defense) và Văn Phòng Nhà Trắng về Khoa
học và Công nghệ (White House Office of Science and Technology)
nhằm phát triển các chỉ dẫn cần thiết cho việc phát triển và triển khai e-
Learning ở quy mô lớn. ADL đưa ra các yêu cầu cho các đặc tả của IMS.
ADL sử dụng các đặc tả của IMS. Đối với SCORM 1.3 (Sharable Content
Object Reference Model – Mô hình tham khảo đối tượng nội dung chia
sẻ), ADL sử dụng các đặc tả sau của IMS : Content Package, Simple
Sequencing, Metadata
• ARIADNE: Đây là một dự án của cộng đồng Châu Âu. tập trung vào
phát triển các công cụ và các phương pháp luận để sản xuất ra, quản lý và
sử dụng lại các thành phần giáo dục dựa trên máy tính và các chương
trình đào tạo từ xa. Họ tham gia về đặc tả kỹ thuật trong lĩnh vực meta-
data. ARIADNE hợp tác với IMS phát triển đặc tả meta-data sau đó đưa
lên cho IEEE phê duyệt.
• Aviation Industry CBT Committee (AICC): Tổ chức phát triển các
hướng dẫn cho công nghiệp hàng không thông qua phát triển, đưa ra và
thử nghiệm CBT (Computer-Based Training) và các kỹ thuật liên quan.
IMS đang tích cực hợp tác với các công ty bán công cụ tương thích với
AICC để đảm bảo rằng nội dung tương thích với AICC cũng hỗ trợ các
đặc tả của AICC.
• Dublin Core: Nhóm này đã thiết lập một đặc tả kỹ thuật cho meta-data
của nội dung của thư viện số. Learning Resource Metadata Specification
của IMS tham khảo nhiều đặc tả của Dublic Core.
• European Committee for Standardization/Information Society
Standardization System(CEN/ISSS): CEN là một tổ chức quốc tế, được
22. 10
công nhận bởi cộng đồng Châu Âu, quản lý sự hợp tác của 15 thành viên
của EU. ISSS được thành lập để tập trung chủ yếu vào các yêu cầu về
chuẩn hóa “xã hội thông tin”(information technology), và đã tổ chức một
số hội thảo mở. IMS là một thành viên của hội thảo CEN/ISSS về
Metadata on Multimedia Information. Ngoài ra, IMS cũng đã kí với
CEN/ISSS và các tổ chức khác một bản ghi nhớ hợp tác để tạo nên sự
thống nhất chung về công nghệ giáo dục.
• Institute of Electrical and Electronics Engineers(IEEE): IMS Global
Learning Consortium sẽ tiếp tục hợp tác với IEEE để cùng phát triển các
chuẩn công nghệ quốc tế. Các đặc tả của IMS sẽ được IEEE sử dụng, sau
đó là sự phát triển của đặc tả thành các chuẩn ISO hay ANSI, tức là được
sự chấp thuận của toàn bộ thế giới.
• World Wide Web Consortium(W3C): Thiết lập các đặc tả web. Các đặc
tả nổi tiếng của nó là HTML, XML, SOAP. Mặc dù không đuợc chứng
nhận, các đặc tả của nó đã trở thành chuẩn công nghiệp.
Một số thành viên của IMS: ADL Co-Laboratory, Sun Micro Systems, WebCT,
BlackBoard, Cisco Learning Institue, Digital Think, Microsoft, Oracle,
QuestionMark Computing, Carnegie MellonUniversity, Texas Instruments,
Cisco Systems, Apple Computer, Click2learn, Docent, Saba Software,
University of Cambridge, University of California-Berkeley.
Trong số các đặc tả mà tổ chức IMS đưa ra, đặc tả mà chúng ta quan tâm nhất chính
là đặc tả về thi trắc nghiệm Question and Test Interoperability (Các định dạng
để xây dựng và trao đổi thông tin về đánh giá kết quả học tập).
Chúng ta có thể tham khảo danh sách các công ty và tổ chức đã tuân theo đặc tả
IMS Question and Test Interoperability sau đây 1
: Canvas Learning,
Citogroep (The Netherlands), Giunti Learn eXact, IBM, Open University,
QuestionMark, Oracle, Texas Instruments, WebCT, UkeU
1
Nguồn: http://el.edu.net.vn/mod/book/view.php?id=47&chapterid=65
23. 11
2.2 Đặc tả IMSQTI (Question and Test Interoperability)
2.2.1 Lịch sử các phiên bản:
IMSQTI version 0.5 được công bố vào tháng 3 năm 1999 và version 1.0 được
công bố vào tháng 2 năm 2000, hoàn chỉnh version này vào tháng 5 trong năm đó.
Đặc tả này được mở rộng và cập nhật 2 lần vào tháng 3/2001 và tháng 1/2002. Đến
tháng 3/2003, version 1.2.1 được công bố. Hiện nay, version 2.0 vừa mới được hoàn
chỉnh.
2.2.2 Mục đích thiết kế
Một cách đặc biệt, IMSQTI được thiết kế để:
• Cung cấp một định dạng lưu trữ nội dung tốt, và việc lưu trữ các nội dung
này là độc lập đối với các công cụ đã được dùng để tạo ra chúng.
• Cung cấp khả năng phân phối các kho câu hỏi trên một diện rộng các hệ
thống học tập và đánh giá, kiểm tra khác nhau.
• Cung cấp khả năng sử dụng các câu hỏi và kho câu hỏi tại một hệ thống đơn
với nguồn câu hỏi và kho câu hỏi đa dạng được đưa đến từ các hệ thống khác.
• Cung cấp các hệ thống với khả năng báo cáo các kết quả đánh giá, kiểm tra
nhất quán.
24. 12
Mô hình vai trò của các hệ thống tham gia sử dụng đặc tả IMSQTI:
Hình 2-2 Vai trò của các thành phần tham gia hệ thống sử dụng đặc tả IMSQTI
Trong đó:
• authoringTool: công cụ tạo bài thi.
• itemBank: kho câu hỏi.
• assessmentDeliverySystem: hệ thống phân phối bài thi.
• learningSystem: hệ thống học tập
• author: tác giả của đề thi (giáo viên).
• itemBankManager: người quản lý các kho câu hỏi.
• proctor: giám thị/người coi thi.
• scorer: giám khảo.
• tutor: giáo viên
• candidate: thí sinh
25. 13
2.2.3 Cấu trúc tổ chức bài thi và câu hỏi
2.2.3.1 Cấu trúc chung
assessment
section
section
assessmentItem
assessmentItem
assessmentItem
Hình 2-3 Cấu trúc bài thi trong đặc tả IMSQTI
Trong đặc tả IMSQTI, tất cả bài thi, bao gồm trong nó các section và các câu hỏi
đều được lưu trữ bằng XML.
Trong đó:
2.2.3.2 Bài thi
Một bài thi được gọi là 1 assessment, trong 1 bài thi có thể có nhiều section.
2.2.3.3 Section
Một section được hiểu như là 1 bài thi con hay 1 phần của bài thi, trong
section có nhiều câu hỏi, gọi là các assessmentItem.
2.2.3.4 Câu hỏi
Câu hỏi được gọi là assessmentItem.
26. 14
Ví dụ: cấu trúc XML của 1 câu hỏi trông có dạng như sau:
<?xml version="1.0" encoding="UTF-8"?>
<assessmentItem identifier="choiceMultiple" title="Composition of Water"
adaptive="false" timeDependent="false">
<responseDeclaration identifier="RESPONSE" cardinality="multiple"
baseType="identifier">
<correctResponse>
<value>H</value>
<value>O</value>
</correctResponse>
<mapping lowerBound="0" upperBound="2" defaultValue="-2">
<mapEntry mapKey="H" mappedValue="1"/>
<mapEntry mapKey="O" mappedValue="1"/>
<mapEntry mapKey="Cl" mappedValue="-1"/>
</mapping>
</responseDeclaration>
<outcomeDeclaration identifier="SCORE" cardinality="single"
baseType="integer"/>
<itemBody>
<choiceInteraction responseIdentifier="MR01" shuffle="true"
maxChoices="0">
<prompt>Which of the following elements are used to form
water?</prompt>
<simpleChoice identifier="H" fixed="false">Hydrogen</simpleChoice>
<simpleChoice identifier="He" fixed="false">Helium</simpleChoice>
<simpleChoice identifier="C" fixed="false">Carbon</simpleChoice>
<simpleChoice identifier="O" fixed="false">Oxygen</simpleChoice>
<simpleChoice identifier="N" fixed="false">Nitrogen</simpleChoice>
<simpleChoice identifier="Cl" fixed="false">
Chlorine</simpleChoice>
</choiceInteraction>
</itemBody>
<responseProcessing
template="http://www.imsglobal.org/question/qti_v2p0/rptemplates/map_respon
se"/>
</assessmentItem>
27. 15
Chương 3 Phân loại câu hỏi trắc nghiệm
Theo như chuẩn IMSQTI, các câu hỏi trắc nghiệm được phân loại theo kịch
bản tương tác và xử lý của câu hỏi, nói cách khác, là phân loại theo bản chất của
câu hỏi.
IMSQTI đưa ra khái niệm interaction, đó chính là tương tác hay bản chất
của một câu hỏi. interaction là một lớp tổng quát ở bên trên, dưới nó là các
interaction con, tương ứng với từng loại câu hỏi cụ thể.
IMSQTI cũng đưa ra khái niệm về choice, đó chính là các phương án trả lời
hay các lựa chọn của câu hỏi. choice cũng là một lớp tổng quát bên trên, dưới nó là
các lớp con tùy thuộc cho từng loại câu hỏi.
3.1 Sơ đồ lớp interaction
3.1.1 interaction
Hình 3-1 Sơ đồ lớp interaction
3.1.2 inlineInteraction
Hình 3-2 Sơ đồ lớp inlineInteraction
29. 17
3.3 Các loại câu hỏi phân loại theo interaction
Sau đây là phân loại các câu hỏi trắc nghiệm theo khái niệm interaction trong
đặc tả IMS Question and Test Interoperability.
3.3.1 choiceInteraction
Đây là loại câu hỏi trắc nghiệm thông dụng nhất và khi nghĩ đến trắc nghiệm,
chúng ta thường nghĩ đến loại câu hỏi này. Câu hỏi loại này thường có một hay
nhiều phương án trả lời, nhiệm vụ của thí sinh là chọn ra phương án trả lời đúng
nhất hoặc là các phương án trả lời đúng trong trường hợp có nhiều phương án trả lời
đúng. Trong câu hỏi sẽ có nhiều lựa chọn gọi là các simpleChoice.
Ví dụ:
Hình 3-5 Câu hỏi choiceInteraction với 1 lựa chọn đúng
Hình 3-6 Câu hỏi choiceInteraction với nhiều lựa chọn đúng
30. 18
3.3.2 orderInteraction
Câu hỏi loại này thường có nhiều simpleChoice mà ta tạm gọi là các phương
án trả lời. Trong đó, không có simpleChoice nào là đúng, chỉ có thứ tự ưu tiên trước
sau của chúng là có ý nghĩa. Nhiệm vụ của thí sinh là sắp xếp lại các phương án trả
lời này theo thứ tự đúng của chúng.
Ví dụ:
Hình 3-7 Câu hỏi orderInteraction
3.3.3 associateInteraction
Là loại câu hỏi trắc nghiệm kết nối nhiều lựa chọn.
Câu hỏi loại này nhiều lựa chọn, nhiệm vụ của thí sinh là nối một lựa chọn với
các lựa chọn khác có liên quan.
Các lựa chọn này gọi là các simpleAssociableChoice.
Ví dụ:
Hình 3-8 Câu hỏi associateInteraction
31. 19
3.3.4 matchInteraction
Câu hỏi loại này có 2 cột các phương án trả lời được đặt đứng cạnh nhau,
nhiệm vụ của thí sinh là nối các phương án của cột này với một hay nhiều phương
án có liên quan ở cột bên cạnh. Loại câu hỏi này khác với loại associateInteraction ở
chỗ: trong loại này, một phương án trả lời không được phép tạo liên kết với 1
phương án khác trong cùng cột, trong khi loại associateInteraction thì cho phép.
Trong câu hỏi sẽ có 2 cột phương án trả lời gọi là 2 simpleMatchSet, mỗi
simpleMatchSet chứa nhiều simpleAssociableChoice.
Ví dụ:
Hình 3-9 Câu hỏi matchInteraction
3.3.5 gapMatchInteraction
Loại câu hỏi trắc nghiệm này hơi khác thường, câu hỏi loại này thường có 1
hay nhiều chỗ trống trong đoạn văn ngữ cảnh dùng làm câu hỏi. Thí sinh có nhiệm
vụ điền vào các chỗ trống này bằng một trong các phương án trả lời được cho sẵn ở
bên dưới.
Trong câu hỏi sẽ có nhiều chỗ trống gọi là gapChoice, mỗi gapChoice có thể
là text (gapText) hay hình ảnh (gapImg).
Ví dụ:
Hình 3-10 Câu hỏi gapMatchInteraction
32. 20
3.3.6 inlineChoiceInteraction
Câu hỏi loại này có một vị trí văn bản (text) bị khuyết trong ngữ cảnh đoạn
văn dùng làm câu hỏi. Các giá trị phương án trả lời để điền vào chỗ khuyết này sẽ
được cho trước và nhiệm vụ của thí sinh là chọn phương án đúng trong số các
phương án đã cho.
Trong câu hỏi sẽ có nhiều lựa chọn gọi là các inlineChoice, mỗi inlineChoice
đơn thuần là một đoạn văn bản (a simple run of text).
Ví dụ:
Hình 3-11 Câu hỏi inlineChoiceInteraction
3.3.7 textEntryInteraction
Câu hỏi loại này gần giống với loại inlineChoiceInteraction, chỉ khác ở chỗ:
không có các phương án gợi ý để chọn, thí sinh phải tự nghĩ ra phương án trả lời và
điền vào chỗ trống.
Ví dụ:
Hình 3-12 Câu hỏi loại textEntryInteraction
33. 21
3.3.8 extendedTextInteraction
Về mặt hình thức, câu hỏi loại này yêu cầu thí sinh trả lời cho câu hỏi bằng
cách viết một đoạn văn bản, có thể dài, để trả lời cho câu hỏi được đưa ra.
Thực chất, câu hỏi loại này là một câu hỏi tự luận đơn giản, có thể là một bài
tiểu luận.
Ví dụ:
Hình 3-13 Câu hỏi extendedTextInteraction
3.3.9 hottextInteraction
Câu hỏi hottextInteraction có một hay nhiều phương án trả lời, tuy nhiên, các
phương án này không được để riêng bên dưới câu hỏi để trả lời cho câu hỏi mà
chính là một phần của đoạn văn bản câu hỏi. Nhiệm vụ của thí sinh là chọn ra
phương án trả lời đúng nhất bằng cách click chọn trên chính câu hỏi vào các vị trí
được đánh dấu là câu trả lời.
Trong câu hỏi sẽ có nhiều lựa chọn gọi là các simpleChoice. Câu hỏi loại này
thường được đưa ra nhằm xác định lỗi sai trong đoạn văn đóng vai trò câu hỏi.
Ví dụ:
Hình 3-14 Câu hỏi hottextInteraction
34. 22
3.3.10 hotspotInteraction
Loại câu hỏi này hiển thị gồm phần nội dung câu hỏi bằng văn bản và phần
hình ảnh kèm theo. Trên hình ảnh định nghĩa các vị trí đặc biệt đóng vai trò là các
phương án trả lời. Thí sinh trả lời cho câu hỏi bằng cách click vào một vị trí hợp lệ
trên hình vẽ.
Về bản chất, loại này giống như loại hottextInteraction, chỉ khác là thay vì là
text thì là hình ảnh.
Ví dụ:
Hình 3-15 Câu hỏi hotspotInteraction
35. 23
3.3.11 selectPointInteraction
Câu hỏi loại này giống như câu hỏi loại hotspotInteraction, khác nhau là ở chỗ:
nhiệm vụ của thí sinh thay vì click chọn một hay nhiều vị trí được định nghĩa là các
phương án trả lời thì phải click một số chỗ nào đó theo suy nghĩ của mình mà không
có gợi ý là các vị trí được định nghĩa sẵn.
Ví dụ:
Hình 3-16 Câu hỏi selectPointInteraction
36. 24
3.3.12 graphicOrderInteraction
Câu hỏi loại này có nhiều phương án trả lời chính là các vị trí được đánh dấu
trên 1 hình vẽ, nhiệm vụ của thí sinh là gắn cho mỗi vị trí này một số thứ tự sao cho
thứ tự các vị trí trên hình là đúng với yêu cầu của câu hỏi.
Trong câu hỏi sẽ có nhiều lựa chọn gọi là các hotspotChoice, mỗi
hotspotChoice thật sự là một vùng hình ảnh được định nghĩa sẵn trên hình vẽ cho
trước.
Ví dụ:
Hình 3-17 Câu hỏi graphicOrderInteraction
37. 25
3.3.13 graphicAssociateInteraction
Loại câu hỏi trắc nghiệm này về bản chất giống như loại associateInteraction,
nhưng thay vì các phương án trả lời là văn bản thì là hình ảnh.
Ví dụ:
Hình 3-18 Câu hỏi graphicAssociateInteraction
38. 26
3.3.14 graphicGapMatchInteraction
Loại câu hỏi trắc nghiệm này về bản chất giống như loại gapMatchInteraction,
nhưng các phương án trả lời là hình ảnh thay cho văn bản.
Ví dụ:
Hình 3-19 Câu hỏi graphicGapMatchInteraction
3.3.15 positionObjectInteraction
Câu hỏi loại này yêu cầu thí sinh đặt một hình ảnh vào đúng vị trí của nó trên
một hình ảnh khác. Trên hình ảnh thứ 2 này, không có vị trí đặc biệt nào được phép
định nghĩa trước.
Ví dụ:
Hình 3-20 Câu hỏi positionObjectInteraction
39. 27
3.3.16 sliderInteraction
Câu hỏi loại này thể hiện cho thí sinh một thanh điều khiển cho phép chọn lựa
một giá trị số trong một tập số liên tục được cho trước. Có giá trị biên dưới và biên
trên cho tập giá trị cho trước này.
Ví dụ:
Hình 3-21 Câu hỏi sliderInteraction
3.3.17 drawingInteraction
Câu hỏi loại này yêu cầu thí sinh dùng một tập hợp các công cụ vẽ cho trước
để chỉnh sửa một hình ảnh đề cho.
3.3.18 uploadInteraction
Câu hỏi loại này yêu cầu thí sinh upload 1 file theo yêu cầu.
3.3.19 customInteraction
Đây là loại câu hỏi trắc nghiệm mở rộng. Loại này mang ý nghĩa là một loại
câu hỏi trắc nghiệm chưa được định nghĩa trong đặc tả của IMSQTI. Điều đó có
nghĩa là chúng ta có thể thêm những loại câu hỏi mới chưa có trong đặc tả để phù
hợp với nhu cầu trong tình huống cụ thể.
40. 28
Chương 4 Kiến trúc chung của phần mềm
4.1 Phát biểu bài toán:
ETSONLINE là một hệ thống framework dịch vụ hỗ trợ các hình thức trắc
nghiệm khác nhau. Hệ thống cho phép các tài khoản là giáo viên quản lý hiệu quả
sinh viên cùng các đề thi, câu hỏi …; hỗ trợ các tài khoản là sinh viên hoàn thành
việc làm các bài thi trắc nghiệm một cách nhanh chóng, tiện lợi; giúp đỡ các tài
khoản là người quản trị điều hành tốt và chặt chẽ hệ thống.
Một tài khoản mới được đăng ký sẽ mặc định có quyền là sinh viên. Một sinh
viên bắt buộc phải thuộc quyền quản lý của một giáo viên trong hệ thống. Sinh viên
này chỉ có thể thực hiện các bài thi do giáo viên phụ trách đưa ra. Sau khi thực hiện
thi, sinh viên sẽ được xem ngay kết quả bài thi hoặc sẽ phải gọi điện thoại đến hệ
thống trả lời tự động để nghe kết quả (tùy vào yêu cầu của giáo viên)
Giáo viên có toàn quyền quản lý sinh viên cùng các câu hỏi, section, đề thi
thuộc phạm vi của mình.
Hệ thống quản lý dựa trên thư mục, tức là các sinh viên, câu hỏi, bài thi đều
được nhóm vào trong các loại thư mục phù hợp. Một tài khoản giáo viên sẽ đi kèm
với các thư mục chứa sinh viên, bài thi, câu hỏi thuộc quyền quản lý của giáo viên
đó. Giáo viên có quyền tạo thêm thư mục con ngoài 3 thư mục chính trên để hỗ trợ
cho việc quản lý. Giáo viên cũng có thể cấu trúc lại cây thư mục riêng của mình
bằng các thao tác kéo thả rất tiện lợi.
Giáo viên được hỗ trợ tạo ra câu hỏi mới bằng nhiều cách như là soạn trực tiếp
trên hệ thống web, soạn trên hệ thống Windows rồi upload lên mạng, import từ
word hoặc excel. Nội dung chính của câu hỏi được lưu trữ dưới dạng XML theo gần
đúng chuẩn IMSQTI, vì vậy hệ thống cũng hỗ trợ việc kết xuất câu hỏi ra theo đúng
chuẩn để tiện trao đổi dữ liệu với các hệ thống khác. Giáo viên có thể xem thông tin
thống kê chi tiết cho từng câu hỏi, di chuyển câu hỏi sang một thư mục khác, sửa
nội dung câu hỏi hoặc xóa hẳn câu hỏi khỏi cơ sở dữ liệu. Hệ thống hỗ trợ nhiều
loại câu hỏi và các loại câu hỏi sẽ được plugin động vào trong hệ thống.
41. 29
Giáo viên có thể tạo ra 2 loại section. Loại thứ nhất là section tự phát sinh ra
câu hỏi khi có yêu cầu thi dựa trên số câu hỏi trong section và ngân hàng câu hỏi
được chỉ định. Loại thứ hai thì giáo viên phải trực tiếp chọn từng câu hỏi sẽ được
hiển thị trong section. Các section cũng có thể được tổ chức thành nhiều cấp như
thư mục và người giáo viên cũng có thể dễ dàng cấu trúc lại mối quan hệ giữa các
section bằng thao tác kéo thả. Giáo viên cũng có thể xem các thông tin thống kê cho
từng section, chọn lại các câu hỏi cho section, sửa thông tin section và xóa hẳn
section khỏi cơ sở dữ liệu.
Các đề thi được tạo ra bằng cách chỉ định các section nào sẽ thuộc đề thi đó.
Giáo viên có thể chọn mẫu thể hiện (template) cho đề thi cũng như chọn yêu cầu
sinh viên được xem kết quả ngay sau khi thi hay không. Giáo viên cũng có thể xem
thống kê về bài thi, xem danh sách sinh viên đã làm bài thi đó cùng với kết quả chi
tiết của các lần thi đó. Bên cạnh đó, giáo viên còn có thể export đề thi ra định dạng
file word để thực hiện thi trên giấy.
Các sinh viên sau khi đăng ký tài khoản thì sẽ thuộc thư mục quản lý sinh viên
chung của giáo viên phụ trách, nhưng sau đó giáo viên sẽ có thể di chuyển sinh viên
vào thư mục con phù hợp. Giáo viên có quyền tạo thêm sinh viên bằng cách tạo trực
tiếp trên hệ thống hoặc import danh sách sinh viên từ file excel. Giáo viên cũng có
thể xem các thông tin thống kê về sinh viên cũng như sửa thông tin sinh viên hay
xóa hẳn sinh viên khỏi cơ sở dữ liệu.
Hệ thống có cả module dành cho web và module dành cho Windows, vì vậy
giáo viên còn có thêm quyền cập nhật dữ liệu thi của mình trên Windows lên cơ sở
dữ liệu dùng cho web. Chức năng này nhằm mục đích hỗ trợ giáo viên thao tác
nhanh chóng, tiện lợi trên môi trường Windows cho phù hợp với điều kiện tốc độ
internet ở nước ta.
Ngoài ra, tất cả các tài khoản đều có thế cấu hình thể hiện của hệ thống theo ý thích
riêng của mình như chọn ngôn ngữ thể hiện, bố trí lại các thành phần giao diện …
42. 30
4.2 Mô hình kiến trúc và tổ chức hoạt động
Hình 4-1 Mô hình kiến trúc và tổ chức
4.2.1 Engine
Trong hệ thống, module Engine sẽ chứa các định nghĩa chung, làm các nhiệm vụ
chung nhất cho cả ứng dụng web và windows, cụ thể, trong engine sẽ chứa các
nhóm lớp đối tượng sau:
- Các lớp đối tượng cơ bản của phần mềm.
- Các lớp đối tượng của đặc tả IMSQTI, trừ các lớp interaction cụ thể cho từng
loại câu hỏi.
- Các lớp truy xuất cơ sở dữ liệu.
- Các lớp xử lý điều khiển.
- Các lớp tiện ích
o Cung cấp cơ chế ứng dụng web đa ngôn ngữ.
o Cung cấp cơ chế bảo mật, đăng nhập, phân quyền.
o Cung cấp các hàm convert.
o Cung cấp các hàm truy xuất các thuộc tính chung từ file cấu hình.
43. 31
Mối quan hệ giữa Engine và các component khác:
- Tất cả các module khác đều tham chiếu đến Engine khi làm việc.
- Engine cung cấp tất cả những định nghĩa, khái niệm, class, phương thức,
thuộc tính, thông tin cấu hình, cơ chế hoạt động chung cho tất cả các module
khác trong hệ thống bao gồm ứng dụng web, ứng dụng windows, module
plugin trên web, module plugin trên windows, module import, export.
- Engine là một component độc lập, không tham chiếu đến module nào khác
trong hệ thống.
- Engine định nghĩa tất cả các lớp abstract cha mà các module con phải tạo các
lớp kế thừa và xử lý.
Hình 4-2 Mối quan hệ giữa Engine và các component khác
44. 32
4.2.1.1 Sơ đồ tổ chức của Engine
Hình 4-3 Sơ đồ tổ chức của Engine
45. 33
4.2.1.2 Sơ đồ lớp của Engine
ETSEngineBasicObject: là nơi định nghĩa và cài đặt tất cả các đối tượng dùng
chung của hệ thống, bao gồm: bài thi, câu hỏi…
Hình 4-4 Sơ đồ lớp phần ETSEngineBasicObject của Engine
46. 34
IMSQTIBasicObjects: là nơi định nghĩa và cài đặt tất cả các class nằm trong đặc tả
IMS Question and Test Interoperability, trừ các class phụ thuộc từng câu hỏi là các
class interaction cụ thể của từng loại câu hỏi và các class mô tả các phương án trả
lời.
Hình 4-5 Sơ đồ lớp phần IMSQTIBasicObject của Engine
ETSEngineControllerObjects: phần này định nghĩa và cài đặt tất cả các class liên
quan đến xử lý chung cho hệ thống.
ETSEngineControllerObjects
ExportIMSQTIDatabase
ScoringMachine WordMachine
ExportEngine ImportEngine
MailEngine
SectionUserResult
AssessmentUserResult AssessmentUserResponse
SectionUserResponse
QuestionUserResponseDatabaseController
Hình 4-6 Sơ đồ lớp phần ETSEngineControllerObject của Engine
47. 35
ETSEngineDBManager: là nơi định nghĩa và cài đặt tất cả các interface, các class
liên quan đến truy xuất cơ sở dữ liệu cùng các class cung cấp cơ chế cho việc truy
xuất dữ liệu theo mô hình n-tier.
ETSEngineDBManager
DatabaseInterface
DBManager
IQuestionManager ISectionManager
IAssessmentManager IMemberManager
…………………….
SQLSERVER
SqlServerDBManager
QuestionManager SectionManagerAssessmentManager
MemberManager …………………….
XML
…………………..
Hình 4-7 Sơ đồ lớp phần ETSEngineDBManager
48. 36
4.2.2 ETSONLINE
Là phần ứng dụng chạy trên web của hệ thống. Đây là một web application,
có nhiệm vụ thực hiện các chức năng của hệ thống, bao gồm tất cả các công việc từ
việc soạn câu hỏi, đề thi đến việc thi cử trên mạng. ETSONLINE là phần ứng dụng
chính, quan trọng nhất của hệ thống.
4.2.2.1 Sơ đồ tổ chức của ứng dụng ETSONLINE
ETSONLINE
Các file ngôn ngữ
Các trang web aspx
Các file lưu thông tin
cấu hình
Các trang user control ascx
Các tài nguyên hình ảnh,
flash...
Đây là nơi thật sự chứa
các thông tin và các xử lý
nghiệp vụ của hệ thống
Hiện hệ thống hỗ trợ 2 ngôn ngữ
tiếng Việt và tiếng Anh
Các trang web này thực sự không chứa
nội dung cũng như xử lý nghiệp vụ, thật sự
chúng là các cổng điều phối các luồng xử lý
vào thể hiện vào đúng vị trí cần thiết
Các file template đề thi
Các file plugin cần thiết
của các bộ câu hỏi
choiceInteraction
inlineChoiceInteraction
………...
Hình 4-8 Sơ đồ tổ chức ứng dụng ETSONLINE
49. 37
4.2.2.2 Sơ đồ tổ chức các lớp
Tổ chức class ETSONLINE
Các class của web pages
Các bộ câu hỏi
Default
Testing
MemberAdministration
ImportExport
Management
ViewStatistics
RestructureFolder
ChooseQuestion
ForSection
ChooseSection
ForAssessment
Các class của user control
CreateAssessment
CreateNewFolder
MoveFolder
CreateSection
ConfigUI
Register
CreateNews
MoveMember
ReportMemberResult
CustomTestList ViewQuestionContainer ViewTest
ViewSection SummaryQuestionList SummarySectionList
SummaryAssessmentList SummaryMemberList SummarySectionList
ViewProfile ViewQuestionStatistics PortalLeftMenu
choiceInteraction inlineChoiceInteraction ……..
RestructureSections Global ……...
PortalTopMenu PortalHeader ………
Hình 4-9 Sơ đồ tổ chức lớp trong ETSONLINE
50. 38
4.2.2.3 Các chức năng chính:
Ứng dụng ETSONLINE đã giải quyết được những vấn đề chính sau:
(Một số vấn đề sẽ được trình bày tương đối chi tiết, một số phần khác sẽ
được trình bày rõ hơn ở các chương sau trong các chương về module Quản lý, Soạn
thảo, Plugin và Thi cử)
1. Tạo ra một cổng thông tin đa năng portal đóng vai trò là cổng vào của hệ
thống dịch vụ thi cử trực tuyến mà chúng ta đang phát triển.
Hình 4-10 Trang chủ ETSONLINE
51. 39
2. Có một vùng tiến trình quản lý
theo cấp cây thư mục phục vụ cho
việc sử dụng và quản lý các tài
nguyên phân cấp dành cho cả nhà
quản trị và cả các thành viên đóng
vai trò là giáo viên. Tài nguyên
được quản lý phân cấp ở đây bao
gồm: kho câu hỏi, kho bài thi, thư
mục chứa thành viên và section.
Hình 4-11 Phân cấp quản lý theo cấu trúc cây
Hình 4-12 Trang quản lý chính của ETSONLINE
52. 40
3. Có các chức năng để soạn thảo ra các câu hỏi hoàn chỉnh, và chỉnh sửa
chúng. Trong việc soạn câu hỏi, cho phép plugin câu hỏi tùy ý, cho phép mở
rộng tối đa khả năng thêm loại câu hỏi mới.
Hình 4-13 Demo chức năng soạn thảo câu hỏi
4. Phân cấp xử lý soạn thảo, lưu trữ, xử lý thể hiện, xử lý tính điểm cho câu hỏi
đến mức con nhất có thể. Mỗi loại câu hỏi phải tự biết mình phải được soạn
thảo bằng bộ editor nào, thể hiện bằng control nào, lưu trữ những thông tin gì
và chấm điểm ra sao.
5. Có các chức năng tạo mới, chỉnh sửa đề thi một cách thuận tiện nhất, có
nhiều mẫu template bài thi để người giáo viên chọn lựa, đồng thời người
giáo viên có thể chỉnh sửa template này hoặc thêm một template mới hoàn
toàn một cách nhanh chóng.
53. 41
6. Quản lý nội dung đề thi theo dạng phân cấp, mỗi đề thi có thể có các phần đề
thi con, và mỗi phần con này lại có thể có các phần con khác. Việc thay đổi
cấu trúc nội dung đề thi chỉ đơn giản là check, bỏ check và kéo thả.
7. Có các bộ editor soạn thảo đa năng, có thể định dạng một cách dễ dàng font
chữ, cỡ chữ, chèn các ký tự đặc biệt, chèn bảng biểu, chỉnh sửa các thuộc
tính định dạng, chèn hình ảnh, video, flash, nhạc…
8. Có phần xử lý hiển thị đề thi có các dạng câu hỏi với thể hiện và xử lý khác
nhau mà không được biết trước.
9. Có phần chấm điểm với khả năng tùy biến, chấm điểm theo cách xử lý riêng
của từng loại câu hỏi. Muốn thay đổi cách chấm điểm của bất cứ loại câu hỏi
nào cũng dễ dàng.
10.Thông tin về kết quả lựa chọn khi làm bài thi và kết quả chi tiết của bài thi
được lưu trữ đầy đủ, kỹ càng theo định dạng XML, giúp cho việc truy xuất,
thống kê kết quả làm bài, theo dõi kết quả học tập có thể thực hiện bất cứ lúc
nào.
Hình 4-14 Kết quả bài thi được truyền đi bằng XML
54. 42
11.Thông tin truyền thông kết quả lựa chọn khi làm bài và kết quả chấm điểm
đều sử dụng XML.
12.Đặc biệt, do hệ thống tuân theo đặc tả IMSQTI, một đặc tả dựa trên XML, hệ
thống hiện tại có chức năng kết xuất một hay nhiều tài nguyên kho câu hỏi ra
định dạng chuẩn của đặc tả IMSQTI, từ đó, có thể chia sẻ cơ sở dữ liệu với
tất cả các hệ thống khác trên thế giới có tuân theo đặc tả này. (Và có thể
import cơ sở dữ liệu từ các hệ thống khác trong tương lai). Chức năng kết
xuất này sử dụng XSLT để chuyển đổi từ định dạng đang sử dụng sang định
dạng chuẩn đúng đặc tả.
Nội dung file XSLT làm nhiệm vụ chuyển đổi xin xem trong phần phụ lục.
13.Có phần gửi tin nhắn ngắn gọn giúp giáo viên có thể gửi tin nhắn nhanh đến
sinh viên của mình qua cổng portal này.
14.Cung cấp một cơ chế web đa ngôn ngữ linh động. File ngôn ngữ được lưu
trữ dưới dạng XML. Mỗi thành viên có thông tin cấu hình riêng. Khi đăng
nhập vào trang web, ngôn ngữ hiển thị của trang web sẽ là ngôn ngữ mà
thành viên này đã chọn. Một người chưa phải là thành viên cũng có thể chọn
ngôn ngữ hiển thị cho riêng mình. Khi cần thêm một ngôn ngữ mới, chỉ cần
làm công việc hết sức đơn giản là thêm vào thư mục file ngôn ngữ một file
ngôn ngữ của ngôn ngữ mình muốn thêm vào – file này chỉ việc lấy mẫu và
cấu trúc bằng việc copy lại một file có sẵn và dịch sang ngôn ngữ mới.
Cấu trúc file XML lưu ngôn ngữ:
<?xml version="1.0"?>
<Resources language="Tên ngôn ngữ" code="Mã ngôn ngữ">
<page name="Tên trang web hoặc control">
<!-- Ten_Trang_Web_Control.ascx -->
<Resource tag="Tên thẻ">Nội dung thẻ</Resource>
<Resource tag="Tên thẻ">Nội dung thẻ</Resource>
<Resource tag="Tên thẻ">Nội dung thẻ</Resource>
<Resource tag="Tên thẻ">Nội dung thẻ</Resource>
</page>
<page name="Tên trang web hoặc control">
<!-- Ten_Trang_Web_Control.ascx -->
<Resource tag="Tên thẻ">Nội dung thẻ</Resource>
<Resource tag="Tên thẻ">Nội dung thẻ</Resource>
<Resource tag="Tên thẻ">Nội dung thẻ</Resource>
<Resource tag="Tên thẻ">Nội dung thẻ</Resource>
</page>
55. 43
<page name="Tên trang web hoặc control">
<!-- Ten_Trang_Web_Control.ascx -->
<Resource tag="Tên thẻ">Nội dung thẻ</Resource>
<Resource tag="Tên thẻ">Nội dung thẻ</Resource>
<Resource tag="Tên thẻ">Nội dung thẻ</Resource>
<Resource tag="Tên thẻ">Nội dung thẻ</Resource>
</page>
</Resources>
Ví dụ:
<?xml version="1.0"?>
<Resources language="Vietnamese" code="vi">
<page name="LOGIN">
<!-- login.ascx -->
<Resource tag="TITLE">Đăng nhập</Resource>
<Resource tag="USERNAME">Tên đăng nhập</Resource>
<Resource tag="PASSWORD">Mật khẩu</Resource>
<Resource tag="REMEMBER_ME">Tự động đăng nhập</Resource>
<Resource tag="PASSWORD_PROBLEM">Bạn gặp trục trặc ? Hay là
quên mật khẩu ? </Resource>
<Resource tag="BTN_LOGIN">Đăng nhập</Resource>
<Resource tag="LOGIN_SUCCESSFULLY">Đăng nhập thành
công!</Resource>
<Resource tag="HAVE_NOT_GOT_ACCOUNT">Bạn chưa có tài khoản ?
Vui lòng</Resource>
<Resource tag="REGISTER">Đăng ký</Resource>
<Resource tag="USERNAME_PASSWORD_ERROR">Tên đăng nhập và mật
khẩu của bạn không hợp lệ. Vui lòng làm lại nhé!</Resource>
<Resource tag="BOTH_USERNAME_PASSWORD">Bạn hãy nhập cả tên
đăng nhập và mật khẩu</Resource>
<Resource tag="RECOVER">Phục hồi mật khẩu</Resource>
<Resource tag="EMAIL_SENT_PASSWORD">Chúng tôi đã gửi cho bạn
mật khẩu mới!</Resource>
<Resource tag="SEND_PASSWORD">Gửi mật khẩu</Resource>
<Resource tag="RECOVER_ERROR">Việc tạo mới mật khẩu bị
lỗi</Resource>
</page>
<page name="REGISTER">
<!-- register.aspx -->
<Resource tag="TITLE">Đăng ký thành viên mớir</Resource>
<Resource tag="DETAILS">Thông tin đăng ký</Resource>
<Resource tag="USERNAME">Tên tài khoản</Resource>
<Resource tag="NEED_USERNAME">Bạn chưa nhập tên tài
khoản.</Resource>
<Resource tag="PASSWORD">Mật mã</Resource>
<Resource tag="NEED_PASSWORD">Bạn chưa nhập mật
mã.</Resource>
<Resource tag="RETYPE_PASSWORD">Nhập lại mật mã</Resource>
<Resource tag="NEED_MATCH">Mật mã không giống
nhau.</Resource>
<Resource tag="EMAIL">Địa chỉ email</Resource>
<Resource tag="PROFILE">Thông tin cá nhân</Resource>
56. 44
<Resource tag="LOCATION">Location</Resource>
<Resource tag="HOMEPAGE">Home Page</Resource>
<Resource tag="PREFERENCES">Forum Preferences</Resource>
<Resource tag="TIMEZONE">Múi giờ</Resource>
<Resource tag="ALREADY_REGISTERED">Tên tài khoản hoặc địa chỉ
email của bạn đã được đăng ký rồi.</Resource>
<Resource tag="REGISTER">Đăng ký</Resource>
<Resource tag="BAD_EMAIL">Email không hợp lệ.</Resource>
</page>
<!-- ... -->
</Resources>
15.Có cơ chế plugin các thành phần giao diện. Mỗi thành phần giao diện trên
trang chủ là một component được phát triển riêng và tích hợp vào hệ thống.
Nhà quản trị có thể thêm bớt các component này vào hệ thống bằng cách đơn
giản là copy, paste hay delete.
16.Cung cấp cho các thành viên khả năng cấu hình các thành phần giao diện.
Mỗi thành viên có thể cho phép hiển thị trên trang web những thành phần
mình thích hay quan trọng với chính mình và tại vị trí bên trái hay bên phải
tùy thích.
17.Cung cấp cơ chế bảo mật FormsAuthenticationTicket đảm bảo hệ thống
website được bảo mật, phân quyền an toàn. Đảm bảo mỗi thành viên không
thể truy cập vào tài khoản của các thành viên khác, đồng thời, những người
chưa phải là thành viên không thể truy cập vào những khu vực chỉ dành riêng
cho thành viên.
18.Tầng truy xuất cơ sở dữ liệu thực hiện viết code an toàn, dùng store
procedure và truyền tham số theo parameter, giúp cho tránh được lỗ hổng Sql
Injection.
57. 45
4.2.3 ETSClient
Là phần ứng dụng chạy trên windows. Là một windows application có nhiệm
vụ thực hiện bổ sung những tiện ích hữu dụng cho hệ thống phần mềm ở trên
windows và thực hiện một số tính năng trợ giúp cho ứng dụng web nhằm đem lại
những lợi ích về thời gian xử lý cũng như thuận tiện trong tương tác mà các ứng
dụng web không có được.
Mục tiêu chính là:
- Người giáo viên có thể soạn đề thi, câu hỏi trên windows với những tiện ích
tốt nhất cùng với tốc độ xử lý nhanh của máy client, không phụ thuộc tốc độ
và sự ổn định của đường truyền internet. Sau đó, người giáo viên sẽ kết nối
internet và upload đề thi lên tài khoản của mình trên server và sinh viên có
thể làm bài thi trên mạng.
- Tạo ra phần dành cho thí sinh thi cử tập dượt ngay trên máy tính của mình
khi load xong đề thi mẫu và các đề thi tham khảo trên server.
- Thực hiện import đề thi từ các nguồn dữ liệu điện tử có sẵn hoặc kết xuất đề
thi người giáo viên đã soạn để cho sinh viên, học sinh của mình thi trên giấy.
58. 46
4.2.3.1 Sơ đồ tổ chức của ứng dụng ETSClient
Hình 4-15 Sơ đồ tổ chức ứng dụng ETSClient
59. 47
4.2.3.2 Sơ đồ tổ chức các lớp
Hình 4-16 Sơ đồ tổ chức lớp trong ETSClient
4.2.3.3 Các chức năng chính:
Các chức năng chính trong ứng dụng ETSClient bao gồm:
(Cũng như phần trên, một số vấn đề sẽ được trình bày tương đối chi tiết, một
số phần khác sẽ được trình bày rõ hơn ở các chương sau trong các chương về
module Quản lý, Soạn thảo, Plugin và Thi cử)
60. 48
1. Quản lý theo cấp cây thư mục phục vụ cho việc sử dụng và quản lý các tài
nguyên phân cấp dành cho cả nhà quản trị và cả các thành viên đóng vai trò
là giáo viên.
2. Có các chức năng để soạn thảo ra các câu hỏi hoàn chỉnh, và chỉnh sửa
chúng. Trong việc soạn câu hỏi, cho phép plugin câu hỏi tùy ý, cho phép mở
rộng tối đa khả năng thêm loại câu hỏi mới. Bộ soạn thảo trên windows là
một phần của bộ câu hỏi mà trong đó có bộ soạn thảo trên web. Mỗi loại câu
hỏi phải tự biết mình phải được soạn thảo bằng bộ editor nào.
3. Có các chức năng tạo mới, chỉnh sửa đề thi một cách thuận tiện nhất, có
nhiều mẫu template bài thi để người giáo viên chọn lựa, đồng thời người
giáo viên có thể chỉnh sửa template này hoặc thêm một template mới hoàn
toàn một cách nhanh chóng.
4. Quản lý nội dung đề thi theo dạng phân cấp, mỗi đề thi có thể có các phần đề
thi con, và mỗi phần con này lại có thể có các phần con khác. Việc thay đổi
cấu trúc nội dung đề thi chỉ đơn giản là check, bỏ check và kéo thả,… giống
như ứng dụng trên web.
5. Có các bộ editor soạn thảo đa năng, có thể định dạng một cách dễ dàng Font
chữ, cỡ chữ, chèn các ký tự đặc biệt, chèn bảng biểu, chỉnh sửa các thuộc
tính định dạng, chèn hình ảnh…Đặc biệt, ứng dụng trên windows có bộ soạn
thảo với input và output đều là HTML. Điều đó có nghĩa là tất cả những gì
người giáo viên trông thấy khi soạn câu hỏi trên windows thì cũng sẽ trông
thấy như vậy khi câu hỏi được hiển thị trên web và ngược lại do đều cùng có
input và output vào editor là HTML.
6. Tầng truy xuất cơ sở dữ liệu thực hiện viết code an toàn, dùng store
procedure và truyền tham số theo parameter, giúp cho tránh được lỗ hổng Sql
Injection.
61. 49
4.2.4 InteractionDefinition
Là module tổ chức định nghĩa các interaction riêng cho các loại câu hỏi cụ thể.
Định nghĩa của mỗi loại câu hỏi sẽ được sử dụng chung cho các plugin câu hỏi cả
trên web và trên windows.
4.2.4.1 Sơ đồ tổ chức
Hình 4-17 Sơ đồ tổ chức InteractionDefinition
4.2.4.2 Sơ đồ lớp
Hình 4-18 Sơ đồ tổ chức lớp trong InteractionDefinition
62. 50
4.2.5 ImportExportEngine
Là module độc lập thực hiện khả năng import danh sách các câu hỏi từ
Microsoft Word và export đề thi ngược lại ra Word, giúp ích cho việc nhập liệu
nhanh chóng hơn nữa, tận dụng lại các dữ liệu điện tử đã có sẵn, đồng thời giúp cho
đề thi được soạn ra không chỉ được dành cho thi cử trên web mà còn có thể in ra và
tổ chức thi trên giấy một cách tự động.
4.2.6 QuestionsPlugins
Là module cung cấp các dạng câu hỏi cụ thể cho phần ứng dụng web. Các
dạng câu hỏi khác nhau đều được đưa vào hệ thống phần mềm dưới dạng plugin.
Một bộ câu hỏi mới khi cài đặt vào ứng dụng web sẽ gồm file dll chứa định nghĩa
interaction của loại câu hỏi đó, file dll chứa các class, xử lý soạn thảo, xử lý thể
hiện, xử lý tính điểm riêng có của loại câu hỏi mà nó định nghĩa cùng với các file
user control (ascx) tương ứng.
(Phần này sẽ được trình bày rõ hơn ở chương 7: Module plugin)
4.2.7 UserInterfacePlugins
Là module cung cấp các plugin giao diện cho hệ thống ứng dụng web. Hệ
thống plugin giao diện gồm 2 phần chính: phần plugin các gói hiển thị thông tin trên
trang chủ và phần plugin các gói skin hiển thị bài thi.
(Phần này sẽ được trình bày rõ hơn ở chương 7: Module plugin)
4.2.8 ETSPluginService
Là module cung cấp các dạng câu hỏi cụ thể cho phần ứng dụng windows.
Cũng như phần ứng dụng trên web, các dạng câu hỏi khác nhau đều được đưa vào
hệ thống phần mềm dưới dạng plugin. Một bộ câu hỏi mới khi cài đặt vào ứng dụng
web sẽ gồm file dll chứa định nghĩa interaction của loại câu hỏi đó, file dll chứa các
class, xử lý soạn thảo, xử lý thể hiện, xử lý tính điểm riêng có của loại câu hỏi mà
nó định nghĩa cùng với các file tài nguyên cần thiết.
(Phần này sẽ được trình bày rõ hơn ở chương 7: Module plugin)
63. 51
4.2.9 HelpCenter
Đây là module cung cấp tất cả những gì liên quan đến các tài liệu, văn bản,
bao gồm:
- Hướng dẫn sử dụng cho hệ thống phần mềm trên web và trên windows.
- Các tài liệu tra cứu kiến thức Anh văn, tin học và các môn học phổ thông
khác.
Module này được viết dưới dạng 1 website HTML. Mục tiêu là sử dụng cho cả ứng
dụng web và windows, vừa là một website giúp đỡ đặt trên server, vừa là một cuốn
user manual - hướng dẫn sử dụng.
4.2.9.1 Sơ đồ tổ chức
HelpCenter
Tra cứu kiến thức ELearning
Trang chủ
Hướng dẫn sử dụng chung
Hướng dẫn sử dụng
ETSClient
Hướng dẫn sử dụng
ETSONLINE
Download tài liệu
Liên hệ & tác giả
Hình 4-19 Sơ đồ tổ chức HelpCenter
4.2.9.2 Giao diện
Hình 4-20 HelpCenterMenu
65. 53
4.3 Thiết kế dữ liệu
4.3.1 Lược đồ các bảng dữ liệu
Hình 4-23 Sơ đồ các bảng dữ liệu
4.3.2 Danh sách và chức năng các bảng dữ liệu
Tên bảng Chức năng
IMSQTIAssessment Lưu trữ thông tin về các đề thi.
IMSQTIFolder Lưu trữ thông tin về các thư mục để quản lý.
IMSQTIMember Lưu trữ thông tin các tài khoản sử dụng hệ thống.
IMSQTIQuestion Lưu trữ thông tin về các câu hỏi.
IMSQTISection Lưu trữ thông tin về các section.
Member_AssessmentDone Lưu trữ thông tin kết quả thi của các thí sinh.
66. 54
Member_Configuration Lưu trữ thông tin cấu hình các thành phần giao diện
của các tài khoản.
MemberInRoles Lưu trữ thông tin về quyền của các tài khoản.
News Lưu trữ thông tin về các tin tức của các giáo viên
thông báo cho sinh viên.
Question_Section Ghi nhận section có chứa các câu hỏi nào.
Role Lưu trữ thông tin về các loại quyền trong hệ thống.
Section_Assessment Ghi nhận bài thi có chứa các section nào.
Section_AutoGeneratingInfo Lưu trữ thông tin về loại section tự phát sinh câu hỏi.
Hình 4-24 Danh sách các bảng dữ liệu
67. 55
Chương 5 Module quản lý
5.1 Đặc tả yêu cầu chức năng của module quản lý
Trong hệ thống hỗ trợ thi trắc nghiệm trực tuyến, module quản lý phải đảm
nhiệm các chức năng sau đây:
1. Đăng ký thành viên.
2. Bảo mật thông tin thành viên.
3. Bảo mật hệ thống, thực hiện cơ chế đăng nhập, phân quyền.
4. Quản lý câu hỏi
5. Quản lý đề thi
6. Quản lý các thành viên tham gia hệ thống gồm nhà quản trị, các giáo
viên và các sinh viên.
7. Quản lý ngân hàng đề thi.
8. Quản lý ngân hàng câu hỏi.
9. Phát sinh các báo cáo, thống kê về ngân hàng câu hỏi, đề thi, danh sách
thí sinh.
68. 56
5.2 Mô hình Use-Case
5.2.1 Lược đồ chính của mô hình Use-Case
5.2.1.1 Lược đồ
Student
ConfigUserInterfaceCompon
ent
LoginRegister
CreateFolderDeleteFolder
RestructureFolder
DeleteQuestion
MoveQuestion
ViewQuestionStatistics
ExportToIMSQTI
DeleteSection
ViewSectionStatistics
RestructureSection DeleteAssessment
ViewAssessmentStatistics
ExportToMSWord
CreateMember
ImportStudentList
DeleteMember
MoveMember
ViewMemberStatistics
ViewProfile
Teacher
UpdateDataFromWin
Admin
ChangeRole
Hình 5-1 Mô hình Use-Case module quản lý
69. 57
5.2.1.2 Danh sách các Actor
STT Actor Ý nghĩa
1 Admin Người quản trị hệ thống
2 Teacher Giáo viên
3 Student Sinh viên
Bảng 5-1 Danh sách actor module quản lý
5.2.1.3 Danh sách các Use-Case chính
STT Use-Case Ý nghĩa
1 ChangeRole
Chuyển quyền của 1 tài khoản từ sinh
viên sang giáo viên hoặc ngược lại
2 Login Chức năng đăng nhập vào hệ thống
3 Register
Chức năng đăng ký tài khoản mới để
bắt đầu sử dụng hệ thống
4 CreateFolder Thực hiện tạo mới 1 thư mục con
5 DeleteFolder Xóa 1 thư mục
6 RestructureFolder Cấu trúc lại cây thư mục
7 DeleteQuestion Xóa 1 câu hỏi khỏi cơ sở dữ liệu
8 MoveQuestion
Di chuyển 1 câu hỏi sang 1 thư mục
khác
9 ViewQuestionStatistics Xem thông tin thống kê về 1 câu hỏi
10 ExportToIMSQTI
Export các câu hỏi ra file xml theo
đúng chuẩn IMSQTI
11 DeleteSection Xóa section trong CSDL
12 ViewSectionStatistics Xem thông tin thống kê về 1 section
13 RestructureSection
Thực hiện cấu trúc lại quan hệ giữa
các section
14 DeleteAssessment Xóa bài thi trong CSDL
15 ViewAssessmentStatistics Xem thông tin thống kê về 1 bài thi
70. 58
16 ExportToMSWord Kết xuất bài thi ra file word
17 CreateMember Tạo mới 1 sinh viên
18 ImportStudentList
Import 1 danh sách các sinh viên từ
file excel
19 DeleteMember Xóa 1 tài khoản trong CSDL
20 MoveMember
Di chuyển 1 tài khoản sang 1 thư mục
khác
21 ViewMemberStatistics Xem thông tin thống kê về 1 sinh viên
22 ViewProfile Xem tất cả thông tin về 1 tài khoản
23 UpdateDataFromWin
Thực hiện cập nhật dữ liệu về câu hỏi,
bài thi … từ hệ thống windows lên hệ
thống web
24 ConfigUserInterfaceComponent Cấu hình lại các thành phần giao diện
Bảng 5-2 Danh sách Use-Case module quản lý
5.2.2 Đặc tả một số Use-Case chính
5.2.2.1 Đặc tả Use-Case “CreateFolder”
5.2.2.1.1 Tóm tắt
Use-case này cho phép giáo viên tạo thêm 1 thư mục là con của 1 thư mục
khác trong CSDL.
5.2.2.1.2 Dòng sự kiện
5.2.2.1.2.1 Dòng sự kiện chính
1. Use-case này bắt đầu khi giáo viên chọn vào link “Create child folder”.
2. Hệ thống lưu giữ lại loại thư mục cần tạo (thư mục chứa tài khoản, câu
hỏi hay bài thi) và mã của thư mục cha được chọn.
3. Hệ thống lấy thông tin về thư mục cha thông qua mã.
4. Hệ thống hiển thị màn hình các thông tin đã chọn và cho phép giáo viên
nhập tên thư mục cần tạo.
71. 59
5. Giáo viên nhấn nút “Create” để xác nhận việc tạo thư mục mới.
6. Hệ thống thêm 1 thư mục mới vào cơ sở dữ liệu.
7. Hệ thống load lại trang web để thêm thư mục mới vào cây thư mục.
5.2.2.1.2.2 Các dòng sự kiện khác
Giáo viên chưa nhập tên thư mục cần tạo
Nếu giáo viên chưa nhập tên thư mục cần tạo mà đã nhấn nút xác
nhận việc tạo mới thì hệ thống sẽ có thông báo lỗi.
5.2.2.1.3 Các yêu cầu đặc biệt
Giáo viên phải chọn vào 1 nút trên cây thư mục (tức là chọn thư mục cha) thì
mới có thể nhấn vào link tạo thư mục con.
5.2.2.1.4 Điều kiện tiên quyết
Người dung phải đăng nhập thành công với tài khoản có quyền giáo viên hay
người quản trị.
5.2.2.1.5 Điều kiện kết thúc
Không có.
5.2.2.1.6 Điểm mở rộng
Không có.
5.2.2.2 Đặc tả Use-Case “ChangeRole”
5.2.2.2.1 Tóm tắt
Use-case này cho phép nhà quản trị chuyển quyền 1 tài khoản từ quyền “sinh
viên” thành quyền “giáo viên” và ngược lại.
5.2.2.2.2 Dòng sự kiện
5.2.2.2.2.1 Dòng sự kiện chính