150
1 TRƯỜNG ĐẠI HC KHOA HC TNHIÊN KHOA CÔNG NGHTHÔNG TIN BMÔN CÔNG NGHPHN MM SINH VIÊN THC HIN MAI HI THANH 0112113 ĐÀO PHƯƠNG THÚY 0112448 TÌM HIU VÀ XÂY DNG HTHNG FRAMEWORK HTRCÁC HÌNH THC TRC NGHIM LUN VĂN CNHÂN TIN HC Tp.HCM, 2005

Frame work ho tro cac hinh thuc trac nghiem

Embed Size (px)

Citation preview

Page 1: Frame work ho tro cac hinh thuc trac nghiem

1

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM

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

Page 2: Frame work ho tro cac hinh thuc trac nghiem

1

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM

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

Page 3: Frame work ho tro cac hinh thuc trac nghiem

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

Page 4: Frame work ho tro cac hinh thuc trac nghiem

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

Page 5: Frame work ho tro cac hinh thuc trac nghiem

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

Page 6: Frame work ho tro cac hinh thuc trac nghiem

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

Page 7: Frame work ho tro cac hinh thuc trac nghiem

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

Page 8: Frame work ho tro cac hinh thuc trac nghiem

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

Page 9: Frame work ho tro cac hinh thuc trac nghiem

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

Page 10: Frame work ho tro cac hinh thuc trac nghiem

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

Page 11: Frame work ho tro cac hinh thuc trac nghiem

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

Page 12: Frame work ho tro cac hinh thuc trac nghiem

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

Page 13: Frame work ho tro cac hinh thuc trac nghiem

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

Page 14: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 15: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 16: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 17: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 18: Frame work ho tro cac hinh thuc trac nghiem

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

Page 19: Frame work ho tro cac hinh thuc trac nghiem

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

Page 20: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 21: Frame work ho tro cac hinh thuc trac nghiem

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

Page 22: Frame work ho tro cac hinh thuc trac nghiem

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

Page 23: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 24: Frame work ho tro cac hinh thuc trac nghiem

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

Page 25: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 26: Frame work ho tro cac hinh thuc trac nghiem

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_response"/> </assessmentItem>

Page 27: Frame work ho tro cac hinh thuc trac nghiem

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

Page 28: Frame work ho tro cac hinh thuc trac nghiem

16

3.1.3 blockInteraction

Hình 3-3 Sơ đồ lớp blockInteraction

3.2 Sơ đồ lớp choice

Hình 3-4 Sơ đồ lớp choice

Page 29: Frame work ho tro cac hinh thuc trac nghiem

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

Page 30: Frame work ho tro cac hinh thuc trac nghiem

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

Page 31: Frame work ho tro cac hinh thuc trac nghiem

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

Page 32: Frame work ho tro cac hinh thuc trac nghiem

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

Page 33: Frame work ho tro cac hinh thuc trac nghiem

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

Page 34: Frame work ho tro cac hinh thuc trac nghiem

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

Page 35: Frame work ho tro cac hinh thuc trac nghiem

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

Page 36: Frame work ho tro cac hinh thuc trac nghiem

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

Page 37: Frame work ho tro cac hinh thuc trac nghiem

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

Page 38: Frame work ho tro cac hinh thuc trac nghiem

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

Page 39: Frame work ho tro cac hinh thuc trac nghiem

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

Page 40: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 41: Frame work ho tro cac hinh thuc trac nghiem

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 …

Page 42: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 43: Frame work ho tro cac hinh thuc trac nghiem

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

Page 44: Frame work ho tro cac hinh thuc trac nghiem

32

4.2.1.1 Sơ đồ tổ chức của Engine

Hình 4-3 Sơ đồ tổ chức của Engine

Page 45: Frame work ho tro cac hinh thuc trac nghiem

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

Page 46: Frame work ho tro cac hinh thuc trac nghiem

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

Page 47: Frame work ho tro cac hinh thuc trac nghiem

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

Page 48: Frame work ho tro cac hinh thuc trac nghiem

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 đề thiCá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

Page 49: Frame work ho tro cac hinh thuc trac nghiem

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

ChooseQuestionForSection

ChooseSectionForAssessment

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

Page 50: Frame work ho tro cac hinh thuc trac nghiem

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

Page 51: Frame work ho tro cac hinh thuc trac nghiem

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

Page 52: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 53: Frame work ho tro cac hinh thuc trac nghiem

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

Page 54: Frame work ho tro cac hinh thuc trac nghiem

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>

Page 55: Frame work ho tro cac hinh thuc trac nghiem

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>

Page 56: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 57: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 58: Frame work ho tro cac hinh thuc trac nghiem

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

Page 59: Frame work ho tro cac hinh thuc trac nghiem

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

