Phát biểu bài toán:

Một phần của tài liệu tìm hiểu và xây dựng hệ thống framwork hỗ trợ các hình thức trắc nghiệm (Trang 51 - 81)

ETSONLINE là một hệ thống framework dịch vụ hỗ trợ các hình thức trắc nghiệm khác nhau. Hệ thống cho phép các tài khoản là giáo viên quản lý hiệu quả sinh viên cùng các đề thi, câu hỏi …; hỗ trợ các tài khoản là sinh viên hoàn thành việc làm các bài thi trắc nghiệm một cách nhanh chóng, tiện lợi; giúp đỡ các tài khoản làngườiquảntrị điều hành tốt và chặt chẽ hệ thống.

Một tàikhoản mớiđược đăng kýsẽ mặcđịnh cóquyền là sinhviên. Một sinh viênbắtbuộcphảithuộcquyềnquảnlýcủamộtgiáoviêntronghệthống. Sinhviên này chỉ có thể thực hiện các bài thi do giáo viên phụ trách đưa ra. Sau khi thực hiện

thi, sinh viên sẽ được xem ngay kết quả bài thi hoặc sẽ phải gọi điện thoại đến hệ thống trả lời tự động để nghe kết quả (tùy vào yêu cầu của giáo viên)

Giáo viên có toàn quyền quản lý sinh viên cùng các câu hỏi, section, đề thi thuộc phạm vi của mình.

Hệ thống quản lý dựa trên thư mục, tức là các sinh viên, câu hỏi, bài thi đều đượcnhóm vàotrong cácloại thưmục phùhợp. Mộttài khoảngiáo viênsẽđi kèm với các thư mục chứa sinh viên, bài thi, câu hỏi thuộc quyền quản lý của giáo viên đó. Giáo viên có quyền tạo thêm thư mục con ngoài 3 thư mục chính trên để hỗ trợ cho việc quản lý. Giáo viên cũng có thể cấu trúc lại cây thư mục riêng của mình bằng các thao tác kéo thả rất tiện lợi.

Giáoviênđượchỗtrợtạoracâuhỏimớibằngnhiềucáchnhưlàsoạntrựctiếp trên hệ thống web, soạn trên hệ thống Windows rồi upload lên mạng, import từ word hoặc excel. Nội dung chính của câu hỏi được lưu trữ dưới dạng XML theo gần đúngchuẩnIMSQTI,vìvậyhệthốngcũnghỗtrợviệckếtxuấtcâuhỏiratheođúng chuẩnđểtiệntraođổidữliệuvới cáchệthốngkhác.Giáoviêncóthểxemthôngtin thống kê chi tiết cho từng câu hỏi, di chuyển câu hỏi sang một thư mục khác, sửa nội dung câu hỏi hoặc xóa hẳn câu hỏi khỏi cơ sở dữ liệu. Hệ thống hỗ trợ nhiều loạicâuhỏivàcácloạicâuhỏisẽđượcpluginđộngvàotronghệthống.

28

Giáo viên có thể tạo ra 2 loại section. Loại thứ nhất là section tự phát sinh ra câu hỏi khi có yêu cầu thi dựa trên số câu hỏi trong section và ngân hàng câu hỏi được chỉ định. Loại thứ hai thì giáo viên phải trực tiếp chọn từng câu hỏi sẽ được hiển thị trong section. Các section cũng có thể được tổ chức thành nhiều cấp như thư mục và người giáo viên cũng có thể dễ dàng cấu trúc lại mối quan hệ giữa các section bằng thao tác kéo thả. Giáo viên cũng có thể xem các thông tin thống kê cho từng section, chọn lại các câu hỏi cho section, sửa thông tin section và xóa hẳn section khỏi cơ sở dữ liệu.

Giáo viên có thể chọn mẫu thể hiện (template) cho đề thi cũng như chọn yêu cầu sinh viên được xem kết quả ngay sau khi thi hay không. Giáo viên cũng có thể xem thốngkê vềbàithi, xem danhsáchsinh viênđã làmbàithi đócùngvới kết quảchi tiết của các lần thi đó. Bên cạnh đó, giáo viên còn có thể export đề thi ra định dạng file word để thực hiện thi trên giấy.

