1. Trang chủ
  2. » Luận Văn - Báo Cáo

Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm

81 503 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 81
Dung lượng 1,98 MB

Nội dung

Tương tự như chuẩn SCORM đối với hệ thống Elearning nhằm chia sẻ dùng chung các tài nguyên đào tạo điện tử giữa các hệ thống khác nhau, chuẩn QTI như tên gọi đã chỉ rõ, có mục đích nâng

Trang 1

ĐOÀN THỊ THANH TRÂM

CHUẨN QTI TRONG CÁC HỆ THỐNG SÁT HẠCH TRẮC NGHIỆM BẰNG MÁY TÍNH

VÀ TRIỂN KHAI THỬ NGHIỆM

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Thái Nguyên - 2012

Trang 2

LỜI CAM ĐOAN

Tôi – Đoàn Thị Thanh Trâm xin cam đoan luận văn “Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm” là

do tôi tự nghiên cứu và hoàn thành dưới sự hướng dẫn của PGS.TS Nguyễn Đình Hoá, không phải là sao chép toàn văn của bất kỳ công trình nào khác

Tôi xin chịu hoàn toàn trách nhiệm về lời cam đoan này

Học viên thực hiện luận văn

Đoàn Thị Thanh Trâm

Trang 3

MỤC LỤC

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT i

DANH MỤC CÁC BẢNG ii

DANH MỤC CÁC HÌNH VẼ iii

MỞ ĐẦU 1

CHƯƠNG 1 CHUẨN QTI CHO HỆ THỐNG SÁT HẠCH TRẮC NGHIỆM BẰNG MÁY TÍNH 2

1.1 Hệ thống sát hạch trắc nghiệm bằng máy tính 2

1.1.1 Giới thiệu 2

1.1.2 Ưu /nhược điểm của phương pháp sát hạch trắc nghiệm bằng máy tính 2

1.1.3 Một số hệ thống sát hạch trực tuyến trong và ngoài nước 5

1.2 Chuẩn cho hệ thống sát hạch trắc nghiệm 9

1.2.1 Giới thiệu chung 9

1.2.2 Các đặc tả do tổ chức IMS đề xuất 9

1.3 Tìm hiểu về chuẩn QTI 10

1.3.1 Giới thiệu chung về đặc tả QTI 10

1.3.2 Các tài liệu trong đặc tả QTI 11

1.3.3 Các đối tượng cơ bản trong đặc tả QTI 13

1.3.4 Ví dụ minh hoạ biểu diễn câu hỏi theo chuẩn QTI 15

1.4 Thư viện lõi JQTI 19

1.4.1 Giới thiệu 19

1.4.2 Các bộ công cụ sử dụng thư viện JQTI 20

CHƯƠNG 2 MÔ HÌNH ỨNG DỤNG WEB THEO KHUNG KIẾN TRÚC MVC VỚI XQUERY VÀ JQUERY 22

2.1 Khung kiến trúc MVC cho ứng dụng web 22

2.1.1 Khung kiến trúc MVC 22

2.1.2 Lịch sử MVC 24

2.1.3 Các thành phần trong MVC 27

2.1.3.1 Mô hình 27

2.1.3.2 Khung nhìn 28

2.1.3.3 Trình điều khiển 28

2.1.4 Mối quan hệ giữa các thành phần trong mô hình MVC 29

2.1.5 Ưu điểm của MVC 29

Trang 4

2.1.6 Luồng công việc trong kiến trúc MVC 30

2.1.7 Khung kiến trúc MVC cho một ứng dụng web 30

2.2 Xây dựng ứng dụng Web theo khung kiến trúc MVC bằng XQuery và cơ sở dữ liệu XML 31

2.3 Cơ sở dữ liệu XML và truy vấn XML bằng XQuery 35

2.3.1 Hệ cơ sở dữ liệu XML eXist 35

2.3.2 Kiểm soát truy cập trong eXist 37

2.3.3 Ngôn ngữ truy vấn XQuery 38

2.4 JQuery - thư viện Javascript để xử lý sự kiện trên trang web 41

2.4.1 Giới thiệu 41

2.4.2 Hoạt động của jQuery 42

2.4.3 Một số API trong jQuery 43

CHƯƠNG 3 PHÁT TRIỂN HỆ THỐNG THỬ NGHIỆM 47

3.1 Thiết kế và thực hiện các mô đun chức năng 47

3.1.1 Đặc tả yêu cầu chức năng của mô đun xử lý bài thi 47

3.1.2 Sơ đồ usecase của mô đun Xử lý bài thi 48

3.1.3 Thiết kế các mô đun chức năng theo khung kiến trúc MVC 52

3.1.4 Các dạng câu hỏi trắc nghiệm QTI có thể thực hiện 54

3.1.5 Triển khai chức năng xử lý bài thi trắc nghiệm bằng máy tính 56

3.2 Triển khai cơ sở dữ liệu eXist quản trị ngân hàng câu hỏi theo chuẩn QTI dưới dạng các tệp XML 56

3.2.1 Các bước chính 56

3.2.2 Các bước để triển khai eXist 57

3.3 Triển khai hệ thống thử nghiệm tại Khoa Công nghệ thông tin - Trường Cao đẳng Công nghệ Viettronics 64

3.3.1 Tổ chức thi hiện tại tại Khoa Công nghệ thông tin - Trường Cao đẳng Công nghệ Viettronics Hải Phòng 64

3.3.2 Lựa chọn giải pháp thi 66

3.3.3 Một số màn hình giao diện 68

3.3.4 Kết quả chạy thử nghiệm 69

KẾT LUẬN VÀ ĐỀ NGHỊ 71

TÀI LIỆU THAM KHẢO 73

Trang 5

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Tổ chức giáo dục toàn cầu IMS

Language

Ngôn ngữ đánh dấu mở rộng do W3C tạo ra

Consortium

Là một tổ chức công nghiệp quốc tế thành lập năm 1994 nhằm phát triển các giao thức chung

Trang 7

DANH MỤC CÁC HÌNH VẼ

dụng web

30

Hình 2.7 Kiến trúc MVC của mô đun xử lý bài thi theo

chuẩn QTI với cơ sở dữ liệu XML

Trang 8

Số hiệu Tên hình Số trang

Hình 3.9 Mô hình thiết kế mô đun Xử lý bài thi tại Khoa

CNTT -Trường Cao đẳng Công nghệ Viettronics

56

Trang 9

MỞ ĐẦU

Thi trắc nghiệm dựa trên máy tính là một hình thức sát hạch kiến thức hiện đại, đã được áp dụng ở nhiều nước trên thế giới Nhiều kỳ thi sát hạch mang tính toàn cầu như TOEFL, GMAT hay GRE cũng áp dụng phương pháp thi này

Tổ chức IMS Global Learning Consortium nghiên cứu về hệ thống sát hạch trắc nghiệm trực tuyến đã đề xuất chuẩn đặc tả câu hỏi trắc nghiệm QTI (Question and Test Interoperability) Tương tự như chuẩn SCORM đối với hệ thống Elearning nhằm chia sẻ dùng chung các tài nguyên đào tạo điện tử giữa các hệ thống khác nhau, chuẩn QTI như tên gọi đã chỉ rõ, có mục đích nâng cao tính khả chuyển để sử dụng chung ngân hàng câu hỏi trắc nghiệm giữa các phần mềm hệ thống trắc nghiệm khác nhau

Nhằm khuyến khích áp dụng chuẩn QTI, đã có các dự án phát triển công

cụ phần mềm hỗ trợ cho chuẩn này do một số trường đại học ở Anh tiến hành Sản phẩm của những dự án này là các modul công cụ có thể dùng như các thành phần hay các dịch vụ Web để xây dựng thành một hệ thống sát hạch bằng máy tính tuân thủ chuẩn QTI dựa trên Web

Nghiên cứu xây dựng một hệ thống sát hạch trắc nghiệm bằng máy tính theo chuẩn QTI quy mô nhỏ, gọn nhẹ, dễ dàng triển khai để bước đầu khuyến