Page 60: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 61: Frame work ho tro cac hinh thuc trac nghiem

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

Page 62: Frame work ho tro cac hinh thuc trac nghiem

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)

Page 63: Frame work ho tro cac hinh thuc trac nghiem

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

Page 64: Frame work ho tro cac hinh thuc trac nghiem

52

Hình 4-21 Liên hệ tác giả

Hình 4-22 Hướng dẫn sử dụng ETSONLINE

Page 65: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 66: Frame work ho tro cac hinh thuc trac nghiem

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

Page 67: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 68: Frame work ho tro cac hinh thuc trac nghiem

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

ConfigUserInterfaceComponent

LoginRegister

CreateFolderDeleteFolderRestructureFolder

DeleteQuestion

MoveQuestion

ViewQuestionStatistics

ExportToIMSQTI

DeleteSectionViewSectionStatistics

RestructureSection DeleteAssessmentViewAssessmentStatistics

ExportToMSWord

CreateMember

ImportStudentList

DeleteMember

MoveMember

ViewMemberStatisticsViewProfile

Teacher

UpdateDataFromWin

Admin ChangeRole

Hình 5-1 Mô hình Use-Case module quản lý

Page 69: Frame work ho tro cac hinh thuc trac nghiem

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

Page 70: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 71: Frame work ho tro cac hinh thuc trac nghiem

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

Page 72: Frame work ho tro cac hinh thuc trac nghiem

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

Page 73: Frame work ho tro cac hinh thuc trac nghiem

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

Page 74: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 75: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 76: Frame work ho tro cac hinh thuc trac nghiem

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

Page 77: Frame work ho tro cac hinh thuc trac nghiem

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

Page 78: Frame work ho tro cac hinh thuc trac nghiem

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

Page 79: Frame work ho tro cac hinh thuc trac nghiem

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

Page 80: Frame work ho tro cac hinh thuc trac nghiem

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

Page 81: Frame work ho tro cac hinh thuc trac nghiem

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

Page 82: Frame work ho tro cac hinh thuc trac nghiem

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 hoà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.

Page 83: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 84: Frame work ho tro cac hinh thuc trac nghiem

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

Page 85: Frame work ho tro cac hinh thuc trac nghiem

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 hoà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.

Page 86: Frame work ho tro cac hinh thuc trac nghiem

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

Page 87: Frame work ho tro cac hinh thuc trac nghiem

75

5.4.3.3 Màn hình giao diện trên windows

Hình 5-13 Quản lý danh sách thành viên trên windows

5.4.4 Chức năng quản lý ngân hàng câu hỏi, ngân hàng đề thi

5.4.4.1 Mô tả chức năng

Chức năng quản lý ngân hàng đề thi, ngân hàng câu hỏi hỗ trợ các thao tác sau:

- Tạo kho câu hỏi, đề thi mới.

- Xóa, đổi tên kho câu hỏi, đề thi.

- Cấu trúc lại quan hệ giữa các kho.

- Xem chi tiết thông tin kho câu hỏi, đề thi.

Page 88: Frame work ho tro cac hinh thuc trac nghiem

76

5.4.4.2 Màn hình giao diện trên web

Giáo viên có thể dễ dàng sử dụng chuột

kéo và thả các thư mục để cấu trúc lại

mối quan hệ giữa các thư mục theo ý

muốn, nhưng lưu ý là chỉ có thể cấu trúc

lại mối quan hệ giữa các thư mục cùng

loại. Ví dụ: không thể kéo thư mục là

kho câu hỏi trở thành con của thư mục là

kho đề thi được.

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

Hình 5-15 Cấu trúc lại quan hệ giữa các thư mục

Page 89: Frame work ho tro cac hinh thuc trac nghiem

77

5.4.4.3 Màn hình giao diện trên windows

Hình 5-16 Các chức năng đối với thư mục trên windows

Page 90: Frame work ho tro cac hinh thuc trac nghiem

78

Chương 6 Module soạn thảo

6.1 Đặc tả yêu cầu chức năng của module soạn thảo

Trong hệ thống hỗ trợ thi trắc nghiệm trực tuyến, module soạn thảo phải đảm

nhiệm các chức năng sau đây:

1. Soạn thảo nội dung câu hỏi.

2. Import câu hỏi từ file .doc.

3. Soạn thảo thông tin section.

4. Biên tập nội dung section.

5. Soạn thảo thông tin đề thi.

6. Biên tập nội dung đề thi.

6.2 Mô hình Use-Case

6.2.1 Lược đồ chính của mô hình Use-Case

6.2.1.1 Lược đồ

CreateQuestionEditQuestion

ImportQuestionFromMSWord

CreateSection

EditSectionSelectQuestions

CreateAssessment

EditAssessmentTeacher

SelectSections

