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 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:
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:
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.
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()
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
mà ta cần. Nếu user control này được phát triển trong một project khác,
ngoà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 đã hoà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;