Cácsinhviênsaukhiđăngkýtàikhoảnthìsẽthuộcthưmụcquảnlýsinhviên chung của giáo viên phụ trách, nhưng sau đó giáo viên sẽ có thể di chuyển sinh viên vào thư mục con phù hợp. Giáo viên có quyền tạo thêm sinh viên bằng cách tạo trực tiếptrên hệ thốnghoặc import danh sáchsinh viên từfile excel. Giáo viêncũng có thể xem các thông tin thống kê về sinh viên cũng như sửa thông tin sinh viên hay xóahẳnsinhviênkhỏicơ sởdữliệu.

Hệ thống có cả module dành cho web và module dành cho Windows, vì vậy giáo viên còn có thêm quyền cập nhật dữ liệu thi của mình trên Windows lên cơ sở dữ liệu dùng cho web. Chức năng này nhằm mục đích hỗ trợ giáo viên thao tác nhanh chóng, tiện lợitrên môi trường Windows cho phù hợp với điều kiện tốc độ internet ở nước ta.

Ngoàira,tất cảcáctàikhoảnđềucó thếcấuhìnhthểhiệncủahệthống theoýthích riêngcủamìnhnhưchọnngônngữthểhiện,bốtrílạicácthànhphầngiaodiện…

29

Hình4-1hìnhkiếntrúctổchức

4.2.1 Engine

Trong hệ thống, module Engine sẽ chứa các định nghĩa chung, làm các nhiệm vụ chung nhất cho cả ứng dụng web và windows, cụ thể, trong engine sẽ chứa các nhómlớpđốitượng sau:

- Cáclớpđốitượngcơbảncủaphầnmềm.

- Các lớp đối tượng của đặc tả IMSQTI, trừ các lớp interaction cụ thể cho từng loạicâuhỏi.

- Cáclớptruyxuấtcơsở dữliệu. - Các lớp xử lý điều khiển. - Cáclớptiệních

o Cungcấpcơchếứngdụngwebđangônngữ. o Cungcấpcơchếbảomật,đăngnhập,phânquyền. o Cungcấpcáchàmconvert.

o Cungcấpcáchàmtruyxuấtcácthuộctínhchungtừfilecấuhình.

30

MốiquanhệgiữaEnginevàcáccomponentkhác:

- Tất cả các module khác đều tham chiếu đến Engine khi làm việc.

- Engine cung cấp tất cả những định nghĩa, khái niệm, class, phương thức, thuộc tính, thông tin cấu hình, cơ chế hoạt động chung cho tất cả các module

khác trong hệ thống bao gồm ứng dụng web, ứng dụng windows, module plugin trên web, module plugin trên windows, module import, export.

- Engine là một component độc lập, không tham chiếu đến module nào khác trong hệ thống.

- Engine định nghĩa tất cả các lớp abstract cha mà các module con phải tạo các lớpkếthừavàxửlý.

Hình4-2MốiquanhệgiữaEnginecáccomponentkhác

31

Hình4-3đồtổchứccủaEngine (adsbygoogle = window.adsbygoogle || []).push({});

4.2.1.2 SơđồlớpcủaEngine

ETSEngineBasicObject: là nơi định nghĩa và cài đặt tất cả các đối tượng dùng chung của hệ thống, bao gồm: bài thi, câu hỏi…

33

IMSQTIBasicObjects:lànơiđịnhnghĩavàcàiđặttấtcảcácclassnằmtrongđặctả IMSQuestion andTest Interoperability,trừ cácclass phụ thuộctừng câuhỏi làcác class interaction cụ thể của từng loại câu hỏi và các class mô tả các phương án trả lời.

Hình4-5đồlớpphầnIMSQTIBasicObjectcủaEngine

ETSEngineControllerObjects: phần này định nghĩa và cài đặt tất cả các class liên

quanđếnxửlýchungchohệthống.

ETSEngineControllerObjects ScoringMachine WordMachine ExportEngine ImportEngine MailEngine ExportIMSQTIDatabase AssessmentUserResult AssessmentUserResponse SectionUserResult DatabaseController SectionUserResponse QuestionUserResponse

Hình4-6đồlớpphầnETSEngineControllerObjectcủaEngine

34

ETSEngineDBManager:là nơi địnhnghĩa vàcài đặttấ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ấtdữliệutheomôhìnhn-tier.

ETSEngineDBManager DatabaseInterface IQuestionManager ISectionManager IAssessmentManager IMemberManager ………. DBManager AssessmentManager SQLSERVER SqlServerDBManager QuestionManager SectionManager MemberManager ………. XML ……….. Hình4-7đồlớpphầnETSEngineDBManager

35

4.2.2 ETSONLINE

Làphần ứng dụngchạy trên web củahệ thống.Đây là một webapplication, 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,quantrọngnhấtcủahệthống.