Hình 6-1 Sơ đồ Use-Case module soạn thảo

Page 91: Frame work ho tro cac hinh thuc trac nghiem

79

6.2.1.2 Danh sách các Actor

STT Actor Ý nghĩa

1 Teacher Giáo viên

Bảng 6-1 Danh sách actor module soạn thảo

6.2.1.3 Danh sách các Use-Case chính

STT Use-Case Ý nghĩa

1 CreateQuestion Soạn thảo tạo mới 1 câu hỏi

2 ImportQuestionFromMSWord Import các câu hỏi từ file word vào

trong 1 ngân hàng câu hỏi nào đó.

3 CreateSection Sọan thảo các thông tin tạo mới 1

section.

4 SelectQuestions Thực hiện chọn các câu hỏi cho 1

section.

5 CreateAssessment Soạn thảo các thông tin tạo mới 1 đề

thi.

6 SelectSections Thực hiện chọn các section cho 1 đề

thi.

7 EditQuestion Sửa nội dung 1 câu hỏi.

8 EditSection Sửa thông tin 1 section.

9 EditAssessment Sửa thông tin 1 đề thi.

Bảng 6-2 Danh sách Use-Case module soạn thảo

6.2.2 Đặc tả một số Use-Case chính

6.2.2.1 Đặc tả Use-Case “CreateQuestion”

6.2.2.1.1 Tóm tắt

Use-case này cho phép giáo viên soạn thảo tạo 1 câu hỏi mới.

6.2.2.1.2 Dòng sự kiện

Page 92: Frame work ho tro cac hinh thuc trac nghiem

80

6.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 new

question”.

2. Hệ thống đọc trong file xml cấu hình các loại câu hỏi đang có trong hện

thống để hiển thị các loại thể hiện soạn câu hỏi.

3. Giáo viên chọn 1 loại thể hiện soạn câu hỏi.

4. Hệ thống đọc file xml cấu hình của loại câu hỏi được chọn để load

đúng control hiển thị màn hình soạn câu hỏi tương ứng với loại thể hiện

đã chọn.

5. Giáo viên nhập các thông tin cần thiết về câu hỏi và các lựa chọn.

6. Giáo viên nhấn nút “Create” để xác nhận việc tạo câu hỏi mới.

7. Hệ thống thực hiện các bước xây dựng chuỗi xml nội dung chính của

câu hỏi dựa vào các thông tin được nhập vào.

8. Hệ thống thêm 1 câu hỏi mới vào trong CSDL.

6.2.2.1.2.2 Các dòng sự kiện khác

Giáo viên không nhập đủ dữ liệu cho câu hỏi

Giáo viên không nhập đủ dữ liệu yêu cầu để tạo câu hỏi mà đã nhấn

nút xác nhận muốn tạo câu hỏi thì hệ thống sẽ thông báo lỗi.

6.2.2.1.3 Các yêu cầu đặc biệt

Không có.

6.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 giáo viên.

6.2.2.1.5 Điều kiện kết thúc

Không có.

6.2.2.1.6 Điểm mở rộng

Không có.

Page 93: Frame work ho tro cac hinh thuc trac nghiem

81

6.2.2.2 Đặc tả Use-Case “ImportQuestionFromMSWord”

6.2.2.2.1 Tóm tắt

Use-case này cho phép người dùng import 1 loạt các câu hỏi vào ngân hàng

câu hỏi từ 1 file word theo định dạng quy định trước.

6.2.2.2.2 Dòng sự kiện

6.2.2.2.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 “Import questions

from file”.

2. Hệ thống hiển thị trang cho người dùng nhập các thông tin giúp cho

việc import.

3. Người dùng chọn đường dẫn đến file word và chọn loại câu hỏi sẽ được

import (1 lần chỉ import được cùng 1 loại câu hỏi)

4. Người dùng nhấn nút “Import” để xác nhận yêu cầu.

5. Hệ thống đọc file xml cấu hình của loại câu hỏi muốn import để load

đúng lớp xử lý import cho loại câu hỏi đó.

6. Hệ thống bắt đầu đọc nội dung file word.

7. Dựa vào dấu phân cách (quy ước trước), hệ thống lấy nội dung từng

câu hỏi truyền vào lớp xử lý import.

8. Lớp xử lý import sẽ tiến hành xây dựng chuỗi xml nội dung của từng

câu hỏi.

9. Hệ thống thêm các câu hỏi mới vào CSDL.

6.2.2.2.2.2 Các dòng sự kiện khác

Không có.

6.2.2.2.3 Các yêu cầu đặc biệt

Không có.

6.2.2.2.4 Điều kiện tiên quyết

Page 94: Frame work ho tro cac hinh thuc trac nghiem

82

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.

6.2.2.2.5 Điều kiện kết thúc

Không có.

