Tải bản đầy đủ (.pdf) (15 trang)

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 -4 pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.18 MB, 15 trang )









34
IMSQTIBasicObjects: là nơi định nghĩa và cài đặt tất cả các class nằm trong đặc tả
IMS Question and Test Interoperability, trừ các class phụ thuộc từng câu hỏi là các
class interaction cụ thể của từng loại câu hỏi và các class mô tả các phương án trả
lời.

Hình 4-5 Sơ đồ lớp phần IMSQTIBasicObject của Engine
ETSEngineControllerObjects: phần này định nghĩa và cài đặt tất cả các class liên
quan đến xử lý chung cho hệ thống.
ETSEngineControllerObjects
ExportIMSQTIDatabase
ScoringMachine WordMachine
ExportEngine ImportEngine
MailEngine
SectionUserResult
AssessmentUserResult AssessmentUserResponse
SectionUserResponse
QuestionUserResponseDatabaseController

Hình 4-6 Sơ đồ lớp phần ETSEngineControllerObject của Engine









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 hoàn chỉnh, và chỉnh sửa
chúng. Trong việc soạn câu hỏi, cho phép plugin câu hỏi tùy ý, cho phép mở
rộng tối đa khả năng thêm loại câu hỏi mới.

Hình 4-13 Demo chức năng soạn thảo câu hỏi
4. Phân cấp xử lý soạn thảo, lưu trữ, xử lý thể hiện, xử lý tính điểm cho câu hỏi
đến mức con nhất có thể. Mỗi loại câu hỏi phải tự biết mình phải được soạn
thảo bằng bộ editor nào, thể hiện bằng control nào, lưu trữ những thông tin gì
và chấm điểm ra sao.
5. Có các chức năng tạo mới, chỉnh sửa đề thi một cách thuậ
n tiện nhất, có
nhiều mẫu template bài thi để người giáo viên chọn lựa, đồng thời người
giáo viên có thể chỉnh sửa template này hoặc thêm một template mới hoàn
toàn một cách nhanh chóng.









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ữ:
<?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>









43
<page name="Tên trang web hoặc control">
<! Ten_Trang_Web_Control.ascx >
<Resource tag="Tên thẻ">Nội dung thẻ</Resource>
<Resource tag="Tên thẻ">Nội dung thẻ</Resource>
<Resource tag="Tên thẻ">Nội dung thẻ</Resource>
<Resource tag="Tên thẻ">Nội dung thẻ</Resource>
</page>
</Resources>

Ví dụ:
<?xml version="1.0"?>
<Resources language="Vietnamese" code="vi">
<page name="LOGIN">

<! login.ascx >
<Resource tag="TITLE">Đăng nhập</Resource>
<Resource tag="USERNAME">Tên đăng nhập</Resource>
<Resource tag="PASSWORD">Mật khẩu</Resource>
<Resource tag="REMEMBER_ME">Tự động đăng nhập</Resource>
<Resource tag="PASSWORD_PROBLEM">Bạn gặp trục trặc ? Hay là
quên mật khẩu ? </Resource>
<Resource tag="BTN_LOGIN">Đăng nhập</Resource>
<Resource tag="LOGIN_SUCCESSFULLY">Đăng nhập thành
công!</Resource>
<Resource tag="HAVE_NOT_GOT_ACCOUNT">Bạn chưa có tài khoản ?
Vui lòng</Resource>
<Resource tag="REGISTER">Đăng ký</Resource>
<Resource tag="USERNAME_PASSWORD_ERROR">Tên đăng nhập và mật
khẩu của bạn không hợp lệ. Vui lòng làm lại nhé!</Resource>
<Resource tag="BOTH_USERNAME_PASSWORD">Bạn hãy nhập cả tên
đăng nhập và mật khẩu</Resource>
<Resource tag="RECOVER">Phục hồi mật khẩu</Resource>
<Resource tag="EMAIL_SENT_PASSWORD">Chúng tôi đã gửi cho bạn
mật khẩu mới!</Resource>
<Resource tag="SEND_PASSWORD">Gửi mật khẩu</Resource>
<Resource tag="RECOVER_ERROR">Việc tạo mới mật khẩu bị
lỗi</Resource>
</page>
<page name="REGISTER">
<! register.aspx >
<Resource tag="TITLE">Đăng ký thành viên mớir</Resource>
<Resource tag="DETAILS">Thông tin đăng ký</Resource>
<Resource tag="USERNAME">Tên tài khoản</Resource>
<Resource tag="NEED_USERNAME">Bạn chưa nhập tên tài

