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
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 FRAMEW
150 trang |
Chia sẻ: huong20 | Ngày: 08/01/2022 | Lượt xem: 464 | Lượt tải: 0
Tóm tắt tài liệu Luận văn 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ORK
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
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 hồ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
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
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 tố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
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
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
Phụ lục A - Export database theo đặc tả IMSQTI ..................................133
Phụ lụ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
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
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
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
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
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
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 tồ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
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ẹtDo đĩ, 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.
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ứ k...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
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
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
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
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
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
40
3. Cĩ các chức năng để soạn thảo ra các câu hỏi hồ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 hồn
tồn một cách nhanh chĩng.
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
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ữ:
Nội dung thẻ
Nội dung thẻ
Nội dung thẻ
Nội dung thẻ
Nội dung thẻ
Nội dung thẻ
Nội dung thẻ
Nội dung thẻ
43
Nội dung thẻ
Nội dung thẻ
Nội dung thẻ
Nội dung thẻ
Ví dụ:
Đăng nhập
Tên đăng nhập
Mật khẩu
Tự động đăng nhập
Bạn gặp trục trặc ? Hay là
quên mật khẩu ?
Đăng nhập
Đăng nhập thành
cơng!
Bạn chưa cĩ tài khoản ?
Vui lịng
Đăng ký
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é!
Bạn hãy nhập cả tên
đăng nhập và mật khẩu
Phục hồi mật khẩu
Chúng tơi đã gửi cho bạn
mật khẩu mới!
Gửi mật khẩu
Việc tạo mới mật khẩu bị
lỗi
Đăng ký thành viên mớir
Thơng tin đăng ký
Tên tài khoản
Bạn chưa nhập tên tài
khoản.
Mật mã
Bạn chưa nhập mật
mã.
Nhập lại mật mã
Mật mã khơng giống
nhau.
Địa chỉ email
Thơng tin cá nhân
44
Location
Home Page
Forum Preferences
Múi giờ
Tên tài khoản hoặc địa chỉ
email của bạn đã được đăng ký rồi.
Đăng ký
Email khơng hợp lệ.
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 tồ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 tồn, dùng store
procedure và truyền tham số theo parameter, giúp cho tránh được lỗ hổng Sql
Injection.
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.
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
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ử)
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 hồ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 hồn
tồ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 tồn, dùng store
procedure và truyền tham số theo parameter, giúp cho tránh được lỗ hổng Sql
Injection.
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
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)
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
52
Hình 4-21 Liên hệ tác giả
Hình 4-22 Hướng dẫn sử dụng ETSONLINE
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.
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
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.
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ý
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
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.
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
60
1. Use-case này bắt đầu khi người dùng chọn vào nút xác nhận sự chuyển
quyền.
2. Hệ thống đọc thơng tin của tài khoản muốn thay đổi quyền.
3. Hệ thống ghi nhận lại quyền hiện tại và quyền muốn chuyển thành.
4. Người quản trị nhấn nút xác nhận lại yêu cầu thay đổi.
5. Nếu 2 quyền khác nhau, hệ thống sẽ ghi nhận sự thay đổi quyền của tài
khoản trong CSDL.
6. Nếu quyền mới là “giáo viên”, hệ thống sẽ tạo ra các thư mục quản lý
tương ứng bao gồm thư mục gốc, thư mục ngân hàng câu hỏi, thư mục
ngân hàng đề thi và thư mục quản lý sinh viên.
5.2.2.2.2.2 Các dịng sự kiện khác
Quyền hiện tại và quyền muốn chuyển thành giống nhau
Hệ thống thơng báo cho người dùng là 2 quyền giống nhau và use-
case ngừng.
Nếu quyền muốn chuyển thành là “sinh viên”
Hệ thống thực hiện từ bước 1Ỉ bước 5 giống dịng sự kiện chính.
Bước tiếp theo là hệ thống sẽ xĩa hết các thơng tin quản lý thuộc tài
khoản đĩ, tức là xĩa các câu hỏi, các section, các bài thi và các tài khoản thuộc
quyền quản lý của tài khoản bị thay đổi quyền, đồng thời xĩa các thư mục quản lý
thuộc về tài khoản đang xử lý.
5.2.2.2.3 Các yêu cầu đặc biệt
Khơng cĩ.
5.2.2.2.4 Điều kiện tiên quyết
Người dùng phải đăng nhập thành cơng vào hệ thống với quyền người quản trị.
5.2.2.2.5 Điều kiện kết thúc
Khơng cĩ.
61
5.2.2.2.6 Điểm mở rộng
Khơng cĩ.
5.2.2.3 Đặc tả Use-Case “CreateMember”
5.2.2.3.1 Tĩm tắt
Use-case này cho phép người dùng tạo 1 tài khoản mới thuộc quyền quản lý
của mình.
5.2.2.3.2 Dịng sự kiện
5.2.2.3.2.1 Dịng sự kiện chính
1. Use-case này bắt đầu khi người dùng chọn vào liên kết “Create new
member”.
2. Hệ thống ghi nhận lại thơng tin người dùng này.
3. Hệ thống mở ra trang điền thơng tin tài khoản muốn tạo ra.
4. Người dùng nhấn nút “Create” để xác nhận yêu cầu tạo mới.
5. Hệ thống tạo mới 1 tài khoản trong CSDL, tài khoản này thuộc thư mục
thành viên của người dùng đang đăng nhập vào hệ thống.
5.2.2.3.2.2 Các dịng sự kiện khác
Khơng cĩ.
5.2.2.3.3 Các yêu cầu đặc biệt
Khơng cĩ.
5.2.2.3.4 Điều kiện tiên quyết
Người dùng phải đăng nhập thành cơng vào hệ thống với quyền giáo viên hay
người quản trị.
5.2.2.3.5 Điều kiện kết thúc
Khơng cĩ.
62
5.2.2.3.6 Điểm mở rộng
Khơng cĩ.
5.2.2.4 Đặc tả Use-Case “UpdateDataFromWin”
5.2.2.4.1 Tĩm tắt
Use-case này cho phép giáo viên cập nhật dữ liệu ngân hàng câu hỏi, đề thi
của mình từ CSDL riêng trên windows lên CSDL chung trên web
5.2.2.4.2 Dịng sự kiện
5.2.2.4.2.1 Dịng sự kiện chính
1. Use-case này bắt đầu khi người dùng chọn yêu cầu “Synchronization”.
2. Hệ thống sẽ yêu cầu người dùng nhập địa chỉ máy chủ.
3. Hệ thống sẽ tạo kết nối với cơ sở dữ liệu trên máy chủ được cung cấp.
4. Hệ thống sẽ yêu cầu người dùng nhập tên tài khoản và mật khẩu để
đăng nhập vào hệ thống trên mạng.
5. Người dùng nhấn nút xác nhận đăng nhập.
6. Hệ thống sẽ lấy tất cả dữ liệu của người dùng trên cơ sở dữ liệu trên
windows.
7. Hệ thống kiểm tra dữ liệu của người dùng trên web và thực hiện cập
nhật với dữ liệu mới lấy từ windows.
5.2.2.4.2.2 Các dịng sự kiện khác
Địa chỉ máy chủ khơng chính xác
Hệ thống thơng báo lỗi khơng kết nối được và use-case ngừng.
Tên tài khoản hay mật khẩu dùng để đăng nhập vào hệ thống trên mạng
khơng đúng
Hệ thống thơng báo khơng thể đăng nhập và yêu cầu nhập lại.
5.2.2.4.3 Các yêu cầu đặc biệt
Người dùng phải kết nối internet.
63
5.2.2.4.4 Điều kiện tiên quyết
Người dùng phải đăng nhập thành cơng vào hệ thống với quyền giáo viên.
5.2.2.4.5 Điều kiện kết thúc
Khơng cĩ.
5.2.2.4.6 Điểm mở rộng
Khơng cĩ.
5.2.2.5 Đặc tả Use-Case “ExportToMSWord”
5.2.2.5.1 Tĩm tắt
Use-case này cho phép người dùng export 1 bài thi ra dạng file .doc.
5.2.2.5.2 Dịng sự kiện
5.2.2.5.2.1 Dịng sự kiện chính
1. Use-case này bắt đầu khi người dùng chọn yêu cầu kết xuất đề thi ra
file.
2. Hệ thống hiển thị trang kết xuất đề thi ra file.
3. Hệ thống yêu cầu người dùng lựa chọn các tùy chọn kết xuất.
4. Hệ thống sẽ đọc thơng tin của đề thi được chọn.
5. Hệ thống tạo ra file word mới.
6. Hệ thống kết xuất các thơng tin như tiêu đề bài thi, header, footer ra
file.
7. Hệ thống xây dựng định dạng file word cho phù hợp với các tùy chọn.
8. Hệ thống bắt đầu kết xuất các section, câu hỏi thuộc đề thi đang được
xử lý.
9. Với mỗi câu hỏi, hệ thống sẽ đọc file xml cấu hình câu hỏi và load
đúng lớp xử lý export của câu hỏi đĩ và thực hiện kết xuất câu hỏi đĩ
ra file.
64
10. Hệ thống lưu file lại và ghi nhận đường link đến file đĩ để thơng báo
cho người dùng.
5.2.2.5.2.2 Các dịng sự kiện khác
Khơng cĩ.
5.2.2.5.3 Các yêu cầu đặc biệt
Yêu cầu hệ thống được cài trên máy cĩ sẵn Microsoft word.
5.2.2.5.4 Điều kiện tiên quyết
Người dùng phải đăng nhập thành cơng vào hệ thống với quyền giáo viên.
5.2.2.5.5 Điều kiện kết thúc
Khơng cĩ.
5.2.2.5.6 Điểm mở rộng
Khơng cĩ.
5.3 Các lược đồ tuần tự chính
5.3.1 Lược đồ tuần tự “CreateFolder”:
: Teacher : pManagement : pCreateFolder
: Engine.FolderController
1: // choose "Create child folder"
2: GetFolderById()
3: // show page
4: OnBtnCreate_Click()
5: CreateNewFolder()
6: // refresh in order to update folder tree
65
5.3.2 Lược đồ tuần tự “ChangeRole”:
: Admin : pViewProfile
: Engine.RoleController : Engine.FolderController
1: // choose "ChangeRole"
2: OnBtnChangeRole_Click()
4: // CreateNewFolder()
If new role == "teacher"
3: UpdateRole()
If new role old role
5.3.3 Lược đồ tuần tự “CreateMember”:
: Teacher
: pManagement : pCreateMember
: Engine.MemberController
1: // choose "Create new member"
2: // show page
3: OnBtnCreate_Click()
4: CreateNewMember()
66
5.3.4 Lược đồ tuần tự “UpdateDataFromWin”:
: Teacher
: pManagement : pSynchronization
: SynchronizationCotroller
1: // choose "Synchronization"
2: // show page
3: // input Server address
4: // input Username & Password
6: OnBtnSynchronize_Click()
5: Connect()
7: UpdateDataFromWin()
5.3.5 Lược đồ tuần tự “ExportToMSWord”:
: Teacher
: pManagement : pExport
: Engine.ExportEngine : Engine.AssessmentController : Engine.SectionController : Engine.QuestionController
1: // choose "Export assessment to Word
2: // show page
3: // choose options for exporting
4: OnBtnExport_Click()
5: ExportToMSWord()
6: GetAssessmentById()
8: GetAllSectionsInAssessment()
10: GetAllQuestionsInSection
7: BuildAssessment()
9: BuildSections
11: BuildQuestions
67
5.4 Các màn hình giao diện chính và hướng dẫn sử dụng
5.4.1 Chức năng quản lý câu hỏi
5.4.1.1 Mơ tả chức năng
Với mỗi câu hỏi, chức năng quản lý câu hỏi cho phép người dùng thực hiện
các yêu cầu sau:
- Xem chi tiết, xĩa, di chuyển từng câu hỏi.
- Xem thơng tin thống kê của câu hỏi.
5.4.1.2 Màn hình giao diện trên web
Hình 5-2 Quản lý danh sách câu hỏi trên web
68
Hình 5-3 Xem thơng tin thống kê của câu hỏi
5.4.1.3 Màn hình giao diện trên window
Hình 5-4 Quản lý danh sách câu hỏi trên windows
69
5.4.2 Chức năng quản lý đề thi
5.4.2.1 Mơ tả chức năng
Với mỗi đề thi, chức năng quản lý đề thi cho phép người dùng thực hiện các
yêu cầu sau:
- Xem chi tiết, xĩa từng đề thi.
- Xem thơng tin thống kê của câu hỏi.
- Kết xuất đề thi ra file .doc.
5.4.2.2 Màn hình giao diện trên web
Hình 5-5 Quản lý danh sách bài thi trên web
70
Màn hình kết xuất đề thi ra file Word
Hình 5-6 Kết xuất đề thi ra file Word
Mẫu kết xuất là yêu cầu chọn file template cho thể hiện của đề thi trên giấy.
Các template này được tạo sẵn và chứa trong thư mục WordFile Templates của hệ
thống.
Cách trình bày câu hỏi là tùy chọn sắp xếp các câu hỏi thành 1 cột, 2 cột
Đánh số lại là tùy chọn đánh số câu hỏi lại từ đầu với mỗi section.
Ngắt trang theo section là tùy chọn mỗi section sẽ sang 1 trang mới.
Sau khi hồn tất các lựa chọn, giáo viên nhấn nút “Kết xuất” để yêu cầu hệ
thống thực hiện yêu cầu kết xuất.
71
Hình 5-7 Xem thơng tin thống kê bài thi
5.4.3 Chức năng quản lý thành viên
5.4.3.1 Mơ tả chức năng
Với mỗi thành viên (tài khoản), chức năng quản lý thành viên cho phép người
dùng thực hiện các yêu cầu sau:
- Tạo tài khoản sinh viên mới.
- Nhập danh sách sinh viên từ file excel.
- Sửa, xĩa, di chuyển tài khoản.
- Xem chi tiết thơng tin tài khoản.
- Xem thơng tin thống kê về tài khoản.
72
5.4.3.2 Màn hình giao diện trên web
Hình 5-8 Quản lý danh sách thành viên trên web
Hình 5-9 Xem hồ sơ thành viên
73
Hình 5-10 Import danh sách sinh viên từ file Excel
Giáo viên nhấn nút “Tìm file ” và chỉ đến file excel chứa thơng tin về các sinh viên
muốn import vào hệ thống.
Cĩ 4 cột bắt buộc phải cĩ là Mã sinh viên, Họ sinh viên, Tên sinh viên, Mật khẩu
để đăng nhập vào hệ thống. Mã sinh viên sẽ được dùng làm tên tài khoản dùng để đăng
nhập. Các thơng tin thêm sẽ được liệt kê theo thứ tự cột trong file excel, mỗi thơng tin
cách nhau bởi dấu “;”.
Sau khi hồn tất, giáo viên nhấn nút “Upload” để xác nhận yêu cầu tải file excel
lên web và thực hiện import.
Hình 5-11 Di chuyển thành viên đang được chọn
Giáo viên chọn một nhĩm tài khoản khác rồi nhấn nút “Di chuyển” để xác nhận và yêu
cầu hệ thống cập nhật sự thay đổi.
74
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
75
5.4.3.3 Màn hình giao diện trên windows
Hình ...ủa đề thi.
- Ghi chú cuối đề thi hay cịn gọi là footer là những lời dặn dị dành cho các thí
sinh được ghi ở cuối đề thi.
- Điểm đạt là điểm yêu cầu thí sinh phải đạt đến nếu muốn vượt qua kỳ thi.
- Mẫu thể hiện bài thi là chọn template được tạo sẵn dành cho việc thể hiện bài
thi khi thi.
98
- Kết quả bài thi là tùy chọn cho phép sinh viên được xem kết quả ngay sau
khi thi hoặc là sinh viên phải gọi điện đến tổng đài thơng báo kết quả của hệ
thống để nghe kết quả thi.
- Sau khi hồn tất quá trình soạn thảo, giáo viên nhấn nút “Tạo mới” để thêm
đề thi vào cơ sở dữ liệu.
6.4.5.2 Màn hình giao diện trên windows
Hình 6-14 Soạn thảo đề thi trên windows
99
6.4.6 Chức năng “Biên tập nội dung đề thi”
Biên tập nội dung đề thi chính là cung cấp các thơng tin về các section cho đề
thi. Đề thi cĩ thể cĩ 1 hay nhiều section.
6.4.6.1 Màn hình giao diện trên web
Giáo viên cĩ thể thực hiện thao tác này bằng cách chọn liên kết “Chọn các
section”.
Hình 6-15 Chọn section cho bài thi trên web
Giáo viên chọn từng section cho đề thi của mình. Quy định là
Nếu chọn section cha thì mặc nhiên các section con cũng sẽ được chọn.
Nếu 1 section được chọn, rồi 1 section con của section đĩ bị bỏ chọn
thì section cha cũng sẽ khơng được chọn nữa.
Sau khi hồn tất việc lựa chọn, giáo viên nhấn vào liên kết “Cập nhật danh
sách section” để hệ thống ghi nhận lại.
100
6.4.6.2 Màn hình giao diện trên windows
Hình 6-16 Chọn section cho bài thi trên windows
101
Chương 7 Module plugin
7.1 Mục đích và vị trí của plugin trong hệ thống
Mục đích của việc plugin là giúp tạo ra một hệ thống linh hoạt và cĩ tính tiến hĩa
cao. Nhờ vào sự linh hoạt đĩ mà người sử dụng bao gồm cả giáo viên, sinh viên và
nhà quản trị cĩ khả năng cấu hình hệ thống một cách linh hoạt tùy theo sở thích.
Các câu hỏi, các thành phần giao diện và các template bài thi cĩ thể được đưa vào
và lấy ra hệ thống một cách dễ dàng, việc mở rộng trở nên đơn giản và nhanh chĩng.
Hình 7-1 Minh họa plugin
Trong hệ thống dịch vụ thi cử trực tuyến này, cĩ 3 vị trí cung cấp cơ chế plugin, bao
gồm:
o Plugin câu hỏi: đây là plugin quan trọng nhất, chiếm tỉ lệ lớn trong số
các chức năng và quyết định sự thành bại của hệ thống. Hiện tại, cơ
chế plugin câu hỏi đã hồn thành và hoạt động tốt, thể hiện qua việc
102
một số loại câu hỏi quan trọng nhất của thi trắc nghiệm đã được
plugin vào và hoạt động tốt.
o Plugin các thành phần giao diện: phần plugin này giúp cho việc sử
dụng trang chủ của ứng dụng web trở nên thân thiện và tiện lợi hơn
khi nĩ cho phép người dùng cĩ thể tùy biến vị trí các thành phần giao
diện, thêm hay bớt một số nào đĩ và thơng tin cấu hình này sẽ được
lưu lại trong tài khoản của mỗi thành viên.
o Plugin template bài thi: trong cơ chế hiển thị bài thi, hệ thống
ETSONLINE cĩ khả năng load động các template bài thi trong một
thư mục quy ước và theo sự chỉ định của người giáo viên. Khi tạo đề
thi, người giáo viên cĩ thể chỉ định rằng họ muốn dùng template nào
trong số các template đang cĩ mà hệ thống tự động nhận biết và hiển
thị danh sách. Nếu khơng muốn dùng những template cĩ sẵn, chúng ta
hồn tồn cĩ thể cung cấp thêm các template mới một cách dễ dàng
bằng cách tạo file template tùy ý theo một số quy ước nhỏ và chép
vào một vị trí đã định trên server.
7.2 Tổ chức một bộ plugin câu hỏi
Một bộ plugin câu hỏi sẽ gồm 2 phần chính:
o Phần plugin cho ứng dụng web.
o Phần plugin cho ứng dụng windows.
Tuy mỗi phần lúc phát triển đều cĩ các file resource, file class, và nhiều file khác,
nhưng khi triển khai plugin gắn 1 bộ câu hỏi mới vào hệ thống, thì chỉ cần cung cấp
các file như sau:
- Phần cho web:
o Chép các file ascx vào thư mục cĩ tên quy ước.
o Chép các file dll vào thư mục bin của web application ETSONLINE.
o Chép các file tài nguyên hình ảnh vào thư mục images trong thư mục
root của web application.
103
o Chép file cấu hình Loai_Cau_Hoi.xml.
- Phần cho windows:
o Chép các file dll vào thư mục chứa file thực thi ETS.exe
o Chép các file tài nguyên hình ảnh vào thư mục images trong thư mục
chứa file ETS.exe.
o Chép file cấu hình Loai_Cau_Hoi.xml.
Hình 7-2 Tổ chức 1 bộ câu hỏi
104
7.3 Plugin template đề thi
Các template thể hiện (mẫu thể hiện) bài thi được nhà quản trị plugin vào hệ
thống. Sau đĩ, khi người giáo viên tạo đề thi, người giáo viên cĩ thể chọn cho bài
thi của mình một template nào đĩ. Danh sách template được hệ thống tự động tìm
kiếm và hiển thị lên cho người giáo viên chọn lựa.
Khi hiển thị bài thi, hệ thống sẽ kiểm tra xem bài thi đĩ dùng template bài thi
nào và tự động load template đĩ lên, sử dụng cho bài thi đĩ.
Việc sử dụng template giúp cho các bài thi cĩ thể trình bày theo nhiều phong
cách khác nhau, tùy biến và độc đáo. Hiện tại, hệ thống đang hỗ trợ 3 template:
Default (mặc định), Smoke (sương khĩi) và Wave (sĩng lượn). Tuy nhiên, nhà quản
trị cĩ thể thêm mới một template khác bất cứ lúc nào một cách dễ dàng.
7.3.1 Các bước để tạo một template
o Tạo file HTML template tùy thích.
o Đặt lại tên file là: Testing.aspx.
o Trên đầu file thêm vào dịng chỉ thị:
<%@Page language="c#" Codebehind="Testing.aspx.cs"
AutoEventWireup="false" Inherits="ETSONLINE.Testing" %>
o Trong phần body của file HTML này, chọn một vị trí muốn đặt các câu hỏi
và đặt thuộc tính cho 1 control ở chỗ đĩ là: id="MainPlaceHolder" và
runat="server".
o Lưu template này vào một thư mục với tên thư mục là tên của template.
o Copy thư mục này vào thư mục AssessmentTemplates của ứng dụng
ETSONLINE.
105
7.3.2 Hình ảnh giao diện:
7.3.2.1 Template mặc định:
Hình 7-3 Template mặc định của bài thi
106
7.3.2.2 Template smoke skin:
Hình 7-4 Template smoke skin
107
7.3.2.3 Template wave skin:
Hình 7-5 Template wave skin
108
7.4 Plugin thành phần giao diện
Các thành phần giao diện được gắn vào hệ thống ETSONLINE dưới dạng
plugin. Nhà quản trị khi muốn trên trang web của mình cĩ thêm một thành phần
giao diện nào đĩ, chỉ cần thêm vào hệ thống các plugin về các thành phần giao diện
mình cần. Sau đĩ, các giáo viên và sinh viên khi sử dụng trang web, cĩ thể cấu hình
trang web theo ý mình, cho hiện những gì mình quan tâm và chỉ định vị trí của
chúng mà mình muốn.
Khi hiển thị trang web, ứng dụng sẽ kiểm tra xem người dùng đã đăng nhập
chưa. Nếu chưa đăng nhập thì sẽ load các thành phần giao diện mặc định. Nếu đã
đăng nhập, hệ thống sẽ truy xuất vào cơ sở dữ liệu, lấy về các thơng tin cấu hình
của người dùng và load các control giao diện theo như cấu hình người dùng đĩ đã
chọn trong lần gần đây nhất vào sử dụng trang web.
Hình ảnh các plugin:
Hình 7-6 Chỉnh sửa cấu hình giao diện
109
Hình 7-7 Plugin cột trái
Hình 7-8 Plugin cột phải
110
Hình 7-9 Các plugin hiển thị theo lựa chọn của người dùng
111
Chương 8 Module tổ chức thi cử
8.1 Đặc tả yêu cầu chức năng của module tổ chức thi cử
Trong hệ thống hỗ trợ thi trắc nghiệm trực tuyến, module tổ chức thi phải đảm
nhiệm các chức năng sau đây:
1. Cho phép người dự thi làm một bài thi.
2. Lưu giữ thơng tin kết quả thi.
3. Thơng báo kết quả thi cho sinh viên qua điện thoại, mail hoặc xem trực
tiếp trên web.
4. Tra cứu danh sách thí sinh thi 1 bài thi nào đĩ.
5. Tra cứu kết quả thi của 1 bài thi nào đĩ.
8.2 Mơ hình Use-Case
8.2.1 Lược đồ chính của mơ hình Use-Case
8.2.1.1 Lược đồ
DoTest Student RequestResult
ViewContestants Teacher ViewMemberResults
Hình 8-1 Sơ đồ Use-Case module thi cử
112
8.2.1.2 Danh sách các Actor
STT Actor Ý nghĩa
1 Teacher Giáo viên
2 Student Sinh viên
Bảng 8-1 Danh sách actor module thi cử
8.2.1.3 Danh sách các Use-Case chính
STT Use-Case Ý nghĩa
1 DoTest
Thể hiện bài thi cho sinh viên và chấm
điểm, lưu trữ lại kết quả
2 RequestResult Thơng báo kết quả thi cho sinh viên.
3 ViewContestants
Xem danh sách sinh viên đăng ký thi 1
bài thi
4 ViewMemberResults
Xem kết quả thi của tất cả các sinh
viên đã thi 1 bài thi
Bảng 8-2 Danh sách Use-Case module thi cử
8.2.2 Đặc tả một số Use-Case chính
8.2.2.1 Đặc tả Use-case “DoTest”:
8.2.2.1.1 Tĩm tắt:
Use-case này cho phép sinh viên thực hiện thi 1 bài thi.
8.2.2.1.2 Dịng sự kiện:
8.2.2.1.2.1 Dịng sự kiện chính:
1. Use-case bắt đầu khi sinh viên chọn link “Custom tests”.
2. Hệ thống sẽ tìm tất cả các bài thi thuộc quyền quản lý của giáo viên phụ
trách sinh viên đang đăng nhập vào hệ thống.
3. Hệ thống hiển thị danh sách các bài thi tìm được và đang ở trong trạng
thái được phép thi.
113
4. Sinh viên chọn vào 1 link liên kết đến bài thi phải thi.
5. Hệ thống đọc tất cả các thơng tin lien quan đến bài thi được chọn.
6. Hệ thống thực hiện việc hiển thị nội dung bài thi.
7. Với mỗi câu hỏi trong bài thi, hệ thống phải tìm xem câu hỏi đĩ thuộc
loại nào, sau đĩ đọc file xml cấu hình loại câu hỏi đĩ để tìm đúng
control xử lý thể hiện để hiển thị cho đúng câu hỏi.
8. Sinh viên bắt đầu thi, hệ thống bắt đầu tính giờ thi.
9. Sau khi làm xong, sinh viên nhấn nút “Finish” hoặc đã hết giờ làm bài,
hệ thống thực hiện cơng việc chấm điểm.
10. Với mỗi câu hỏi trong bài thi, hệ thống phải tìm xem câu hỏi đĩ thuộc
loại câu hỏi nào, sau đĩ đọc file xml cấu hình loại câu hỏi đĩ để tìm
đúng lớp xử lý chấm điểm và bắt đầu ghi nhận kết quả của câu hỏi đang
chấm.
11. Hệ thống lưu trữ kết quả của tất cả câu hỏi trong bài thi trong một chuỗi
xml và lưu vào CSDL.
12. Hệ thống sẽ dựa vào yêu cầu của giáo viên đối với bài thi mà cho phép
sinh viên xem kết quả ngay hay phải gọi điện thoại đến số điện thoại
thơng báo kết quả thi của hệ thống.
13. Nếu giáo viên đồng ý cho xem kết quả ngay lập tức, hệ thống sẽ hiển
thị 1 liên kết đến trang kết quả thi của sinh viên vừa thi.
14. Sinh viên chọn vào đường link để xem kết quả.
15. Hệ thống đọc trong CSDL chuỗi xml lưu kết quả vừa thi.
16. Hệ thống đọc chuỗi xml và hiển thị kết quả cho sinh viên.
8.2.2.1.2.2 Các dịng sự kiện khác:
Sinh viên khơng được xem kết quả sau khi thi
Use-case ngừng.
8.2.2.1.3 Các yêu cầu đặc biệt:
Khơng cĩ.
114
8.2.2.1.4 Điều kiện tiên quyết:
Người dùng phải đăng nhập thành cơng vào hệ thống với quyền sinh viên.
8.2.2.1.5 Điều kiện kết thúc:
Khơng cĩ.
8.2.2.1.6 Điểm mở rộng:
Khơng cĩ.
8.2.2.2 Đặc tả Use-case “RequestResult”:
8.2.2.2.1 Tĩm tắt:
Use-case này cho phép sinh viên yêu cầu được biết kết quả của 1 bài thi mà
sinh viên này đã làm.
8.2.2.2.2 Dịng sự kiện:
8.2.2.2.2.1 Dịng sự kiện chính:
1. Use-case bắt đầu khi sinh viên gọi đến số điện thoại thơng báo kết quả
của hệ thống.
2. Hệ thống sẽ yêu cầu sinh viên nhập vào tên tài khoản và ngày thi.
3. Hệ thống sẽ tìm tất cả các bài thi mà sinh viên đĩ đã thi trong ngày yêu
cầu.
4. Hệ thống sẽ thơng báo cho sinh viên tên tất cả các bài thi tìm được theo
thứ tự thời gian.
5. Sinh viên nhập vào số thứ tự của bài thi muốn biết kết quả.
6. Hệ thống thơng báo kết quả của bài thi cho sinh viên.
8.2.2.2.2.2 Các dịng sự kiện khác:
Sinh viên nhập tên tài khoản khơng đúng
Hệ thống thơng báo là tên tài khoản khơng hợp lệ.
Sinh viên nhập ngày thi khơng đúng
115
Hệ thống sẽ thơng báo là trong ngày đĩ sinh viên khơng thực hiện bài
thi nào cả.
Sinh viên chọn số thứ tự bài thi vượt ra khỏi khoảng cho phép
Hệ thống sẽ yêu cầu sinh viên chọn lại, cho đến khi sinh viên chọn
đúng hoặc nhập ký hiệu kết thúc.
8.2.2.2.3 Các yêu cầu đặc biệt:
Khơng cĩ.
8.2.2.2.4 Điều kiện tiên quyết:
Khơng cĩ.
8.2.2.2.5 Điều kiện kết thúc:
Khơng cĩ.
8.2.2.2.6 Điểm mở rộng:
Khơng cĩ.
8.2.2.3 Đặc tả Use-Case “ViewMemberResults”
8.2.2.3.1 Tĩm tắt
Use-case này cho phép người dùng xem kết quả thi của các sinh viên đã thi 1
bài thi nào đĩ.
8.2.2.3.2 Dịng sự kiện
8.2.2.3.2.1 Dịng sự kiện chính
1. Use-case này bắt đầu khi người dùng chọn yêu cầu “View all member
‘s results”.
2. Hệ thống ghi nhận lại đề thi nào được yêu cầu xem kết quả thi.
3. Hệ thống đọc trong cơ sở dữ liệu các sinh viên nào đã thi bài thi đĩ.
4. Hệ thống lấy kết quả thi bài thi đĩ của từng sinh viên trong danh sách
đọc được.
116
5. Hệ thống phân tích chuỗi kết quả của các thí sinh (chuỗi kết quả được
lưu dưới dạng xml).
6. Hệ thống mở ra trang mới hiển thị danh sách thí sinh cùng kết quả chi
tiết bài thi.
8.2.2.3.2.2 Các dịng sự kiện khác
Khơng cĩ.
8.2.2.3.3 Các yêu cầu đặc biệt
Khơng cĩ.
8.2.2.3.4 Điều kiện tiên quyết
Người dùng phải đăng nhập thành cơng vào hệ thống với quyền giáo viên hoặc
người quản trị.
8.2.2.3.5 Điều kiện kết thúc
Khơng cĩ.
8.2.2.3.6 Điểm mở rộng
Khơng cĩ.
117
8.3 Các lược đồ tuần tự chính
8.3.1 Lược đồ tuần tự “DoTest”
: Student : pManagement : pTesting
: Engine.AssessmentController : Engine.SectionController : Engine.QuestionController
1: // choose "Custom Tests"
2: // show list assessments
3: // choose assessment
4: // show page
5: GetAssessmentById()
6: GetAllSectionsInAssessment()
7: GetAllQuestionsInSection()
8: // read question type information from file xml in order to load right view control to show question
9: // do test
10: // finish
11: OnBtnFinish_Click()
118
8.3.2 Lược đồ tuần tự “RequestResult”
8.3.3 Lược đồ tuần tự “ViewMemberResults”
8.4 Giao diện và hướng dẫn sử dụng
8.4.1 Sơ đồ màn hình giao diện
Hình 8-2 Sơ đồ các màn hình giao diện module thi cử
8.4.2 Chức năng thi
Thí sinh sau khi chọn chức năng “Thi” thì màn hình sẽ hiển thị danh sách các
bài thi thuộc quyền quản lý của giáo viên phụ trách thí sinh đĩ.
Thí sinh chọn 1 bài thi muốn thi. Màn hình sẽ hiển thị nội dung đầy đủ của bài
thi được chọn. Thí sinh thao tác trả lời trực tiếp trên trang màn hình này. Sau khi
hồn tất bài thi, thí sinh sẽ nhấn vào nút “Hồn thành” để thơng báo cho hệ thống
biết. Nếu thí sinh chưa hồn thành bài thi nhưng đã hết giờ thi thì hệ thống cũng sẽ
tự động xử lý tương tự như khi thí sinh nhấn vào nút “Hồn thành”.
119
Sau khi thi xong, tùy theo yêu cầu của giáo viên mà thí sinh sẽ được phép xem
kết quả thi ngay hay phải gọi điện thoại đến hộp thư thoại thơng báo kết quả thi của
hệ thống.
Hình 8-3 Hình ảnh một bài thi
8.4.3 Chức năng tra cứu danh sách thí sinh và kết quả bài thi
Chức năng này được hỗ trợ thêm cho giáo viên trong trang quản lý chung của
các bài thi. Mỗi bài thi đều cĩ 1 liên kết để tra cứu danh sách thí sinh đã đăng ký thi
và 1 liên kết để xem kết quả của tất cả các thí sinh đã thi bài thi được chọn.
120
Hình 8-4 Danh sách thí sinh đã thi
Hình 8-5 Kết quả thi một bài thi nào đĩ của các thí sinh
121
Hình 8-6 Thơng tin thống kê tình hình điểm số của một bài thi
122
Chương 9 Các kỹ thuật bổ sung
9.1 Kỹ thuật thiết kế web application linh động và load động user
control
Bình thường, khi thiết kế web, đa phần trong chúng ta đều thiết kế theo kiểu:
mỗi khi cần một trang web, chúng ta tạo ra một file aspx. Đĩ thật sự là một trang
web. Tuy nhiên, giả sử khi chúng ta cần thay đổi style của cả website thì sao!. Lúc
ấy, chúng ta phải đi đến từng trang aspx, sửa những vị trí màu sắc, font chữ trực
tiếp hoặc trong các style được định nghĩa, hoặc ít nhất thì cũng phải là sửa đường
dẫn đến file định kiểu css.
Như vậy, cách thiết kế như vậy tỏ ra cĩ nhiều bất tiện và tiêu tốn rất nhiều thời gian.
Thay vào đĩ, chúng ta nên thiết kế theo hướng sau:
o Cả website sẽ chỉ cĩ một vài trang web thật sự, tức là chỉ cĩ 3 hay 4 trang
aspx thật sự mà thơi. Các trang web này sẽ đĩng vai trị là các cổng vào
trung tâm cho trang web.
o Mỗi khi thêm một chức năng gì cĩ cần đến việc thêm một trang web, thay vì
thêm vào một trang web thật sự, chúng ta thêm vào một user control.
o Trên trang web thật, trong liên kết đến chức năng này, chúng ta để nĩ liên
kết đến chính nĩ với tham số module là chỉ đến user control chúng ta cần.
o Sau đĩ, chúng ta sẽ thực hiện việc load động các user control này. Nếu user
control này là một phần của project đang thực hiện, chúng ta chỉ việc dùng
lệnh LoadControl và truyền vào đường dẫn đến file ascx (file user control)
mà ta cần. Nếu user control này được phát triển trong một project khác,
ngồi việc trên, chúng ta cịn cần chép file dll xử lý (nếu cĩ) của user control
vào thư mục bin của ứng dụng web.
o Sau khi gọi hàm LoadControl, chúng ta được trả về một đối tượng Control.
o Trong trang web aspx, ta cĩ thể dùng một đối tượng nào đĩ làm place holder,
thơng thường là một cell của một table. Cell này được đặt thuộc tính là
runat=server và id=”tên place holder”, giả sử được đặt là placeHolder.
123
o Khi lấy được đối tượng Control rồi, ta gọi tiếp lệnh:
placeHolder.Controls.Add (myControl);
o Như vậy, ta đã hồn thành việc load động các control vào website của chúng
ta thơng qua trang web với vai trị là cổng thơng tin.
Code minh họa:
string module = Request.QueryString["module"];
string filename = "UserControls/";
switch(module)
{
case "news":
filename += "NewsListContainer.ascx";
break;
case "createnews":
filename += "CreateNews.ascx";
break;
case "viewnewsdetail":
filename += "NewsDetail.ascx";
break;
case "sampletest":
filename += "ViewSampleQuestion.ascx";
break;
case "testlist":
filename += "CustomTestList.ascx";
break;
case "configui":
filename += "ConfigUI.ascx";
break;
default:
filename += "DefaultControlPage.ascx";
break;
}
UserControl ctrl = (UserControl)LoadControl(filename);
MainPlaceHolder.Controls.Clear();
MainPlaceHolder.Controls.Add(ctrl);
124
9.2 Kỹ thuật automation Microsoft Word
9.2.1 Giới thiệu
Automation là kỹ thuật cho phép tận dụng các tính năng của 1 ứng dụng cĩ sẵn và
tích hợp vào trong chương trình của mình.
Hệ thống của chúng em địi hỏi phải kết xuất các đề thi ra file để phục vụ cho yêu
cầu thi trên giấy, cũng như phải nhập được dữ liệu câu hỏi từ các định dạng file để
tận dụng ngân hàng đề thi đã cĩ từ trước đến nay.
Theo nhận xét thì định dạng file .doc và file .pdf là phổ biến nhất hiện nay cho việc
lưu trữ ngân hàng đề thi, tuy nhiên đã cĩ nhiều chương trình hỗ trợ cho việc chuyển
qua lại giữa 2 định dạng file này. Thêm nữa, file .doc cĩ thể dễ dàng được tạo ra vì
MS Word là trình soạn thảo văn bản rất thân thiện, phổ biến. Vì vậy, chúng em
quyết định sử dụng kỹ thuật automation để automate MS Word nhằm sử dụng trực
tiếp các tính năng cĩ sẵn của Word phục vụ cho yêu cầu nhập xuất/kết xuất ngân
hàng đề thi, câu hỏi của hệ thống.
9.2.2 Các đối tượng trong MS Word
Hình 9-1 Sơ đồ quan hệ của các đối tượng của MS Word
125
- Application chính là ứng dụng MS Word đang được gọi thực thi.
- Document là đại diện cho các văn bản Word đang quản lý. Khi mở hay tạo 1
văn bản mới chính là tạo nên 1 đối tượng document và thêm đối tượng này
vào tập hợp các document của application hiện hành. Văn bản đang được
trực tiếp xử lý là active document.
- Selection đại diện cho vùng văn bản đang được chọn. Khi khơng cĩ gì được
chọn thì selection chính là vị trí con trỏ. Selection cĩ thể bao gồm nhiều
vùng văn bản khơng liên tiếp nhau.
- Range đại diện cho 1 vùng văn bản liên tục được xác định bởi ký tự bắt đầu
và ký tự kết thúc vùng văn bản. 1 document cĩ thể được chứa nhiều range.
Range cĩ thể:
Chỉ chứa duy nhất vị trí con trỏ (điểm chèn) hay 1 đoạn văn bản hay tồn
bộ document.
Gồm cả các ký tự khơng in được như là khoảng trắng, khoảng tab, dấu
phân cách đoạn văn bản
Chỉ tồn tại khi đoạn code tạo ra nĩ đang được thực thi.
- Bookmark cũng đại diện cho 1 vùng văn bản liên tục, được sử dụng để đánh
dấu vị trí. Bookmark cĩ thể chỉ là 1 điểm chèn, mà cũng cĩ thể là tồn bộ
văn bản. Bookmark cĩ các đặc điểm sau:
Cĩ thể cĩ tên.
Được lưu cùng với document.
Mặc định là được ẩn đi.
9.2.3 Ngơn ngữ VBA (Microsoft Visual Basic for Applications)
Tất cả các ứng dụng của Microsoft Office đều cĩ ngơn ngữ script của nĩ, đĩ
chính là VBA. Ngơn ngữ này cĩ thể được sử dụng để thực hiện các nhiệm vụ trong
ứng dụng. Nĩi 1 cách dễ hiểu thì tất cả các thao tác trên ứng dụng thơng qua thanh
menu và bàn phím đều cĩ thể được diễn tả lại bằng ngơn ngữ này. Vì vậy, cĩ 1 cách
giúp cho người chưa quen với đối tượng của MS Word xác định được các cơng việc
126
phải làm khi thực hiện automation là sử dụng các macro của chính MS Word ghi lại
các thao tác muốn automate.
Ví dụ bạn muốn automate MS Word để tạo 1 file mới, gõ vào 1 đoạn text rồi
lưu lại nhưng bạn khơng biết phải sử dụng các hàm nào. Bạn cĩ thể thơng qua các
macro để biết được điều đĩ.
Trước tiên, bạn phải ghi lại 1 macro mới.
Hình 9-2 Record macro trong MS Word
Sau đĩ, bạn thực hiện các thao tác muốn automate rồi dừng việc ghi macro lại.
Và cuối cùng, bạn chỉ việc xem MS Word đã thao tác như thế nào thơng qua macro
vừa ghi được.
127
Hình 9-3 Edit macro trong MS Word
Hình 9-4 Kết quả edit macro trong MS Word
128
9.2.4 Ứng dụng trong hệ thống
Để cĩ thể thực hiện automation, trước tiên phải cho phép chương trình tham
chiếu đến thư viện xử lý của Word.
Hình 9-5 Add reference đến Word Object Library trong .NET
9.2.4.1 Import
Thao tác import trong hệ thống cần phải xử lý cả việc import hình ảnh. Mà
như đã biết, các hình ảnh được chèn vào trong file .doc thì sẽ được lưu cùng với
file .doc đĩ. Do vậy, để lấy được hình cụ thể, chúng em phải tiến hành lưu tạm
file .doc dưới dạng trang web, rồi tìm trong source của trang web liên kết đến hình
ảnh cụ thể để copy lưu vào trong cơ sở dữ liệu.
Object missing = System.Reflection.Missing.Value;
object saveFileName = uniqueFileName;
object fileFormat = Word.WdSaveFormat.wdFormatHTML;
// Luu vao file tam duoi dang html
wordApp.ActiveDocument.SaveAs(
ref saveFileName, ref fileFormat, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing);
129
wordApp.ActiveDocument.Close(ref missing, ref missing, ref missing);
StreamReader r = new StreamReader(uniqueFileName);
string str = r.ReadToEnd();
r.Close();
int n1 = str.IndexOf("<body");
char tempChar = '<';
while(tempChar != '>')
{
tempChar = str[n1];
n1++;
}
int n2 = str.IndexOf("");
string strFinal = str.Substring(n1, n2 - n1);
Dựa vào các dấu phân cách quy định sẵn, chúng em sẽ tách được nội dung các
câu hỏi, và trong mỗi câu hỏi sẽ lọc ra được đâu là nội dung hỏi và đâu ra nội dung
các lựa chọn (đơn thuần chỉ là thao tác xử lý chuỗi). Cụ thể, một câu hỏi trong file
muốn import phải cĩ định dạng như sau:
[!!!] Nội dung hỏi
Nội dung lựa chọn thứ 1 *
Nội dung lựa chọn thứ 2
Nội dung lựa chọn thứ 3
Nội dung lựa chọn thứ 4 *
Nội dung lựa chọn thứ 5
Trong đĩ:
- [!!!] là dấu quy định phân cách các câu hỏi.
- là dấu quy định phân cách các lựa chọn.
- * là dấu quy định lựa chọn đúng.
- Số lựa chọn và số lựa chọn đúng là khơng cĩ giới hạn.
Thơng tin nội dung câu hỏi lấy được sẽ được sử dụng để xây dựng thành chuỗi
xml và lưu vào CSDL.
130
9.2.4.2 Export
Hệ thống hỗ trợ việc export 1 đề thi ra file .doc theo 1 template đề thi cĩ sẵn.
Template đề thi được tạo ra theo ý thích của các giáo viên và được copy vào trong
thư mục WordFile Temlates của hệ thống. 1 template đề thi phải đáp ứng các yêu
cầu sau:
- Cĩ 1 bookmark cĩ tên là assName đặt tại vị trí giáo viên muốn hiển thị tên
bài thi.
- Cĩ 1 bookmark cĩ tên là assHeader đặt tại vị trí giáo viên muốn hiển thị các
ghi chú đầu bài thi (header)
- Cĩ 1 bookmark cĩ tên là assFooter đặt tại vị trí giáo viên muốn hiển thị các
ghi chú cuối bài thi (footer)
- Cĩ 1 bookmark cĩ tên là assSections đặt tại vị trí giáo viên muốn bắt đầu
hiển thị các section, các câu hỏi của bài thi.
- Phần nào giáo viên khơng muốn hiển thị thì bookmark đánh dấu phần đĩ
khơng cần phải được tạo ra.
Khi cĩ yêu cầu export 1 đề thi ra file, chương trình sẽ tìm vị trí các bookmark,
nếu bookmark tồn tại trong file template được chọn thì chương trình sẽ ghi đoạn
văn bản phù hợp vào vị trí bookmark đĩ.
foreach (Word.Bookmark brm in privateWordApp.ActiveDocument.Bookmarks)
if (brm.Name == "assHeader")
ReplaceBookmarkText("assHeader", privateAssessment.HeaderNote);
Trường hợp đoạn văn bản cần ghi cĩ chứa tag image (tức là phải chèn 1 hình
vào file) thì chương trình sẽ thực hiện thêm 1 đối tượng Word.Shape vào tập hợp
hình ảnh mà văn bản đang được xử lý quản lý. Khi lưu văn bản, các hình ảnh cũng
sẽ được lưu trữ theo.
private void TypeString(Word.ApplicationClass privateWordApp, string
strText)
{
int pos = strText.IndexOf("<img");
while (pos >= 0)
{
privateWordApp.Selection.TypeText(strText.Substring(0, pos));
strText = strText.Remove(0, pos);
131
pos = strText.IndexOf("src=");
strText.Remove(0, pos+1);
pos = strText.IndexOf("\"");
string image = strText.Substring(0, pos);
Object oFalse = false;
Object oTrue = true;
Object oMissing = Type.Missing;
// them 1 hinh anh vao tap hop InlineShapes
privateWordApp.Selection.InlineShapes.AddPicture(image, ref
oFalse, ref oTrue, ref oMissing);
pos = strText.IndexOf("/img>");
strText.Remove(0, pos);
pos = strText.IndexOf("<img");
}
privateWordApp.Selection.TypeText(strText);
}
132
Chương 10 Tổng kết
10.1 Kết luận
Sau thời gian nghiên cứu, tìm hiểu các hình thức trắc nghiệm và phát triển ứng
dụng, đề tài đã đạt được các mục tiêu sau:
o Xây dựng được một cổng dịch vụ thi cử là một hệ thống liên hồn phối
hợp nhuần nhuyễn giữa mơi trường web và windows trong việc quản lý
ngân hàng câu hỏi, đề thi và tổ chức thi trắc nghiệm.
o Cĩ một khung ứng dụng (framework) hết sức linh động, cĩ tính tiến hĩa
cao giúp cho việc mở rộng và nâng cấp hệ thống thật sự dễ dàng và hiệu
quả.
o Xây dựng được các ứng dụng trên web và trên windows tiện dụng, ổn
định và nhiều tính năng hữu ích, cĩ thể ứng dụng được ngay trong thực tế
trong việc soạn câu hỏi, đề thi trắc nghiệm và thực hiện việc đánh giá,
kiểm tra nhanh chĩng.
o Cấu trúc câu hỏi trắc nghiệm tuân theo đặc tả IMSQTI – một đặc tả XML,
là đặc tả quốc tế được sử dụng rộng rãi nhất trên thế giới. Nhờ đĩ, cơ sở
dữ liệu ngân hàng câu hỏi của hệ thống cĩ khả năng trao đổi, cĩ thể phân
phối hay sử dụng lại ở bất cứ hệ thống nào khác trên thế giới cĩ sử dụng
đặc tả này.
10.2 Hướng phát triển
Thêm nhiều loại câu hỏi thêm nữa
Hỗ trợ thêm nhiều phiên bản khác nhau cho từng loại câu hỏi
Hồn thiện thêm các chức năng giúp thuận tiện hơn cho người sử dụng
133
Phụ lục A - Export database theo đặc tả IMSQTI
Nội dung file XSLT làm nhiệm vụ export:
<xsl:stylesheet version="1.0"
xmlns:xsl="" >
<xsl:template match="responseDeclaration/node()
| responseDeclaration/text()
| responseDeclaration/node()/node()
| responseDeclaration/text()/node()">
<xsl:template match="itemBody/node() | itemBody/text()
| itemBody/node()/node() | itemBody/node()/text()">
134
135
Phụ lục B - Phần lưu trữ XML của một số dạng câu hỏi trong
đặc tả IMSQTI
o Câu hỏi inlineChoiceInteraction:
<assessmentItem identifier="choiceMultiple"
title="Composition of Water"
adaptive="false" timeDependent="false">
<responseDeclaration identifier="RESPONSE"
cardinality="multiple" baseType="identifier">
H
O
<outcomeDeclaration identifier="SCORE" cardinality="single"
baseType="integer"/>
<choiceInteraction responseIdentifier="MR01" shuffle="true"
maxChoices="4">
Which of the following elements are used to form
water?
<simpleChoice identifier="H"
fixed="false">Hydrogen
<simpleChoice identifier="He"
fixed="false">Helium
<simpleChoice identifier="C"
fixed="false">Carbon
<simpleChoice identifier="O"
fixed="false">Oxygen
<simpleChoice identifier="N"
fixed="false">Nitrogen
<simpleChoice identifier="Cl"
fixed="false">Chlorine
<responseProcessing
template="
nse"
templateLocation="../RPTemplates/rpMapResponse.xml"/>
136
o Câu hỏi textEntryInteraction:
<assessmentItem identifier="textEntry" title="Richard III (Take
3)"
adaptive="false" timeDependent="false">
<responseDeclaration identifier="RESPONSE" cardinality="single"
baseType="string">
York
<outcomeDeclaration identifier="SCORE" cardinality="single"
baseType="float"/>
Identify the missing word in this famous quote from
Shakespeare's Richard III.
Now is the winter of our discontent Made glorious
summer by this sun of
<textEntryInteraction responseIdentifier="RESPONSE"
expectedLength="15"/>;
And all the clouds that lour'd upon our house In
the deep bosom of the ocean buried.
<responseProcessing
template="
nse"
templateLocation="../RPTemplates/rpMapResponse.xml"/>
137
o Câu hỏi orderInteraction:
<assessmentItem identifier="order" title="Grand Prix of Bahrain"
adaptive="false" timeDependent="false">
<responseDeclaration identifier="RESPONSE"
cardinality="ordered" baseType="identifier">
DriverC
DriverA
DriverB
<outcomeDeclaration identifier="SCORE" cardinality="single"
baseType="integer"/>
<orderInteraction responseIdentifier="RESPONSE"
shuffle="true">
The following F1 drivers finished on the podium in
the first ever Grand Prix of
Bahrain. Can you rearrange them into the correct
finishing order?
Rubens
Barrichello
Jenson
Button
Michael
Schumacher
<responseProcessing
template="
Correct" templateLocation="../RPTemplates/rpMatchCorrect.xml"/>
138
TÀI LIỆU THAM KHẢO
[1] www.msdn.microsoft.com
[2] www.imsglobal.org
[3] www.el.edu.net.vn
[4] www.codeproject.com
[5] www.dnzone.com
[6] www.asp.net
[7] www.w3.org
Các file đính kèm theo tài liệu này:
- luan_van_tim_hieu_va_xay_dung_he_thong_framework_ho_tro_cac.pdf