4.2.2.1 SơđồtổchứccủaứngdụngETSONLINE

Cáctrangwebnàythựcsựkhôngchứa

nộidungcũngnhưxửlýnghiệpvụ,thật

sự

chúnglàcáccổngđiềuphốicácluồngxử

vàothểhiệnvàođúngvịtrícầnthiết

Đâylànơithậtsựchứa

cácthôngtinvàcácxửlý

nghiệpvụcủahệthống

ETSONLINE

Cáctrangwebaspx

Cácfilelưuthôngtin

Cácfiletemplateđềthi Cácủfileplugincâunhthiết

choiceInteraction Cáctàinguyênhìnhảnh, flash... Cácfilengônngữ inlineChoiceInteraction ………... (adsbygoogle = window.adsbygoogle || []).push({});

Hiệnhệthốnghỗtrợ2ngônngữ

tiếngViệtvàtiếngAnh

Hình4-8đồtổchứcứngdụngETSONLINE

36

4.2.2.2 Sơđồtổchứccáclớp

TổchứcclassETSONLINE

Cácclasscủawebpages

Default Testing MemberAdministration ImportExport Management ViewStatistics RestructureFolder ChooseQuestion ForSection ChooseSection ForAssessment RestructureSections Global ……...

Cácclasscủausercontrol

CreateAssessment CreateNewFolder MoveFolder CreateSection ConfigUI Register CreateNews MoveMember ReportMemberResult

CustomTestList ViewQuestionContainer ViewTest

ViewSection SummaryQuestionList SummarySectionList

SummaryAssessmentList SummaryMemberList

ViewProfile ViewQuestionStatistics PortalLeftMenu

PortalTopMenu PortalHeader ………

Cácbộcâuhỏi

choiceInteraction inlineChoiceInteraction ……..

Hình4-9đồtổchứclớptrongETSONLINE

37

4.2.2.3 Cácchứcnăngchí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ình4-10TrangchủETSONLINE

38

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âncấp dànhcho 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ình4-11Phâncấpquảntheocấutrúc cây

Hình4-12TrangquảnchínhcủaETSONLINE

39

3. Có các chức năng để soạn thảo ra các câu hỏi hoàn chỉnh, và chỉnh sửa chúng. Trong việc soạn câu hỏi, cho phép plugin câu hỏi tùy ý, cho phép mở rộngtốiđakhảnăngthêmloạicâuhỏimới. (adsbygoogle = window.adsbygoogle || []).push({});

Hình4-13Demochứcnăngsoạnthảocâuhỏ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 đếnmức con nhấtcó thể.Mỗi loạicâu hỏi phảitự biếtmình phảiđược soạn thảo bằng bộ editor nào, thể hiện bằng control nào, lưu trữ những thông tin gì và chấm điểm ra sao.

5. Có các chức năng tạo mới, chỉnh sửa đề thi một cách thuận tiện nhất, có nhiều mẫu template bài thi để người giáo viên chọn lựa, đồng thời người giáo viên có thể chỉnh sửa template này hoặc thêm một template mới hoàn toànmộtcáchnhanhchóng.

40

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ạngmộ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ạngcâu hỏi vớithể 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ủatừngloạicâuhỏi.Muốnthayđổicáchchấmđiểmcủabấtcứloạicâuhỏ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ưutrữ đầy đủ,kỹ càng theo định dạng XML, giúp cho việctruy 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ình4-14KếtquảbàithiđượctruyềnđibằngXML

41

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 đềusửdụngXML.

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ốnghiệntạicóchứcnăngkếtxuấtmộthaynhiềutàinguyênkhocâuhỏira đị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àysửdụng XSLT đểchuyển đổitừđịnh dạngđang sửdụng sangđịnh

dạngchuẩnđúngđặctả.

Nội dung file XSLT làm nhiệm vụ chuyển đổi xin xem trong phần phụ lục. 13.Có phầngửitin nhắnngắn gọngiúp giáoviêncó thểgửitin nhắnnhanh đế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êngmình. Khi cần thêm mộtngô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ốnthê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ấutrúcfileXMLlưungônngữ:

<?xml version="1.0"?>

<Resources language="Tên ngôn ngữ" code="Mã ngôn ngữ"> <page name="Tên trang web hoặc control">

<!-- Ten_Trang_Web_Control.ascx -->

<Resource tag="Tên thẻ">Nội dung thẻ</Resource> <Resource tag="Tên thẻ">Nội dung thẻ</Resource> <Resource tag="Tên thẻ">Nội dung thẻ</Resource> <Resource tag="Tên thẻ">Nội dung thẻ</Resource> </page>