6.2.2.2.6 Điểm mở rộng

Không có.

6.2.2.3 Đặc tả Use-Case “CreateSection”

6.2.2.3.1 Tóm tắt

Use-case này cho phép giáo viên soạn thảo các thông tin để tạo 1 section mới.

6.2.2.3.2 Dòng sự kiện

6.2.2.3.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 new section”.

2. Hệ thống hiển thị trang cho phép soạn thảo thông tin section.

3. Người dùng nhập thông tin và chọn các tùy chọn.

4. Người dùng nhấn nút “Create” để xác nhận yêu cầu tạo section mới.

5. Hệ thống thêm 1 section vào cơ sở dữ liệu.

6. Hệ thống hiển thị liên kết đến trang chọn các câu hỏi cho section vừa

tạo.

6.2.2.3.2.2 Các dòng sự kiện khác

Không có.

6.2.2.3.3 Các yêu cầu đặc biệt

Không có.

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

6.2.2.3.5 Điều kiện kết thúc

Page 95: Frame work ho tro cac hinh thuc trac nghiem

83

Không có.

6.2.2.3.6 Điểm mở rộng

Không có.

6.2.2.4 Đặc tả Use-Case “SelectQuestions”

6.2.2.4.1 Tóm tắt

Use-case này cho phép giáo viên chỉ định các câu hỏi nào sẽ được sử dụng

trong 1 section nào đó.

6.2.2.4.2 Dòng sự kiện

6.2.2.4.2.1 Dòng sự kiện chính

1. Use-case bắt đầu khi giáo viên chọn link “Select questions” của 1

section.

2. Hệ thống đọc tất cả các ngân hàng chứa câu hỏi của giáo viên trong hệ

thống và xây dựng thành cây thư mục.

3. Giáo viên chọn từng node trong cây thư mục và hệ thống sẽ hiển thị các

câu hỏi có trong thư mục (node) được chọn cùng với tình trạng chọn

tương ứng (câu hỏi nào đã có trong section này rồi thì sẽ được check)

4. Giáo viên sửa lại trạng thái check của các câu hỏi để thêm vào hay xóa

bớt câu hỏi trong section.

5. Giáo viên nhấn nút “Update” để cập nhật trạng thái chọn của các câu

hỏi.

6. Hệ thống sẽ ghi nhận lại trạng thái chọn của các câu hỏi trong CSDL.

7. Giáo viên tiếp tục làm việc với node khác trong cây thư mục.

6.2.2.4.2.2 Các dòng sự kiện khác

Không có.

6.2.2.4.3 Các yêu cầu đặc biệt

Không có.

Page 96: Frame work ho tro cac hinh thuc trac nghiem

84

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

6.2.2.4.5 Điều kiện kết thúc

Không có.

6.2.2.4.6 Điểm mở rộng

Không có.

6.2.2.5 Đặc tả Use-Case “CreateAssessment”

6.2.2.5.1 Tóm tắt

Use-case này cho phép giáo viên soạn thảo các thông tin để tạo 1 đề thi mới.

6.2.2.5.2 Dòng sự kiện

6.2.2.5.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 new

assessment”.

2. Hệ thống hiển thị trang cho phép soạn thảo thông tin đề thi.

3. Người dùng nhập thông tin và chọn các tùy chọn.

4. Người dùng nhấn nút “Create” để xác nhận yêu cầu tạo đề thi mới.

5. Hệ thống thêm 1 đề thi vào cơ sở dữ liệu.

6. Hệ thống hiển thị liên kết đến trang chọn các section cho đề thi vừa tạo.

6.2.2.5.2.2 Các dòng sự kiện khác

Không có.

6.2.2.5.3 Các yêu cầu đặc biệt

Không có.

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

Page 97: Frame work ho tro cac hinh thuc trac nghiem

85

6.2.2.5.5 Điều kiện kết thúc

Không có.

6.2.2.5.6 Điểm mở rộng

Không có.

6.2.2.6 Đặc tả Use-Case “SelectSections”

6.2.2.6.1 Tóm tắt

Use-case này cho phép giáo viên thêm/bớt các section cho 1 đề thi.

6.2.2.6.2 Dòng sự kiện

6.2.2.6.2.1 Dòng sự kiện chính

1. Use-case bắt đầu khi giáo viên chọn link “Select sections” cho 1 đề thi.

2. Hệ thống sẽ tìm tất cả các section thuộc quyền quản lý của giáo viên

đang đăng nhập vào hệ thống và xây dựng thành cây section, mỗi node

trên cây sẽ có 1 nút checkbox thể hiện tình trạng được chọn của section

của tương ứng (nếu section đã có trong bài thi thì nút checkbox sẽ được

check)

3. Giáo viên check lại các ô checkbox để sửa đổi lại cấu trúc bài thi, quy