khích phát triển chuẩn QTI là hết sức cần thiết Với tiêu đề “Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm”,

đề tài nghiên cứu gồm 3 chương:

Chương 1: Chuẩn QTI cho hệ thống sát hạch trắc nghiệm bằng máy

Trang 10

CHƯƠNG 1 CHUẨN QTI CHO HỆ THỐNG SÁT HẠCH TRẮC

NGHIỆM BẰNG MÁY TÍNH 1.1 Hệ thống sát hạch trắc nghiệm bằng máy tính

1.1.1 Giới thiệu

Một hệ thống sát hạch trắc nghiệm bằng máy tính gồm hai phần quan trọng là cơ sở dữ liệu (CSDL) ngân hàng câu hỏi và các chức năng quản lý, phân phát bài thi thông qua mạng Intranet/Internet Ngân hàng câu hỏi được xem là phần nội dung của hệ thống, trong đó các câu hỏi được phân loại theo môn học hoặc theo chủ đề, rồi được tập hợp lại đặt ở máy chủ Các chức năng quản lý ngoài nhiệm vụ quản lý toàn bộ các đối tượng tham gia hệ thống như thí sinh, giáo viên còn có nhiệm vụ tổ chức những câu hỏi được rút ra từ ngân hàng câu hỏi thành bài thi và phân phối cho thí sinh thông qua trình duyệt web, đồng thời phân tích các phương án trả lời và hiển thị kết quả bài thi của thí sinh đó Trong một số hệ thống sát hạch trắc nghiệm, các thành phần của hệ thống có thể được sử dụng như những phân hệ độc lập như phân

hệ tạo câu hỏi (Authoring Tool), phân hệ quản lý câu hỏi (Questions Bank), phân hệ tổ chức và phân phối bài sát hạch (Delivery System) Các phân hệ này có thể hoạt động độc lập, đặc biệt là phân hệ tạo câu hỏi (do cần huy động nhiều tài nguyên trên máy tính đơn nên thường được cài đặt vào máy tính đơn thay vì hoạt động trên nền web) hoặc có thể kết nối với nhau thành một hệ thống nhất khi tổ chức kỳ thi

1.1.2 Ưu /nhược điểm của phương pháp sát hạch trắc nghiệm bằng máy tính

- Sát hạch trắc nghiệm bằng máy tính là hình thức thi khách quan Thí sinh chỉ cần chọn một câu trả lời trong số các phương án đề xuất và người chấm sẽ không phải cân nhắc theo chủ quan của mình về những lỗi của thí

Trang 11

sinh như trong thi tự luận (như lỗi chính tả, cách hành văn nghèo nàn, hoặc trả lời vòng vo, chung chung ) Do việc chấm thi khách quan, không phụ thuộc vào cá nhân nào nên kết quả của sát hạch trắc nghiệm ít có sai sót Thí sinh ít khi phải khiếu nại, hoặc nếu có thì việc phúc tra cũng nhanh chóng và dễ dàng

- Việc chấm điểm trong hình thức sát hạch này được tiến hành rất nhanh Ngoài ra còn có thể thống kê các số liệu của kỳ thi một cách nhanh chóng và

dễ dàng Với ngân hàng câu hỏi và công cụ máy tính, việc tiến hành sát hạch

có thể tổ chức vào bất kỳ thời gian và địa điểm nào, và kết quả sát hạch có thể được công bố ngay sau khi kết thúc bài thi

- Việc chọn đề thi được tiến hành mềm dẻo và có thể theo nhiều tiêu chí khác nhau Nó có thể được sử dụng để đánh giá chất lượng giảng dạy của giáo viên Ví dụ, qua kết quả sát hạch của một lớp, ta có thể đánh giá được chất lượng của các phần trong một môn học, chất lượng giảng dạy của giáo viên Kết quả thi là một đánh giá mang tính phản hồi về hiệu quả của việc dạy và học

- Việc tổ chức thi được tiến hành đơn giản và thuận tiện hơn cho cả cán

bộ quản lý đào tạo, giảng viên và sinh viên

- Với hình thức sát hạch trắc nghiệm bằng máy tính, việc học và dạy tương đối độc lập, ngân hàng đề thi được sử dụng thống nhất cho các lớp sẽ buộc sinh viên phải học đầy đủ nội dung chương trình, tránh học lệch, học tủ Bên cạnh đó giảng viên cũng phải trang bị cho sinh viên đầy đủ kiến thức theo nội dung chương trình đã được duyệt, tránh được tình trạng tự ý thay đổi chương trình giảng dạy Nội dung sát hạch có thể gồm nhiều câu hỏi nhỏ bao trùm toàn bộ chương trình học, đòi hỏi thí sinh phải học đều, hiểu rõ Điều này tránh được tình trạng "học tủ", "học theo đề mẫu"

Trang 12

- Thứ tự các câu hỏi và thứ tự các phương án trả lời luôn thay đổi, hơn nữa các bài thi đều khống chế thời gian nên hạn chế được hiện tượng gian lận trong quá trình thi Rủi ro trong việc rò rỉ các câu hỏi thi trong ngân hàng câu hỏi cũng như xác suất để đoán mò các câu trả lời đúng trong một kỳ sát hạch

là rất thấp

- Giúp đổi mới phương pháp giảng dạy và học tập theo hướng hiện đại, hướng tới người học đang là một vấn đề cấp thiết để nâng cao chất lượng đào tạo Bên cạnh việc xây dựng nguồn tài liệu học tập và tham khảo cho sinh viên, công tác đánh giá kết quả học tập khách quan, chính xác, toàn diện có tác động quan trọng thúc đẩy sinh viên chủ động học tập

- Hình thành cơ sở ban đầu để triển khai đào tạo điện tử (e - learning) và hình thành mô hình đại học điện tử

- Việc chọn khoảng thời gian cần thiết và hợp lý cho thí sinh để hoàn tất một bài sát hạch trắc nghiệm cũng là vấn đề khó Bởi vì ta phải cân nhắc câu hỏi sao cho thí sinh có đủ thời gian để đọc được hết phần câu hỏi và câu lựa chọn rồi kịp thời suy nghĩ, phán đoán hoặc tính toán để có phương án lựa chọn đúng

- Trong phạm vi nhất định, việc thay đổi thói quen từ tổ chức thi tự luận sang trắc nghiệm có thể gây khó chịu cho một số người dạy và cả người coi thi Nếu hoàn toàn tuyệt đối hóa hình thức thi bằng trắc nghiệm nhiều lựa chọn (hoặc hình thức khác) trong tất cả các kỳ thi từ thi học kỳ đến thi tuyển

Trang 13

sinh, thi tốt nghiệp sẽ tạo một thói quen học tập cứng nhắc, học sinh ít rèn luyện khả năng viết, kỹ năng lý luận, kỹ xảo thực hành, vốn vẫn là ưu thế của hình thức thi tự luận, thi thực hành, hay thi vấn đáp

1.1.3 Một số hệ thống sát hạch trực tuyến trong và ngoài nước

Các hệ thống sát hạch trực tuyến trên thế giới

Các hệ thống sát hạch trực tuyến (kiến thức và kỹ năng Công nghệ thông tin (CNTT), ngoại ngữ ) đã được một số công ty trên thế giới nghiên cứu, phát triển và áp dụng cho lĩnh vực của mình một cách hiệu quả Trong lĩnh vực CNTT, tiêu biểu là hệ thống sát hạch chứng chỉ “Sử dụng máy tính cấp Quốc tế” – ICDL (International Computer Driving Licence) của tổ chức ICDLAP và hệ thống đào tạo và sát hạch kỹ năng quản trị mạng máy tính của Cisco System Các hệ thống trên đã được phát triển theo hướng dựa trên nền web, cho phép cài đặt hệ thống trên một máy chủ và bài thi được phân phát tới các máy tính còn lại có kết nối