khoản.</Resource>
<Resource tag="PASSWORD">Mật mã</Resource>
<Resource tag="NEED_PASSWORD">Bạn chưa nhập mật
mã.</Resource>
<Resource tag="RETYPE_PASSWORD">Nhập lại mật mã</Resource>
<Resource tag="NEED_MATCH">Mật mã không giống
nhau.</Resource>
<Resource tag="EMAIL">Địa chỉ email</Resource>
<Resource tag="PROFILE">Thông tin cá nhân</Resource>








44
<Resource tag="LOCATION">Location</Resource>
<Resource tag="HOMEPAGE">Home Page</Resource>
<Resource tag="PREFERENCES">Forum Preferences</Resource>
<Resource tag="TIMEZONE">Múi giờ</Resource>
<Resource tag="ALREADY_REGISTERED">Tên tài khoản hoặc địa chỉ
email của bạn đã được đăng ký rồi.</Resource>
<Resource tag="REGISTER">Đăng ký</Resource>
<Resource tag="BAD_EMAIL">Email không hợp lệ.</Resource>
</page>
<! >
</Resources>


15. Có cơ chế plugin các thành phần giao diện. Mỗi thành phần giao diện trên
trang chủ là một component được phát triển riêng và tích hợp vào hệ thống.
Nhà quản trị có thể thêm bớt các component này vào hệ thống bằng cách đơn
giản là copy, paste hay delete.
16. Cung cấp cho các thành viên khả năng cấu hình các thành phần giao diện.
Mỗi thành viên có thể cho phép hiển thị trên trang web những thành phần
mình thích hay quan trọng với chính mình và tại vị trí bên trái hay bên phải
tùy thích.
17. Cung cấp cơ chế b
ảo mật FormsAuthenticationTicket đảm bảo hệ thống
website được bảo mật, phân quyền an toàn. Đảm bảo mỗi thành viên không
thể truy cập vào tài khoản của các thành viên khác, đồng thời, những người
chưa phải là thành viên không thể truy cập vào những khu vực chỉ dành riêng
cho thành viên.
18. Tầng truy xuất cơ sở dữ liệu thực hiện viết code an toàn, dùng store
procedure và truyền tham số theo parameter, giúp cho tránh được lỗ hổng Sql
Injection.








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 hoàn chỉnh, và chỉnh sửa
chúng. Trong việc soạn câu hỏi, cho phép plugin câu hỏi tùy ý, cho phép mở
rộng tối đa khả năng thêm loại câu hỏi mới. Bộ soạn thảo trên windows là

một phần của bộ câu h
ỏi mà trong đó có bộ soạn thảo trên web. Mỗi loại câu
hỏi phải tự biết mình phải được soạn thảo bằng bộ editor nào.
3. Có các chức năng tạo mới, chỉnh sửa đề thi một cách thuận tiện nhất, có
nhiều mẫu template bài thi để người giáo viên chọn lựa, đồng thời người
giáo viên có thể chỉnh sửa template này hoặc thêm một template mới hoàn
toàn một cách nhanh chóng.
4. Quản lý nộ
i dung đề thi theo dạng phân cấp, mỗi đề thi có thể có các phần đề
thi con, và mỗi phần con này lại có thể có các phần con khác. Việc thay đổi
cấu trúc nội dung đề thi chỉ đơn giản là check, bỏ check và kéo thả,… giống
như ứng dụng trên web.
5. Có các bộ editor soạn thảo đa năng, có thể định dạng một cách dễ dàng Font
chữ, cỡ chữ, chèn các ký tự đặc biệt, chèn bảng biểu, chỉnh sử
a các thuộc
tính định dạng, chèn hình ảnh…Đặc biệt, ứng dụng trên windows có bộ soạn
thảo với input và output đều là HTML. Điều đó có nghĩa là tất cả những gì
người giáo viên trông thấy khi soạn câu hỏi trên windows thì cũng sẽ trông
thấy như vậy khi câu hỏi được hiển thị trên web và ngược lại do đều cùng có
input và output vào editor là HTML.
6. Tầng truy xuất cơ sở dữ liệu thực hiện viết code an toàn, dùng store
procedure và truyề
n tham số theo parameter, giúp cho tránh được lỗ hổng Sql
Injection.

×