định là nếu chọn section cha thì mặc nhiên tất cả section con sẽ được

chọn, và nếu bỏ chọn 1 section con thì cũng là bỏ chọn section cha.

4. Giáo viên nhấn vào linkbutton để yêu cầu cập nhật trạng thái tổ chức

section của bài thi.

5. Hệ thống ghi nhận những thay đổi vào CSDL.

6.2.2.6.2.2 Các dòng sự kiện khác.

6.2.2.6.3 Các yêu cầu đặc biệt

Không có.

6.2.2.6.4 Điều kiện tiên quyết

Page 98: Frame work ho tro cac hinh thuc trac nghiem

86

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.

6.2.2.6.5 Điều kiện kết thúc

Không có.

6.2.2.6.6 Điểm mở rộng

Không có.

6.3 Các lược đồ tuần tự chính

6.3.1 Lược đồ tuần tự “CreateQuestion”

: Teacher : pManagement : pCreateQuestionContainer : pCreateQuestion

: Engine.QuestionController

1: // choose "Create new question"

2: // Get all question types from file xml

3: // show page

4: // choose one type to create

5: // get configuration of chosen type from file xml

6: // load right edit control

7: // show page

8: // input information

11: CreateNewQuestion()

9: OnBtnCreate_Click()

10: BuildXmlContent()

Page 99: Frame work ho tro cac hinh thuc trac nghiem

87

6.3.2 Lược đồ tuần tự “ImportQuestionFromMSWord”

: Teacher : pManagement : pImportFromMSWord

: ImportExportEngine.WordEngine : Engine.QuestionController

1: // choose "Import question from MSWord"

2: // show page

3: // choose options for importing

4: OnBtnImport_Click()

5: // read question type information from file xml

6: // load right class for importing

7: // use word automation to get content for importing

8: BuildXmlContent()

9: CreateNewQuestion()

6.4 Các màn hình giao diện chính và hướng dẫn sử dụng

Các chức năng của module soạn thảo này được hỗ trợ cho người dùng ngay

trong trang quản lý ngân hàng câu hỏi.

6.4.1 Chức năng “Soạn thảo nội dung câu hỏi”

6.4.1.1 Màn hình giao diện trên web

Màn hình quản lý ngân hàng câu hỏi có chứa 2 liên kết cho phép giáo viên

soạn thảo câu hỏi mới và cho phép giáo viên import danh sách câu hỏi từ định dạng

file .doc vào ngân hàng câu hỏi được chọn.

Muốn soạn thảo nội dung 1 câu hỏi, trước tiên giáo viên phải chọn loại câu hỏi.

Hình 6-2 Chọn loại câu hỏi trên web

Page 100: Frame work ho tro cac hinh thuc trac nghiem

88

Hệ thống sẽ tìm đúng bộ soạn thảo của loại câu hỏi cần tạo.

Hình 6-3 Soạn thảo nội dung một câu hỏi

- Tiêu đề là phần tên của câu hỏi, phần này có thể không cần thiết.

- Câu hỏi là phần nội dung hỏi, đây là phần bắt buộc. Đối với loại câu hỏi điền

vào chỗ trống thì từ khóa [!!!] là ký hiệu chỗ trống.

Ví dụ: Ngày … là ngày Bác Hồ ra đi tìm đường cứu nước.

Thì trong phần “Câu hỏi”, giáo viên sẽ nhập như sau : Ngày [!!!] là

ngày Bác Hồ ra đi tìm đường cứu nước.

- Độ khó của câu hỏi có 5 mức độ là Rất khó, Khó, Vừa phải, Dễ và Rất Dễ.

- Để thêm lựa chọn cho câu hỏi, trước tiên, giáo viên phải nhấn vào nút “Thêm

giải pháp” rồi sau đó giáo viên nhập các nội dung của giải pháp vào ô “Nội

dung”, đánh dấu chọn các tùy chọn, cuối cùng là nhấn nút “Cập nhật” để xác

nhận nội dung vừa nhập vào. Tùy chọn “Đúng” là ghi nhận lựa chọn đó là 1

Page 101: Frame work ho tro cac hinh thuc trac nghiem

89

phần hay là cả đáp án. Tùy chọn “Cố định” là ghi nhận lựa chọn đó sẽ không

được thay đổi vị trí trong quá trình xáo trộn thứ tự câu hỏi của đề khi thi.

- Sau khi hoàn tất quá trình soạn thảo, giáo viên nhấn nút “Tạo mới”.

6.4.1.2 Màn hình giao diện trên windows

Giáo viên có thể bắt đầu thực hiện soạn thảo nội dung câu hỏi bằng 2 cách:

Chọn menu Tài liệu Tạo mới Tạo câu hỏi.

Hình 6-4 Menu tạo câu hỏi trên windows