Hệ thống sát hạch chứng chỉ ICDL trực tuyến, trước đây do công ty Thụy Điển Enlight đảm nhiệm (www.enlight.net) Hệ thống có khả năng phân phát bài thi tới các máy trạm thông qua mạng Internet Nó quản lý thời gian làm bài của thí sinh và đánh giá kiến thức, kỹ năng CNTT của thí sinh thông qua 2 dạng câu hỏi: Một câu hỏi trắc nghiệm có bốn phương án trả lời (trong

đó có duy nhất một phương án đúng) và câu hỏi có sử dụng hình ảnh minh họa tình huống thực hành (thí sinh cần nhấn chuột vào vị trí đúng) Hệ thống này của Enlight sử dụng công nghệ Java Applet đã tạo một hệ thống sát hạch dựa trên nền web (đặt trên website www.enlight.net) để thiết kế bài thi và quản lý toàn bộ hoạt động của thí sinh ở phía máy trạm Nó cho phép bất kỳ một thí sinh dự thi hợp lệ nào đều có thể tham gia sát hạch trên website Hệ thống này hoạt động an toàn và ổn định, hiện đã có thí sinh ở trên 140 quốc gia đã từng tham dự sát hạch trên hệ thống của Enlight

Trang 14

Hệ thống đào tạo và sát hạch trực tuyến của Cisco sử dụng công nghệ Flash làm chủ đạo Công nghệ này cho phép mô phỏng các hoạt động mạng nhằm giúp người học nhanh chóng nắm bắt kiến thức thông qua các tình huống thực hành trực quan Trong quá trình sát hạch, công nghệ Flash được tận dụng triệt để nhằm tạo ra những câu hỏi tương tác với thí sinh cũng như quản lý tiến trình làm bài Cisco sử dụng PHP và ColdFusion kết hợp cùng MacroMedia Flash, và nó cũng gặt hái được nhiều thành công Hệ thống được triển khai qua mạng Internet, hoạt động an toàn, ổn định, có khả năng khôi phục trạng thái trong trường hợp rủi ro như mất điện, đứt đường truyền…

Các hệ thống sát hạch trực tuyến trong nước

Ở Việt Nam, trong những năm gần đây, cùng với e-Learning, sát hạch trắc nghiệm, đặc biệt là sát hạch trắc nghiệm trực tuyến cũng là vấn đề thường xuyên được đề cập tới Các cơ sở đào tạo về CNTT như trường Đại học Bách Khoa Hà Nội, trường Đại học Công nghệ - ĐHQGHN, Học viện Bưu chính Viễn thông, Trung tâm Đào tạo và Sát hạch VITEC - Bộ Khoa học Công nghệ, Viện Công nghệ Thông tin - ĐHQGHN, trường Đại học Sư phạm Thành phố Hồ Chí Minh (TP.HCM)… đã bước đầu có những nghiên cứu triển khai về sát hạch trắc nghiệm trực tuyến Một số sản phẩm liên quan đến các hệ thống sát hạch trực tuyến được các đơn vị này xây dựng như:

- Phần mềm sát hạch trực tuyến CmTest-112 do Viện Công nghệ Thông tin, ĐHQG Hà Nội phát triển, được xây dựng trên công nghệ web động, vận hành theo mô hình Client – Server, cho phép sát hạch kiến thức và kỹ năng CNTT theo nội dung chương trình đề án 112 của Chính phủ trên một số lượng lớn học viên Ngân hàng câu hỏi được xây dựng trong phần mềm này dùng cho 7 module cơ bản trong khung đào tạo của đề án, bao gồm: Cơ bản về máy tính, Hệ điều hành Windows, MS-Word, MS-Excel, Trình duyệt và thư điện

tử, Cơ bản về mạng máy tính, Hệ thống thông tin tác nghiệp Chính phủ Cho

Trang 15

đến nay, số lượt sát hạch thông qua phần mềm này lên đến hơn 60 nghìn Ngoài ra Viện Công nghệ thông tin còn ứng dụng phương thức thi trắc nghiệm trên máy tính cho các kỳ thi học kỳ dành cho đối tượng Kỹ thuật viên Tin học của trung tâm Tin học PT trực thuộc Viện Bên cạnh đó, trung tâm Đào tạo và Sát hạch của Viện Công nghệ Thông tin còn là một đơn vị ủy nhiệm của tổ chức ICDLAP, tiến hành sát hạch cho các đối tượng thi chứng chỉ ICDL thông qua hệ thống sát hạch của tổ chức này

- Trung tâm Đào tạo và sát hạch VITEC - Bộ Khoa học Công nghệ thông qua dự án của Nhật Bản hiện đang triển khai hệ thống Cultiva (Nhật Bản) nhằm hỗ trợ học sinh, sinh viên ôn tập để thi chứng chỉ kỹ sư công nghệ thông tin cơ bản (FE) và chứng chỉ kỹ sư phần mềm (SE) theo tiêu chuẩn của Nhật Bản

- Trung tâm Công nghệ Dạy học thuộc Viện Nghiên cứu Giáo dục, Đại học Sư phạm TP.HCM cũng xây dựng một phần mềm trắc nghiệm cài đặt trên máy tính cá nhân và bước đầu đưa phần mềm này vào ứng dụng

- Các công ty CNTT trong nước đã bước đầu phát triển các hệ thống sát hạch trực tuyến, vừa làm phần mềm thương mại, vừa dùng để tự phát triển nhằm mục đích đào tạo nhân viên (FPT, Tinh Vân, Toàn Cầu, Tân Thế Kỷ…)

- Nhiều trường đại học sử dụng ngay chức năng sát hạch trắc nghiệm của

hệ thống e-Learning mà mình sử dụng như Moodle, Sakai hoặc tải về các sản

Một số hệ thống sát hạch trực tuyến thông dụng