<page name="Tên trang web hoặc control"> <!-- Ten_Trang_Web_Control.ascx -->

<Resource tag="Tên thẻ">Nội dung thẻ</Resource> <Resource tag="Tên thẻ">Nội dung thẻ</Resource> <Resource tag="Tên thẻ">Nội dung thẻ</Resource> <Resource tag="Tên thẻ">Nội dung thẻ</Resource> </page>

42

<page name="Tên trang web hoặc control"> <!-- Ten_Trang_Web_Control.ascx -->

<Resource tag="Tên thẻ">Nội dung thẻ</Resource> <Resource tag="Tên thẻ">Nội dung thẻ</Resource> <Resource tag="Tên thẻ">Nội dung thẻ</Resource> <Resource tag="Tên thẻ">Nội dung thẻ</Resource> </page>

Vídụ:

<?xml version="1.0"?> (adsbygoogle = window.adsbygoogle || []).push({});

<Resources language="Vietnamese" code="vi"> <page name="LOGIN">

<!-- login.ascx -->

<Resource tag="TITLE">Đăng nhập</Resource>

<Resource tag="USERNAME">Tên đăng nhập</Resource> <Resource tag="PASSWORD">Mật khẩu</Resource>

<Resource tag="REMEMBER_ME">Tự động đăng nhập</Resource> <Resource tag="PASSWORD_PROBLEM">Bạn gặp trục trặc ? Hay là

quên mật khẩu ? </Resource>

<Resource tag="BTN_LOGIN">Đăng nhập</Resource> <Resource tag="LOGIN_SUCCESSFULLY">Đăng nhập thành công!</Resource>

<Resource tag="HAVE_NOT_GOT_ACCOUNT">Bạn chưa có tài khoả n ?

Vui lòng</Resource>

<Resource tag="REGISTER">Đăng ký</Resource>

<Resource tag="USERNAME_PASSWORD_ERROR">Tên đăng nhập và mật

khẩu của bạn không hợp lệ. Vui lòng làm lại nhé!</Resource> <Resource tag="BOTH_USERNAME_PASSWORD">Bạn hãy nhập cả tê n

đăng nhập và mật khẩu</Resource>

<Resource tag="RECOVER">Phục hồi mật khẩu</Resource> <Resource tag="EMAIL_SENT_PASSWORD">Chúng tôi đã gửi cho bạn

mật khẩu mới!</Resource>

<Resource tag="SEND_PASSWORD">Gửi mật khẩu</Resource> <Resource tag="RECOVER_ERROR">Việc tạo mới mật khẩu bị lỗi</Resource>

</page>

<page name="REGISTER"> <!-- register.aspx -->

<Resource tag="TITLE">Đăng ký thành viên mớir</Resource> <Resource tag="DETAILS">Thông tin đăng ký</Resource> <Resource tag="USERNAME">Tên tài khoản</Resource> <Resource tag="NEED_USERNAME">Bạn chưa nhập tên tài khoản.</Resource>

<Resource tag="PASSWORD">Mật mã</Resource>

<Resource tag="NEED_PASSWORD">Bạn chưa nhập mật mã.</Resource>

<Resource tag="RETYPE_PASSWORD">Nhập lại mật mã</Resource >

<Resource tag="NEED_MATCH">Mật mã không giống nhau.</Resource>

<Resource tag="EMAIL">Địa chỉ email</Resource>

<Resource tag="PROFILE">Thông tin cá nhân</Resource>

<Resource tag="LOCATION">Location</Resource> <Resource tag="HOMEPAGE">Home Page</Resource>

<Resource tag="PREFERENCES">Forum Preferences</Resource >

<Resource tag="TIMEZONE">Múi giờ</Resource>

<Resource tag="ALREADY_REGISTERED">Tên tài khoản hoặc đị a chỉ

email của bạn đã được đăng ký rồi.</Resource> <Resource tag="REGISTER">Đăng ký</Resource> (adsbygoogle = window.adsbygoogle || []).push({});

<Resource tag="BAD_EMAIL">Email không hợp lệ.</Resource >

</page>

<!-- ... --> </Resources>

15.Có cơ chế plugin các thành phần giao diện. Mỗi thành phần giao diện trên

Một phần của tài liệu tìm hiểu và xây dựng hệ thống framwork hỗ trợ các hình thức trắc nghiệm (Trang 51 - 81)