Click chuột phải và chọn trên menu popup Tạo mới Tạo câu hỏi.

Hình 6-5 Context Menu tạo câu hỏi trên windows

Page 102: Frame work ho tro cac hinh thuc trac nghiem

90

Giáo viên có thể chọn loại câu hỏi trong danh sách các template câu hỏi.

Hình 6-6 Danh sách các loại câu hỏi trong ứng dụng trên windows

Page 103: Frame work ho tro cac hinh thuc trac nghiem

91

6.4.2 Chức năng “Import danh sách câu hỏi từ MS Word”

Trước tiên, giáo viên phải chọn 1 nút trên cây quản lý, khi đó, các câu hỏi mới

được import vào sẽ thuộc ngân hàng câu hỏi được chọn đó.

Hình 6-7 Import danh sách câu hỏi từ MS Word

Giáo viên sẽ nhấn vào nút “Tìm file …” để chỉ đến file .doc chứa các câu hỏi

cần import vào. Lưu ý là file .doc này phải đúng với định dạng được quy định sẵn.

Định dạng file để import được quy định 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.

Cuối cùng, giáo viên nhấn nút “Upload” để hệ thống chép file được chỉ định

và truyền lên web, sau đó hệ thống tiến hành đọc file và import dữ liệu vào ngân

hàng câu hỏi.

Page 104: Frame work ho tro cac hinh thuc trac nghiem

92

6.4.3 Chức năng “Soạn thảo thông tin section”

6.4.3.1 Màn hình giao diện trên web

Màn hình quản lý section có chứa liên kết cho phép giáo viên soạn thảo thông

tin để tạo ra 1 section mới.

Hình 6-8 Soạn thảo một section trên web

- Tiêu đề là phần tên của section, phần này có thể không cần thiết.

- Ghi chú đầu section hay còn gọi là header là những chỉ dẫn dành cho các thí

sinh được ghi ở phía trên của section.

- Ghi chú cuối section 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 section.

- Cách chọn câu hỏi cũng là cách quy định loại section. Có 2 loại section là :

Page 105: Frame work ho tro cac hinh thuc trac nghiem

93

Section có các câu hỏi được phát sinh ngẫu nhiên. Đối với loại section

này thì giáo viên chỉ cần cung cấp 2 thông tin là số câu hỏi trong section

và các câu hỏi trong section sẽ được chọn ra từ ngân hàng câu hỏi nào.

Section có các câu hỏi được chỉ định trước. Đối với loại section này thì

giáo viên phải chọn từng câu hỏi cho section. Các câu hỏi có thể sẽ thuộc

nhiều ngân hàng câu hỏi khác nhau.

- Sau khi hoàn tất quá trình soạn thảo, giáo viên nhấn nút “Tạo mới” để thêm

section vào cơ sở dữ liệu.

6.4.3.2 Màn hình giao diện trên windows

Hình 6-9 Soạn section trên windows

Page 106: Frame work ho tro cac hinh thuc trac nghiem

94

6.4.4 Chức năng “Biên tập nội dung section”

Biên tập nội dung section chính là cung cấp các thông tin về câu hỏi cho

section. Có 2 cách chọn câu hỏi cho một section. Cách thứ nhất: người giáo viên

chọn câu hỏi trực tiếp trên danh sách câu hỏi. Cách thứ 2: người giáo viên cần cung

cấp thông tin số câu hỏi và ngân hàng câu hỏi, chương trình sẽ phát sinh ngẫu nhiên.

6.4.4.1 Màn hình giao diện trên web

Chọn trực tiếp câu hỏi cho section 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 câu

hỏi cho section”

Hình 6-10 Chọn trực tiếp câu hỏi cho section trên web

Giáo viên chọn từng ngân hàng câu hỏi trên cây quản lý ngân hàng câu hỏi,

màn hình bên tay phải sẽ hiển thị các câu hỏi trong ngân hàng được chọn cùng tình

trạng của câu hỏi đó trong section. Giáo viên chọn hoặc bỏ chọn từng câu hỏi để

thêm hay bỏ câu hỏi đó trong section.

Sau khi hoàn tất việc chọn trong 1 ngân hàng câu hỏi, giáo viên nhấn vào nút

xác nhận để hệ thống ghi nhớ sự lựa chọn. Sau đó, giáo viên có thể tiếp tục chọn lựa

trong các ngân hàng câu hỏi khác.

Page 107: Frame work ho tro cac hinh thuc trac nghiem

95

6.4.4.2 Màn hình giao diện trên windows

Chọn trực tiếp câu hỏi cho section trên windows:

Hình 6-11 Chọn trực tiếp câu hỏi cho section trên windows

Page 108: Frame work ho tro cac hinh thuc trac nghiem

96

Chọn ngẫu nhiên trên kho câu hỏi:

