Luận văn Tìm hiểu và xây dựng hệ thống framework hỗ trợ các hình thức trắc nghiệm

1 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM SINH VIÊN THỰC HIỆN ƒ MAI HẢI THANH 0112113 ƒ ĐÀO PHƯƠNG THÚY 0112448 TÌM HIỂU VÀ XÂY DỰNG HỆ THỐNG FRAMEWORK HỖ TRỢ CÁC HÌNH THỨC TRẮC NGHIỆM LUẬN VĂN CỬ NHÂN TIN HỌC Tp.HCM, 2005 1 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM SINH VIÊN THỰC HIỆN ƒ MAI HẢI THANH 0112113 ƒ ĐÀO PHƯƠNG THÚY 0112448 TÌM HIỂU VÀ XÂY DỰNG HỆ THỐNG FRAMEW

pdf150 trang | Chia sẻ: huong20 | Ngày: 08/01/2022 | Lượt xem: 365 | Lượt tải: 0download
Tóm tắt tài liệu Luận văn Tìm hiểu và xây dựng hệ thống framework hỗ trợ các hình thức trắc nghiệm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ORK HỖ TRỢ CÁC HÌNH THỨC TRẮC NGHIỆM GIẢNG VIÊN HƯỚNG DẪN ThS. TRẦN MINH TRIẾT ThS. NGUYỄN TẤN TRẦN MINH KHANG Tp.HCM, 2005 2 LỜI CÁM ƠN Chúng em xin chân thành cám ơn Khoa Cơng Nghệ Thơng Tin, trường Đại Học Khoa Học Tự Nhiên TpHCM đã tạo điều kiện tốt cho chúng em thực hiện đề tài luận văn tốt nghiệp này. Chúng em xin chân thành cám ơn Thầy Trần Minh Triết và Thầy Nguyễn Tấn Trần Minh Khang đã tận tình hướng dẫn, chỉ bảo chúng em trong suốt thời gian thực hiện đề tài. Chúng em xin chân thành cám ơn quý Thầy Cơ trong Khoa đã tận tình giảng dạy, trang bị cho chúng em những kiến thức quý báu trong những năm học vừa qua. Chúng con xin nĩi lên lịng biết ơn sâu sắc đối với Ơng Bà, Cha Mẹ đã chăm sĩc, nuơi dạy chúng con thành người. Xin chân thành cám ơn các anh chị và bạn bè đã ủng hộ, giúp đỡ và động viên chúng em trong thời gian học tập và nghiên cứu. Mặc dù chúng em đã cố gắng hồn thành luận văn trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ khơng tránh khỏi những thiếu sĩt. Chúng em kính mong nhận được sự cảm thơng và tận tình chỉ bảo của quý Thầy Cơ và các bạn. Sinh viên thực hiện, Mai Hải Thanh & Đào Phương Thúy 07/2005 i MỤC LỤC Trang MỤC LỤC ...................................................................................................... i DANH SÁCH CÁC HÌNH...............................................................................v DANH SÁCH CÁC BẢNG............................................................................ ix Chương 1 Tổng quan....................................................................................1 1.1 Xu hướng chung...........................................................................................1 1.2 Hình thức thi trắc nghiệm............................................................................2 1.3 Lý do và mục tiêu của đề tài ........................................................................3 1.4 Cấu trúc của báo cáo: .................................................................................3 Chương 2 Chuẩn, chuẩn trắc nghiệm và đặc tả IMSQTI .......................5 2.1 Chuẩn và chuẩn trắc nghiệm.......................................................................5 2.1.1 Giới thiệu chung..................................................................................5 2.1.2 Tổ chức IMS .......................................................................................6 2.2 Đặc tả IMSQTI (Question and Test Interoperability) ...............................11 2.2.1 Lịch sử các phiên bản:.......................................................................11 2.2.2 Mục đích thiết kế...............................................................................11 2.2.3 Cấu trúc tổ chức bài thi và câu hỏi....................................................13 Chương 3 Phân loại câu hỏi trắc nghiệm .................................................15 3.1 Sơ đồ lớp interaction .................................................................................15 3.1.1 interaction..........................................................................................15 3.1.2 inlineInteraction ................................................................................15 3.1.3 blockInteraction.................................................................................16 3.2 Sơ đồ lớp choice.........................................................................................16 3.3 Các loại câu hỏi phân loại theo interaction ..............................................17 3.3.1 choiceInteraction ...............................................................................17 3.3.2 orderInteraction .................................................................................18 3.3.3 associateInteraction ...........................................................................18 3.3.4 matchInteraction................................................................................19 3.3.5 gapMatchInteraction .........................................................................19 3.3.6 inlineChoiceInteraction .....................................................................20 3.3.7 textEntryInteraction...........................................................................20 3.3.8 extendedTextInteraction....................................................................21 3.3.9 hottextInteraction ..............................................................................21 ii 3.3.10 hotspotInteraction..............................................................................22 3.3.11 selectPointInteraction........................................................................23 3.3.12 graphicOrderInteraction ....................................................................24 3.3.13 graphicAssociateInteraction..............................................................25 3.3.14 graphicGapMatchInteraction.............................................................26 3.3.15 positionObjectInteraction..................................................................26 3.3.16 sliderInteraction.................................................................................27 3.3.17 drawingInteraction ............................................................................27 3.3.18 uploadInteraction...............................................................................27 3.3.19 customInteraction..............................................................................27 Chương 4 Kiến trúc chung của phần mềm ..............................................28 4.1 Phát biểu bài tốn: ....................................................................................28 4.2 Mơ hình kiến trúc và tổ chức hoạt động ....................................................30 4.2.1 Engine ...............................................................................................30 4.2.2 ETSONLINE.....................................................................................36 4.2.3 ETSClient..........................................................................................45 4.2.4 InteractionDefinition .........................................................................49 4.2.5 ImportExportEngine..........................................................................50 4.2.6 QuestionsPlugins...............................................................................50 4.2.7 UserInterfacePlugins .........................................................................50 4.2.8 ETSPluginService .............................................................................50 4.2.9 HelpCenter ........................................................................................51 4.3 Thiết kế dữ liệu ..........................................................................................53 4.3.1 Lược đồ các bảng dữ liệu ..................................................................53 4.3.2 Danh sách và chức năng các bảng dữ liệu ........................................53 Chương 5 Module quản lý .........................................................................55 5.1 Đặc tả yêu cầu chức năng của module quản lý .........................................55 5.2 Mơ hình Use-Case .....................................................................................56 5.2.1 Lược đồ chính của mơ hình Use-Case ..............................................56 5.2.2 Đặc tả một số Use-Case chính ..........................................................58 5.3 Các lược đồ tuần tự chính .........................................................................64 5.3.1 Lược đồ tuần tự “CreateFolder”:.......................................................64 5.3.2 Lược đồ tuần tự “ChangeRole”:........................................................65 5.3.3 Lược đồ tuần tự “CreateMember”: ...................................................65 5.3.4 Lược đồ tuần tự “UpdateDataFromWin”:.........................................66 5.3.5 Lược đồ tuần tự “ExportToMSWord”: .............................................66 5.4 Các màn hình giao diện chính và hướng dẫn sử dụng ..............................67 5.4.1 Chức năng quản lý câu hỏi ................................................................67 5.4.2 Chức năng quản lý đề thi...................................................................69 5.4.3 Chức năng quản lý thành viên...........................................................71 5.4.4 Chức năng quản lý ngân hàng câu hỏi, ngân hàng đề thi..................75 iii Chương 6 Module soạn thảo......................................................................78 6.1 Đặc tả yêu cầu chức năng của module soạn thảo .....................................78 6.2 Mơ hình Use-Case .....................................................................................78 6.2.1 Lược đồ chính của mơ hình Use-Case ..............................................78 6.2.2 Đặc tả một số Use-Case chính ..........................................................79 6.3 Các lược đồ tuần tự chính .........................................................................86 6.3.1 Lược đồ tuần tự “CreateQuestion”....................................................86 6.3.2 Lược đồ tuần tự “ImportQuestionFromMSWord”............................87 6.4 Các màn hình giao diện chính và hướng dẫn sử dụng ..............................87 6.4.1 Chức năng “Soạn thảo nội dung câu hỏi” .........................................87 6.4.2 Chức năng “Import danh sách câu hỏi từ MS Word” .......................91 6.4.3 Chức năng “Soạn thảo thơng tin section” .........................................92 6.4.4 Chức năng “Biên tập nội dung section” ............................................94 6.4.5 Chức năng “Soạn thảo thơng tin đề thi”............................................97 6.4.6 Chức năng “Biên tập nội dung đề thi” ..............................................99 Chương 7 Module plugin .........................................................................101 7.1 Mục đích và vị trí của plugin trong hệ thống ..........................................101 7.2 Tổ chức một bộ plugin câu hỏi ................................................................102 7.3 Plugin template đề thi ..............................................................................104 7.3.1 Các bước để tạo một template.........................................................104 7.3.2 Hình ảnh giao diện: .........................................................................105 7.4 Plugin thành phần giao diện....................................................................108 Chương 8 Module tổ chức thi cử.............................................................111 8.1 Đặc tả yêu cầu chức năng của module tổ chức thi cử .............................111 8.2 Mơ hình Use-Case ...................................................................................111 8.2.1 Lược đồ chính của mơ hình Use-Case ............................................111 8.2.2 Đặc tả một số Use-Case chính ........................................................112 8.3 Các lược đồ tuần tự chính .......................................................................117 8.3.1 Lược đồ tuần tự “DoTest”...............................................................117 8.3.2 Lược đồ tuần tự “RequestResult” ...................................................118 8.3.3 Lược đồ tuần tự “ViewMemberResults”.........................................118 8.4 Giao diện và hướng dẫn sử dụng.............................................................118 8.4.1 Sơ đồ màn hình giao diện................................................................118 8.4.2 Chức năng thi ..................................................................................118 8.4.3 Chức năng tra cứu danh sách thí sinh và kết quả bài thi .................119 Chương 9 Các kỹ thuật bổ sung..............................................................122 9.1 Kỹ thuật thiết kế web application linh động và load động user control ..122 9.2 Kỹ thuật automation Microsoft Word ......................................................124 iv 9.2.1 Giới thiệu.........................................................................................124 9.2.2 Các đối tượng trong MS Word........................................................124 9.2.3 Ngơn ngữ VBA (Microsoft Visual Basic for Applications) ...........125 9.2.4 Ứng dụng trong hệ thống ................................................................128 Chương 10 Tổng kết ...................................................................................132 10.1 Kết luận....................................................................................................132 10.2 Hướng phát triển......................................................................................132 Phụ lục A - Export database theo đặc tả IMSQTI ..................................133 Phụ lục B - Phần lưu trữ XML của một số dạng câu hỏi trong đặc tả IMSQTI ..................................................................................................135 TÀI LIỆU THAM KHẢO ...........................................................................138 v DANH SÁCH CÁC HÌNH Hình 1-1 Logo ETS................................................................................................................1 Hình 1-2 Logo ETS-TOEFL..................................................................................................1 Hình 1-3 Logo MCAD - Microsoft........................................................................................1 Hình 1-4 Logo MCDBA - Microsoft .....................................................................................1 Hình 2-1 Logo tổ chức IMS...................................................................................................6 Hình 2-2 Vai trị của các thành phần tham gia hệ thống sử dụng đặc tả IMSQTI...............12 Hình 2-3 Cấu trúc bài thi trong đặc tả IMSQTI...................................................................13 Hình 3-1 Sơ đồ lớp interaction ............................................................................................15 Hình 3-2 Sơ đồ lớp inlineInteraction ...................................................................................15 Hình 3-3 Sơ đồ lớp blockInteraction ...................................................................................16 Hình 3-4 Sơ đồ lớp choice ...................................................................................................16 Hình 3-5 Câu hỏi choiceInteraction với 1 lựa chọn đúng....................................................17 Hình 3-6 Câu hỏi choiceInteraction với nhiều lựa chọn đúng.............................................17 Hình 3-7 Câu hỏi orderInteraction.......................................................................................18 Hình 3-8 Câu hỏi associateInteraction.................................................................................18 Hình 3-9 Câu hỏi matchInteraction .....................................................................................19 Hình 3-10 Câu hỏi gapMatchInteraction .............................................................................19 Hình 3-11 Câu hỏi inlineChoiceInteraction.........................................................................20 Hình 3-12 Câu hỏi loại textEntryInteraction .......................................................................20 Hình 3-13 Câu hỏi extendedTextInteraction .......................................................................21 Hình 3-14 Câu hỏi hottextInteraction ..................................................................................21 Hình 3-15 Câu hỏi hotspotInteraction .................................................................................22 Hình 3-16 Câu hỏi selectPointInteraction............................................................................23 Hình 3-17 Câu hỏi graphicOrderInteraction........................................................................24 Hình 3-18 Câu hỏi graphicAssociateInteraction..................................................................25 Hình 3-19 Câu hỏi graphicGapMatchInteraction ................................................................26 Hình 3-20 Câu hỏi positionObjectInteraction......................................................................26 Hình 3-21 Câu hỏi sliderInteraction ....................................................................................27 Hình 4-1 Mơ hình kiến trúc và tổ chức................................................................................30 Hình 4-2 Mối quan hệ giữa Engine và các component khác ...............................................31 Hình 4-3 Sơ đồ tổ chức của Engine .....................................................................................32 vi Hình 4-4 Sơ đồ lớp phần ETSEngineBasicObject của Engine............................................33 Hình 4-5 Sơ đồ lớp phần IMSQTIBasicObject của Engine.................................................34 Hình 4-6 Sơ đồ lớp phần ETSEngineControllerObject của Engine ....................................34 Hình 4-7 Sơ đồ lớp phần ETSEngineDBManager...............................................................35 Hình 4-8 Sơ đồ tổ chức ứng dụng ETSONLINE.................................................................36 Hình 4-9 Sơ đồ tổ chức lớp trong ETSONLINE .................................................................37 Hình 4-10 Trang chủ ETSONLINE.....................................................................................38 Hình 4-11 Phân cấp quản lý theo cấu trúc cây ....................................................................39 Hình 4-12 Trang quản lý chính của ETSONLINE ..............................................................39 Hình 4-13 Demo chức năng soạn thảo câu hỏi ....................................................................40 Hình 4-14 Kết quả bài thi được truyền đi bằng XML .........................................................41 Hình 4-15 Sơ đồ tổ chức ứng dụng ETSClient....................................................................46 Hình 4-16 Sơ đồ tổ chức lớp trong ETSClient ....................................................................47 Hình 4-17 Sơ đồ tổ chức InteractionDefinition ...................................................................49 Hình 4-18 Sơ đồ tổ chức lớp trong InteractionDefinition....................................................49 Hình 4-19 Sơ đồ tổ chức HelpCenter ..................................................................................51 Hình 4-20 HelpCenterMenu ................................................................................................51 Hình 4-21 Liên hệ tác giả ....................................................................................................52 Hình 4-22 Hướng dẫn sử dụng ETSONLINE .....................................................................52 Hình 4-23 Sơ đồ các bảng dữ liệu .......................................................................................53 Hình 4-24 Danh sách các bảng dữ liệu ................................................................................54 Hình 5-1 Mơ hình Use-Case module quản lý ......................................................................56 Hình 5-2 Quản lý danh sách câu hỏi trên web.....................................................................67 Hình 5-3 Xem thơng tin thống kê của câu hỏi .....................................................................68 Hình 5-4 Quản lý danh sách câu hỏi trên windows .............................................................68 Hình 5-5 Quản lý danh sách bài thi trên web ......................................................................69 Hình 5-6 Kết xuất đề thi ra file Word..................................................................................70 Hình 5-7 Xem thơng tin thống kê bài thi .............................................................................71 Hình 5-8 Quản lý danh sách thành viên trên web................................................................72 Hình 5-9 Xem hồ sơ thành viên...........................................................................................72 Hình 5-10 Import danh sách sinh viên từ file Excel ............................................................73 Hình 5-11 Di chuyển thành viên đang được chọn ...............................................................73 vii Hình 5-12 Xem thơng tin thống kê về tình hình trả lời câu hỏi của sinh viên.....................74 Hình 5-13 Quản lý danh sách thành viên trên windows ......................................................75 Hình 5-14 Quản lý kho câu hỏi, kho bài thi, thành viên, cấu trúc section...........................76 Hình 5-15 Cấu trúc lại quan hệ giữa các thư mục ...............................................................76 Hình 5-16 Các chức năng đối với thư mục trên windows ...................................................77 Hình 6-1 Sơ đồ Use-Case module soạn thảo .......................................................................78 Hình 6-2 Chọn loại câu hỏi trên web...................................................................................87 Hình 6-3 Soạn thảo nội dung một câu hỏi ...........................................................................88 Hình 6-4 Menu tạo câu hỏi trên windows............................................................................89 Hình 6-5 Context Menu tạo câu hỏi trên windows..............................................................89 Hình 6-6 Danh sách các loại câu hỏi trong ứng dụng trên windows ...................................90 Hình 6-7 Import danh sách câu hỏi từ MS Word ................................................................91 Hình 6-8 Soạn thảo một section trên web............................................................................92 Hình 6-9 Soạn section trên windows ...................................................................................93 Hình 6-10 Chọn trực tiếp câu hỏi cho section trên web ......................................................94 Hình 6-11 Chọn trực tiếp câu hỏi cho section trên windows...............................................95 Hình 6-12 Chọn kho câu hỏi cho section trên windows ......................................................96 Hình 6-13 Soạn thảo đề thi trên web ...................................................................................97 Hình 6-14 Soạn thảo đề thi trên windows............................................................................98 Hình 6-15 Chọn section cho bài thi trên web ......................................................................99 Hình 6-16 Chọn section cho bài thi trên windows.............................................................100 Hình 7-1 Minh họa plugin .................................................................................................101 Hình 7-2 Tổ chức 1 bộ câu hỏi ..........................................................................................103 Hình 7-3 Template mặc định của bài thi............................................................................105 Hình 7-4 Template smoke skin..........................................................................................106 Hình 7-5 Template wave skin............................................................................................107 Hình 7-6 Chỉnh sửa cấu hình giao diện .............................................................................108 Hình 7-7 Plugin cột trái .....................................................................................................109 Hình 7-8 Plugin cột phải ....................................................................................................109 Hình 7-9 Các plugin hiển thị theo lựa chọn của người dùng.............................................110 Hình 8-1 Sơ đồ Use-Case module thi cử ...........................................................................111 Hình 8-2 Sơ đồ các màn hình giao diện module thi cử .....................................................118 viii Hình 8-3 Hình ảnh một bài thi ...........................................................................................119 Hình 8-4 Danh sách thí sinh đã thi ....................................................................................120 Hình 8-5 Kết quả thi một bài thi nào đĩ của các thí sinh ..................................................120 Hình 8-6 Thơng tin thống kê tình hình điểm số của một bài thi........................................121 Hình 9-1 Sơ đồ quan hệ của các đối tượng của MS Word ................................................124 Hình 9-2 Record macro trong MS Word ...........................................................................126 Hình 9-3 Edit macro trong MS Word ................................................................................127 Hình 9-4 Kết quả edit macro trong MS Word ...................................................................127 Hình 9-5 Add reference đến Word Object Library trong .NET.........................................128 ix DANH SÁCH CÁC BẢNG Bảng 2-1 Các đặc tả được tổ chức IMS định nghĩa ...............................................................8 Bảng 5-1 Danh sách actor module quản lý ..........................................................................57 Bảng 5-2 Danh sách Use-Case module quản lý...................................................................58 Bảng 6-1 Danh sách actor module soạn thảo.......................................................................79 Bảng 6-2 Danh sách Use-Case module soạn thảo ...............................................................79 Bảng 8-1 Danh sách actor module thi cử...........................................................................112 Bảng 8-2 Danh sách Use-Case module thi cử ...................................................................112 1 Chương 1 Tổng quan 1.1 Xu hướng chung Ngày nay, hình thức thi trắc nghiệm đã trở thành một trong những hình thức thi phổ biến nhất trên thế giới. Với ưu điểm khách quan, chính xác và thuận tiện cho cả người ra đề và thí sinh đi thi, hình thức thi này đã được áp dụng ở hầu khắp các nước, đặc biệt là trong các kỳ thi của các tổ chức lớn cĩ phạm vi tồn cầu như ETS (Educational Testing Service) – tổ chức các kỳ thi TOEFL, GMAT, GRE, Microsoft – tổ chức các kỳ thi MCSE, MCAD Hình 1-1 Logo ETS Hình 1-2 Logo ETS-TOEFL Hình 1-3 Logo MCAD - Microsoft Hình 1-4 Logo MCDBA - Microsoft 2 Tại Việt Nam, trong những năm gần đây, song song với việc đổi mới phương pháp dạy và học, việc đổi mới hình thức thi cử cũng trở thành một việc làm cấp thiết. Trong các hình thức thi cử, trắc nghiệm khách quan là hình thức được nhiều người chú ý nhất do những ưu điểm của nĩ trong việc kiểm tra, đánh giá trình độ người dự thi như: khách quan, trung thực, kiểm tra được nhiều kiến thức, tránh được việc học tủ, học vẹtDo đĩ, trắc nghiệm đang là khuynh hướng của hầu hết các kỳ thi ở Việt Nam hiện nay. 1.2 Hình thức thi trắc nghiệm Hình thức của thi trắc nghiệm rất đa dạng, ví dụ: một câu hỏi cĩ một số phương án trả lời, thí sinh chọn câu trả lời đúng nhất, hay một câu hỏi cĩ nhiều phương án trả lời và thí sinh chọn các câu trả lời đúng. Tuy nhiên, do độ phổ biến của một số cách thể hiện cũng như về bản chất nội dung, trắc nghiệm thường được hiểu theo một phạm vi hẹp hơn, cụ thể: đĩ là một hay nhiều bài kiểm tra, trong đĩ cĩ một hay nhiều câu hỏi, trong mỗi câu hỏi cĩ nhiều phương án trả lời (thường là 4) và nhiệm vụ của thí sinh là chọn ra câu trả lời đúng nhất. Thật ra, trắc nghiệm khơng chỉ cĩ thế, hình thức thi này rất phong phú, đa dạng về nội dung và cả hình thức thể hiện. Câu hỏi trắc nghiệm khơng chỉ kiểm tra việc thí sinh lựa chọn một phương án trả lời đúng mà cịn cĩ thể là kiểm tra kiến thức kết hợp các ý niệm, kiến thức khác nhau khi tạo đường nối các phương án trả lời cĩ liên quan. Trong tình huống này, thể hiện của câu hỏi khơng cịn là một số phương án trả lời với ơ đánh dấu để chọn câu trả lời đúng nữa, mà là 2 cột phương án trả lời được xếp cạnh nhau để thí sinh tạo đường nối giữa các phương án trả lời cĩ liên quan. Hay trong một tình huống khác, câu hỏi trắc nghiệm cĩ thể kiểm tra kiến thức thuộc lịng một đoạn ký tự cĩ ý nghĩa nào đĩ. Lúc này, sẽ khơng cĩ phương án trả lời nào được đưa ra để lựa chọn. Việc trả lời câu hỏi được thực hiện bằng cách điền một đoạn ký tự vào một ơ trống cho trước. Câu trả lời này đúng khi nĩ so khớp với câu trả lời – là một đoạn ký tự – mà người ra đề mong đợi. 3 1.3 Lý do và mục tiêu của đề tài Như chúng ta đã nĩi, hình thức trắc nghiệm đang trở thành một xu hướng tất yếu cho rất nhiều kỳ thi, đặc biệt là ở trên đất nước Việt Nam chúng ta. Trắc nghiệm là một hình thức thi cĩ thể ở trên giấy hoặc trên máy tính. Trong đĩ hình thức thi trắc nghiệm trên giấy hiện phổ biến hơn, tuy vậy, lại khơng thuận tiện. Hình thức thi trên máy tính cĩ những ưu điểm riêng cần quan tâm. Đi xa hơn, hình thức thi qua mạng đem lại rất nhiều lợi ích. Internet đem mọi người đến lại gần nhau hơn bất kể khơng gian. Người ra đề cũng như người dự thi cĩ thể ở bất cứ nơi đâu và bất cứ k...n trả lời. Hình 4-5 Sơ đồ lớp phần IMSQTIBasicObject của Engine ETSEngineControllerObjects: phần này định nghĩa và cài đặt tất cả các class liên quan đến xử lý chung cho hệ thống. ETSEngineControllerObjects ExportIMSQTIDatabase ScoringMachine WordMachine ExportEngine ImportEngine MailEngine SectionUserResult AssessmentUserResult AssessmentUserResponse SectionUserResponse QuestionUserResponseDatabaseController Hình 4-6 Sơ đồ lớp phần ETSEngineControllerObject của Engine 35 ETSEngineDBManager: là nơi định nghĩa và cài đặt tất cả các interface, các class liên quan đến truy xuất cơ sở dữ liệu cùng các class cung cấp cơ chế cho việc truy xuất dữ liệu theo mơ hình n-tier. ETSEngineDBManager DatabaseInterface DBManager IQuestionManager ISectionManager IAssessmentManager IMemberManager . SQLSERVER SqlServerDBManager QuestionManager SectionManagerAssessmentManager MemberManager . XML .. Hình 4-7 Sơ đồ lớp phần ETSEngineDBManager 36 4.2.2 ETSONLINE Là phần ứng dụng chạy trên web của hệ thống. Đây là một web application, cĩ nhiệm vụ thực hiện các chức năng của hệ thống, bao gồm tất cả các cơng việc từ việc soạn câu hỏi, đề thi đến việc thi cử trên mạng. ETSONLINE là phần ứng dụng chính, quan trọng nhất của hệ thống. 4.2.2.1 Sơ đồ tổ chức của ứng dụng ETSONLINE ETSONLINE Các file ngơn ngữ Các trang web aspx Các file lưu thơng tin cấu hình Các trang user control ascx Các tài nguyên hình ảnh, flash... Đây là nơi thật sự chứa các thơng tin và các xử lý nghiệp vụ của hệ thống Hiện hệ thống hỗ trợ 2 ngơn ngữ tiếng Việt và tiếng Anh Các trang web này thực sự khơng chứa nội dung cũng như xử lý nghiệp vụ, thật sự chúng là các cổng điều phối các luồng xử lý vào thể hiện vào đúng vị trí cần thiết Các file template đề thi Các file plugin cần thiết của các bộ câu hỏi choiceInteraction inlineChoiceInteraction ... Hình 4-8 Sơ đồ tổ chức ứng dụng ETSONLINE 37 4.2.2.2 Sơ đồ tổ chức các lớp Tổ chức class ETSONLINE Các class của web pages Các bộ câu hỏi Default Testing MemberAdministration ImportExport Management ViewStatistics RestructureFolder ChooseQuestion ForSection ChooseSection ForAssessment Các class của user control CreateAssessment CreateNewFolder MoveFolder CreateSection ConfigUI Register CreateNews MoveMember ReportMemberResult CustomTestList ViewQuestionContainer ViewTest ViewSection SummaryQuestionList SummarySectionList SummaryAssessmentList SummaryMemberList SummarySectionList ViewProfile ViewQuestionStatistics PortalLeftMenu choiceInteraction inlineChoiceInteraction .. RestructureSections Global ... PortalTopMenu PortalHeader Hình 4-9 Sơ đồ tổ chức lớp trong ETSONLINE 38 4.2.2.3 Các chức năng chính: Ứng dụng ETSONLINE đã giải quyết được những vấn đề chính sau: (Một số vấn đề sẽ được trình bày tương đối chi tiết, một số phần khác sẽ được trình bày rõ hơn ở các chương sau trong các chương về module Quản lý, Soạn thảo, Plugin và Thi cử) 1. Tạo ra một cổng thơng tin đa năng portal đĩng vai trị là cổng vào của hệ thống dịch vụ thi cử trực tuyến mà chúng ta đang phát triển. Hình 4-10 Trang chủ ETSONLINE 39 2. Cĩ một vùng tiến trình quản lý theo cấp cây thư mục phục vụ cho việc sử dụng và quản lý các tài nguyên phân cấp dành cho cả nhà quản trị và cả các thành viên đĩng vai trị là giáo viên. Tài nguyên được quản lý phân cấp ở đây bao gồm: kho câu hỏi, kho bài thi, thư mục chứa thành viên và section. Hình 4-11 Phân cấp quản lý theo cấu trúc cây Hình 4-12 Trang quản lý chính của ETSONLINE 40 3. Cĩ các chức năng để soạn thảo ra các câu hỏi hồn chỉnh, và chỉnh sửa chúng. Trong việc soạn câu hỏi, cho phép plugin câu hỏi tùy ý, cho phép mở rộng tối đa khả năng thêm loại câu hỏi mới. Hình 4-13 Demo chức năng soạn thảo câu hỏi 4. Phân cấp xử lý soạn thảo, lưu trữ, xử lý thể hiện, xử lý tính điểm cho câu hỏi đến mức con nhất cĩ thể. Mỗi loại câu hỏi phải tự biết mình phải được soạn thảo bằng bộ editor nào, thể hiện bằng control nào, lưu trữ những thơng tin gì và chấm điểm ra sao. 5. Cĩ các chức năng tạo mới, chỉnh sửa đề thi một cách thuận tiện nhất, cĩ nhiều mẫu template bài thi để người giáo viên chọn lựa, đồng thời người giáo viên cĩ thể chỉnh sửa template này hoặc thêm một template mới hồn tồn một cách nhanh chĩng. 41 6. Quản lý nội dung đề thi theo dạng phân cấp, mỗi đề thi cĩ thể cĩ các phần đề thi con, và mỗi phần con này lại cĩ thể cĩ các phần con khác. Việc thay đổi cấu trúc nội dung đề thi chỉ đơn giản là check, bỏ check và kéo thả. 7. Cĩ các bộ editor soạn thảo đa năng, cĩ thể định dạng một cách dễ dàng font chữ, cỡ chữ, chèn các ký tự đặc biệt, chèn bảng biểu, chỉnh sửa các thuộc tính định dạng, chèn hình ảnh, video, flash, nhạc 8. Cĩ phần xử lý hiển thị đề thi cĩ các dạng câu hỏi với thể hiện và xử lý khác nhau mà khơng được biết trước. 9. Cĩ phần chấm điểm với khả năng tùy biến, chấm điểm theo cách xử lý riêng của từng loại câu hỏi. Muốn thay đổi cách chấm điểm của bất cứ loại câu hỏi nào cũng dễ dàng. 10. Thơng tin về kết quả lựa chọn khi làm bài thi và kết quả chi tiết của bài thi được lưu trữ đầy đủ, kỹ càng theo định dạng XML, giúp cho việc truy xuất, thống kê kết quả làm bài, theo dõi kết quả học tập cĩ thể thực hiện bất cứ lúc nào. Hình 4-14 Kết quả bài thi được truyền đi bằng XML 42 11. Thơng tin truyền thơng kết quả lựa chọn khi làm bài và kết quả chấm điểm đều sử dụng XML. 12. Đặc biệt, do hệ thống tuân theo đặc tả IMSQTI, một đặc tả dựa trên XML, hệ thống hiện tại cĩ chức năng kết xuất một hay nhiều tài nguyên kho câu hỏi ra định dạng chuẩn của đặc tả IMSQTI, từ đĩ, cĩ thể chia sẻ cơ sở dữ liệu với tất cả các hệ thống khác trên thế giới cĩ tuân theo đặc tả này. (Và cĩ thể import cơ sở dữ liệu từ các hệ thống khác trong tương lai). Chức năng kết xuất này sử dụng XSLT để chuyển đổi từ định dạng đang sử dụng sang định dạng chuẩn đúng đặc tả. Nội dung file XSLT làm nhiệm vụ chuyển đổi xin xem trong phần phụ lục. 13. Cĩ phần gửi tin nhắn ngắn gọn giúp giáo viên cĩ thể gửi tin nhắn nhanh đến sinh viên của mình qua cổng portal này. 14. Cung cấp một cơ chế web đa ngơn ngữ linh động. File ngơn ngữ được lưu trữ dưới dạng XML. Mỗi thành viên cĩ thơng tin cấu hình riêng. Khi đăng nhập vào trang web, ngơn ngữ hiển thị của trang web sẽ là ngơn ngữ mà thành viên này đã chọn. Một người chưa phải là thành viên cũng cĩ thể chọn ngơn ngữ hiển thị cho riêng mình. Khi cần thêm một ngơn ngữ mới, chỉ cần làm cơng việc hết sức đơn giản là thêm vào thư mục file ngơn ngữ một file ngơn ngữ của ngơn ngữ mình muốn thêm vào – file này chỉ việc lấy mẫu và cấu trúc bằng việc copy lại một file cĩ sẵn và dịch sang ngơn ngữ mới. Cấu trúc file XML lưu ngơn ngữ: Nội dung thẻ Nội dung thẻ Nội dung thẻ Nội dung thẻ Nội dung thẻ Nội dung thẻ Nội dung thẻ Nội dung thẻ 43 Nội dung thẻ Nội dung thẻ Nội dung thẻ Nội dung thẻ Ví dụ: Đăng nhập Tên đăng nhập Mật khẩu Tự động đăng nhập Bạn gặp trục trặc ? Hay là quên mật khẩu ? Đăng nhập Đăng nhập thành cơng! Bạn chưa cĩ tài khoản ? Vui lịng Đăng ký Tên đăng nhập và mật khẩu của bạn khơng hợp lệ. Vui lịng làm lại nhé! Bạn hãy nhập cả tên đăng nhập và mật khẩu Phục hồi mật khẩu Chúng tơi đã gửi cho bạn mật khẩu mới! Gửi mật khẩu Việc tạo mới mật khẩu bị lỗi Đăng ký thành viên mớir Thơng tin đăng ký Tên tài khoản Bạn chưa nhập tên tài khoản. Mật mã Bạn chưa nhập mật mã. Nhập lại mật mã Mật mã khơng giống nhau. Địa chỉ email Thơng tin cá nhân 44 Location Home Page Forum Preferences Múi giờ Tên tài khoản hoặc địa chỉ email của bạn đã được đăng ký rồi. Đăng ký Email khơng hợp lệ. 15. Cĩ cơ chế plugin các thành phần giao diện. Mỗi thành phần giao diện trên trang chủ là một component được phát triển riêng và tích hợp vào hệ thống. Nhà quản trị cĩ thể thêm bớt các component này vào hệ thống bằng cách đơn giản là copy, paste hay delete. 16. Cung cấp cho các thành viên khả năng cấu hình các thành phần giao diện. Mỗi thành viên cĩ thể cho phép hiển thị trên trang web những thành phần mình thích hay quan trọng với chính mình và tại vị trí bên trái hay bên phải tùy thích. 17. Cung cấp cơ chế bảo mật FormsAuthenticationTicket đảm bảo hệ thống website được bảo mật, phân quyền an tồn. Đảm bảo mỗi thành viên khơng thể truy cập vào tài khoản của các thành viên khác, đồng thời, những người chưa phải là thành viên khơng thể truy cập vào những khu vực chỉ dành riêng cho thành viên. 18. Tầng truy xuất cơ sở dữ liệu thực hiện viết code an tồn, dùng store procedure và truyền tham số theo parameter, giúp cho tránh được lỗ hổng Sql Injection. 45 4.2.3 ETSClient Là phần ứng dụng chạy trên windows. Là một windows application cĩ nhiệm vụ thực hiện bổ sung những tiện ích hữu dụng cho hệ thống phần mềm ở trên windows và thực hiện một số tính năng trợ giúp cho ứng dụng web nhằm đem lại những lợi ích về thời gian xử lý cũng như thuận tiện trong tương tác mà các ứng dụng web khơng cĩ được. Mục tiêu chính là: - Người giáo viên cĩ thể soạn đề thi, câu hỏi trên windows với những tiện ích tốt nhất cùng với tốc độ xử lý nhanh của máy client, khơng phụ thuộc tốc độ và sự ổn định của đường truyền internet. Sau đĩ, người giáo viên sẽ kết nối internet và upload đề thi lên tài khoản của mình trên server và sinh viên cĩ thể làm bài thi trên mạng. - Tạo ra phần dành cho thí sinh thi cử tập dượt ngay trên máy tính của mình khi load xong đề thi mẫu và các đề thi tham khảo trên server. - Thực hiện import đề thi từ các nguồn dữ liệu điện tử cĩ sẵn hoặc kết xuất đề thi người giáo viên đã soạn để cho sinh viên, học sinh của mình thi trên giấy. 46 4.2.3.1 Sơ đồ tổ chức của ứng dụng ETSClient Hình 4-15 Sơ đồ tổ chức ứng dụng ETSClient 47 4.2.3.2 Sơ đồ tổ chức các lớp Hình 4-16 Sơ đồ tổ chức lớp trong ETSClient 4.2.3.3 Các chức năng chính: Các chức năng chính trong ứng dụng ETSClient bao gồm: (Cũng như phần trên, một số vấn đề sẽ được trình bày tương đối chi tiết, một số phần khác sẽ được trình bày rõ hơn ở các chương sau trong các chương về module Quản lý, Soạn thảo, Plugin và Thi cử) 48 1. Quản lý theo cấp cây thư mục phục vụ cho việc sử dụng và quản lý các tài nguyên phân cấp dành cho cả nhà quản trị và cả các thành viên đĩng vai trị là giáo viên. 2. Cĩ các chức năng để soạn thảo ra các câu hỏi hồn chỉnh, và chỉnh sửa chúng. Trong việc soạn câu hỏi, cho phép plugin câu hỏi tùy ý, cho phép mở rộng tối đa khả năng thêm loại câu hỏi mới. Bộ soạn thảo trên windows là một phần của bộ câu hỏi mà trong đĩ cĩ bộ soạn thảo trên web. Mỗi loại câu hỏi phải tự biết mình phải được soạn thảo bằng bộ editor nào. 3. Cĩ các chức năng tạo mới, chỉnh sửa đề thi một cách thuận tiện nhất, cĩ nhiều mẫu template bài thi để người giáo viên chọn lựa, đồng thời người giáo viên cĩ thể chỉnh sửa template này hoặc thêm một template mới hồn tồn một cách nhanh chĩng. 4. Quản lý nội dung đề thi theo dạng phân cấp, mỗi đề thi cĩ thể cĩ các phần đề thi con, và mỗi phần con này lại cĩ thể cĩ các phần con khác. Việc thay đổi cấu trúc nội dung đề thi chỉ đơn giản là check, bỏ check và kéo thả, giống như ứng dụng trên web. 5. Cĩ các bộ editor soạn thảo đa năng, cĩ thể định dạng một cách dễ dàng Font chữ, cỡ chữ, chèn các ký tự đặc biệt, chèn bảng biểu, chỉnh sửa các thuộc tính định dạng, chèn hình ảnhĐặc biệt, ứng dụng trên windows cĩ bộ soạn thảo với input và output đều là HTML. Điều đĩ cĩ nghĩa là tất cả những gì người giáo viên trơng thấy khi soạn câu hỏi trên windows thì cũng sẽ trơng thấy như vậy khi câu hỏi được hiển thị trên web và ngược lại do đều cùng cĩ input và output vào editor là HTML. 6. Tầng truy xuất cơ sở dữ liệu thực hiện viết code an tồn, dùng store procedure và truyền tham số theo parameter, giúp cho tránh được lỗ hổng Sql Injection. 49 4.2.4 InteractionDefinition Là module tổ chức định nghĩa các interaction riêng cho các loại câu hỏi cụ thể. Định nghĩa của mỗi loại câu hỏi sẽ được sử dụng chung cho các plugin câu hỏi cả trên web và trên windows. 4.2.4.1 Sơ đồ tổ chức Hình 4-17 Sơ đồ tổ chức InteractionDefinition 4.2.4.2 Sơ đồ lớp Hình 4-18 Sơ đồ tổ chức lớp trong InteractionDefinition 50 4.2.5 ImportExportEngine Là module độc lập thực hiện khả năng import danh sách các câu hỏi từ Microsoft Word và export đề thi ngược lại ra Word, giúp ích cho việc nhập liệu nhanh chĩng hơn nữa, tận dụng lại các dữ liệu điện tử đã cĩ sẵn, đồng thời giúp cho đề thi được soạn ra khơng chỉ được dành cho thi cử trên web mà cịn cĩ thể in ra và tổ chức thi trên giấy một cách tự động. 4.2.6 QuestionsPlugins Là module cung cấp các dạng câu hỏi cụ thể cho phần ứng dụng web. Các dạng câu hỏi khác nhau đều được đưa vào hệ thống phần mềm dưới dạng plugin. Một bộ câu hỏi mới khi cài đặt vào ứng dụng web sẽ gồm file dll chứa định nghĩa interaction của loại câu hỏi đĩ, file dll chứa các class, xử lý soạn thảo, xử lý thể hiện, xử lý tính điểm riêng cĩ của loại câu hỏi mà nĩ định nghĩa cùng với các file user control (ascx) tương ứng. (Phần này sẽ được trình bày rõ hơn ở chương 7: Module plugin) 4.2.7 UserInterfacePlugins Là module cung cấp các plugin giao diện cho hệ thống ứng dụng web. Hệ thống plugin giao diện gồm 2 phần chính: phần plugin các gĩi hiển thị thơng tin trên trang chủ và phần plugin các gĩi skin hiển thị bài thi. (Phần này sẽ được trình bày rõ hơn ở chương 7: Module plugin) 4.2.8 ETSPluginService Là module cung cấp các dạng câu hỏi cụ thể cho phần ứng dụng windows. Cũng như phần ứng dụng trên web, các dạng câu hỏi khác nhau đều được đưa vào hệ thống phần mềm dưới dạng plugin. Một bộ câu hỏi mới khi cài đặt vào ứng dụng web sẽ gồm file dll chứa định nghĩa interaction của loại câu hỏi đĩ, file dll chứa các class, xử lý soạn thảo, xử lý thể hiện, xử lý tính điểm riêng cĩ của loại câu hỏi mà nĩ định nghĩa cùng với các file tài nguyên cần thiết. (Phần này sẽ được trình bày rõ hơn ở chương 7: Module plugin) 51 4.2.9 HelpCenter Đây là module cung cấp tất cả những gì liên quan đến các tài liệu, văn bản, bao gồm: - Hướng dẫn sử dụng cho hệ thống phần mềm trên web và trên windows. - Các tài liệu tra cứu kiến thức Anh văn, tin học và các mơn học phổ thơng khác. Module này được viết dưới dạng 1 website HTML. Mục tiêu là sử dụng cho cả ứng dụng web và windows, vừa là một website giúp đỡ đặt trên server, vừa là một cuốn user manual - hướng dẫn sử dụng. 4.2.9.1 Sơ đồ tổ chức HelpCenter Tra cứu kiến thức ELearning Trang chủ Hướng dẫn sử dụng chung Hướng dẫn sử dụng ETSClient Hướng dẫn sử dụng ETSONLINE Download tài liệu Liên hệ & tác giả Hình 4-19 Sơ đồ tổ chức HelpCenter 4.2.9.2 Giao diện Hình 4-20 HelpCenterMenu 52 Hình 4-21 Liên hệ tác giả Hình 4-22 Hướng dẫn sử dụng ETSONLINE 53 4.3 Thiết kế dữ liệu 4.3.1 Lược đồ các bảng dữ liệu Hình 4-23 Sơ đồ các bảng dữ liệu 4.3.2 Danh sách và chức năng các bảng dữ liệu Tên bảng Chức năng IMSQTIAssessment Lưu trữ thơng tin về các đề thi. IMSQTIFolder Lưu trữ thơng tin về các thư mục để quản lý. IMSQTIMember Lưu trữ thơng tin các tài khoản sử dụng hệ thống. IMSQTIQuestion Lưu trữ thơng tin về các câu hỏi. IMSQTISection Lưu trữ thơng tin về các section. Member_AssessmentDone Lưu trữ thơng tin kết quả thi của các thí sinh. 54 Member_Configuration Lưu trữ thơng tin cấu hình các thành phần giao diện của các tài khoản. MemberInRoles Lưu trữ thơng tin về quyền của các tài khoản. News Lưu trữ thơng tin về các tin tức của các giáo viên thơng báo cho sinh viên. Question_Section Ghi nhận section cĩ chứa các câu hỏi nào. Role Lưu trữ thơng tin về các loại quyền trong hệ thống. Section_Assessment Ghi nhận bài thi cĩ chứa các section nào. Section_AutoGeneratingInfo Lưu trữ thơng tin về loại section tự phát sinh câu hỏi. Hình 4-24 Danh sách các bảng dữ liệu 55 Chương 5 Module quản lý 5.1 Đặc tả yêu cầu chức năng của module quản lý Trong hệ thống hỗ trợ thi trắc nghiệm trực tuyến, module quản lý phải đảm nhiệm các chức năng sau đây: 1. Đăng ký thành viên. 2. Bảo mật thơng tin thành viên. 3. Bảo mật hệ thống, thực hiện cơ chế đăng nhập, phân quyền. 4. Quản lý câu hỏi 5. Quản lý đề thi 6. Quản lý các thành viên tham gia hệ thống gồm nhà quản trị, các giáo viên và các sinh viên. 7. Quản lý ngân hàng đề thi. 8. Quản lý ngân hàng câu hỏi. 9. Phát sinh các báo cáo, thống kê về ngân hàng câu hỏi, đề thi, danh sách thí sinh. 56 5.2 Mơ hình Use-Case 5.2.1 Lược đồ chính của mơ hình Use-Case 5.2.1.1 Lược đồ Student ConfigUserInterfaceCompon ent LoginRegister CreateFolderDeleteFolder RestructureFolder DeleteQuestion MoveQuestion ViewQuestionStatistics ExportToIMSQTI DeleteSection ViewSectionStatistics RestructureSection DeleteAssessment ViewAssessmentStatistics ExportToMSWord CreateMember ImportStudentList DeleteMember MoveMember ViewMemberStatistics ViewProfile Teacher UpdateDataFromWin Admin ChangeRole Hình 5-1 Mơ hình Use-Case module quản lý 57 5.2.1.2 Danh sách các Actor STT Actor Ý nghĩa 1 Admin Người quản trị hệ thống 2 Teacher Giáo viên 3 Student Sinh viên Bảng 5-1 Danh sách actor module quản lý 5.2.1.3 Danh sách các Use-Case chính STT Use-Case Ý nghĩa 1 ChangeRole Chuyển quyền của 1 tài khoản từ sinh viên sang giáo viên hoặc ngược lại 2 Login Chức năng đăng nhập vào hệ thống 3 Register Chức năng đăng ký tài khoản mới để bắt đầu sử dụng hệ thống 4 CreateFolder Thực hiện tạo mới 1 thư mục con 5 DeleteFolder Xĩa 1 thư mục 6 RestructureFolder Cấu trúc lại cây thư mục 7 DeleteQuestion Xĩa 1 câu hỏi khỏi cơ sở dữ liệu 8 MoveQuestion Di chuyển 1 câu hỏi sang 1 thư mục khác 9 ViewQuestionStatistics Xem thơng tin thống kê về 1 câu hỏi 10 ExportToIMSQTI Export các câu hỏi ra file xml theo đúng chuẩn IMSQTI 11 DeleteSection Xĩa section trong CSDL 12 ViewSectionStatistics Xem thơng tin thống kê về 1 section 13 RestructureSection Thực hiện cấu trúc lại quan hệ giữa các section 14 DeleteAssessment Xĩa bài thi trong CSDL 15 ViewAssessmentStatistics Xem thơng tin thống kê về 1 bài thi 58 16 ExportToMSWord Kết xuất bài thi ra file word 17 CreateMember Tạo mới 1 sinh viên 18 ImportStudentList Import 1 danh sách các sinh viên từ file excel 19 DeleteMember Xĩa 1 tài khoản trong CSDL 20 MoveMember Di chuyển 1 tài khoản sang 1 thư mục khác 21 ViewMemberStatistics Xem thơng tin thống kê về 1 sinh viên 22 ViewProfile Xem tất cả thơng tin về 1 tài khoản 23 UpdateDataFromWin Thực hiện cập nhật dữ liệu về câu hỏi, bài thi từ hệ thống windows lên hệ thống web 24 ConfigUserInterfaceComponent Cấu hình lại các thành phần giao diện Bảng 5-2 Danh sách Use-Case module quản lý 5.2.2 Đặc tả một số Use-Case chính 5.2.2.1 Đặc tả Use-Case “CreateFolder” 5.2.2.1.1 Tĩm tắt Use-case này cho phép giáo viên tạo thêm 1 thư mục là con của 1 thư mục khác trong CSDL. 5.2.2.1.2 Dịng sự kiện 5.2.2.1.2.1 Dịng sự kiện chính 1. Use-case này bắt đầu khi giáo viên chọn vào link “Create child folder”. 2. Hệ thống lưu giữ lại loại thư mục cần tạo (thư mục chứa tài khoản, câu hỏi hay bài thi) và mã của thư mục cha được chọn. 3. Hệ thống lấy thơng tin về thư mục cha thơng qua mã. 4. Hệ thống hiển thị màn hình các thơng tin đã chọn và cho phép giáo viên nhập tên thư mục cần tạo. 59 5. Giáo viên nhấn nút “Create” để xác nhận việc tạo thư mục mới. 6. Hệ thống thêm 1 thư mục mới vào cơ sở dữ liệu. 7. Hệ thống load lại trang web để thêm thư mục mới vào cây thư mục. 5.2.2.1.2.2 Các dịng sự kiện khác Giáo viên chưa nhập tên thư mục cần tạo Nếu giáo viên chưa nhập tên thư mục cần tạo mà đã nhấn nút xác nhận việc tạo mới thì hệ thống sẽ cĩ thơng báo lỗi. 5.2.2.1.3 Các yêu cầu đặc biệt Giáo viên phải chọn vào 1 nút trên cây thư mục (tức là chọn thư mục cha) thì mới cĩ thể nhấn vào link tạo thư mục con. 5.2.2.1.4 Điều kiện tiên quyết Người dung phải đăng nhập thành cơng với tài khoản cĩ quyền giáo viên hay người quản trị. 5.2.2.1.5 Điều kiện kết thúc Khơng cĩ. 5.2.2.1.6 Điểm mở rộng Khơng cĩ. 5.2.2.2 Đặc tả Use-Case “ChangeRole” 5.2.2.2.1 Tĩm tắt Use-case này cho phép nhà quản trị chuyển quyền 1 tài khoản từ quyền “sinh viên” thành quyền “giáo viên” và ngược lại. 5.2.2.2.2 Dịng sự kiện 5.2.2.2.2.1 Dịng sự kiện chính 60 1. Use-case này bắt đầu khi người dùng chọn vào nút xác nhận sự chuyển quyền. 2. Hệ thống đọc thơng tin của tài khoản muốn thay đổi quyền. 3. Hệ thống ghi nhận lại quyền hiện tại và quyền muốn chuyển thành. 4. Người quản trị nhấn nút xác nhận lại yêu cầu thay đổi. 5. Nếu 2 quyền khác nhau, hệ thống sẽ ghi nhận sự thay đổi quyền của tài khoản trong CSDL. 6. Nếu quyền mới là “giáo viên”, hệ thống sẽ tạo ra các thư mục quản lý tương ứng bao gồm thư mục gốc, thư mục ngân hàng câu hỏi, thư mục ngân hàng đề thi và thư mục quản lý sinh viên. 5.2.2.2.2.2 Các dịng sự kiện khác Quyền hiện tại và quyền muốn chuyển thành giống nhau Hệ thống thơng báo cho người dùng là 2 quyền giống nhau và use- case ngừng. Nếu quyền muốn chuyển thành là “sinh viên” Hệ thống thực hiện từ bước 1Ỉ bước 5 giống dịng sự kiện chính. Bước tiếp theo là hệ thống sẽ xĩa hết các thơng tin quản lý thuộc tài khoản đĩ, tức là xĩa các câu hỏi, các section, các bài thi và các tài khoản thuộc quyền quản lý của tài khoản bị thay đổi quyền, đồng thời xĩa các thư mục quản lý thuộc về tài khoản đang xử lý. 5.2.2.2.3 Các yêu cầu đặc biệt Khơng cĩ. 5.2.2.2.4 Điều kiện tiên quyết Người dùng phải đăng nhập thành cơng vào hệ thống với quyền người quản trị. 5.2.2.2.5 Điều kiện kết thúc Khơng cĩ. 61 5.2.2.2.6 Điểm mở rộng Khơng cĩ. 5.2.2.3 Đặc tả Use-Case “CreateMember” 5.2.2.3.1 Tĩm tắt Use-case này cho phép người dùng tạo 1 tài khoản mới thuộc quyền quản lý của mình. 5.2.2.3.2 Dịng sự kiện 5.2.2.3.2.1 Dịng sự kiện chính 1. Use-case này bắt đầu khi người dùng chọn vào liên kết “Create new member”. 2. Hệ thống ghi nhận lại thơng tin người dùng này. 3. Hệ thống mở ra trang điền thơng tin tài khoản muốn tạo ra. 4. Người dùng nhấn nút “Create” để xác nhận yêu cầu tạo mới. 5. Hệ thống tạo mới 1 tài khoản trong CSDL, tài khoản này thuộc thư mục thành viên của người dùng đang đăng nhập vào hệ thống. 5.2.2.3.2.2 Các dịng sự kiện khác Khơng cĩ. 5.2.2.3.3 Các yêu cầu đặc biệt Khơng cĩ. 5.2.2.3.4 Điều kiện tiên quyết Người dùng phải đăng nhập thành cơng vào hệ thống với quyền giáo viên hay người quản trị. 5.2.2.3.5 Điều kiện kết thúc Khơng cĩ. 62 5.2.2.3.6 Điểm mở rộng Khơng cĩ. 5.2.2.4 Đặc tả Use-Case “UpdateDataFromWin” 5.2.2.4.1 Tĩm tắt Use-case này cho phép giáo viên cập nhật dữ liệu ngân hàng câu hỏi, đề thi của mình từ CSDL riêng trên windows lên CSDL chung trên web 5.2.2.4.2 Dịng sự kiện 5.2.2.4.2.1 Dịng sự kiện chính 1. Use-case này bắt đầu khi người dùng chọn yêu cầu “Synchronization”. 2. Hệ thống sẽ yêu cầu người dùng nhập địa chỉ máy chủ. 3. Hệ thống sẽ tạo kết nối với cơ sở dữ liệu trên máy chủ được cung cấp. 4. Hệ thống sẽ yêu cầu người dùng nhập tên tài khoản và mật khẩu để đăng nhập vào hệ thống trên mạng. 5. Người dùng nhấn nút xác nhận đăng nhập. 6. Hệ thống sẽ lấy tất cả dữ liệu của người dùng trên cơ sở dữ liệu trên windows. 7. Hệ thống kiểm tra dữ liệu của người dùng trên web và thực hiện cập nhật với dữ liệu mới lấy từ windows. 5.2.2.4.2.2 Các dịng sự kiện khác Địa chỉ máy chủ khơng chính xác Hệ thống thơng báo lỗi khơng kết nối được và use-case ngừng. Tên tài khoản hay mật khẩu dùng để đăng nhập vào hệ thống trên mạng khơng đúng Hệ thống thơng báo khơng thể đăng nhập và yêu cầu nhập lại. 5.2.2.4.3 Các yêu cầu đặc biệt Người dùng phải kết nối internet. 63 5.2.2.4.4 Điều kiện tiên quyết Người dùng phải đăng nhập thành cơng vào hệ thống với quyền giáo viên. 5.2.2.4.5 Điều kiện kết thúc Khơng cĩ. 5.2.2.4.6 Điểm mở rộng Khơng cĩ. 5.2.2.5 Đặc tả Use-Case “ExportToMSWord” 5.2.2.5.1 Tĩm tắt Use-case này cho phép người dùng export 1 bài thi ra dạng file .doc. 5.2.2.5.2 Dịng sự kiện 5.2.2.5.2.1 Dịng sự kiện chính 1. Use-case này bắt đầu khi người dùng chọn yêu cầu kết xuất đề thi ra file. 2. Hệ thống hiển thị trang kết xuất đề thi ra file. 3. Hệ thống yêu cầu người dùng lựa chọn các tùy chọn kết xuất. 4. Hệ thống sẽ đọc thơng tin của đề thi được chọn. 5. Hệ thống tạo ra file word mới. 6. Hệ thống kết xuất các thơng tin như tiêu đề bài thi, header, footer ra file. 7. Hệ thống xây dựng định dạng file word cho phù hợp với các tùy chọn. 8. Hệ thống bắt đầu kết xuất các section, câu hỏi thuộc đề thi đang được xử lý. 9. Với mỗi câu hỏi, hệ thống sẽ đọc file xml cấu hình câu hỏi và load đúng lớp xử lý export của câu hỏi đĩ và thực hiện kết xuất câu hỏi đĩ ra file. 64 10. Hệ thống lưu file lại và ghi nhận đường link đến file đĩ để thơng báo cho người dùng. 5.2.2.5.2.2 Các dịng sự kiện khác Khơng cĩ. 5.2.2.5.3 Các yêu cầu đặc biệt Yêu cầu hệ thống được cài trên máy cĩ sẵn Microsoft word. 5.2.2.5.4 Điều kiện tiên quyết Người dùng phải đăng nhập thành cơng vào hệ thống với quyền giáo viên. 5.2.2.5.5 Điều kiện kết thúc Khơng cĩ. 5.2.2.5.6 Điểm mở rộng Khơng cĩ. 5.3 Các lược đồ tuần tự chính 5.3.1 Lược đồ tuần tự “CreateFolder”: : Teacher : pManagement : pCreateFolder : Engine.FolderController 1: // choose "Create child folder" 2: GetFolderById() 3: // show page 4: OnBtnCreate_Click() 5: CreateNewFolder() 6: // refresh in order to update folder tree 65 5.3.2 Lược đồ tuần tự “ChangeRole”: : Admin : pViewProfile : Engine.RoleController : Engine.FolderController 1: // choose "ChangeRole" 2: OnBtnChangeRole_Click() 4: // CreateNewFolder() If new role == "teacher" 3: UpdateRole() If new role old role 5.3.3 Lược đồ tuần tự “CreateMember”: : Teacher : pManagement : pCreateMember : Engine.MemberController 1: // choose "Create new member" 2: // show page 3: OnBtnCreate_Click() 4: CreateNewMember() 66 5.3.4 Lược đồ tuần tự “UpdateDataFromWin”: : Teacher : pManagement : pSynchronization : SynchronizationCotroller 1: // choose "Synchronization" 2: // show page 3: // input Server address 4: // input Username & Password 6: OnBtnSynchronize_Click() 5: Connect() 7: UpdateDataFromWin() 5.3.5 Lược đồ tuần tự “ExportToMSWord”: : Teacher : pManagement : pExport : Engine.ExportEngine : Engine.AssessmentController : Engine.SectionController : Engine.QuestionController 1: // choose "Export assessment to Word 2: // show page 3: // choose options for exporting 4: OnBtnExport_Click() 5: ExportToMSWord() 6: GetAssessmentById() 8: GetAllSectionsInAssessment() 10: GetAllQuestionsInSection 7: BuildAssessment() 9: BuildSections 11: BuildQuestions 67 5.4 Các màn hình giao diện chính và hướng dẫn sử dụng 5.4.1 Chức năng quản lý câu hỏi 5.4.1.1 Mơ tả chức năng Với mỗi câu hỏi, chức năng quản lý câu hỏi cho phép người dùng thực hiện các yêu cầu sau: - Xem chi tiết, xĩa, di chuyển từng câu hỏi. - Xem thơng tin thống kê của câu hỏi. 5.4.1.2 Màn hình giao diện trên web Hình 5-2 Quản lý danh sách câu hỏi trên web 68 Hình 5-3 Xem thơng tin thống kê của câu hỏi 5.4.1.3 Màn hình giao diện trên window Hình 5-4 Quản lý danh sách câu hỏi trên windows 69 5.4.2 Chức năng quản lý đề thi 5.4.2.1 Mơ tả chức năng Với mỗi đề thi, chức năng quản lý đề thi cho phép người dùng thực hiện các yêu cầu sau: - Xem chi tiết, xĩa từng đề thi. - Xem thơng tin thống kê của câu hỏi. - Kết xuất đề thi ra file .doc. 5.4.2.2 Màn hình giao diện trên web Hình 5-5 Quản lý danh sách bài thi trên web 70 Màn hình kết xuất đề thi ra file Word Hình 5-6 Kết xuất đề thi ra file Word Mẫu kết xuất là yêu cầu chọn file template cho thể hiện của đề thi trên giấy. Các template này được tạo sẵn và chứa trong thư mục WordFile Templates của hệ thống. Cách trình bày câu hỏi là tùy chọn sắp xếp các câu hỏi thành 1 cột, 2 cột Đánh số lại là tùy chọn đánh số câu hỏi lại từ đầu với mỗi section. Ngắt trang theo section là tùy chọn mỗi section sẽ sang 1 trang mới. Sau khi hồn tất các lựa chọn, giáo viên nhấn nút “Kết xuất” để yêu cầu hệ thống thực hiện yêu cầu kết xuất. 71 Hình 5-7 Xem thơng tin thống kê bài thi 5.4.3 Chức năng quản lý thành viên 5.4.3.1 Mơ tả chức năng Với mỗi thành viên (tài khoản), chức năng quản lý thành viên cho phép người dùng thực hiện các yêu cầu sau: - Tạo tài khoản sinh viên mới. - Nhập danh sách sinh viên từ file excel. - Sửa, xĩa, di chuyển tài khoản. - Xem chi tiết thơng tin tài khoản. - Xem thơng tin thống kê về tài khoản. 72 5.4.3.2 Màn hình giao diện trên web Hình 5-8 Quản lý danh sách thành viên trên web Hình 5-9 Xem hồ sơ thành viên 73 Hình 5-10 Import danh sách sinh viên từ file Excel Giáo viên nhấn nút “Tìm file ” và chỉ đến file excel chứa thơng tin về các sinh viên muốn import vào hệ thống. Cĩ 4 cột bắt buộc phải cĩ là Mã sinh viên, Họ sinh viên, Tên sinh viên, Mật khẩu để đăng nhập vào hệ thống. Mã sinh viên sẽ được dùng làm tên tài khoản dùng để đăng nhập. Các thơng tin thêm sẽ được liệt kê theo thứ tự cột trong file excel, mỗi thơng tin cách nhau bởi dấu “;”. Sau khi hồn tất, giáo viên nhấn nút “Upload” để xác nhận yêu cầu tải file excel lên web và thực hiện import. Hình 5-11 Di chuyển thành viên đang được chọn Giáo viên chọn một nhĩm tài khoản khác rồi nhấn nút “Di chuyển” để xác nhận và yêu cầu hệ thống cập nhật sự thay đổi. 74 Hình 5-12 Xem thơng tin thống kê về tình hình trả lời câu hỏi của sinh viên 75 5.4.3.3 Màn hình giao diện trên windows Hình ...ủa đề thi. - Ghi chú cuối đề thi hay cịn gọi là footer là những lời dặn dị dành cho các thí sinh được ghi ở cuối đề thi. - Điểm đạt là điểm yêu cầu thí sinh phải đạt đến nếu muốn vượt qua kỳ thi. - Mẫu thể hiện bài thi là chọn template được tạo sẵn dành cho việc thể hiện bài thi khi thi. 98 - Kết quả bài thi là tùy chọn cho phép sinh viên được xem kết quả ngay sau khi thi hoặc là sinh viên phải gọi điện đến tổng đài thơng báo kết quả của hệ thống để nghe kết quả thi. - Sau khi hồn tất quá trình soạn thảo, giáo viên nhấn nút “Tạo mới” để thêm đề thi vào cơ sở dữ liệu. 6.4.5.2 Màn hình giao diện trên windows Hình 6-14 Soạn thảo đề thi trên windows 99 6.4.6 Chức năng “Biên tập nội dung đề thi” Biên tập nội dung đề thi chính là cung cấp các thơng tin về các section cho đề thi. Đề thi cĩ thể cĩ 1 hay nhiều section. 6.4.6.1 Màn hình giao diện trên web Giáo viên cĩ thể thực hiện thao tác này bằng cách chọn liên kết “Chọn các section”. Hình 6-15 Chọn section cho bài thi trên web Giáo viên chọn từng section cho đề thi của mình. Quy định là ƒ Nếu chọn section cha thì mặc nhiên các section con cũng sẽ được chọn. ƒ Nếu 1 section được chọn, rồi 1 section con của section đĩ bị bỏ chọn thì section cha cũng sẽ khơng được chọn nữa. Sau khi hồn tất việc lựa chọn, giáo viên nhấn vào liên kết “Cập nhật danh sách section” để hệ thống ghi nhận lại. 100 6.4.6.2 Màn hình giao diện trên windows Hình 6-16 Chọn section cho bài thi trên windows 101 Chương 7 Module plugin 7.1 Mục đích và vị trí của plugin trong hệ thống Mục đích của việc plugin là giúp tạo ra một hệ thống linh hoạt và cĩ tính tiến hĩa cao. Nhờ vào sự linh hoạt đĩ mà người sử dụng bao gồm cả giáo viên, sinh viên và nhà quản trị cĩ khả năng cấu hình hệ thống một cách linh hoạt tùy theo sở thích. Các câu hỏi, các thành phần giao diện và các template bài thi cĩ thể được đưa vào và lấy ra hệ thống một cách dễ dàng, việc mở rộng trở nên đơn giản và nhanh chĩng. Hình 7-1 Minh họa plugin Trong hệ thống dịch vụ thi cử trực tuyến này, cĩ 3 vị trí cung cấp cơ chế plugin, bao gồm: o Plugin câu hỏi: đây là plugin quan trọng nhất, chiếm tỉ lệ lớn trong số các chức năng và quyết định sự thành bại của hệ thống. Hiện tại, cơ chế plugin câu hỏi đã hồn thành và hoạt động tốt, thể hiện qua việc 102 một số loại câu hỏi quan trọng nhất của thi trắc nghiệm đã được plugin vào và hoạt động tốt. o Plugin các thành phần giao diện: phần plugin này giúp cho việc sử dụng trang chủ của ứng dụng web trở nên thân thiện và tiện lợi hơn khi nĩ cho phép người dùng cĩ thể tùy biến vị trí các thành phần giao diện, thêm hay bớt một số nào đĩ và thơng tin cấu hình này sẽ được lưu lại trong tài khoản của mỗi thành viên. o Plugin template bài thi: trong cơ chế hiển thị bài thi, hệ thống ETSONLINE cĩ khả năng load động các template bài thi trong một thư mục quy ước và theo sự chỉ định của người giáo viên. Khi tạo đề thi, người giáo viên cĩ thể chỉ định rằng họ muốn dùng template nào trong số các template đang cĩ mà hệ thống tự động nhận biết và hiển thị danh sách. Nếu khơng muốn dùng những template cĩ sẵn, chúng ta hồn tồn cĩ thể cung cấp thêm các template mới một cách dễ dàng bằng cách tạo file template tùy ý theo một số quy ước nhỏ và chép vào một vị trí đã định trên server. 7.2 Tổ chức một bộ plugin câu hỏi Một bộ plugin câu hỏi sẽ gồm 2 phần chính: o Phần plugin cho ứng dụng web. o Phần plugin cho ứng dụng windows. Tuy mỗi phần lúc phát triển đều cĩ các file resource, file class, và nhiều file khác, nhưng khi triển khai plugin gắn 1 bộ câu hỏi mới vào hệ thống, thì chỉ cần cung cấp các file như sau: - Phần cho web: o Chép các file ascx vào thư mục cĩ tên quy ước. o Chép các file dll vào thư mục bin của web application ETSONLINE. o Chép các file tài nguyên hình ảnh vào thư mục images trong thư mục root của web application. 103 o Chép file cấu hình Loai_Cau_Hoi.xml. - Phần cho windows: o Chép các file dll vào thư mục chứa file thực thi ETS.exe o Chép các file tài nguyên hình ảnh vào thư mục images trong thư mục chứa file ETS.exe. o Chép file cấu hình Loai_Cau_Hoi.xml. Hình 7-2 Tổ chức 1 bộ câu hỏi 104 7.3 Plugin template đề thi Các template thể hiện (mẫu thể hiện) bài thi được nhà quản trị plugin vào hệ thống. Sau đĩ, khi người giáo viên tạo đề thi, người giáo viên cĩ thể chọn cho bài thi của mình một template nào đĩ. Danh sách template được hệ thống tự động tìm kiếm và hiển thị lên cho người giáo viên chọn lựa. Khi hiển thị bài thi, hệ thống sẽ kiểm tra xem bài thi đĩ dùng template bài thi nào và tự động load template đĩ lên, sử dụng cho bài thi đĩ. Việc sử dụng template giúp cho các bài thi cĩ thể trình bày theo nhiều phong cách khác nhau, tùy biến và độc đáo. Hiện tại, hệ thống đang hỗ trợ 3 template: Default (mặc định), Smoke (sương khĩi) và Wave (sĩng lượn). Tuy nhiên, nhà quản trị cĩ thể thêm mới một template khác bất cứ lúc nào một cách dễ dàng. 7.3.1 Các bước để tạo một template o Tạo file HTML template tùy thích. o Đặt lại tên file là: Testing.aspx. o Trên đầu file thêm vào dịng chỉ thị: <%@Page language="c#" Codebehind="Testing.aspx.cs" AutoEventWireup="false" Inherits="ETSONLINE.Testing" %> o Trong phần body của file HTML này, chọn một vị trí muốn đặt các câu hỏi và đặt thuộc tính cho 1 control ở chỗ đĩ là: id="MainPlaceHolder" và runat="server". o Lưu template này vào một thư mục với tên thư mục là tên của template. o Copy thư mục này vào thư mục AssessmentTemplates của ứng dụng ETSONLINE. 105 7.3.2 Hình ảnh giao diện: 7.3.2.1 Template mặc định: Hình 7-3 Template mặc định của bài thi 106 7.3.2.2 Template smoke skin: Hình 7-4 Template smoke skin 107 7.3.2.3 Template wave skin: Hình 7-5 Template wave skin 108 7.4 Plugin thành phần giao diện Các thành phần giao diện được gắn vào hệ thống ETSONLINE dưới dạng plugin. Nhà quản trị khi muốn trên trang web của mình cĩ thêm một thành phần giao diện nào đĩ, chỉ cần thêm vào hệ thống các plugin về các thành phần giao diện mình cần. Sau đĩ, các giáo viên và sinh viên khi sử dụng trang web, cĩ thể cấu hình trang web theo ý mình, cho hiện những gì mình quan tâm và chỉ định vị trí của chúng mà mình muốn. Khi hiển thị trang web, ứng dụng sẽ kiểm tra xem người dùng đã đăng nhập chưa. Nếu chưa đăng nhập thì sẽ load các thành phần giao diện mặc định. Nếu đã đăng nhập, hệ thống sẽ truy xuất vào cơ sở dữ liệu, lấy về các thơng tin cấu hình của người dùng và load các control giao diện theo như cấu hình người dùng đĩ đã chọn trong lần gần đây nhất vào sử dụng trang web. Hình ảnh các plugin: Hình 7-6 Chỉnh sửa cấu hình giao diện 109 Hình 7-7 Plugin cột trái Hình 7-8 Plugin cột phải 110 Hình 7-9 Các plugin hiển thị theo lựa chọn của người dùng 111 Chương 8 Module tổ chức thi cử 8.1 Đặc tả yêu cầu chức năng của module tổ chức thi cử Trong hệ thống hỗ trợ thi trắc nghiệm trực tuyến, module tổ chức thi phải đảm nhiệm các chức năng sau đây: 1. Cho phép người dự thi làm một bài thi. 2. Lưu giữ thơng tin kết quả thi. 3. Thơng báo kết quả thi cho sinh viên qua điện thoại, mail hoặc xem trực tiếp trên web. 4. Tra cứu danh sách thí sinh thi 1 bài thi nào đĩ. 5. Tra cứu kết quả thi của 1 bài thi nào đĩ. 8.2 Mơ hình Use-Case 8.2.1 Lược đồ chính của mơ hình Use-Case 8.2.1.1 Lược đồ DoTest Student RequestResult ViewContestants Teacher ViewMemberResults Hình 8-1 Sơ đồ Use-Case module thi cử 112 8.2.1.2 Danh sách các Actor STT Actor Ý nghĩa 1 Teacher Giáo viên 2 Student Sinh viên Bảng 8-1 Danh sách actor module thi cử 8.2.1.3 Danh sách các Use-Case chính STT Use-Case Ý nghĩa 1 DoTest Thể hiện bài thi cho sinh viên và chấm điểm, lưu trữ lại kết quả 2 RequestResult Thơng báo kết quả thi cho sinh viên. 3 ViewContestants Xem danh sách sinh viên đăng ký thi 1 bài thi 4 ViewMemberResults Xem kết quả thi của tất cả các sinh viên đã thi 1 bài thi Bảng 8-2 Danh sách Use-Case module thi cử 8.2.2 Đặc tả một số Use-Case chính 8.2.2.1 Đặc tả Use-case “DoTest”: 8.2.2.1.1 Tĩm tắt: Use-case này cho phép sinh viên thực hiện thi 1 bài thi. 8.2.2.1.2 Dịng sự kiện: 8.2.2.1.2.1 Dịng sự kiện chính: 1. Use-case bắt đầu khi sinh viên chọn link “Custom tests”. 2. Hệ thống sẽ tìm tất cả các bài thi thuộc quyền quản lý của giáo viên phụ trách sinh viên đang đăng nhập vào hệ thống. 3. Hệ thống hiển thị danh sách các bài thi tìm được và đang ở trong trạng thái được phép thi. 113 4. Sinh viên chọn vào 1 link liên kết đến bài thi phải thi. 5. Hệ thống đọc tất cả các thơng tin lien quan đến bài thi được chọn. 6. Hệ thống thực hiện việc hiển thị nội dung bài thi. 7. Với mỗi câu hỏi trong bài thi, hệ thống phải tìm xem câu hỏi đĩ thuộc loại nào, sau đĩ đọc file xml cấu hình loại câu hỏi đĩ để tìm đúng control xử lý thể hiện để hiển thị cho đúng câu hỏi. 8. Sinh viên bắt đầu thi, hệ thống bắt đầu tính giờ thi. 9. Sau khi làm xong, sinh viên nhấn nút “Finish” hoặc đã hết giờ làm bài, hệ thống thực hiện cơng việc chấm điểm. 10. Với mỗi câu hỏi trong bài thi, hệ thống phải tìm xem câu hỏi đĩ thuộc loại câu hỏi nào, sau đĩ đọc file xml cấu hình loại câu hỏi đĩ để tìm đúng lớp xử lý chấm điểm và bắt đầu ghi nhận kết quả của câu hỏi đang chấm. 11. Hệ thống lưu trữ kết quả của tất cả câu hỏi trong bài thi trong một chuỗi xml và lưu vào CSDL. 12. Hệ thống sẽ dựa vào yêu cầu của giáo viên đối với bài thi mà cho phép sinh viên xem kết quả ngay hay phải gọi điện thoại đến số điện thoại thơng báo kết quả thi của hệ thống. 13. Nếu giáo viên đồng ý cho xem kết quả ngay lập tức, hệ thống sẽ hiển thị 1 liên kết đến trang kết quả thi của sinh viên vừa thi. 14. Sinh viên chọn vào đường link để xem kết quả. 15. Hệ thống đọc trong CSDL chuỗi xml lưu kết quả vừa thi. 16. Hệ thống đọc chuỗi xml và hiển thị kết quả cho sinh viên. 8.2.2.1.2.2 Các dịng sự kiện khác: Sinh viên khơng được xem kết quả sau khi thi Use-case ngừng. 8.2.2.1.3 Các yêu cầu đặc biệt: Khơng cĩ. 114 8.2.2.1.4 Điều kiện tiên quyết: Người dùng phải đăng nhập thành cơng vào hệ thống với quyền sinh viên. 8.2.2.1.5 Điều kiện kết thúc: Khơng cĩ. 8.2.2.1.6 Điểm mở rộng: Khơng cĩ. 8.2.2.2 Đặc tả Use-case “RequestResult”: 8.2.2.2.1 Tĩm tắt: Use-case này cho phép sinh viên yêu cầu được biết kết quả của 1 bài thi mà sinh viên này đã làm. 8.2.2.2.2 Dịng sự kiện: 8.2.2.2.2.1 Dịng sự kiện chính: 1. Use-case bắt đầu khi sinh viên gọi đến số điện thoại thơng báo kết quả của hệ thống. 2. Hệ thống sẽ yêu cầu sinh viên nhập vào tên tài khoản và ngày thi. 3. Hệ thống sẽ tìm tất cả các bài thi mà sinh viên đĩ đã thi trong ngày yêu cầu. 4. Hệ thống sẽ thơng báo cho sinh viên tên tất cả các bài thi tìm được theo thứ tự thời gian. 5. Sinh viên nhập vào số thứ tự của bài thi muốn biết kết quả. 6. Hệ thống thơng báo kết quả của bài thi cho sinh viên. 8.2.2.2.2.2 Các dịng sự kiện khác: Sinh viên nhập tên tài khoản khơng đúng Hệ thống thơng báo là tên tài khoản khơng hợp lệ. Sinh viên nhập ngày thi khơng đúng 115 Hệ thống sẽ thơng báo là trong ngày đĩ sinh viên khơng thực hiện bài thi nào cả. Sinh viên chọn số thứ tự bài thi vượt ra khỏi khoảng cho phép Hệ thống sẽ yêu cầu sinh viên chọn lại, cho đến khi sinh viên chọn đúng hoặc nhập ký hiệu kết thúc. 8.2.2.2.3 Các yêu cầu đặc biệt: Khơng cĩ. 8.2.2.2.4 Điều kiện tiên quyết: Khơng cĩ. 8.2.2.2.5 Điều kiện kết thúc: Khơng cĩ. 8.2.2.2.6 Điểm mở rộng: Khơng cĩ. 8.2.2.3 Đặc tả Use-Case “ViewMemberResults” 8.2.2.3.1 Tĩm tắt Use-case này cho phép người dùng xem kết quả thi của các sinh viên đã thi 1 bài thi nào đĩ. 8.2.2.3.2 Dịng sự kiện 8.2.2.3.2.1 Dịng sự kiện chính 1. Use-case này bắt đầu khi người dùng chọn yêu cầu “View all member ‘s results”. 2. Hệ thống ghi nhận lại đề thi nào được yêu cầu xem kết quả thi. 3. Hệ thống đọc trong cơ sở dữ liệu các sinh viên nào đã thi bài thi đĩ. 4. Hệ thống lấy kết quả thi bài thi đĩ của từng sinh viên trong danh sách đọc được. 116 5. Hệ thống phân tích chuỗi kết quả của các thí sinh (chuỗi kết quả được lưu dưới dạng xml). 6. Hệ thống mở ra trang mới hiển thị danh sách thí sinh cùng kết quả chi tiết bài thi. 8.2.2.3.2.2 Các dịng sự kiện khác Khơng cĩ. 8.2.2.3.3 Các yêu cầu đặc biệt Khơng cĩ. 8.2.2.3.4 Điều kiện tiên quyết Người dùng phải đăng nhập thành cơng vào hệ thống với quyền giáo viên hoặc người quản trị. 8.2.2.3.5 Điều kiện kết thúc Khơng cĩ. 8.2.2.3.6 Điểm mở rộng Khơng cĩ. 117 8.3 Các lược đồ tuần tự chính 8.3.1 Lược đồ tuần tự “DoTest” : Student : pManagement : pTesting : Engine.AssessmentController : Engine.SectionController : Engine.QuestionController 1: // choose "Custom Tests" 2: // show list assessments 3: // choose assessment 4: // show page 5: GetAssessmentById() 6: GetAllSectionsInAssessment() 7: GetAllQuestionsInSection() 8: // read question type information from file xml in order to load right view control to show question 9: // do test 10: // finish 11: OnBtnFinish_Click() 118 8.3.2 Lược đồ tuần tự “RequestResult” 8.3.3 Lược đồ tuần tự “ViewMemberResults” 8.4 Giao diện và hướng dẫn sử dụng 8.4.1 Sơ đồ màn hình giao diện Hình 8-2 Sơ đồ các màn hình giao diện module thi cử 8.4.2 Chức năng thi Thí sinh sau khi chọn chức năng “Thi” thì màn hình sẽ hiển thị danh sách các bài thi thuộc quyền quản lý của giáo viên phụ trách thí sinh đĩ. Thí sinh chọn 1 bài thi muốn thi. Màn hình sẽ hiển thị nội dung đầy đủ của bài thi được chọn. Thí sinh thao tác trả lời trực tiếp trên trang màn hình này. Sau khi hồn tất bài thi, thí sinh sẽ nhấn vào nút “Hồn thành” để thơng báo cho hệ thống biết. Nếu thí sinh chưa hồn thành bài thi nhưng đã hết giờ thi thì hệ thống cũng sẽ tự động xử lý tương tự như khi thí sinh nhấn vào nút “Hồn thành”. 119 Sau khi thi xong, tùy theo yêu cầu của giáo viên mà thí sinh sẽ được phép xem kết quả thi ngay hay phải gọi điện thoại đến hộp thư thoại thơng báo kết quả thi của hệ thống. Hình 8-3 Hình ảnh một bài thi 8.4.3 Chức năng tra cứu danh sách thí sinh và kết quả bài thi Chức năng này được hỗ trợ thêm cho giáo viên trong trang quản lý chung của các bài thi. Mỗi bài thi đều cĩ 1 liên kết để tra cứu danh sách thí sinh đã đăng ký thi và 1 liên kết để xem kết quả của tất cả các thí sinh đã thi bài thi được chọn. 120 Hình 8-4 Danh sách thí sinh đã thi Hình 8-5 Kết quả thi một bài thi nào đĩ của các thí sinh 121 Hình 8-6 Thơng tin thống kê tình hình điểm số của một bài thi 122 Chương 9 Các kỹ thuật bổ sung 9.1 Kỹ thuật thiết kế web application linh động và load động user control Bình thường, khi thiết kế web, đa phần trong chúng ta đều thiết kế theo kiểu: mỗi khi cần một trang web, chúng ta tạo ra một file aspx. Đĩ thật sự là một trang web. Tuy nhiên, giả sử khi chúng ta cần thay đổi style của cả website thì sao!. Lúc ấy, chúng ta phải đi đến từng trang aspx, sửa những vị trí màu sắc, font chữ trực tiếp hoặc trong các style được định nghĩa, hoặc ít nhất thì cũng phải là sửa đường dẫn đến file định kiểu css. Như vậy, cách thiết kế như vậy tỏ ra cĩ nhiều bất tiện và tiêu tốn rất nhiều thời gian. Thay vào đĩ, chúng ta nên thiết kế theo hướng sau: o Cả website sẽ chỉ cĩ một vài trang web thật sự, tức là chỉ cĩ 3 hay 4 trang aspx thật sự mà thơi. Các trang web này sẽ đĩng vai trị là các cổng vào trung tâm cho trang web. o Mỗi khi thêm một chức năng gì cĩ cần đến việc thêm một trang web, thay vì thêm vào một trang web thật sự, chúng ta thêm vào một user control. o Trên trang web thật, trong liên kết đến chức năng này, chúng ta để nĩ liên kết đến chính nĩ với tham số module là chỉ đến user control chúng ta cần. o Sau đĩ, chúng ta sẽ thực hiện việc load động các user control này. Nếu user control này là một phần của project đang thực hiện, chúng ta chỉ việc dùng lệnh LoadControl và truyền vào đường dẫn đến file ascx (file user control) mà ta cần. Nếu user control này được phát triển trong một project khác, ngồi việc trên, chúng ta cịn cần chép file dll xử lý (nếu cĩ) của user control vào thư mục bin của ứng dụng web. o Sau khi gọi hàm LoadControl, chúng ta được trả về một đối tượng Control. o Trong trang web aspx, ta cĩ thể dùng một đối tượng nào đĩ làm place holder, thơng thường là một cell của một table. Cell này được đặt thuộc tính là runat=server và id=”tên place holder”, giả sử được đặt là placeHolder. 123 o Khi lấy được đối tượng Control rồi, ta gọi tiếp lệnh: placeHolder.Controls.Add (myControl); o Như vậy, ta đã hồn thành việc load động các control vào website của chúng ta thơng qua trang web với vai trị là cổng thơng tin. Code minh họa: string module = Request.QueryString["module"]; string filename = "UserControls/"; switch(module) { case "news": filename += "NewsListContainer.ascx"; break; case "createnews": filename += "CreateNews.ascx"; break; case "viewnewsdetail": filename += "NewsDetail.ascx"; break; case "sampletest": filename += "ViewSampleQuestion.ascx"; break; case "testlist": filename += "CustomTestList.ascx"; break; case "configui": filename += "ConfigUI.ascx"; break; default: filename += "DefaultControlPage.ascx"; break; } UserControl ctrl = (UserControl)LoadControl(filename); MainPlaceHolder.Controls.Clear(); MainPlaceHolder.Controls.Add(ctrl); 124 9.2 Kỹ thuật automation Microsoft Word 9.2.1 Giới thiệu Automation là kỹ thuật cho phép tận dụng các tính năng của 1 ứng dụng cĩ sẵn và tích hợp vào trong chương trình của mình. Hệ thống của chúng em địi hỏi phải kết xuất các đề thi ra file để phục vụ cho yêu cầu thi trên giấy, cũng như phải nhập được dữ liệu câu hỏi từ các định dạng file để tận dụng ngân hàng đề thi đã cĩ từ trước đến nay. Theo nhận xét thì định dạng file .doc và file .pdf là phổ biến nhất hiện nay cho việc lưu trữ ngân hàng đề thi, tuy nhiên đã cĩ nhiều chương trình hỗ trợ cho việc chuyển qua lại giữa 2 định dạng file này. Thêm nữa, file .doc cĩ thể dễ dàng được tạo ra vì MS Word là trình soạn thảo văn bản rất thân thiện, phổ biến. Vì vậy, chúng em quyết định sử dụng kỹ thuật automation để automate MS Word nhằm sử dụng trực tiếp các tính năng cĩ sẵn của Word phục vụ cho yêu cầu nhập xuất/kết xuất ngân hàng đề thi, câu hỏi của hệ thống. 9.2.2 Các đối tượng trong MS Word Hình 9-1 Sơ đồ quan hệ của các đối tượng của MS Word 125 - Application chính là ứng dụng MS Word đang được gọi thực thi. - Document là đại diện cho các văn bản Word đang quản lý. Khi mở hay tạo 1 văn bản mới chính là tạo nên 1 đối tượng document và thêm đối tượng này vào tập hợp các document của application hiện hành. Văn bản đang được trực tiếp xử lý là active document. - Selection đại diện cho vùng văn bản đang được chọn. Khi khơng cĩ gì được chọn thì selection chính là vị trí con trỏ. Selection cĩ thể bao gồm nhiều vùng văn bản khơng liên tiếp nhau. - Range đại diện cho 1 vùng văn bản liên tục được xác định bởi ký tự bắt đầu và ký tự kết thúc vùng văn bản. 1 document cĩ thể được chứa nhiều range. Range cĩ thể: ƒ Chỉ chứa duy nhất vị trí con trỏ (điểm chèn) hay 1 đoạn văn bản hay tồn bộ document. ƒ Gồm cả các ký tự khơng in được như là khoảng trắng, khoảng tab, dấu phân cách đoạn văn bản ƒ Chỉ tồn tại khi đoạn code tạo ra nĩ đang được thực thi. - Bookmark cũng đại diện cho 1 vùng văn bản liên tục, được sử dụng để đánh dấu vị trí. Bookmark cĩ thể chỉ là 1 điểm chèn, mà cũng cĩ thể là tồn bộ văn bản. Bookmark cĩ các đặc điểm sau: ƒ Cĩ thể cĩ tên. ƒ Được lưu cùng với document. ƒ Mặc định là được ẩn đi. 9.2.3 Ngơn ngữ VBA (Microsoft Visual Basic for Applications) Tất cả các ứng dụng của Microsoft Office đều cĩ ngơn ngữ script của nĩ, đĩ chính là VBA. Ngơn ngữ này cĩ thể được sử dụng để thực hiện các nhiệm vụ trong ứng dụng. Nĩi 1 cách dễ hiểu thì tất cả các thao tác trên ứng dụng thơng qua thanh menu và bàn phím đều cĩ thể được diễn tả lại bằng ngơn ngữ này. Vì vậy, cĩ 1 cách giúp cho người chưa quen với đối tượng của MS Word xác định được các cơng việc 126 phải làm khi thực hiện automation là sử dụng các macro của chính MS Word ghi lại các thao tác muốn automate. Ví dụ bạn muốn automate MS Word để tạo 1 file mới, gõ vào 1 đoạn text rồi lưu lại nhưng bạn khơng biết phải sử dụng các hàm nào. Bạn cĩ thể thơng qua các macro để biết được điều đĩ. Trước tiên, bạn phải ghi lại 1 macro mới. Hình 9-2 Record macro trong MS Word Sau đĩ, bạn thực hiện các thao tác muốn automate rồi dừng việc ghi macro lại. Và cuối cùng, bạn chỉ việc xem MS Word đã thao tác như thế nào thơng qua macro vừa ghi được. 127 Hình 9-3 Edit macro trong MS Word Hình 9-4 Kết quả edit macro trong MS Word 128 9.2.4 Ứng dụng trong hệ thống Để cĩ thể thực hiện automation, trước tiên phải cho phép chương trình tham chiếu đến thư viện xử lý của Word. Hình 9-5 Add reference đến Word Object Library trong .NET 9.2.4.1 Import Thao tác import trong hệ thống cần phải xử lý cả việc import hình ảnh. Mà như đã biết, các hình ảnh được chèn vào trong file .doc thì sẽ được lưu cùng với file .doc đĩ. Do vậy, để lấy được hình cụ thể, chúng em phải tiến hành lưu tạm file .doc dưới dạng trang web, rồi tìm trong source của trang web liên kết đến hình ảnh cụ thể để copy lưu vào trong cơ sở dữ liệu. Object missing = System.Reflection.Missing.Value; object saveFileName = uniqueFileName; object fileFormat = Word.WdSaveFormat.wdFormatHTML; // Luu vao file tam duoi dang html wordApp.ActiveDocument.SaveAs( ref saveFileName, ref fileFormat, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); 129 wordApp.ActiveDocument.Close(ref missing, ref missing, ref missing); StreamReader r = new StreamReader(uniqueFileName); string str = r.ReadToEnd(); r.Close(); int n1 = str.IndexOf("<body"); char tempChar = '<'; while(tempChar != '>') { tempChar = str[n1]; n1++; } int n2 = str.IndexOf(""); string strFinal = str.Substring(n1, n2 - n1); Dựa vào các dấu phân cách quy định sẵn, chúng em sẽ tách được nội dung các câu hỏi, và trong mỗi câu hỏi sẽ lọc ra được đâu là nội dung hỏi và đâu ra nội dung các lựa chọn (đơn thuần chỉ là thao tác xử lý chuỗi). Cụ thể, một câu hỏi trong file muốn import phải cĩ định dạng như sau: [!!!] Nội dung hỏi Nội dung lựa chọn thứ 1 * Nội dung lựa chọn thứ 2 Nội dung lựa chọn thứ 3 Nội dung lựa chọn thứ 4 * Nội dung lựa chọn thứ 5 Trong đĩ: - [!!!] là dấu quy định phân cách các câu hỏi. - là dấu quy định phân cách các lựa chọn. - * là dấu quy định lựa chọn đúng. - Số lựa chọn và số lựa chọn đúng là khơng cĩ giới hạn. Thơng tin nội dung câu hỏi lấy được sẽ được sử dụng để xây dựng thành chuỗi xml và lưu vào CSDL. 130 9.2.4.2 Export Hệ thống hỗ trợ việc export 1 đề thi ra file .doc theo 1 template đề thi cĩ sẵn. Template đề thi được tạo ra theo ý thích của các giáo viên và được copy vào trong thư mục WordFile Temlates của hệ thống. 1 template đề thi phải đáp ứng các yêu cầu sau: - Cĩ 1 bookmark cĩ tên là assName đặt tại vị trí giáo viên muốn hiển thị tên bài thi. - Cĩ 1 bookmark cĩ tên là assHeader đặt tại vị trí giáo viên muốn hiển thị các ghi chú đầu bài thi (header) - Cĩ 1 bookmark cĩ tên là assFooter đặt tại vị trí giáo viên muốn hiển thị các ghi chú cuối bài thi (footer) - Cĩ 1 bookmark cĩ tên là assSections đặt tại vị trí giáo viên muốn bắt đầu hiển thị các section, các câu hỏi của bài thi. - Phần nào giáo viên khơng muốn hiển thị thì bookmark đánh dấu phần đĩ khơng cần phải được tạo ra. Khi cĩ yêu cầu export 1 đề thi ra file, chương trình sẽ tìm vị trí các bookmark, nếu bookmark tồn tại trong file template được chọn thì chương trình sẽ ghi đoạn văn bản phù hợp vào vị trí bookmark đĩ. foreach (Word.Bookmark brm in privateWordApp.ActiveDocument.Bookmarks) if (brm.Name == "assHeader") ReplaceBookmarkText("assHeader", privateAssessment.HeaderNote); Trường hợp đoạn văn bản cần ghi cĩ chứa tag image (tức là phải chèn 1 hình vào file) thì chương trình sẽ thực hiện thêm 1 đối tượng Word.Shape vào tập hợp hình ảnh mà văn bản đang được xử lý quản lý. Khi lưu văn bản, các hình ảnh cũng sẽ được lưu trữ theo. private void TypeString(Word.ApplicationClass privateWordApp, string strText) { int pos = strText.IndexOf("<img"); while (pos >= 0) { privateWordApp.Selection.TypeText(strText.Substring(0, pos)); strText = strText.Remove(0, pos); 131 pos = strText.IndexOf("src="); strText.Remove(0, pos+1); pos = strText.IndexOf("\""); string image = strText.Substring(0, pos); Object oFalse = false; Object oTrue = true; Object oMissing = Type.Missing; // them 1 hinh anh vao tap hop InlineShapes privateWordApp.Selection.InlineShapes.AddPicture(image, ref oFalse, ref oTrue, ref oMissing); pos = strText.IndexOf("/img>"); strText.Remove(0, pos); pos = strText.IndexOf("<img"); } privateWordApp.Selection.TypeText(strText); } 132 Chương 10 Tổng kết 10.1 Kết luận Sau thời gian nghiên cứu, tìm hiểu các hình thức trắc nghiệm và phát triển ứng dụng, đề tài đã đạt được các mục tiêu sau: o Xây dựng được một cổng dịch vụ thi cử là một hệ thống liên hồn phối hợp nhuần nhuyễn giữa mơi trường web và windows trong việc quản lý ngân hàng câu hỏi, đề thi và tổ chức thi trắc nghiệm. o Cĩ một khung ứng dụng (framework) hết sức linh động, cĩ tính tiến hĩa cao giúp cho việc mở rộng và nâng cấp hệ thống thật sự dễ dàng và hiệu quả. o Xây dựng được các ứng dụng trên web và trên windows tiện dụng, ổn định và nhiều tính năng hữu ích, cĩ thể ứng dụng được ngay trong thực tế trong việc soạn câu hỏi, đề thi trắc nghiệm và thực hiện việc đánh giá, kiểm tra nhanh chĩng. o Cấu trúc câu hỏi trắc nghiệm tuân theo đặc tả IMSQTI – một đặc tả XML, là đặc tả quốc tế được sử dụng rộng rãi nhất trên thế giới. Nhờ đĩ, cơ sở dữ liệu ngân hàng câu hỏi của hệ thống cĩ khả năng trao đổi, cĩ thể phân phối hay sử dụng lại ở bất cứ hệ thống nào khác trên thế giới cĩ sử dụng đặc tả này. 10.2 Hướng phát triển ™ Thêm nhiều loại câu hỏi thêm nữa ™ Hỗ trợ thêm nhiều phiên bản khác nhau cho từng loại câu hỏi ™ Hồn thiện thêm các chức năng giúp thuận tiện hơn cho người sử dụng 133 Phụ lục A - Export database theo đặc tả IMSQTI Nội dung file XSLT làm nhiệm vụ export: <xsl:stylesheet version="1.0" xmlns:xsl="" > <xsl:template match="responseDeclaration/node() | responseDeclaration/text() | responseDeclaration/node()/node() | responseDeclaration/text()/node()"> <xsl:template match="itemBody/node() | itemBody/text() | itemBody/node()/node() | itemBody/node()/text()"> 134 135 Phụ lục B - Phần lưu trữ XML của một số dạng câu hỏi trong đặc tả IMSQTI o Câu hỏi inlineChoiceInteraction: <assessmentItem identifier="choiceMultiple" title="Composition of Water" adaptive="false" timeDependent="false"> <responseDeclaration identifier="RESPONSE" cardinality="multiple" baseType="identifier"> H O <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="integer"/> <choiceInteraction responseIdentifier="MR01" shuffle="true" maxChoices="4"> Which of the following elements are used to form water? <simpleChoice identifier="H" fixed="false">Hydrogen <simpleChoice identifier="He" fixed="false">Helium <simpleChoice identifier="C" fixed="false">Carbon <simpleChoice identifier="O" fixed="false">Oxygen <simpleChoice identifier="N" fixed="false">Nitrogen <simpleChoice identifier="Cl" fixed="false">Chlorine <responseProcessing template=" nse" templateLocation="../RPTemplates/rpMapResponse.xml"/> 136 o Câu hỏi textEntryInteraction: <assessmentItem identifier="textEntry" title="Richard III (Take 3)" adaptive="false" timeDependent="false"> <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="string"> York <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/> Identify the missing word in this famous quote from Shakespeare's Richard III. Now is the winter of our discontent Made glorious summer by this sun of <textEntryInteraction responseIdentifier="RESPONSE" expectedLength="15"/>; And all the clouds that lour'd upon our house In the deep bosom of the ocean buried. <responseProcessing template=" nse" templateLocation="../RPTemplates/rpMapResponse.xml"/> 137 o Câu hỏi orderInteraction: <assessmentItem identifier="order" title="Grand Prix of Bahrain" adaptive="false" timeDependent="false"> <responseDeclaration identifier="RESPONSE" cardinality="ordered" baseType="identifier"> DriverC DriverA DriverB <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="integer"/> <orderInteraction responseIdentifier="RESPONSE" shuffle="true"> The following F1 drivers finished on the podium in the first ever Grand Prix of Bahrain. Can you rearrange them into the correct finishing order? Rubens Barrichello Jenson Button Michael Schumacher <responseProcessing template=" Correct" templateLocation="../RPTemplates/rpMatchCorrect.xml"/> 138 TÀI LIỆU THAM KHẢO [1] www.msdn.microsoft.com [2] www.imsglobal.org [3] www.el.edu.net.vn [4] www.codeproject.com [5] www.dnzone.com [6] www.asp.net [7] www.w3.org

Các file đính kèm theo tài liệu này:

  • pdfluan_van_tim_hieu_va_xay_dung_he_thong_framework_ho_tro_cac.pdf
Tài liệu liên quan