- Phần mềm TCExam (http://www.tcexam.org)

TCExam là phần mềm sát hạch nguồn mở, là ứng dụng web được phát triển trên nền LAMP (hệ điều hành GNU-Linux, Apache Web server, ngôn ngữ lập trình PHP, CSDL MySQL) Phần mềm có khả năng nhập/ xuất dữ

Trang 16

liệu trực tiếp với các định dạng XML, PDF Phần mềm có các chức năng quản

lý, phân phối, lên lịch, báo cáo các bài khảo sát, câu hỏi trắc nghiệm, và các bài kiểm tra Phần mềm hỗ trợ các kiểu câu hỏi: đơn lựa chọn, đa lựa chọn, lựa chọn nội tuyến, câu hỏi nhập văn bản Hiện dự án phát triển TCExam vẫn đang trong giai đoạn hoàn thiện và phiên bản mới nhất là 11.3.012

- Phần mềm CyberTester (http://www.cyberdemia.com/products/cybertester.html)

CyberTester là phần mềm sát hạch trực tuyến nguồn mở viết bằng Jboss kết hợp với Java Enterprise Edition và CSDL MySQL CyberTester hỗ trợ các kiểu câu hỏi gồm: câu hỏi đơn lựa chọn, đa lựa chọn, câu hỏi ghép cặp CyberTester phù hợp để tích hợp vào các dịch vụ giáo dục trực tuyến hoặc chạy như một ứng dụng web độc lập trong các trường học Dự án phát triển CyberTester bắt đầu từ năm 2003 và phiên bản mới nhất hiện nay là CyberTester2, version 0.3.0 Trong phiên bản mới này, các chức năng tạo mới câu hỏi trắc nghiệm cùng các thuộc tính của câu hỏi đã được bổ sung CyberTester hỗ trợ nhập số nguyên/số thực, hỗ trợ chức năng chèn ảnh minh họa/ liên kết ngoài cho câu hỏi hoặc các phương án trả lời sử dụng môi trường soạn thảo nội dung câu hỏi trên nền RTE (Rich Text Editor)

- Phần mềm PHPTest (http://sourceforge.net/projects/phptest/)

Dự án phát triển PHPTest được bắt đầu từ năm 2002 và hiện nay đã ngừng phát triển tiếp trên sourceforge Các chức năng của PHPTest tương tự như TCExam Hệ thống hỗ trợ các kiểu câu hỏi đơn lựa chọn và đa lựa chọn Màn hình soạn thảo câu hỏi của PHPTest chưa hỗ trợ môi trường RTE

- Phần mềm AsDel (http://asdel.ecs.soton.ac.uk/)

AsDel - viết tắt của “Assessment Delivery”, là một dự án do Khoa Điện

tử và Khoa học máy tính, Trường Đại học Southampton tiến hành Dự án nhằm phát triển hệ thống tạo ra và phân phối bài trắc nghiệm tuân thủ chuẩn

Trang 17

QTI v 2.1 có thể chạy như một ứng dụng độc lập hoặc như một dịch vụ thành phần trong hệ thống theo kiến trúc hướng dịch vụ Dự án đã kết thúc vào năm

2008 và sản phẩm là các dịch vụ Web để lắp ghép thành ứng dụng

1.2 Chuẩn cho hệ thống sát hạch trắc nghiệm

1.2.1 Giới thiệu chung

Tổ chức IMS Global Learning Consortium (www.imsglobal.org) phát triển và xúc tiến các đặc tả mở để hỗ trợ các hoạt động học tập phân tán trên mạng như định vị và sử dụng nội dung giáo dục, theo dõi quá trình học tập, thông báo kết quả học tập và trao đổi thông tin giữa các hệ thống quản lý IMS đóng vai trò quan trọng trong việc đưa ra các đặc tả cho e-Learning, các đặc tả sau đó được các tổ chức cấp cao hơn như ADL, IEEE, ISO sử dụng, chứng nhận thành chuẩn e-Learning và được ứng dụng rộng rãi

Mục tiêu của IMS

- Xây dựng các đặc tả nhằm nâng cao tính khả chuyển giữa các ứng dụng

và các dịch vụ trong học tập phân tán

- Đưa các đặc tả của IMS vào các dịch vụ trên toàn thế giới IMS xúc tiến việc thực thi các đặc tả sao cho môi trường học tập phân tán nội dung từ nhiều nguồn khác nhau có thể hiểu nhau

1.2.2 Các đặc tả do tổ chức IMS đề xuất

Tổ chức IMS đã đề xuất các đặc tả gồm:

nguyên học tập hiệu quả hơn

thông tin giữa các hệ thống trong phạm

vi một doanh nghiệp, tổ chức

dung học tập

Trang 18

viên hoặc nhà cung cấp dịch vụ

Competency or Educational Objective

Là khung (framework) để 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

tập tương ứng với từng học viên

Đưa thêm các đặc điểm cho đặc tả LIP

để gộp dữ liệu gồm các yêu cầu thay đổi của học viên, điều kiện sử dụng, công nghệ

Bảng 1.1 Các đặc tả do tổ chức IMS đề xuất

Trong số các đặc tả do tổ chức IMS đề xuất, đặc tả Question and Test Interoperability (QTI) là đặc tả chúng ta quan tâm nghiên cứu trong luận văn này

1.3 Tìm hiểu về chuẩn QTI

1.3.1 Giới thiệu chung về đặc tả QTI

Tổ chức IMS Global đưa ra đặc tả có tên IMS QTI cho các câu hỏi và bài trắc nghiệm Đặc tả QTI (Question & Test Interoperability) là đặc tả tính hợp tác của ngân hàng câu hỏi và hệ thống trắc nghiệm được phát triển bởi tổ chức IMS Global Learning Consortium Đặc tả QTI được ra đời lần đầu tiên vào năm 1999 (version 0.5) và phiên bản cuối cùng (version 2.1) được đưa ra vào tháng 10 năm 2005 Đặc tả QTI mô tả cấu trúc cơ bản thể hiện dữ liệu câu

Trang 19

hỏi (item data hay question data), dữ liệu bài thi trắc nghiệm (test data hay assessment data) và dữ liệu trong những báo cáo kết quả trắc nghiệm tương ứng Mỗi câu hỏi trắc nghiệm theo chuẩn QTI là một tệp XML đặc tả rõ nội dung và cách trình bày câu hỏi, đáp án đúng, cách xử lý đáp án của thí sinh,

do đó dễ dàng được chia sẻ dữ liệu giữa các hệ thống

Tương tự như chuẩn SCORM (Sharable Content Object Reference Model) đối với hệ thống e-Learning nhằm chia sẻ dùng chung các tài nguyên đào tạo điện tử giữa các hệ thống khác nhau, các hệ thống tuân thủ đặc tả QTI

có thể trao đổi dữ liệu với nhau về câu hỏi, bài thi và các báo cáo kết quả Do

đó có thể dễ dàng sử dụng lại câu hỏi từ các ngân hàng câu hỏi khác nhau, dễ dàng chuyển đổi dữ liệu từ hệ thống đánh giá sang các hệ thống quản lý học tập (Learning Management Systems) và ngược lại

Cụ thể hơn, đặc tả QTI được thiết kế nhằm:

- Cung cấp một định dạng dữ liệu chuẩn cho phép lưu trữ các câu hỏi độc lập với công cụ tạo ra chúng;

- Dễ dàng tích hợp ngân hàng câu hỏi vào các hệ thống quản lý học tập (Learning Management Systems) hoặc hệ thống phân phối bài trắc nghiệm (Assessment Delivery System);

- Dễ dàng sử dụng các câu hỏi từ nhiều nguồn khác nhau, sử dụng lại hoặc chia sẻ ngân hàng câu hỏi;

- Cung cấp cho các hệ thống các mẫu báo cáo kết quả trắc nghiệm thống nhất Do đó, dễ dàng chuyển kết quả thi từ một hệ thống này vào hệ thống khác, chẳng hạn từ hệ thống trắc nghiệm vào một hệ thống quản lý sinh viên Đặc tả QTI sử dụng ngôn ngữ XML (eXtensible Markup Language) để

mô tả dữ liệu, do đó dễ dàng chuyển đổi dữ liệu giữa các hệ thống

1.3.2 Các tài liệu trong đặc tả QTI

Đặc tả QTI được trình bày chi tiết trong 7 tài liệu chính:

Trang 20

- Implementation Guide: Tài liệu hướng dẫn mô tả dữ liệu XML cho

từng loại câu hỏi cơ bản thông qua các ví dụ cụ thể

- Information Model: Tài liệu tham khảo hướng dẫn về mô hình dữ liệu

cho các câu hỏi cùng các yêu cầu cụ thể đối với hệ thống phân phối bài thi trắc nghiệm (Assessment Delivery System) và hệ thống soạn câu hỏi (Authoring System)

- Meta-data and Usage Data: Do trong tài liệu về chuẩn Learning Object

Metadata (LOM) của IEEE, một chuẩn được dùng trong các hệ thống Learning, chỉ đưa ra một tập các phần tử (XML elements) sử dụng để mô tả

e-dữ liệu cho các tài nguyên học, không mô tả đầy đủ cho các tài nguyên đánh giá (assessment resources) mà cụ thể là các mô tả dữ liệu của câu hỏi, bài thi, kết quả thi Do đó, tài liệu Meta-data and Usage Data mở rộng và bổ sung cho IEEE LOM nhằm tương thích giữa các đặc tả về tài nguyên học và các đặc tả

về tài nguyên đánh giá (dữ liệu câu hỏi, bài thi ) Tài liệu này đặc biệt quan trọng đối với người phát triển phần mềm trắc nghiệm, người xây dựng và quản lý ngân hàng câu hỏi

- Intergration Guide: Tài liệu mô tả mối quan hệ giữa đặc tả IMS QTI

với các đặc tả có liên quan khác như IMS Content Packaging, IMS Simple Sequencing, IMS Learning Design

- XML Binding: Tài liệu định nghĩa một tập các lớp và kiểu dữ liệu trừu

tượng nhằm sử dụng để kết nối dữ liệu giữa các hệ thống khác nhau Tài liệu này cũng mô tả phương thức kết nối thông tin với các tài liệu XML Các quy tắc kết nối (binding rules) được đưa ra chủ yếu qua XML Schemas theo namespace: http://www.imsglobal.org/xsd/imsqti_item_v2p0.xsd

- Conformance Guide: Tài liệu mô tả các yêu cầu cần tuân thủ đối với dữ

liệu, chẳng hạn: dữ liệu câu hỏi, bài thi cùng các yêu cầu cần tuân thủ đối

Trang 21

với các hệ thống: ngân hàng câu hỏi – Item Bank System, hệ thống soạn thảo câu hỏi - Authoring System, hệ thống phân phối bài thi – Delivery System

- Migration Guide: Tài liệu hỗ trợ cho những người đã quen với IMS

QTI version 1.x nhằm dễ dàng chuyển sang IMS QTI version 2.0

Nhìn chung, QTI 2.0 là một đặc tả hoàn chỉnh và chi tiết cho dữ liệu của

hệ thống trắc nghiệm sử dụng trên môi trường Web

1.3.3 Các đối tượng cơ bản trong đặc tả QTI

Theo đặc tả QTI có 3 đối tượng cơ bản nhất là: Assessment, Section, Item (ASI)

Item

Là đối tượng nhỏ nhất có thể trao đổi được trong tài liệu QTI-XML

“Item” tương ứng với một câu hỏi (Question) nhưng rộng hơn Cụ thể là Item chứa “Question” Ngoài ra còn có các thành phần khác như: các lời dẫn hay chú thích; các thuộc tính (độ khó, độ phân biệt, độ phỏng đoán) của câu hỏi; quy định cách xử lý phương án trả lời của thí sinh; quy định các phản hồi (feedback) khi thí sinh trả lời câu hỏi (trong một số trường hợp); meta-data

mô tả cho item Một item là một phần tử XML

Assessment

Một “Assessment” tương đương với một bài trắc nghiệm (Test) Assessment chứa nhiều Item dùng để đánh giá năng lực thí sinh Assessment cũng chứa những chỉ dẫn (instruction) cần thiết để tổng hợp điểm của tất cả các item trong nó thành điểm của bài trắc nghiệm

Section

Một section là một phần trong Assessment Section cho phép xây dựng các bài trắc nghiệm theo cấu trúc phân cấp Một section cũng có thể chứa một hoặc nhiều section khác Một section có thể xem như một chủ đề trong một môn học cần được đánh giá trong bài trắc nghiệm

Trang 22

Ngoài 3 đối tượng cơ bản nêu trên, còn có một số đối tượng khác có mặt trong các gói tài liệu tuân thủ QTI, đáng chú ý là: object-bank và assessment-bank

Object-bank

Đây là một tập các item và section Một object-bank có một định danh duy nhất và có meta-data mô tả nội dung của nó để các hệ thống có thể tìm thấy Object-bank chứa cơ sở dữ liệu các đối tượng đánh giá sẽ sử dụng trong các bài trắc nghiệm (assessment)

Các Object-bank được đóng gói thành gói chuẩn (QTI package) để chuyển giao sử dụng chung Một QTI package là một file ZIP gồm:

- imsmanifest.xml: chứa meta-data mô tả các đối tượng dữ liệu (item, section) – các đối tượng dữ liệu này được chứa trong cặp thẻ

<questestinterop></questestinterop>

- Các tài nguyên khác như hình ảnh, âm thanh

Hệ thống phân phối bài thi có thể tổng hợp các item, section thành các bài thi trước khi phân phối đến thi sinh

Assessment-bank

Là một tập hợp các bài trắc nghiệm (assessment) Mỗi bài trắc nghiệm chứa các item, section Một assessment-bank có định danh (identifier) duy nhất và meta-data mô tả nội dung để các hệ thống có thể tìm thấy Một assessment-bank thường chứa một tập các bài trắc nghiệm có liên quan với nhau Tương tự như các object-bank, các assessment-bank có thể được chuyển giao sử dụng chung nhờ đóng gói thành gói chuẩn (QTI package) Như vậy, hệ thống phân phối bài thi (Assessment Delivery) có thể chọn các bài trắc nghiệm (assessment) từ assessment-bank

Trang 23

1.3.4 Ví dụ minh hoạ biểu diễn câu hỏi theo chuẩn QTI

Có rất nhiều kiểu câu hỏi có thể được sử dụng trong các hệ thống sát hạch trắc nghiệm Theo đặc tả QTI 2.1, có 21 dạng câu hỏi được IMS đề xuất Tuy nhiên trên thực tế, câu hỏi đơn lựa chọn và câu hỏi đa lựa chọn được sử dụng hầu hết trong các hệ thống sát hạch trắc nghiệm Mặc dù tổ chức IMS đã chỉ ra rất nhiều kiểu câu hỏi nhưng trên thực tế đa phần các câu hỏi đều có thể quy về một trong hai loại câu hỏi đơn lựa chọn và câu hỏi đa lựa chọn

Câu hỏi đơn lựa chọn

Mô tả: Câu hỏi có nhiều phương án trả lời, trong đó có duy nhất một phương án đúng

Hình 1.1 Câu hỏi đơn lựa chọn

Mô tả dữ liệu theo chuẩn QTI được thể hiện như sau:

<?xml version="1.0" encoding="UTF-8" ?>

<assessmentItem xmlns="http://10.6.1.9/xsd/imsqti_v2p0"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://10.6.1.9/xsd/imsqti_v2p0

imsqti_v2p0.xsd" identifier="choice" title="Ngôn ngữ đa

luồng" adaptive="false" timeDependent="false">

<! Bổ sung các thuộc tính đánh giá câu hỏi theo IRT vào đây >

Trang 24

</assessmentItem>

Giải thích

Câu hỏi trong ví dụ nêu trên không phải là dạng câu hỏi adaptive (thuộc tính adaptive="false"), nghĩa là các câu hỏi sau đó không phụ thuộc vào phương án trả lời câu hỏi của thí sinh Câu hỏi không phụ thuộc thời gian (thuộc tính timeDependent="false”), nghĩa là thời gian trả lời câu hỏi của thí sinh không bị hạn chế, chỉ phụ thuộc vào thời gian của bài trắc nghiệm

Phương án trả lời đúng cho câu hỏi là phương án A, biểu diễn bởi cặp thẻ <correctResponse> và </correctResponse>

Việc xử lý phương án trả lời của thí sinh thông qua file match_correct.xml như sau:

<?xml version="1.0" encoding="UTF-8" ?>

<responseProcessing xmlns="http://10.6.1.9/xsd/imsqti_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://10.6.1.9/xsd/imsqti_v2p0

imsqti_v2p0.xsd">

<responseCondition>

<responseIf>

Trang 25

Câu hỏi đa lựa chọn

Mô tả: Câu hỏi có nhiều phương án trả lời, trong đó có từ 2 phương án đúng trở lên

Hình 1.2 Câu hỏi đa lựa chọn

Mô tả dữ liệu theo chuẩn QTI được thể hiện như sau:

title="Composition of Water" adaptive="false"

Trang 26

<mapEntry mapKey="O" mappedValue="1" />

<mapEntry mapKey="Cl" mappedValue="-1" />

</assessmentItem>

Các phương án trả lời đúng cho câu hỏi là phương án H và O, biểu diễn bởi cặp thẻ <correctResponse> và </correctResponse>

Trang 27

Việc xử lý phương án trả lời của thí sinh thông qua file map_response.xml như sau:

<responseProcessing

xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p0 imsqti_v2p0.xsd">

Nhằm khuyến khích áp dụng chuẩn QTI, đã có các dự án phát triển công

cụ phần mềm hỗ trợ cho chuẩn này do một số trường đại học ở Anh tiến hành

Có thể kể tên một số dự án như AsDel (http://asdel.ecs.soton.ac.uk/), AquRate (http://aqurate.kingston.ac.uk), Minibix (http://qtitools.caret.cam.ac.uk/) Những dự án này làm ra sản phẩm là các mô đun công cụ có thể dùng như các thành phần hay các dịch vụ web để xây dựng thành một hệ thống sát hạch bằng máy tính tuân thủ chuẩn QTI

JQTI là một thư viện lõi để phát triển các ứng dụng hỗ trợ chuẩn QTI JQTI bản chất là một thông dịch viên cho các tệp QTI xml Các tệp QTI xml không giống như các tài liệu xml vì nó không chỉ chứa dữ liệu, mà còn chứa

Trang 28

các chỉ dẫn Các chỉ dẫn này xác định các bài thi (tests) và câu hỏi (items) được trình bày, xử lý và đánh giá như thế nào JQTI bao gồm một số đặc điểm chính sau:

- Hỗ trợ cho việc đọc, phân tích và giải thích các tài liệu QTI xml

- Hỗ trợ trong việc tạo bài thi theo chuẩn QTI và xuất ra tệp XML

- Hỗ trợ cho việc báo cáo lỗi các tài liệu theo chuẩn QTI

1.4.2 Các bộ công cụ sử dụng thư viện JQTI

a QTI Engine

QTI Engine là một công cụ mã nguồn mở mới được phát triển bởi dự án MathAssess, dùng để hiển thị nội dung đặc tả IMS QTI v2.0 và 2.1 QTI Engine sử dụng JQTI 2 để xử lý các tệp XML và sử dụng giải pháp dựa trên XSLT để tạo ra các câu hỏi và bài thi Đặc biệt MathAssess còn hỗ trơ MathML (Mathematical Markup Language - Ngôn ngữ Đánh dấu Toán học) trong trình duyệt Internet Explorer thông qua công cụ MathPlayer để hiển thị

ký hiệu và công thức toán học tương tự trình duyệt Mozilla Firefox

Ngoài ra, hệ thống Moodle có một plugin cho phép QTI Engine có thể chạy như một thành phần trong Moodle Điều này cho phép giáo viên có thể tạo bài thi bằng cách tải lên từ máy hiện hành hoặc nhập khẩu (import) từ Minibix, và sinh viên có thể làm bài thi như một phần của một khoá học Moodle

b Constructr

Constructr mở rộng các bằng chứng về khái niệm Constructr ban đầu từ

dự án ASDEL, nó gồm một số tính năng mới:

- Dùng thư viện JQTI

- Lấy câu hỏi từ hệ thống Minibix

- Đóng gói thành bài thi và chuyển lại vào hệ thống Minibix

Trang 29

Hiện tại Constructr chỉ xử lý được một phần rất nhỏ về đặc tả QTI, những thứ có thể được thực hiện trong một bài thi Ví dụ nó không thể tạo được các bài thi adaptive, hỗ trợ rất ít các thuộc tính của bài thi

Constructr cho phép người dùng tìm kiếm một ngân hàng câu hỏi và tạo thành một bài thi hoàn chỉnh Constructr cũng tích hợp trực tiếp với playr và assessr, nó cho phép test bài thi ngay khi đang xây dựng và sau đó triển khai tới các thí sinh Constructr được cung cấp bởi JQTI

Trang 30

CHƯƠNG 2 MÔ HÌNH ỨNG DỤNG WEB THEO KHUNG KIẾN

TRÚC MVC VỚI XQUERY VÀ JQUERY 2.1 Khung kiến trúc MVC cho ứng dụng web

2.1.1 Khung kiến trúc MVC

Kho câu hỏi trắc nghiệm theo chuẩn QTI là một ứng dụng cơ sở dữ liệu dựa trên nền Web Một ứng dụng điển hình dạng này thường có kiến trúc 3 tầng, gồm tầng giao diện người sử dụng, tầng truy cập dữ liệu và tầng xử lý Khung kiến trúc MVC được sáng tạo ra để thiết kế các ứng dụng dạng này Kiến trúc mô hình - khung nhìn - trình điều khiển hay MVC (Model –View – Controller) là một kiến trúc phần mềm theo khuôn mẫu, tách biệt phần thực hiện chức năng xử lý với dữ liệu đầu vào và trình bày trang giao diện dành cho người sử dụng Mục đích của MVC là thông qua việc tách biệt

xử lý dữ liệu với hiển thị trang web sẽ làm thiết kế kiến trúc đơn giản hơn cho phép tăng tính linh hoạt, có thể phát triển, kiểm thử và bảo trì từng phần độc lập nhau

Nói ngắn gọn, phần mô hình (model) là nói về mô hình biểu diễn dữ liệu

và xử lý nghiệp vụ đặc thù cho bài toán ứng dụng Khung nhìn (view) là phần biểu hiện dữ liệu do mô hình cung cấp sao cho dễ tương tác, thường là dưới dạng các phần tử giao diện người sử dụng Trình điều khiển (controller) xử lý

sự kiện, chuyển các hành động của người sử dụng thành các phép xử lý của

mô hình

Controller

Hình 2.1: Khung kiến trúc MVC

Trang 31

Trong hình trên, mũi tên biểu thị mối quan hệ một thành phần quan tâm theo dõi (is aware of) thành phần kia Đường nét đứt biểu thị rằng mối quan tâm là gián tiếp

Ví dụ về một mô hình thực tế tiếp cận khái niệm của mô hình MVC Mô hình này mô tả về công việc xem truyền hình, mô hình được mô tả như sau:

- Một người A muốn xem các phim chọn lọc được lựa chọn từ các đĩa CD/DVD trên màn hình Tivi của nhà A

- Để đọc được đĩa CD/DVD thì phải dùng đầu máy đọc đĩa của nhà A

- Đầu máy này không có nút điều khiển trực tiếp, đầu máy này nhận hàng loạt các đĩa – tối đa là 5 cái, do vậy muốn kích hoạt và chọn đĩa xem A bắt buộc phải sử dụng remote control – điều khiển từ xa

Như vậy, để xem phim A sẽ làm như sau:

- A sẽ sử dụng remote control điều khiển đầu máy để chọn đĩa mà A thích xem nhất để mở nó ra

- Đĩa được chọn đọc đĩa và trình chiếu trên màn hình Tivi

- Khi dữ liệu đã hiển thị trên màn hình Tivi thì A sẽ thấy được nội dung

- Và cách thức này sẽ được lặp đi lặp lại khi A chọn một phim khác, đó

là vẫn dùng điều khiển để chọn đĩa và đầu đĩa đưa dữ liệu lên màn hình Tivi

và A nhìn thấy

Mô hình được mô tả như hình vẽ sau:

Hình 2.2: Mô hình MVC mô tả công việc xem truyền hình

Trang 32

Qua hình ảnh mô tả trên, chúng ta thấy rằng:

- Đầu máy là nơi xử lý dữ liệu, chọn lựa cách thức xử lý, nội dung cần thiết, nghĩa là đầu máy là Model

- Màn hình Tivi chỉ làm nhiệm vụ duy nhất để trình bày kết quả mà đầu máy – Model đã thực hiện, được lựa chọn Màn hình Tivi không thể lựa chọn

và không có cách chọn lựa là trình bày các thành phần truyền đến đã được xử

lý Màn hình Tivi là View

- Thành phần hỗ trợ đưa dữ liệu từ Model đến View đó là điều khiển, ngoài ra điều khiển cũng là nơi kết nối người dùng với đầu máy với màn hình Tivi Chức năng của điều khiển là chọn đúng model để đưa ra view Điều khiển – remote control là một Controller

Dựa vào ví dụ trên ta thấy được sự tối ưu của MVC đó là:

- Khi thay đổi màn hình Tivi đang xem thành màn hình Tivi khác thì việc thay đổi không ảnh hưởng gì đến toàn hệ thống

- Tương tự như thế nếu đầu máy hư thì thay đổi máy khác vẫn không ảnh hưởng gì lớn

Như vậy, việc tách biệt giúp ta có nhiều lợi ích trong việc phân chia công việc và các xử lý công việc

2.1.2 Lịch sử MVC

MVC được hình thành bởi các nghiên cứu của Trygve Reenskaug vào khoảng các năm 1978-1979 Sau đó nó được điều chỉnh và được cài đặt lần đầu tiên vào các lớp của thư viện Xerox PARC Smalltalk-80 Hiện tại MVC được sử dụng rộng rãi như là kiến trúc cơ bản trong các môi trường lập trình web, chúng ta có thể liệt kê sự có mặt của mô hình MVC trong nhiều các nền tảng lập trình như:

- Swing Components của Java

- Document View Architecture trong Microsoft Visual C++ (VC++)

Trang 33

- Mô hình MVC1: Là mô hình tương tự như html nhưng các trang web ở dạng động có thể đón nhận và trình bày dữ liệu từ server nhưng tất cả các trang liên kết đều là các đường dẫn tĩnh và các cách thức xử lý đều thực hiện trực tiếp trên trang Ngoài ra, các trang thực hiện gọi trực tiếp lẫn nhau Mô hình này chỉ phù hợp với ứng dụng nhỏ vì các đường dẫn rất khó để tìm kiếm

và sửa đổi, đặc biệt với trang trộn lẫn giữa code html, javascript, xml, javacode …

Hình 2.3: Cơ chế thực hiện của Mô hình MVC1

Web Server

Server chọn trang JSP xử lý theo yêu cầu gửi từ browser

1 Request

Response

5

3

Trang 34

Hình 2.4: Ví dụ về mô hình MVC1

- Mô hình MVC2: Đây là mô hình thực tế áp dụng tiếp cận theo đúng khái niệm đã nêu ở trên, tách biệt từng thành phần, tạo nên sự uyển chuyển khi vận dụng và cài đặt, đặc biệt là bảo trì, nâng cấp

Hình 2.5: Cơ chế thực hiện của Mô hình MVC2

BROWSER

(Controller)

Servlet

(Model) JavaBean

XML File

Trang 35

Cơ chế thực hiện của mô hình MVC2:

+ Web Browser gửi request đến server thông qua các control trên form HTML hay JSP, hay query string url hay qua cookies

+ Servlet – Controller đón nhận request và xác định Model tương ứng để tạo ra instance của JavaBean để đón nhận các giá trị nhập từ request để lưu trữ và xử lý

+ Model thực hiện xử lý, kết nối dữ liệu vật lý dưới DBMS (nếu có) và trả kết quả trả về cho Controller

+ Kết quả xử lý được chuyển vào Servlet – Controller, Servlet Controller thực hiện tạo hay lựa chọn View để từ đó đưa kết quả xử lý hay dữ liệu lấy từ Model để cập nhật lại trang kết quả View

+ Controller gửi View qua response cho người dùng để browser có thể trình bày dữ liệu trong Web Browser

Cơ chế thực hiện trên cho thấy mọi tập trung xử lý và kết xuất đều hướng vào Controller

2.1.3 Các thành phần trong MVC

2.1.3.1 Mô hình

Mô hình (model) là nói về mô hình biểu diễn dữ liệu và tính toán xử lý

mà ứng dụng thực hiện Trong MVC mô hình là phần chứa các mã lệnh thực hiện truy vấn, xử lý dữ liệu Khi có thay đổi dữ liệu trong mô hình, nó sẽ báo cho khung nhìn để làm tươi lại, phản ánh kịp thời những thay đổi đó Nhìn chung các ứng dụng sử dụng một cơ sở dữ liệu để lưu trữ dữ liệu bền vững Trong khung kiến trúc MVC, tầng truy cập dữ liệu được hiểu là nằm trong phần mô hình Phần mô hình không quan tâm đến cách hiển thị kết quả

Như vậy, mô hình là một tập hợp nhiều hàm công cộng để thực hiện các chức năng xử lý mong muốn Trong đó có các truy vấn cho phép người sử dụng lấy thông tin về trạng thái hiện tại của mô hình Mô hình cũng có các

Trang 36

phương thức cho phép biến đổi trạng thái Mô hình phải có khả năng đăng ký các khung nhìn và có thể thông báo cho tất cả các khung nhìn đã đăng ký mỗi khi một hàm nào đó của nó gây ra thay đổi trạng thái Một mô hình trong MVC có thể có vài khung nhìn khác nhau

2.1.3.2 Khung nhìn

Khung nhìn (view) là phần biểu hiện mô hình xử lý sao cho dễ tương tác, thường là dưới dạng các phần tử giao diện người sử dụng Khung nhìn chứa các mã lệnh để hiển thị dữ liệu và các thành phần GUI tương tác với người sử dụng Trong các ứng dụng web, khung nhìn chính là các trang web khác nhau

Có thể có nhiều khung nhìn đối với một mô hình dành cho từng mục đích khác nhau

Trong mô hình ứng dụng Web thì html, servlet, jsp … là những thành phần đại diện cho khung nhìn

2.1.3.3 Trình điều khiển

Các khung nhìn trong MVC gắn với các trình điều khiển (controller) Khi người sử dụng tương tác với khung nhìn, trình điều khiển sẽ cập nhật mô hình dữ liệu Trình điều khiển gọi các phương thức (thuộc mô hình) để thay đổi trạng thái của mô hình Dĩ nhiên, sau đó mô hình sẽ thông báo tới tất cả các khung nhìn đã đăng ký rằng đã có sự thay đổi và các khung nhìn này sẽ cập nhật lại hiển thị của chúng một cách thích hợp

Trong môi trường Java, các trình điều khiển là các trình lắng nghe sự kiện (listeners) trong hệ thống xử lý sự kiện Với ứng dụng Web thì Servlet đóng vai trò của trình điều khiển, trình điều khiển nhận yêu cầu HTTP (request) và khởi tạo các đáp ứng HTTP (response) bằng cách gọi các servlet hay các kịch bản lệnh (script) thích hợp để xử lý

Trang 37

2.1.4 Mối quan hệ giữa các thành phần trong mô hình MVC

Một ứng dụng MVC có thể là một tập hợp các bộ ba mô hình/ khung nhìn/ bộ điều khiển, mỗi bộ ba chịu trách nhiệm về một phần tử giao diện người sử dụng khác nhau

Giữa Controller và Model thì controller phụ thuộc vào model bởi vì controller được thiết kế để kết nối với model, điều khiển, truy xuất model Do vậy, model có sự thay đổi là controller phải thay đổi theo để có thể truy xuất

và điều khiển model cho phù hợp

Giữa Model và View thì View lệ thuộc vào Model bởi vì khi các tổ chức interface của Model thay đổi nghĩa là View phải thay đổi theo

Giữa View và Controller thì Controller sẽ là đối tượng lựa chọn View tùy thuộc theo việc yêu cầu sử dụng của người dùng, tùy thuộc theo kết quả

xử lý của Model

2.1.5 Ưu điểm của MVC

Kiến trúc MVC nhằm tách biệt các mối quan tâm, tách phần trình bày dữ liệu ở mặt trước khỏi phần tổ chức và xử lý dữ liệu ở mặt sau Nó mang lại các lợi thế sau:

- Cho phép phát huy tốt nhất kỹ năng chuyên sâu của nhà phát triển ứng dụng

- Cho phép duy trì song song cùng một lúc nhiều sơ đồ, nhiều cách trình bày dữ liệu khác nhau

- Giữ cho ứng dụng có kiến trúc nhất quán, thuận tiện làm việc theo nhóm, dễ dàng sửa đổi và bảo trì nâng cấp

Trang 38

2.1.6 Luồng công việc trong kiến trúc MVC

Hình 2.6: Luồng công việc trong kiến trúc MVC cho ứng dụng web

Hình trên minh họa luồng công việc trong kiến trúc MVC, trong đó: (1) Trình điều khiển tiếp nhận dữ liệu từ các yêu cầu GET hay POST (2) Trình điều khiển khởi tạo các đáp ứng (response) bằng cách gọi các hàm xử lý thuộc mô hình

(3) Hàm xử lý trả kết quả về cho trình điều khiển (4) Tùy theo kết quả xử lý, trình điều khiển chọn khung nhìn thích hợp

để hiển thị dữ liệu và giao diện tương tác với người sử dụng

(5) Khung nhìn lấy dữ liệu từ mô hình (6) Hàm xử lý trả kết quả để khung nhìn hiển thị Các bước 2, 3, và 5, 6 là tùy chọn theo từng trường hợp

2.1.7 Khung kiến trúc MVC cho một ứng dụng web

MVC thường áp dụng cho các ứng dụng web Trong ứng dụng web, khung nhìn là tài liệu HTML/XHTML mà ứng dụng sinh ra Các trình điều khiển tiếp nhận dữ liệu từ các yêu cầu HTTP kiểu GET hay POST và quyết định chuyển giao xử lý tới các đối tượng (các servlet, thuộc phần mô hình) chứa quy tắc xử lý

Dựa trên khung kiến trúc MVC cho một ứng dụng web với phía khách gầy (thin-client), hình dưới đây minh họa kiến trúc MVC cho ứng dụng web

Controller

(2) function calls http req (1)

data (3) select

(4) view

(6) data (5) function calls

Trang 39

triển khai mô đun xử lý bài thi của thí sinh theo chuẩn QTI dựa trên hệ cơ sở

Giả sử ta phát triển một ứng dụng XQuery đơn giản quản lý dữ liệu liên

hệ với người sử dụng (user contact) Mỗi mối liên hệ gồm có họ tên và địa chỉ thư điện tử Toàn bộ dữ liệu chứa trong một tệp XML tên là contacts.xml, gồm nhiều phần tử user như dưới đây:

db-exists(): Hàm kiểm tra xem có tồn tại CSDL (ở đây là tệp

contacts.xml) hay không

Trình duyệt Web

HTTP

Trang HTML

Controller View

Các công cụ xử lý bài thi

(lựa chọn môn thi, xử lý bài làm, tính điểm) (Model)

Luồng ra

Tầng trình bày

Tầng

model

Trang 40

list(): Hàm lấy ra tất cả các phần tử user có trong tệp dữ liệu

contacts.xml

create(): Hàm tạo một phần tử user mới và chèn thêm vào tệp dữ liệu

Dữ liệu đầu vào nhận từ trình điều khiển Trình điều khiển lấy dữ liệu này từ yêu cầu HTTP, do người sử dụng nhập

xquery version "1.0-ml";

module namespace contacts = "contacts";

declare variable $db := '/contacts.xml';

declare function db-exists() {

) else fn:false()};

Khung nhìn (View)

Để minh họa việc duy trì song song cùng một lúc nhiều cách trình bày hiển thị dữ liệu, ở đây xây dựng hai khung nhìn: trang web HTML thông thường và tài liệu XML

Ngày đăng: 07/11/2014, 18:26

HÌNH ẢNH LIÊN QUAN

Bảng 1.1  Các đặc tả do tổ chức IMS đề xuất  10 - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Bảng 1.1 Các đặc tả do tổ chức IMS đề xuất 10 (Trang 6)
Bảng 1.1. Các đặc tả do tổ chức IMS đề xuất - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Bảng 1.1. Các đặc tả do tổ chức IMS đề xuất (Trang 18)
Hình 1.2. Câu hỏi đa lựa chọn - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 1.2. Câu hỏi đa lựa chọn (Trang 25)
Hình 2.1: Khung kiến trúc MVC - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 2.1 Khung kiến trúc MVC (Trang 30)
Hình 2.2:  Mô hình MVC mô tả công việc xem truyền hình - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 2.2 Mô hình MVC mô tả công việc xem truyền hình (Trang 31)
Hình 2.3: Cơ chế thực hiện của Mô hình MVC1 - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 2.3 Cơ chế thực hiện của Mô hình MVC1 (Trang 33)
Hình 2.4: Ví dụ về mô hình MVC1 - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 2.4 Ví dụ về mô hình MVC1 (Trang 34)
Hình 2.5: Cơ chế thực hiện của Mô hình MVC2 - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 2.5 Cơ chế thực hiện của Mô hình MVC2 (Trang 34)
Hình 2.6: Luồng công việc trong kiến trúc MVC cho ứng dụng web - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 2.6 Luồng công việc trong kiến trúc MVC cho ứng dụng web (Trang 38)
Hình 2.7: Kiến trúc MVC của mô đun xử lý bài thi   theo chuẩn QTI với cơ sở dữ liệu XML - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 2.7 Kiến trúc MVC của mô đun xử lý bài thi theo chuẩn QTI với cơ sở dữ liệu XML (Trang 39)
Bảng 2.1: Sự khác nhau giữa SQL và XQuery - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Bảng 2.1 Sự khác nhau giữa SQL và XQuery (Trang 48)
Hình 2.9: Màn hình Download jQuery - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 2.9 Màn hình Download jQuery (Trang 50)
3.1.2. Sơ đồ usecase của mô đun Xử lý bài thi - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
3.1.2. Sơ đồ usecase của mô đun Xử lý bài thi (Trang 56)
Hình 3.3: Lược đồ tuần tự Chọn môn thi - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 3.3 Lược đồ tuần tự Chọn môn thi (Trang 57)
Hình 3.2: Lược đồ tuần tự Đăng nhập hệ thống - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 3.2 Lược đồ tuần tự Đăng nhập hệ thống (Trang 57)
Hình 3.4: Lược đồ tuần tự của mô đun Xử lý bài thi - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 3.4 Lược đồ tuần tự của mô đun Xử lý bài thi (Trang 59)
Bảng 3.1: Bảng hệ thống phân cấp các sưu tập - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Bảng 3.1 Bảng hệ thống phân cấp các sưu tập (Trang 61)
Bảng 3.2: Bảng danh sách các mô đun và các hàm - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Bảng 3.2 Bảng danh sách các mô đun và các hàm (Trang 62)
Hình 3.7: Câu hỏi lựa chọn nội tuyến - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 3.7 Câu hỏi lựa chọn nội tuyến (Trang 63)
Hình 3.6: Câu hỏi đơn lựa chọn - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 3.6 Câu hỏi đơn lựa chọn (Trang 63)
Hình 3.9: Mô hình thiết kế mô đun Xử lý bài thi   tại Khoa CNTT - Trường Cao đẳng Công nghệ Viettronics - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 3.9 Mô hình thiết kế mô đun Xử lý bài thi tại Khoa CNTT - Trường Cao đẳng Công nghệ Viettronics (Trang 64)
Hình 3.10: Các biểu tượng của eXist - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 3.10 Các biểu tượng của eXist (Trang 66)
Hình 3.12:  Trang web eXist - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 3.12 Trang web eXist (Trang 67)
Hình 3.13:  Màn hình quản trị CSDL dùng giao diện Web - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 3.13 Màn hình quản trị CSDL dùng giao diện Web (Trang 69)
Hình 3.14:  Màn hình sưu tập mẫu XQuery Sandbox - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 3.14 Màn hình sưu tập mẫu XQuery Sandbox (Trang 70)
Hình 3.16: Cửa sổ làm việc sau khi kết nối - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 3.16 Cửa sổ làm việc sau khi kết nối (Trang 71)
Hình 3.1 : Cửa sổ điền thông số kết nối đến CSDL - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 3.1 Cửa sổ điền thông số kết nối đến CSDL (Trang 71)
Hình 3.17: Giao diện đăng nhập hệ thống - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 3.17 Giao diện đăng nhập hệ thống (Trang 76)
Hình 3.19: Màn hình thông báo kết quả thi - Chuẩn QTI trong các hệ thống sát hạch trắc nghiệm bằng máy tính và triển khai thử nghiệm
Hình 3.19 Màn hình thông báo kết quả thi (Trang 77)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w