Hình 6-12 Chọn kho câu hỏi cho section trên windows

Giáo viên thêm 1 kho câu hỏi vào trong danh sách bằng cách kéo kho câu hỏi đó

vào trong bảng “Danh sách kho câu hỏi”.

Tùy theo loại câu hỏi được chọn bên tay phải mà hệ thống sẽ hiển thị số câu hỏi mà

kho câu hỏi đang được chọn chứa. Giáo viên chọn độ khó câu hỏi và điền vào số

câu hỏi dành cho section. Lưu ý là hệ thống sẽ kiểm tra số câu hỏi giáo viên nhập

vào phải không được lớn hơn số câu hỏi kho chứa.

Giáo viên muốn xem thông tin thống kê số câu hỏi trong kho thì nhấn vào nút “Xem

chi tiết”.

Giáo viên muốn thay đổi số câu hỏi của 1 loại câu hỏi trong 1 kho nào đó thì phải

đảm bảo có nhấn nút “Cập nhật” để hệ thống ghi nhận lại sự thay đổi.

Page 109: Frame work ho tro cac hinh thuc trac nghiem

97

6.4.5 Chức năng “Soạn thảo thông tin đề thi”

6.4.5.1 Màn hình giao diện trên web

Hình 6-13 Soạn thảo đề thi trên web

- Tiêu đề là phần tên của đề thi. Ví dụ như là “Bài thi môn Hóa HK1”.

- Ghi chú đầu đề thi hay còn gọi là header là những chỉ dẫn dành cho các thí

sinh được ghi ở phía trên củ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.

Page 110: Frame work ho tro cac hinh thuc trac nghiem

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 hoà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

Page 111: Frame work ho tro cac hinh thuc trac nghiem

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 hoà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.

Page 112: Frame work ho tro cac hinh thuc trac nghiem

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

Page 113: Frame work ho tro cac hinh thuc trac nghiem

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 đã hoàn thành và hoạt động tốt, thể hiện qua việc

Page 114: Frame work ho tro cac hinh thuc trac nghiem

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

hoàn toà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.

Page 115: Frame work ho tro cac hinh thuc trac nghiem

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

Page 116: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 117: Frame work ho tro cac hinh thuc trac nghiem

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

Page 118: Frame work ho tro cac hinh thuc trac nghiem

106

7.3.2.2 Template smoke skin:

Hình 7-4 Template smoke skin

Page 119: Frame work ho tro cac hinh thuc trac nghiem

107

7.3.2.3 Template wave skin:

Hình 7-5 Template wave skin

Page 120: Frame work ho tro cac hinh thuc trac nghiem

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

Page 121: Frame work ho tro cac hinh thuc trac nghiem

109

Hình 7-7 Plugin cột trái

Hình 7-8 Plugin cột phải

Page 122: Frame work ho tro cac hinh thuc trac nghiem

110

Hình 7-9 Các plugin hiển thị theo lựa chọn của người dùng

Page 123: Frame work ho tro cac hinh thuc trac nghiem

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ử

Page 124: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 125: Frame work ho tro cac hinh thuc trac nghiem

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

Page 126: Frame work ho tro cac hinh thuc trac nghiem

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

Page 127: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 128: Frame work ho tro cac hinh thuc trac nghiem

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

Page 129: Frame work ho tro cac hinh thuc trac nghiem

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

Page 130: Frame work ho tro cac hinh thuc trac nghiem

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

hoàn tất bài thi, thí sinh sẽ nhấn vào nút “Hoàn thành” để thông báo cho hệ thống

biết. Nếu thí sinh chưa hoà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 “Hoàn thành”.

Page 131: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 132: Frame work ho tro cac hinh thuc trac nghiem

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

Page 133: Frame work ho tro cac hinh thuc trac nghiem

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

Page 134: Frame work ho tro cac hinh thuc trac nghiem

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,

ngoà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.

Page 135: Frame work ho tro cac hinh thuc trac nghiem

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 đã hoà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);

Page 136: Frame work ho tro cac hinh thuc trac nghiem

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

Page 137: Frame work ho tro cac hinh thuc trac nghiem

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 toà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à toà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

Page 138: Frame work ho tro cac hinh thuc trac nghiem

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.

Page 139: Frame work ho tro cac hinh thuc trac nghiem

127

Hình 9-3 Edit macro trong MS Word

Hình 9-4 Kết quả edit macro trong MS Word

Page 140: Frame work ho tro cac hinh thuc trac nghiem

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

Page 141: Frame work ho tro cac hinh thuc trac nghiem

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("</body>"); 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.

Page 142: Frame work ho tro cac hinh thuc trac nghiem

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

Page 143: Frame work ho tro cac hinh thuc trac nghiem

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); }

