LỜI CẢM ƠN
Lời đầu tiên, em xin chân thành cám ơn thầy cô trong bộ môn Công Nghệ Phần Mềm,
Khoa Công Nghệ Thông Tin, trường Đại Học Bách Khoa đã tạo điều kiện tốt cho em thực
hiện đề tài luận văn tốt nghiệp này.
Đặc biệt, em xin chân thành cám ơn đã tận tình hướng dẫn, chỉ bảo em trong suốt thời
gian thực hiện đề tài.
Em xin chân thành cám ơn quý Thầy Cô trong Khoa, trong trường đã 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.
Con xin nói lên lòng biết ơn sâu sắc đối với Cha Mẹ đã chăm sóc, nuôi dạy 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
Tôi trong thời gian học tập và nghiên cứu.
Mặc dù 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. 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.
Xin cảm ơn tất cả.PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1. Định hướng đề tài tốt nghiệp
Đưa chuẩn IMS QTI vào hệ thống thi trắc nghiệm trực tuyến để tạo câu hỏi và đề thi. Xây
dựng hệ thống tổ chức thi trực tuyến.
2. Các nhiệm vụ cụ thể của ĐATN
• Tìm hiểu chuẩn IMS
• Xây dựng hệ thống cho phép:
Biên soạn câu hỏi trực tuyến theo chuẩn IMS
Xây dựng bộ đề thi trắc nghiệm
Tổ chức luyện thi
Tổ chức thi cho các khóa học, môn học
• Đảm bảo an toàn thông tin, cho phép can thiệp, xử lý sự cố khi thi.
PHẦN 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG TRẮC NGHIỆM THEO
CHUẨN IMS QTI 54
PHẦN 3: GIỚI THIỆU VỀ HỆ THỐNG BKTEST WEBSITE 73
PHẦN 4: TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN 77
TÀI LIỆU THAM KHẢO 79
DANH SÁCH CÁC HÌNH
Hình 1.1: Các thành phần tham gia hệ thống đặc tả IMS QTI 14
Hình 1.2: Cấu trúc bài thi trong đặc tả IMS QTI 15
Hình 1.3: sơ đồ lớp của assessmentItem 16
Hình 1.4: Biểu đồ lớp responseDeclaration 17
Hình 1.4: Biểu đồ lớp outcomeDeclaration 19
Hình 1.5: Biểu đồ lớp templateDeclaration 19
Hình 1.6: Biểu đồ lớp templateProcessing 20
Hình 1.7: Biểu đồ lớp stylesheet 21
Hình 1.8: Biểu đồ lớp itemBody 22
Hình 1.9: Biểu đồ lớp responseProcessing 23
Hình 1.10: Biểu đồ lớp modalFeedback 23
Hình 1.11: Loại câu hỏi 1 lựa chọn 24
Hình 1.12: Loại câu hỏi lựa chọn có nhiều phương án trả lời 25
Hình 1.13: Ví dụ về câu hỏi orderInteraction 26
Hình 1.14: Ví dụ về câu hỏi associateInteraction 27
Hình 1.15: Ví dụ về câu hỏi matchInteraction 29
Hình 1.16: Ví dụ về câu hỏi gapMatchInteraction 30
Hình 1.17: Câu hỏi inlineChoiceInteraction 31
Hình 1.18: Câu hỏi textEntryInteraction 32
Hình 1.19: Câu hỏi extendedTextInteraction 33
Hình 1.20: câu hỏi hottextInteraction 34
Hình 1.21: Câu hỏi hotspotInteraction 36
Hình 1.22: Câu hỏi selectPointInteraction 37
Hình 1.23: Câu hỏi graphicOrderInteraction 39
Bảng 4.1: Bảng dữ liệu Questions 70
Bảng 4.2: Bảng dữ liệu Answers 71
Bảng 4.3: Bảng dữ liệu Testing 71
Bảng 4.4: Bảng dữ liệu Assessment 72
Bảng 4.5: Bảng dữ liệu Examination 72
DANH SÁCH CÁC THUẬT NGỮ
TT Thuật ngữ Ý nghĩa
1 IMS Instructional Management System
2 IMS QTI IMS Question & Test Interoperability
3 CSDL Cơ sở dữ liệu
4 XML Extensible Markup Language
5 Assessment Bài thi (theo chuẩn IMS QTI)
6 assessmentItem Câu hỏi ( theo chuẩn IMS QTI)
LỜI NÓI ĐẦU
Hiện nay, các hệ thống thi trắc nghiệm trực tuyến đang phát triển rất mạnh cùng
vơi sự phát triển của cơ sở hạ tầng công nghệ thông tin. Có thể dự đoán rằng trong
tương lai không xa, các kì thi sẽ được tổ chức thi trực tuyến. Khi đó nhu cầu về
ngân hàng câu hỏi trắc nghiệm sẽ rất lớn. Và để xây dựng được một ngân hàng đề
thi trực tuyến chung cho tất cả các hệ thống thì yêu cầu đặt ra là phải có một chuẩn
chung cho các câu hỏi đó. Hiện nay đang xây dựng một chuẩn chung cho các câu
hỏi trắc nghiệm là chuẩn IMS QTI (Instructional Management System Question &
Test Interoperability ). Sự ra đời của IMS QTI đặt ra cho chúng ta những thuận lợi
rất lớn. Việc xây dựng hệ thống câu hỏi trắc nghiệm theo chuẩn IMS QTI cho phép
các hệ thống có thể trao đổi cho nhau các dữ liệu câu hỏi của mình cũng như hình
thành một ngân hàng câu hỏi chung cho tất cả các hệ thống tuân theo chuẩn này.
Khi đó nhu cầu trao đổi dữ liệu giữa các hệ thống sẽ được đáp ứng.
Để xây dựng một hệ thống thi trắc nghiệm trực tuyến ứng dụng chuẩn IMS QTI,
chúng ta cần lưu trữ dữ liệu câu hỏi theo chuẩn IMS QTI và có thể nhập và xuất câu
hỏi theo chuẩn IMS QTI. Trong luận văn này tôi cũng xây dựng cơ chế tổ chức thi
trực tuyến, dựa trên nguồn câu hỏi lưu trữ trong CSDL.
• Để đưa ra các đặ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, các ưu tiên phát triển từ những người ứng dụng, người
mua, người bán và người quản lí hệ thống. Các yêu cầu này sẽ được IMS
Project Teams phát triển thành một bộ các đặc tả gồm : Information
Model, XML binding, Best Practice Guide. Các phiên bản Public Drafts
Release và Final Releases sẽ được công bố trên trang web của IMS. Sau
đó IMS sẽ tập hợp các ý kiến phản hồi để nâng cấp, chỉnh sửa và cho ra
những phiên bản mới.
1.2. Các đặc tả của IMS:
IMS đã xây dựng một bộ đặc tả bao gồm các đặc tả sau:
• Meta-data: Thuộc tính mô tả tài nguyên học tập nhằm hỗ trợ cho việc
tìm kiếm và phát hiện tài nguyên.
• Enterprise: 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: Các chỉ dẫn cho việc đóng gói và trao nội dung học
tập.
• Question & Test Interoperability: Các định dạng để xây dựng và trao đổi
thông tin giữa các hệ thống.
• Learner Information Package: Cung cấp thông tin về học viên như khả
năng, kết quả học tập.
• Reusable Definition of Competency or Educational Objective: Khung để
trao đổi kết quả học tập của học viên dựa trên các định nghĩa về mục tiêu
giáo dục.
• Simple Sequencing: Sắp xếp và trình bày các đối tượng học tập tương
ứng với từng học viên.
• Digital Repositories Interoperability: Gắn kết học viên trên mạng với các
tài nguyên.
• Learning Design: Các định nghĩa để mô tả học tập và giảng dạy.
• Assessbility for Learner Information Package: Đưa them các đặc tả cho
yêu cầu thay đổi của học viên, điều kiện sử dụng, công nghệ.
trình đào tạo từ xa. Họ tham gia về đặc tả kỹ thuật trong lĩnh vực
metadata. 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
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,
• 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.
2.4. Mô hình User Case:
Sau đây là mô hình User Case thể hiện vai trò của các hệ thống tham gia khi sử
dụng đặc tả IMS QTI:
Hình 1.1: Các thành phần tham gia hệ thống đặc tả IMS QTI
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
• assessment: Bài thi chứa các câu hỏi.
• assessmentItem: Câu hỏi
• 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
2.4.1. Assessment:
Assessment là một cấu trúc mô tả bài thi (Test) trong đó chứa các câu hỏi
(assessmentItem).
Cấu trúc assessment được mô tả qua User Case :
Hình 1.2: Cấu trúc bài thi trong đặc tả IMS QTI
Trong đặc tả IMS QTI, tất cả các bài thi, bao gồm cả section và câu hỏi đều
Các lớp con:
3.1. responseDeclaration[*]:
• Lớp này dùng để mô tả đáp án của câu hỏi. Trong một assessmentItem có
thể có nhiều lớp mô tả kết quả.
• Biểu đồ lớp:
Hình 1.4: Biểu đồ lớp responseDeclaration
responseDeclaration gồm có 3 lớp con là correctResponse, mapping và
areaMapping.
3.1.1. correctResponse:
Là lớp chứa giá trị của đáp án câu hỏi. Một câu hỏi có thể có nhiều đáp án tùy
thuộc vào từng loại câu hỏi.
• interpretation [0 1] (string): mô tả đáp án chính xác của câu hỏi.
• Lớp value [1 *]: Biểu diễn giá trị cho mỗi đáp án chính xác. Bao gồm 2
thuộc tính sau:
fielddentifier [0 1] (identifier): id của đáp án.
baseType [0 1] (baseType): kiểu của giá trị đáp án.
3.1.2. mapping:
Là một ánh xạ từ id đến số thứ tự của đáp án (mappedValue) trong câu hỏi ( có
thể là chữ cái hoặc số).
• lowerBound [0 1] (float): cận dưới cho giá trị của ánh xạ.
• upperbound [0 1] (float): cận trên cho giá trị của ánh xạ.
• defaultValue [1] (float): nhận giá trị mặc định là 0 cho ánh xạ đích.
• Lớp mapEntry [1 *]: xác định giá trị cho mỗi đáp án. Bao gồm 2 thuộc tính:
mapKey [1] (value): id của đáp án.
mappedValue [1] (float): giá trị của đáp án tương ứng với id.
3.1.3. areaMapping:
Là một phương án để thay thế cho mapping khi mapping không thể mô tả được
đáp án câu hỏi ( câu trả lời không theo dạng số hoặc chữ cái) như các câu hỏi thể
hiện bằng biểu đồ.
• lowerBound [0 1] (float): cận dưới cho giá trị của ánh xạ.
responseProcessing.
3.3. templateDeclaration [*]:
• Khai báo biến câu hỏi để mô tả cho mục đích sao chép câu hỏi. Chúng có thể
có các giá trị biến được đặt trong lớp templateProcessing.
• Biểu đồ lớp:
Hình 1.5: Biểu đồ lớp templateDeclaration
• Các thuộc tính:
paramVariable [1] (Boolean): Xác định có hay không có giá trị của
biến template sẽ được thay thế cho giá trị của tham số ứng với tên của
template.
mathVariable [1] (Boolean): Xác định có hay không có giá trị của
biến template sẽ được thay thế cho id ứng với tên template có trong
MathML.
3.4. templateProcessing [0 1]:
• Xử lí các định dạng dùng cho việc sao chép câu hỏi.
• Biểu đồ lớp:
Hình 1.6: Biểu đồ lớp templateProcessing
• Lớp templateRule: Chứa các câu lệnh có cấu trúc đơn giản dùng cho việc xử
lí trong sao chép câu hỏi. Câu lệnh có cấu trúc thường được sử dụng là câu
lệnh rẽ nhánh.
3.5. stylesheet [0 *]:
• sử dụng cho việc kết hợp mẫu câu bên ngoài với câu hỏi định dạng trong hệ
thống.
• Biểu đồ lớp:
Hình 1.7: Biểu đồ lớp stylesheet
• Các thuộc tính:
href [1] (uri): xác định địa chỉ của mẫu ngoài.
type [1] (mimeType): kiểu của mẫu ngoài.
media [0 1] (string): mô tả media của mẫu.
title [0 1] (string): tiêu đề của mẫu ngoài.
đặc tả IMS Question and Test Interoperability.
4.1. choiceInteraction (câu hỏi lựa chọn)
Đâ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 1.11: Loại câu hỏi 1 lựa chọn
Hình 1.12: Loại câu hỏi lựa chọn có nhiều phương án trả lời
• File XML mô tả câu hỏi choiceInteraction theo chuẩn IMS QTI:
<?xml version="1.0" encoding="UTF-8"?>
<assessmentItem xmlns=" /> xmlns:xsi=" /> xsi:schemaLocation="
imsqti_v2p0.xsd"
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"/>