Page 144: Frame work ho tro cac hinh thuc trac nghiem

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 hoà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

Hoà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

Page 145: Frame work ho tro cac hinh thuc trac nghiem

133

Phuï luïc A - Export database theo đặc tả IMSQTI

Nội dung file XSLT làm nhiệm vụ export:

<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > <xsl:template match="@*|node()"> <xsl:apply-templates select="*" /> </xsl:template> <xsl:template match="assessmentItem"> <xsl:copy> <xsl:apply-templates select="@* | text() | node()" /> </xsl:copy> </xsl:template> <xsl:template match="responseDeclaration"> <xsl:copy> <xsl:apply-templates select="@* | text() | node()" /> </xsl:copy> </xsl:template> <xsl:template match="responseDeclaration/node() | responseDeclaration/text() | responseDeclaration/node()/node() | responseDeclaration/text()/node()"> <xsl:copy> <xsl:apply-templates select="@* | text() | node()" /> </xsl:copy> </xsl:template> <xsl:template match="outcomeDeclaration"> <xsl:copy> <xsl:apply-templates select="@* | text() | node()" /> </xsl:copy> </xsl:template> <xsl:template match="itemBody"> <xsl:copy> <xsl:apply-templates select="@* | text() | node()" /> </xsl:copy> </xsl:template> <xsl:template match="itemBody/node() | itemBody/text() | itemBody/node()/node() | itemBody/node()/text()"> <xsl:copy> <xsl:apply-templates select="@* | text() | node()" /> </xsl:copy>

Page 146: Frame work ho tro cac hinh thuc trac nghiem

134

</xsl:template> <xsl:template match="itemBody/questionView"> </xsl:template> <xsl:template match="responseProcessing"> <xsl:copy> <xsl:apply-templates select="@* | text() | node()" /> </xsl:copy> </xsl:template> <xsl:template match="@*"> <xsl:copy> <xsl:apply-templates select="*" /> </xsl:copy> </xsl:template> <xsl:template match="text()"> <xsl:copy> <xsl:apply-templates select="*" /> </xsl:copy> </xsl:template> </xsl:stylesheet>

Page 147: Frame work ho tro cac hinh thuc trac nghiem

135

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

o Câu hỏi inlineChoiceInteraction:

<?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="4"> <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/xml/imsqti_item_v2p0/rpMapResponse" templateLocation="../RPTemplates/rpMapResponse.xml"/> </assessmentItem>

Page 148: Frame work ho tro cac hinh thuc trac nghiem

136

o Câu hỏi textEntryInteraction:

<?xml version="1.0" encoding="UTF-8"?> <assessmentItem identifier="textEntry" title="Richard III (Take 3)" adaptive="false" timeDependent="false"> <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="string"> <correctResponse> <value>York</value> </correctResponse> <mapping defaultValue="0"> <mapEntry mapKey="York" mappedValue="1"/> <mapEntry mapKey="york" mappedValue="0.5"/> </mapping> </responseDeclaration> <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/> <itemBody> <p>Identify the missing word in this famous quote from Shakespeare's Richard III.</p> <blockquote> <p>Now is the winter of our discontent<br/> Made glorious summer by this sun of <textEntryInteraction responseIdentifier="RESPONSE" expectedLength="15"/>;<br/> And all the clouds that lour'd upon our house<br/> In the deep bosom of the ocean buried.</p> </blockquote> </itemBody> <responseProcessing template="http://www.imsglobal.org/xml/imsqti_item_v2p0/rpMapResponse" templateLocation="../RPTemplates/rpMapResponse.xml"/> </assessmentItem>

Page 149: Frame work ho tro cac hinh thuc trac nghiem

137

o Câu hỏi orderInteraction:

<?xml version="1.0" encoding="UTF-8"?> <assessmentItem identifier="order" title="Grand Prix of Bahrain" adaptive="false" timeDependent="false"> <responseDeclaration identifier="RESPONSE" cardinality="ordered" baseType="identifier"> <correctResponse> <value>DriverC</value> <value>DriverA</value> <value>DriverB</value> </correctResponse> </responseDeclaration> <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="integer"/> <itemBody> <orderInteraction responseIdentifier="RESPONSE" shuffle="true"> <prompt>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?</prompt> <simpleChoice identifier="DriverA">Rubens Barrichello</simpleChoice> <simpleChoice identifier="DriverB">Jenson Button</simpleChoice> <simpleChoice identifier="DriverC">Michael Schumacher</simpleChoice> </orderInteraction> </itemBody> <responseProcessing template="http://www.imsglobal.org/xml/imsqti_item_v2p0/rpMatchCorrect" templateLocation="../RPTemplates/rpMatchCorrect.xml"/> </assessmentItem>

Page 150: Frame work ho tro cac hinh thuc trac nghiem

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