ĐĐẠẠII HHỌỌCC QQUUỐỐCC GGIIAA TTPP.. HHỒỒ CCHHÍÍ MMIINNHH TTRRƯƯỜỜNNGG ĐĐHH KKHHOOAA HHỌỌCC TTỰỰ NNHHIIÊÊNN TTPP..HHCCMM KKHHOOAA CCÔÔNNGG NNGGHHỆỆ TTHHÔÔNNGG TTIINN
ÔÔNNGG TTẤẤNN TTRRUUNNGG –– 00111122228888
PPHHẠẠMM TTHHỊỊ MMIINNHH CCHHUUNNGG -- 00111122225544
HHỆỆ TTHHỐỐNNGG HHỖỖ TTRRỢỢ
HHỌỌCC VVÀÀ TTHHII BBẰẰNNGG LLÁÁII TTRRÊÊNN WWEEBB
LUẬN VĂN CỬ NHÂN TIN HỌC
GIÁO VIÊN HƯỚNG DẪN
TThh..SS.. NNgguuyyễễnn TThhịị DDiiễễmm TTiiêênn
TP. HCM, NIÊN KHOÁ 2005
Nhận xét của giáo viên hướng dẫn
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
Tp. Hồ Chí Minh, ngày ...... tháng ...... năm 2004
Nhận xét của giáo viên phản biện
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
.......................................................................................................................................................................................
Tp. Hồ Chí Minh, ngày ...... tháng ...... năm 2004
Lời Cảm Ơn
......(cid:91)...(cid:156)...(cid:92)......
Để thực hiện tốt đề tài luận văn tốt nghiệp này, chúng em đã nhận được sự giúp đỡ
tận tình của các thầy cô trong khoa Công Nghệ Thông Tin trường Đại Học Khoa
Học Tự Nhiên Thành Phố Hồ Chí Minh và các bạn cùng khoá.
Chúng em xin cảm ơn các Thầy Cô thuộc khoa Công Nghệ Thông Tin đã cung cấp
cho chúng em các thông tin kiến thức vô cùng quý báu và cần thiết trong suốt thời
gian học tập tại trường để chúng chúng em có thể thực hiện và hoàn thành luận văn
tốt nghiệp.
Đặc biệt chúng em chân thành cảm ơn Th.S Nguyễn Thị Diễm Tiên, Cử Nhân Trần
Minh Triết, anh Bùi Thanh Quang đã tận tình hướng dẫn và giúp đỡ chúng em trong
suốt thời gian thực hiện đề tài.
Cuối cùng, chúng em rất cảm kích và biết ơn gia đình cùng bạn bè đã tạo điều kiện
thuận lợi, động viên và giúp đỡ để chúng em có đủ tự tin và nghị lực để thực hiện
tốt đề tài .
Do giới hạn về thời gian và thiếu kinh nghiệm chuyên môn cũng như kinh nghiệm
thực tiễn nên đề tài không tránh khỏi những thiếu sót ngoài ý muốn. Chúng em rất
mong nhận được sự thông cảm của Qúy thầy cô và mong nhận được sự đóng góp ý
kiến của Thầy cô và các bạn.
Một lần nữa, chúng em xin trân trọng cám ơn.
Sinh viên thực hiện
Ông Tấn Trung – Phạm Thị Minh Chung
MMụụcc llụụcc
Mục lục ............................................................................................................................................... 3
Danh mục hình................................................................................................................................... 4
Phần mở đầu ...................................................................................................................................... 5
Chương 1 : GIỚI THIỆU ĐỀ TÀI .................................................................................................. 6
1.1 Đặt vấn đề :......................................................................................................................... 6 1.2 Đề cương chi tiết :............................................................................................................... 8 Tóm tắt nội dung của luận văn :........................................................................................ 11 1.3
Chương 2: KHẢO SÁT HIỆN TRẠNG......................................................................................... 13
Chương 3 : PHÂN TÍCH................................................................................................................ 18
3.1 Phân tích hiện trạng : ........................................................................................................ 18 3.2 Xác định yêu cầu chức năng : ........................................................................................... 19 Bảng chú giải : .................................................................................................................. 20 3.3 3.4 Sơ lược về các hoạt động của hệ thống :........................................................................... 21 3.5 Yêu cầu phi chức năng :.................................................................................................... 22 3.6 Xây dựng mô hình Use-case (Use-case Model):............................................................... 27 Xác định Actor và Use case :.................................................................................. 27 Mô hình Use-case :................................................................................................. 30 Đặc tả Use Case :.................................................................................................. 33 Mô hình thực thể kết hợp :...................................................................................... 38
3.6.1. 3.6.2. 3.6.3. 3.6.4.
Chương 4 : THIẾT KẾ.................................................................................................................... 46
4.1 Thiết kế kiến trúc hệ thống : ............................................................................................. 46 4.2 Mô hình lớp đối tượng : .................................................................................................... 47 4.3 Mô hình dữ liệu : .............................................................................................................. 57 4.4 Danh sách các ràng buộc toàn vẹn :.................................................................................. 65 4.5 Mô hình thiết kế :.............................................................................................................. 73 Thiết kế giao diện : ......................................................................................................... 106 4.6
Phần tổng kết ................................................................................................................................. 115
Chương 5 : TỔNG KẾT................................................................................................................ 116
PHỤ LỤC ....................................................................................................................................... 118
TÀI LIỆU THAM KHẢO............................................................................................................. 123
DDaannhh mmụụcc hhììnnhh
Hình 1 : Mô hình Use Case ............................................................................................................. 30
Hình 2 : Kiến trúc hệ thống ........................................................................................................... 46
Hình 7 : Mô hình lớp đối tượng...................................................................................................... 47
Hình 2 : Mô hình vật lý ................................................................................................................... 57
Hình 8 : Mô hình vật lý ................................................................................................................... 57
Hình 9 : Lược đồ tuần tự Đăng ký thành viên .............................................................................. 73
Hình 10 : Lược đồ cộng tác Đăng ký thành viên........................................................................... 74
Hình 11 : Lược đồ tuần tự Đăng nhập ........................................................................................... 76
Hình 12 : Lược đồ cộng tác Đăng nhập ....................................................................................... 77
Hình 13 : Lược đồ tuần tự Nhắc mật khẩu.......................................Error! Bookmark not defined.
Hình 14 : Lược đồ cộng tác Nhắc mật khẩu .....................................Error! Bookmark not defined.
Hình 15 : Lược đồ tuần tự Xem thống kê cá nhân...................................................................... 79
Hình 16 : Lược đồ cộng tác Xem thống kê cá nhân .................................................................... 80
Hình 17 : Lược đồ tuần tự Chỉnh sửa thông tin cá nhân ........................................................... 82
Hình 18 : Lược đồ cộng tác Chỉnh sửa thông tin cá nhân .......................................................... 83
Hình 19 : Lược đồ tuần tự Thi kiểm tra ...................................................................................... 85
Hình 20 : Lược đồ cộng tác Thi kiểm tra..................................................................................... 86
Hình 21 : Màn hình trang chủ ...................................................................................................... 106
Hình 22 : Màn hình trang thi........................................................................................................ 107
Hình 23 : Màn hìn web học biển báo............................................................................................ 108
Hình 24 : Màn hình web học luật ................................................................................................. 109
Hình 25 : Màn hình web học sa hình............................................................................................ 110
Hình 26 : Màn hình Web quản lý thông tin dành cho Instructor.............................................. 111
Hình 27 : Màn hình Web dành cho Admin ................................................................................. 112
Hình 28 : Màn hình Web quản lý thông tin dành cho Instructor.............................................. 113
PPhhầầnn mmởở đđầầuu
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 1 : GIỚI THIỆU ĐỀ TÀI
CChhưươơnngg 11 :: GGIIỚỚII TTHHIIỆỆUU ĐĐỀỀ TTÀÀII
1.1 Đặt vấn đề :
Hiện nay, khi nhu cầu đi lại, vận chuyện của con người ngày càng tăng, nhất là ở
những thành phố lớn, những khu công nghiệp tập trung nhiều dân cư, thì vấn đề an
toàn giao thông là một vấn đề bức thiết mà toàn xã hội cũng như từng người dân
đều quan tâm, theo dõi từng ngày, từng giờ. Theo thống kê của Cục cảnh sát giao
thông, chỉ trong một tuần giữa tháng 4.2005 cả nước đã xảy ra 346 vụ tai nạn giao
thông, trong đó 292 người chết và 313 người bị thương. Trong đó có đến 70% là do
vi phạm luật giao thông đường bộ. Đây là những con số báo động về ý thức chấp
hành luật giao thông.
Trong tình hình tỷ lệ tai nạn giao thông ngày càng có xu hướng tăng lên đáng kể , cả
nước đang tích cực mở rộng những chiến dịch rà soát lại việc chấp hành luật giao thông người dân. Bất kỳ người dân nào lưu thông trên đường với xe từ 50 cm3 trở
lên đều phải có giấy phép lái xe. Từ thực tế đó làm cho các trung tâm tổ chức thi
cấp giấy phép lái xe ngày càng trở nên quá tải. Hiện nay, đã có những chiến dịch,
những chương trình góp phần làm hạ nhiệt vấn đề an toàn giao thông như: đội an
toàn giao thông tình nguyện hướng dẫn giao thông ở các giao lộ, chương trình giáo
dục luật giao thông cho học sinh, chương trình truyền hình tìm hiểu luật giao thông
“Tôi yêu Việt Nam” của Đài truyền hình VTV… Tất cả nhằm một mục đích là
khuyến khích tìm hiểu luật giao thông và nâng cao ý thức chấp hành luật giao thông
của mọi tầng lớp, mọi lứa tuổi người dân trong xã hội, nhằm góp phần giảm tỷ lệ tai
nạn giao thông và đảm bảo sức khỏe tính mạng cho người đi đường.
Không ngoài mục đích trên, với đề tài “Xây dựng trang Web hỗ trợ học luật và thi
bằng lái” , chúng em mong muốn được áp dụng những kiến thức đã học ở trường
cùng với sự tìm hiểu các ngôn ngữ và môi trường lập trình mới để xây dựng một hệ
thống hỗ trợ người dùng tìm hiểu về luật giao thông đường bộ. Khi tin học ngày
càng phổ cập, chúng em mong trang Web này sẽ giúp cho ngừơi dân tiếp cận với
Trang 6
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 1 : GIỚI THIỆU ĐỀ TÀI
các luật lệ giao thông một cách tiện lợi hơn mọi lúc, mọi nơi; đồng thời có thể học
và luyện thi tại nhà hoặc bất cứ đâu thuận lợi.
Trang 7
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 1 : GIỚI THIỆU ĐỀ TÀI
1.2 Đề cương chi tiết :
(cid:153) Tên đề tài :
Xây dựng trang Web hỗ trợ học và thi bằng lái.
(cid:153) Mục tiêu và việc thực hiện đề tài :
Tìm hiểu quá trình soạn và ra đề thi của Sở giao thông công chánh và các trung tâm
tổ chức thi lấy giấy phép lái xe nhằm xây dựng một hệ thống ra đề thi giống với
thực tế hỗ trợ cho người dùng có thể luyện tập và học lý thuyết dễ dàng. Bên cạnh
đó còn có những thông tin liên quan đến vấn đề giao thông, bằng lái mà người dùng
có thể tham khảo tại hệ thống Website.
(cid:153) Nội dung tóm tắt yêu cầu đề tài :
(cid:131) Người dùng khác (Thành viên không đăng ký) :
- Tìm hiểu các bài học về Luật giao thông đường bộ, Biển báo.
- Tra cứu các sa hình và học ý nghĩa của từng trường hợp.
- Luyện tập kiểm tra theo từng loại câu hỏi.
- Đọc tin tức giao thông .
- Người dùng tra cứu những thông tin liên quan đến mức bảo hiểm xe cơ giới
và bảo hiểm cho chủ xe.
- Link liên kết đến những trang web cung cấp thông tin bán bảo hiểm và
những thông tin liên quan đề tài giao thông đường bộ.
- Tra cứu các trung tâm dạy và tổ chức thi cấp giấy phép lái xe trong TP.HCM.
- Tra cứu các tuyến đường bắt buộc đội mũa bảo hiểm.
- Học 4 bài thi thực hành kỹ năng lái xe hạng bằng A1,A2.
- Tra cứu các thông tin về các phương tiện đi lại : taxi, các tuyến và lộ trình xe
buýt, đường sắt, hàng không, giá vé xe khách liên tỉnh miền đông và miền
tây.
(cid:131) Thành viên có đăng ký (Student ):
- Có tất cả các chức năng như những thành viên không đăng ký.
Trang 8
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 1 : GIỚI THIỆU ĐỀ TÀI
- Đăng ký làm thành viên trang Web.
- Thay đổi thông tin cá nhân.
- Tải tài liệu học và tài liệu tham khảo về học offline
- Đăng kí thi thử để kiểm tra kiến thức lý thuyết theo từng hạng bằng, đề thi cơ
cấu như một đề thi thật, dữ liệu được lấy từ thực tế.
- Xem những thống kê cá nhân về kết quả những lần thi trước.
(cid:131) Người quản trị (Admin ) :
- Được cấp một một account có những chức năng như một thành viên thường,
nhưng có thêm vai trò của Admin.
- Chức năng chính là quản lí người dùng, phân quyền và quản lí phần tin tức
giao thông cho website.
- Đối với chức năng quản lí người dùng : thêm người dùng, xóa người dùng,
tra cứu thông tin người dùng theo phân quyền, theo mã, họ, tên, email…
- Phân quyền lại cho người dùng (có thể là một trong 3 phân quyền : Student,
Admin, Instructor)
- Đối với chức năng quản lí tin tức : duyệt các tin tức đã có trong Cơ sở dữ
liệu (CSDL), sửa hoặc xoá tin tức, chức năng thêm tin tức có hỗ trợ định
dạng .
- Xem thống kê theo ngày, tháng, năm những thông tin như : thống kê về
ngừơi dùng, loại câu hỏi được người dùng kiểm tra nhiểu nhất, loại câu hỏi
người dùng làm đạt nhiều nhất…
- Sao lưu hệ cơ sở dữ liệu.
(cid:131) Người quản lí thông tin và tài liệu đề thi (Instructor ):
- Được cấp một account có những chức năng như người dùng thường, nhưng
có thêm vai trò Instructor.
- Quản lí toàn bộ hệ thống thông tin của trang web với 2 chức năng chính là
thêm, xóa, sửa.. Cho phép xem lại thông tin thêm mới trước khi thực hiện
Insert.
- Instructor quản lí những thông tin dữ liệu sau :
Trang 9
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 1 : GIỚI THIỆU ĐỀ TÀI
(cid:130) Cập nhật thông tin hoặc thêm mới một hạng bằng, không cho phép xóa
hạng bằng, xóa tương đương với việc cập nhật trạng thái hạng bằng là
không sử dụng (False).
(cid:130) Cập nhật , chỉnh sửa, thêm mới một cơ cấu đề theo hạng bằng, dựa vào
thực tế để thay đổi.
(cid:130) Cập nhật và thêm mới một sa hình, upload sa hình mới thêm vào lên
thư mục hình ảnh của hệ thống. Không cho phép xóa sa hình, việc xoá
tương đương với việc cập nhật trạng thái sa hình bằng là không sử dụng
(False).
(cid:130) Cập nhật và thêm mới một tài liệu, upload tài liệu mới thêm vào lên thư
mục download của hệ thống. Không cho phép xóa tài liệu, việc xoá
tương đương với việc cập nhật trạng thái tài liệu bằng là không sử dụng
(False).
(cid:130) Cập nhật và thêm mới một loại câu hỏi. Không cho phép xóa loại câu
hỏi, việc xoá tương đương với việc cập nhật trạng thái loại câu hỏi
bằng là không sử dụng (False).
(cid:130) Cập nhật và thêm mới một câu hỏi, upload hình minh họa cho câu hỏi
mới thêm vào lên thư mục hình ảnh của hệ thống. Không cho phép xóa
câu hỏi, việc xoá tương đương với việc cập nhật trạng thái câu hỏi bằng
là không sử dụng (False).
(cid:130) Thêm, xóa, sửa những câu trả lời của câu hỏi.
(cid:130) Thêm mới một đề thi theo hạng bằng.
(cid:130) Xem chi tiết mộst đề thi : cơ cấu đề, hiện trạng của đề (đang sử dụng
hay không được sử dụng (True/False), những câu hỏi trong đề.
(cid:130) Cho phép thêm câu hỏi cho những đề ở trạng thái không sử dụng , phải
đảm bảo những ràng buộc toàn vẹn.
(cid:130) Soạn mới một đề theo cơ cấu đề của hạng bằng, đảm bảo những ràng
buộc toàn vẹn.
Trang 10
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 1 : GIỚI THIỆU ĐỀ TÀI
1.3 Tóm tắt nội dung của luận văn :
Toàn bộ nội dung của luận văn được tổ chức thành các chương sau, bao gồm:
Chương 1 : Giới thiệu đề tài
Giới thiệu tổng quan về nội dung thực hiện của đề tài luận văn tốt nghiệp. Mục tiêu
mong muốn đạt được khi thực hiện đề tài.
Chương 1 còn giới thiệu qua đề cương chi tiết của đề tài, qua đó chúng ta nắm bắt
được những vấn đề chính sẽ được đề cập và giải quyết trong những chương sau.
Chương 2 : Khảo sát hiện trạng
Nội dung chính của chương này là thông qua khảo sát việc ra tổ chức học và thi lấy
giấy phép lái xe trong thực tế. Từ đó rút ra những vấn đề, những công việc có liên
quan đến nội dung của đề tài.
Chương 3 : Phân tích
Từ kết quả khảo sát hiện trạng của Chương 2, Chương 3 đề cập đến vấn đề hệ thống
sẽ được triển khai như thế nào và phát triển ra sao.
Ngoài ra chương này còn trích dẫn danh sách các yêu cầu chức năng và phi chức
năng của hệ thống. Với các nghiệp vụ chức năng có kèm bảng mô tả các biểu mẫu
có liên quan đến các công việc và một số các qui định ràng buộc dữ liệu cho các
nghiệp vụ đó.
Chương này là nền tảng để từ đó tiến hành bắt tay vào việc thiết kế hệ thống ứng
trong các chương sau.
Chương 4 : Thiết kế
Dựa vào những kết quả của chương 3 - phân tích, Chương này tập trung thiết kế 3
phần : Thiết kế tầng dữ liệu, thiết kế tầng xử lý và thiết kế giao diện người dùng.
Chương 5 : Tổng kết
Trang 11
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 1 : GIỚI THIỆU ĐỀ TÀI
Chương cuối là phần đánh giá đề tài, những điểm đạt và chưa đạt. Những đề xuất ý
kiến cho hướng phát triển.
Trang 12
Hệ thống hỗ trợ học và thi bằng lái trên web TChương 2: TKHẢO SÁT HIỆN TRẠNG
Chương 2: KKHHẢẢOO SSÁÁTT HHIIỆỆNN TTRRẠẠNNGG Chương 2:
Nhiệm vụ của chương này là thông qua khảo sát hiện trạng hoạt động tổ chức học
và thi lấy giấy phép lái xe ở Sở giao thông công chánh Thành Phố Hồ Chí Minh và
các trung tâm tổ chức dạy và thi bằng lái như là : trường Dạy Lái Xe Vinhempich
(172 – Cộng Hòa – P12 – Q.TB) , trường Dạy Lái Xe Cửu Long (220/2 – P8 –
Nguyễn Trọng Tuyển – Q.PN), trường dạy lái xe Sài Gòn (232/29 – Cộng Hòa –
P12 – Q.TB)… để từ đó có cơ sở cho quá trình phân tích và thiết kế hệ thống.
Quy trình học và thi giấy phép lái xe :
Để thi lấy giấy phép lái xe, người điều khiển xe mô tô (hạng A1, A2) phải trải qua
2 phần thi : phần lý thuyết và thi thực hành lái xe. Đối với người điều khiển xe ô tô
(B1, B2,C,D,E,F) trước khi thi phải trải qua một khoá học lái kéo dài từ 6 tháng trở
lên. Sau đó cũng phải trải qua 2 phần thi như trên : lý thuyết và thực hành.
Phần tài liệu học dành cho 2 loại xe mô tô và ô tô là khác nhau , mỗi loại bao gồm 3
phần sau :
1. Những quy định của Luật giao thông đường bộ (Tính hiệu của xe ưu tiên, các hành vi bị nghiêm cấm, những xử phạt hành chính đối với những hành vi vi phạm quy định….).
2. Biển báo và ý nghĩa. 3. Phần bài tập Sa hình (những mẫu tình huống giao thông mà người dự thi phải biết chọn luồng ưu tiên cho đúng).
Có những hạng bằng như sau :
A1 : Xe môtô 2 bánh có dung tích xilanh từ 50 đến dưới 175 cm3 .
A2 : Xe môtô 2 bánh có dung tích xilanh từ 175 cm3 trở lên.
A3 : Xe lam, môtô 3 bánh, xích lô máy.
A4 : Máy kéo có trọng tải đến 1000 kg .
B1 : Ôtô chở người đến 9 chỗ ngồi, ôtô tải dưới 3500 kg không kinh doanh vận
tải.
Trang 13
Hệ thống hỗ trợ học và thi bằng lái trên web TChương 2: TKHẢO SÁT HIỆN TRẠNG
B2 : Ôtô chở người đến 9 chỗ ngồi, ôtô tải đầu kéo có 1 rơmóoc dưới 3500 kg
kinh doanh vận tải.
C : Ôtô tải, đầu kéo có 1 rơmóoc từ 3500 kg trở lên.
D : Ôtô chở người từ 10 đến 30 chỗ ngồi.
E : Ôtô chở người trên 30 chỗ ngồi.
F : Ôtô tải hạng B2, có kéo móoc trên 750 kg.
Giấy phép lái xe của các hạng đều được điều khiển xe máy, môtô có dung tích xilanh dưới 50 cm3 .
Những hạng bằng trên thuộc một trong 2 hạng thi :
• Môtô
• Ôtô
Đối với mỗi hạng bằng đề thi có thể khác nhau về thời gian thi, số lượng câu hỏi và
số câu đạt khác nhau. Những vấn đề đó được quy định như sau :
Hạng thi Số câu hỏi Thời gian làm bài Số câu đúng tối thiểu
A1 12 15 10 phút
A2 14
B1 30 26 25 phút
B2
C
30 28 20 phút D
E
F
Trang 14
Hệ thống hỗ trợ học và thi bằng lái trên web TChương 2: TKHẢO SÁT HIỆN TRẠNG
Mỗi đề thi được ra đề dựa vào hạng bằng. Mỗi hạng bằng có một cơ cấu đề thi khác
nhau. Số lượng của từng loại câu hỏi là khác nhau. Hiện tại, có những loại câu hỏi
sau :
1. Luật
2. Tốc độ
3. Nghiệp vụ vận tải
4. Biển báo
5. Sa hình
6. Kỹ thuật lái
7. Cấu tạo ôtô
8. Sửa chữa ôtô
Cơ cấu đề được quy định cho mỗi hạng bằng như sau :
− Hạng A1 và A2 :
(cid:131) 7 câu hỏi Luật ( 1 câu về Tốc độ) (cid:131) 5 câu hỏi Biển báo (cid:131) 3 cân hỏi sa hình
− Hạng B1, B2, C,D ,E , F :
(cid:131) 10 câu hỏi Luật (1 câu về Nghiệp vụ vận tải ) (cid:131) 10 câu hỏi biển báo (cid:131) 7 câu hỏi Sa hình (cid:131) 1 câu hỏi Kỹ thuật lái (cid:131) 1 câu hỏi cấu tạo Ô tô (cid:131) 1 câu hỏi sửa chữa xe ô tô
Đề thi được soạn dựa trên bộ tài liệu dành cho 2 hạng thi là :
• 300 câu hỏi dùng cho sát hạch, cấp giấy phép lái xe cơ giới đường bộ.
• 75 câu hỏi dùng cho sát hạch, cấp giấy phép lái xe hạng A1, A2.
Số lượng câu hỏi, hạng bằng, đề thi có thể thay đổi nhưng khi đề được soạn thì phải
đảm bảo đúng theo cơ cấu đề của từng hạng bằng.
Trang 15
Hệ thống hỗ trợ học và thi bằng lái trên web TChương 2: TKHẢO SÁT HIỆN TRẠNG
Thông qua chương này chúng ta đã có một cái nhìn tổng quát về hiện trạng tổ chức
học và thi cấp giấy phép lái xe hiện này của Thành phố. Từ đó chúng ta có đủ cơ sở
để bước sang chương sau với phần phân tích, thiết kế hệ thống.
Trang 16
PPhhầầnn pphhâânn ttíícchh tthhiiếếtt kkếế
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
CChhưươơnngg 33 :: PPHHÂÂNN TTÍÍCCHH
Trong chương trước ta đã khảo sát qua hiện trạng thực tế, có được các qui định của
các công việc có liên quan. Giờ đây, ta tìm hiểu mô hình tổ chức, phân tích hoạt
động của hệ thống được thiết kế. Chương này sẽ mô tả các yêu cầu chức năng và
phi chức năng của hệ thống và bảng trách nhiệm mà người dùng và hệ thống phải
thực hiện để đảm bảo hệ thống hoạt động hiệu quả.
3.1 Phân tích hiện trạng :
Chức năng chính của đề tài này là xây dựng một trang web giúp cho người
dùng học lý thuyết và thi kiểm tra luyện tập trước khi đăng kí thi lấy giấy phép lái
xe.
Để học lý thuyết cho kì thi thì người dùng không cần phải đăng ký làm thành
viên trang Web, nhưng để có thể đăng kí thi kiểm tra hoặc tải tài liệu thì bắt buộc
người dùng phải đăng ký làm thành viên trang Web.
Để đăng kí làm thành viên trang web, người sử dụng phải điền một số thông
tin cá nhân để quản lí (vd: Tên đăng nhập, mật khẩu , họ, tên, ngày sinh, giới tính,
email…). Sau đó, người sử dụng có thể đăng nhập (sử dụng tên đăng nhập và mật
khẩu đã đăng kí ), chọn loại bằng và lấy bài thi thử.
Đề thi sẽ được lấy dựa vào hạng bằng mà người dùng chọn. Đề có thể là có
sẵn hoặc đề ngẫu nhiên do người dùng lựa chọn. Đề được lấy thi phải đảm bảo đúng
theo quy định cơ cấu đề của hạng bằng. Với đề thi được phát sinh ngẫu nhiên phải
đáp ứng được yêu cầu “phát sinh ngẫu nhiên 3 giai đoạn “:
1. Các câu hỏi trong đề được lấy một cách ngẫu nhiên , nhưng vẫn đảm
bảo được yêu cầu cơ cấu đề của hạng bằng.
2. Trong đề, vị trí của các câu hỏi cũng được phát sinh ngẫu nhiên.
3. Trong câu hỏi, thứ tự các câu trả lời cũng được phát sinh ngẫu nhiên.
Trang 18
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
Hình thức thi trắc nghiệm đã quá quen thuộc với người dùng. Người dùng có
thể chọn chế độ thi là : Tính thời gian thi hoặc không tính thời gian thi. Với chế độ
có tính thời gian thi như thi thật, từ thời gian bắt đầu ra đề hệ thống sẽ đếm ngược
thời gian và khi hết giờ sẽ không cho người dùng tiếp tục làm nữa. Sau đó, hệ thống
sẽ tính điểm và trả kết quả về cho người dùng . Kết quả sẽ cho biết người sử dụng
đã làm đúng được bao nhiêu câu trong bài thi, kết quả đạt hay không đạt, với mỗi
câu hỏi sẽ cho biết đáp án và câu trả lời của người dùng. Với câu trả lời sai sẽ xuất
lời giải thích cho đáp án.
3.2 Xác định yêu cầu chức năng :
3.2.1. Danh sách các chức năng :
Hệ thống hỗ trợ học và thi lấy bằng lái trên Web bao gồm các chức năng chính sau
đây :
• Hỗ trợ người dùng tìm thông tin tổng quát về luật giao thông đường bộ và
các lý thuyết cho việc thi lấy bằng lái.
• Hỗ trợ người dùng thi kiểm tra luyện tập trước khi thi thật.
• Hỗ trợ người quản trị quản lý người dùng và phân quyền.
• Hỗ trợ người quản lý xây dựng , quản lý toàn bộ hệ thống học và thi.
Trang 19
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
3.2.2. Danh sách các quy định chung cho việc soạn đề thi:
Stt Tên quy định Mô tả chi tiết Ghi chú
Một đề thi phải thuộc một hạng bằng. 1.
2.
3.
4. Quy định về việc thêm đề thi Quy định về việc thêm câu hỏi cho đề thi. Quy định về việc xóa câu trả lời của câu hỏi. Quy định về việc phát sinh đề thi ngẫu nhiên Một câu hỏi được thêm vào đề thi phải đảm bảo cho đề thi tuân theo cơ cấu đề của hạng bằng đó. Khi xóa một câu trả lời của câu hỏi thì phải đảm bảo câu hỏi đó có tối thiểu 2 câu trả lời Khi đề thi được phát sinh ngẫu nhiên phải đảm bảo được quy định “ngẫu nhiên 3 giai đoạn”
Bảng : Bảng mô tả các quy định chức năng
3.3 Bảng chú giải :
Trong phần Phân quyền cho người dùng, có những cấp bậc phân quyền sau đây :
Stt Phân quyền Giải thích
5. Admin
Bộ phận quản trị trang web, chịu trách nhiệm quản lý người dùng, phân quyền người dùng. Ngoài ra còn có các quyền hạn khác mà ta sẽ phân tích trong những phần sau.
6. Instructor
7. Student Bộ phận đào tạo. Bộ phận chịu trách nhiệm về phần cơ sở dữ liệu thông tin liên quan đến quá trình học và thi của người dùng. Thành viên trang web, là đối tượng hướng tới của trang Web. Người dùng có thể học, thi thử và down tài liệu về.
Bảng : Bảng chú giải
Trang 20
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
3.4 Sơ lược về các hoạt động của hệ thống :
Trang Web được phân quyền cho từng người dùng. Hệ quản trị cơ sở dữ liệu là
Microsoft SQL Server 2000.
Khi duyệt trang Web, người dùng có thể đăng nhập hoặc không. Tùy thuộc vào từng
phân quyền của người dùng mà người dùng có thể sử dụng một số chức năng của
trang web.
3.4.1. Bộ phận quản trị hệ thống (Admin) :
Người quản trị có toàn bộ chức năng như một thành viên trang web nhưng không có
chứ năng của Instructor. Người quản trị có chức năng sau đây :
(cid:130) Quản lý thông tin người dùng, thêm, xóa , sửa người dùng.
(cid:130) Phân quyền cho người dùng.
(cid:130) Quản lý hệ thống dữ liệu tin tức giao thông : thêm, xóa, sửa.
(cid:130) Xem thống kê theo ngày , tháng , năm .
(cid:130) Back up và restore hệ thống cơ sở dữ liệu.
3.4.2. Bộ phận đào tạo quản lý thông tin , CSDL liên quan đến
tài liệu học, thi (Instructor) :
Bộ phần này cũng có quyền hạn và chức năng như một thành viên trang Web nhưng
không có chức năng của người quản trị.
Bộ phận này chịu trách nhiệm trong việc quản lý hệ thống dữ liệu liên quan đến
viêc thi kiểm tra , học tập, tải tài liệu của người dùng.
Quyền hạn của bộ phận này trên từng đơn vị dữ liệu sẽ được đề cập rõ hơn trong
những phần sau .
Trang 21
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
3.4.3. Thành viên trang web (Student) :
Khi đăng ký làm thành viên trang Web, người dùng có thể tham gia thi thử và tải tài
liệu về học offline.
3.4.4. Người dùng khác :
Khi không đăng kí làm thành viên trang web, người dùng có thể học thi về Luật, Sa
hình, Tài liệu, làm bài tập luyện tập theo từng loại câu hỏi; đồng thời cũng được
xem các thông tin tham khảo và xem tin tức sự kiện.
3.5 Yêu cầu phi chức năng :
Để đảm bảo hệ thống đạt chất lượng, ngoài tính đúng đắn của các chức năng nghiệp
vụ, hệ thống cần đạt được các yêu cầu hệ thống khác. Trong phần này, chúng ta
xem xét một số yêu cầu phi chức năng cần có của hệ thống. Phần đặc tả này liệt kê
các chức năng chưa được thể hiện trong mô hình use-case.
3.5.1. Tính tiến hóa :
(cid:170) Trang Web cần được thiết kế sao cho người dùng dễ dàng thay đổi
các tham số, qui định có sử dụng trong chương trình.
(cid:170) Một số dữ liệu không được phép xóa khỏi Cơ sở dữ liệu, chỉ được cập
nhật Hiện trạng là không sử dụng ( bằng 0) , dùng cho trường hợp
phục hồi , tái sử dụng :
• Không cho xóa hạng bằng, nếu xóa hạng bằng thì ràng buộc toàn
vẹn sẽ dẫn đến việc xóa hết các đề thi của hạng bằng đó. Trong
trường hợp xóa nhằm hoặc muốn tái sử dụng sẽ gặp nhiều khó
khăn trong việc nhập lại dữ liệu.
• Tương tự như vậy, không cho phép xóa sa hình, tài liệu.
Trang 22
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
• Loại câu hỏi cũng không được xóa. Vì nếu xóa loại câu hỏi, ràng
buộc toàn vẹn sẽ kéo theo xóa câu hỏi.
• Không được xóa câu hỏi
• Không được xóa đề thi.
(cid:170) Có thể mở rộng hình thức thi trên máy để trở thành hình thức thi
chính thức trên thực tế.
Stt Nghiệp vụ
1 Thay đổi thông tin người dùng
2 Phân quyền người sử dụng
3 Hệ thống cơ sở dữ liệu Tham số Cho phép người dùng thay đổi thông tin cá nhân hay Admin dùng quyền của mình để thay đổi : họ, tên, địa chỉ, điện thoại, email, giới tính , ngày sinh … Cho phép thay đổi danh sách nhóm người sử dụng và cấp quyền ứng với mỗi nhóm người sử dụng Cho phép thay đổi hệ thống thông tin : hạng bằng, hạng thi, cơ cấu đề thi, loại câu hỏi, đề thi…
Bảng 2: Bảng tính tiến hóa
3.5.2. Tính tiện dụng :
(cid:170) Trang Web cần được thiết kế với giao diện đồ họa thân thiện, gần gũi
với thói quen người dùng , tạo thật sự thoải mái, tiện lợi trong quá
trình sử dụng trang Web người dùng.
(cid:170) Người dùng có thể tra cứu, học tập, thi thử mọi lúc mọi nơi, không có
giới hạn nào cả.
(cid:170) Hình thức thi trắc nghiệm đã quen thuộc với người dùng, giống hình
thức thi thực tế. Giao diện thi và chấm điểm phù hợp với thói quen
của người dùng.
(cid:170) Hỗ trợ nhiều người dùng đồng thời.
(cid:170) Mức độ dễ học:
Trang 23
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
o Đối với các chức năng cập nhật thông tin dữ liệu, trung bình
o Đối với các chức năng tra cứu thông tin, không cần hướng dẫn
15 phút hướng dẫn cho mỗi chức năng.
o Đối với các chức năng cập nhật thông tin dữ liệu, chương trình
(cid:170) Mức độ dễ sử dụng:
o Đối với các chức năng tra cứu thông tin, trang Web hỗ trợ các tiêu thức tra cứu rõ ràng, dễ thực hiện, do đó người dùng không
dễ sử dụng, mức độ phạm lỗi trung bình là 2%
cần biết nhiều về thông tin cần tra cứu.
(cid:170) Trách nhiệm của người dùng: không cần đọc tài liệu hướng dẫn, có
thể sử dụng ngay.
(cid:170) Trách nhiệm của trang Web : thực hiện theo đúng theo yêu cầu.
3.5.3. Tính hiệu quả :
(cid:170) Thao tác cập nhật thông tin, tra cứu thông tin cần thực hiện nhanh
chóng, hiệu quả.
(cid:170) Trách nhiệm của trang Web: thực hiện đúng theo yêu cầu.
3.5.4. Tính bảo mật:
(cid:170) Trang Web cần được phân cấp quyền hạn sử dụng cho từng chức năng nghiệp vụ.
o Quản trị hệ thống : cho biết các người dùng mới, người dùng sẽ
(cid:170) Trách nhiệm của người dùng:
o Người dùng khác : cho biết tên và mật khẩu, mật khẩu mới. (cid:170) Trách nhiệm của trang Web: ghi nhận và thực hiện đúng theo yêu
bị hủy và các quyền hạn thay đổi của người dùng.
cầu.
Trang 24
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
Stt Nghiệp vụ Student Admin Instructor
Người dùng khác X 1. 2. 3. Đăng nhập Học thi Thi kiểm tra X X X X X X X X X
4. Tải tài liệu X X X
5. Xem tin tức giao thông X X X X
6. Luyện tập X X X X
7. X X X X
8. Xem các thông tin tham khảo Phân quyền X
9. X Quản lý thông tin người dùng (Thêm , xóa , sửa)
10. Thống kê người dùng theo X ngày, tháng, năm
11. Backup / Restore hệ thống X cơ sở dữ liệu
12. Quản lý thông tin tin tức X (Thêm, xóa , sửa )
13. Quản lý hạng bằng (Thêm, X sửa)
14. Quản lý thông tin sa hình X (Thêm, sửa)
15. Quản lý thông tin tài liệu X (Thêm, sửa)
16. Quản lý thông tin cơ cấu X đề (Thêm, sửa)
17. Quản lý thông tin loại câu X hỏi (Thêm, sửa)
18. Quản lý thông tin câu hỏi X (Thêm, sửa)
Trang 25
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
X 19. Quản lý thông tin câu trả lời (Thêm, sửa)
X
20. Quản lý thông tin đề thi (Thêm, sửa, xoá, soạn đề thi mới)
Bảng 3 : Bảng phân quyền sử dụng
Trang 26
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
3.5.5. Tính toàn vẹn dữ liệu :
(cid:170) Phần mềm cần được xây dựng đảm bảo tính toàn vẹn nhất quán của
dữ liệu. Hệ thống không cho phép thực hiện những việc sau :
(cid:131) Không cho xóa câu hỏi khi đang có đề thi sử dụng câu hỏi đó.
(cid:131) Không cho xóa loại câu hỏi khi đang có hạng bằng sử dụng loại
câu hỏi đó.
(cid:131) Không cho xóa sa hình khi đang có ít nhất một câu hỏi sử dụng
đến nó.
(cid:131) Không cho xóa câu trả lời khi câu hỏi chỉ còn 2 câu trả lời.
Kết quả phân tích các yêu cầu chức năng và yêu cầu phi chức năng ở trên sẽ
làm nền tảng cơ sở cho cho việc phân tích thiết kế hệ thống sau này, đồng thời vừa
là cơ sở để đảm bảo tính toàn vẹn dữ liệu và thống nhất trách nhiệm của người dùng
và hệ thống đối với sự hoạt động của chương trình.
3.6 Xây dựng mô hình Use-case (Use-case Model):
3.6.1. Xác định Actor và Use case :
• Actor :
o User (Người dùng khác) : Học thi, xem tin tức, xem thông tin tham
khảo.
o Student : Học thi, xem tin tức, xem thông tin tham khảo, tải tài liệu,
đăng kí thi kiểm tra.
o Admin : có vai trò như một Student nhưng thêm chức năng quản lý
người dùng, phân quyền và quản lý tin tức.
o Instructor : có vai trò như một Student nhưng thêm những chức năng
quản lý các thông tin bảng dữ liệu.
• Use case :
o Đăng ký làm thành viên
Trang 27
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
o Đăng nhập
o Chỉnh sửa thông tin cá nhân.
o Nhắc mật khẩu.
o Xem thống kê cá nhân.
o Học thi
(cid:131) Học luật
(cid:131) Học sa hình
(cid:131) Học biển báo
o Luyện tập
o Thi kiểm tra
o Tải tài liệu
o Xem thông tin tham khảo
o Xem tin tức sự kiện
o Quản lý người dùng : thêm , xóa, sửa, phân quyền.
o Quản lý tin tức
o Thống kê người dùng theo ngày, tháng, năm
o Sao lưu cơ sở dữ liệu.
o Quản lý thông tin
(cid:131) Quản lý thông tin hạng bằng (thêm , sửa )
(cid:131) Quản lý thông tin cơ cấu đề (thêm, sửa)
(cid:131) Quản lý thông tin sa hình (thêm, sửa)
(cid:131) Quản lý thông tin tài liệu (thêm, sửa)
(cid:131) Quản lý thông tin loại câu hỏi (thêm, sửa)
Trang 28
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
(cid:131) Quản lý thông tin câu hỏi (thêm, sửa)
(cid:131) Quản lý thông tin câu trả lời (thêm , xóa ,sửa )
(cid:131) Quản lý thông tin đề thi (sửa, thêm đề, soạn đề mới)
Trang 29
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
3.6.2. Mô hình Use-case :
Mô hình use case theo từng phân quyền
1. Người dùng không đăng ký :
HocBienBao
XemTinTuc
HocLuat
LuyenTap
HocSaHinh
XemThongTinThamKhao
Nguoi dung khong dang ky
Hình 1 : Mô hình Use Case đối với Actor Người dùng không đăng ký
2. Student :
Người dùng đăng ký là thành viên cũng có những chức năng như người dùng
ThiKiemTra
TaiTaiLieu
DangKy
NhacMatKhau
DangNhap
ChinhSuaThongTinCaNhan
XemThongKeCaNhan
Student
không đăng ký
Trang 30
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
Hình 2 : Mô hình Use Case đối với Actor Student
3. Admin :
Admin ngoài những chức năng dành cho Admin, còn có những chức năng
QuanLyTinTuc
QuanLyForum
ThongKe
QuanLyThongTinNguoiDung
SaoLuuCSDL
Admin
như một thành viên thường.
Hình 3 : Mô hình Use Case đối với Actor Admin
4.
Instructor :
Instructor ngoài những chức năng dành cho Instructor, còn có những chức
năng như một thành viên thường.
Trang 31
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
QuanLyThongTinHangBang
QuanLyDeThi
QuanLyThongTinCauTraLoi
QuanLyThongTinCoCauDe
QuanLyThongTinSaHinh
QuanLyThongTinCauHoi
Instructor
QuanLyThongTinLoaiCauHoi
QuanLyThongTinTaiLieu
Hình 4 : Mô hình Use Case đối với Actor Instructor
Trang 32
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
3.6.3. Đặc tả Use Case :
1. LuyenTap :
Chương trình hỗ trợ người dùng làm bài tập theo từng loại câu hỏi. Người dùng
chọn loại câu hỏi , nhập số câu muốn luyện tập và nhấn nút “Luyện tập” để xác
nhận. Hình thức luyện tập giống hình thức thi trắc nghiệm, không tính thời gian làm
bài. Sau khi luyện tập, chương trình sẽ chấm điểm cho bài làm.
2. XemTinTuc :
Người dùng có thể xem tin tức bằng cách chọn mục “Tin tức & sự kiện” trên menu
hoặc chọn vào “Xem chi tiết” của từng tin tức trên trang chủ.
3. XemThongTinThamKhao :
Người dùng chọn vào mục “Tham khảo” trên menu để xem các thông tin tham
khảo. Chọn từng đề mục để xem (Các tuyến đường bắt buộc đội mũ bảo hiểm, Các
tuyến xe buýt trong thành phố, các tuyến xe tỉnh miền đông miền tây …)
4. DangKyThanhVien :
Người dùng chọn link “Đăng ký” trong phần Đăng nhập để liên kết đến trang đăng
ký. Người dùng phải điền một số thông tin cá nhân, click nút “Đăng ký” để xác
nhận.
Hệ thống sẽ kiểm tra đã tồn tại username mà người dùng đăng ký chưa. Nếu đã tồn
tại, hệ thống sẽ thông báo để người dùng chọn lại. Nếu chưa : đăng nhập thành
công.
5. DangNhap :
Người dùng nhập username và password, click nút “Đăng nhập” để xác nhận.
Khi đăng nhập thành công , dối với Admin và Instructor sẽ có link liên kết đến trang
dành cho Admin hoặc Instructor.
Trang 33
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
6. NhacMatKhau :
Trong trường hợp quên mật khẩu, người dùng chọn mục “Bạn quên mật khẩu?”
trong phần đăng ký để liên kết đến trang nhắc mật khẩu. Người dùng phải nhập
username và địa chỉ email để tìm kiếm mật khẩu.
7. XemThongKeCaNhan :
Người dùng chọn mục “Thống kê cá nhân” trên menu để xem thống kế cá nhân.
Bao gồm những mục sau : số lượt truy cập, số lượt tải tài liệu, số lượt thi, số lượt thi
đạt, thông tin chi tiết của những lần thi.
8. ChinhSuaThongTinCaNhan:
Trong phần xem thông tin cá nhân, người dùng chọn nút “Chỉnh sửa” để chỉnh sửa
thông tin cá nhân. Người dùng có thể chỉnh sửa mọi thông tin cá nhân trừ
Username. Username của người dùng chỉ có thể chỉnh sửa bởi Admin. Sau khi
chỉnh sửa người dùng chọn nút “Cập nhật” để xác nhận.
9. ThiKiemTra :
Use case này gồm 2 bước : đăng ký thi và thi kiểm tra.
Để đăng ký thi người dùng chọn hạng bằng muốn thi; chọn hình thức thi là tính thời
gian hoặckhông tính thời gian, đề có sẵn hay đề phát sinh ngẫu nhiên; click nút
“Đăng ký thi” để bắt đầu thi.
Trong hình thức thi tính thời gian, thời gian thi sẽ được tính ngược. Khi hết giờ thi
hoặc người dùng chọn nút “Dừng thi” thì chương trình sẽ chấm điểm thi cho người
dùng, trả về kết quả từng câu hỏi và kết quả cuối cùng là đạt hoặc không đạt.
10. TaiTaiLieu :
Người dùng chọn mục “Tải tài liệu” trên menu để vào phần tải tài liệu. Trong danh
mục liệt kê chọn tài liệu muốn tải.
11. QuanLyThongTinNguoiDung :
Trang 34
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
Chương trình hỗ trợ Admin quản lý thông tin người dùng, có thể : thêm , xoá , sửa,
tìm kiếm, sắp xếp thông tin thành viên. Admin có thể xem danh sách người dùng
theo phân quyền : tất cả người dùng, hoặc danh sách admin, instructor, thành viên
trang web. Trên danh sách người dùng, admin chọn một chức năng để thực hiện.
12. QuanLyTinTuc :
Chương trình hỗ trợ Admin quản lý thông tin tin tức, có thể : thêm , xoá , sửa, tìm
kiếm, sắp xếp tin tức. Thêm và sửa thông tin có hỗ trợ phần định dạng. Trong trang
dành cho Admin, Admin chọn mục “Quản lý tin tức” để liên kết đến trang này.
13. ThongKe :
Trong trang dành cho Admin , Amin chọn mục “Thống kê” để liên kết đến trang
thống kê. Chương trình hỗ trợ thống kê dành cho Admin theo ngày, tháng, năm
những mục liên quan đế : hạng bằng, loại câu hỏi, số lượt thi theo đánh giá : nhiều
nhất, ít nhất, đạt nhiều nhất, không đạt nhiều nhất. Admin chọn loại thống kê :ngày,
tháng , năm và chọn nút “Thống kê” để xem. Chương trình hỗ trợ vẽ thống kê theo
biểu đồ.
14. SaoLuuCSDL :
Admin chọn mục “Sao lưu hệ thống” trong trang dành cho Admin. Chương trình hỗ
trợ backup hệ thống cơ sở dữ liệu. Thông báo cho Admin biết đường dẫn lưu file
back up.
15. QuanLyHangBang :
Chương trình hỗ trợ Instructor quản lý thông tin hạng bằng. Instructor chọn mục
“Hạng bằng” trong trang dành cho Instructor. Những chức năng được hỗ trợ : thêm ,
chỉnh sửa, tìm kiếm, sắp xếp hạng bằng. Trong danh sách liệt kê hạng bằng,
Instructor chọn một chức năng để thực hiện.
16. QuanLyCoCauDe :
Chương trình hỗ trợ Instructor quản lý thông tin cơ cấu đề. Instructor chọn mục Mã
hạng bằng trong danh sách liệt kê hạng bằng để liên kết đến trang cơ cấu đề theo
Trang 35
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
hạng bằng. Những chức năng được hỗ trợ : thêm , chỉnh sửa, tìm kiếm, sắp xếp cơ
cấu đề. Trong danh sách liệt kê cơ cấu đề, Instructor chọn một chức năng để thực
hiện.
17. QuanLyThongTinSaHinh :
Chương trình hỗ trợ Instructor quản lý thông tin sa hình. Instructor chọn mục “Sa
hình” trong trang dành cho Instructor. Những chức năng được hỗ trợ : thêm , chỉnh
sửa, tìm kiếm, sắp xếp sa hình, upload hình ảnh sa hình mới vào thư mục Sa Hình
của chương trình . Trong danh sách liệt kê sa hình, Instructor chọn một chức năng
để thực hiện.
18. QuanLyThongTinTaiLieu :
Chương trình hỗ trợ Instructor quản lý thông tin tài liệu. Instructor chọn mục “Tài
liệu” trong trang dành cho Instructor. Những chức năng được hỗ trợ : thêm , chỉnh
sửa, tìm kiếm, sắp xếp sa hình, upload tập tin tài liệu mới vào thư mục Download
của chương trình . Trong danh sách liệt kê tài liệu, Instructor chọn một chức năng
để thực hiện.
19. QuanLyThongTinLoaiCauHoi :
Chương trình hỗ trợ Instructor quản lý thông tin loại câu hỏi. Instructor chọn mục
“Loại Câu Hỏi” trong trang dành cho Instructor. Những chức năng được hỗ trợ :
thêm , chỉnh sửa, tìm kiếm, sắp xếp loại câu hỏi. Trong danh sách liệt kê loại câu
hỏi, Instructor chọn một chức năng để thực hiện.
20. QuanLyThongTinCauHoi :
Chương trình hỗ trợ Instructor quản lý thông tin câu hỏi. Instructor chọn mục “Câu
Hỏi” trong trang dành cho Instructor. Những chức năng được hỗ trợ : thêm , chỉnh
sửa, tìm kiếm, sắp xếp câu hỏi. Trong danh sách liệt kê câu hỏi, Instructor chọn một
chức năng để thực hiện.
Trang 36
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
21. QuanLyThongTinCauTraLoi :
Chương trình hỗ trợ Instructor quản lý thông tin câu trả lời và đáp án. Instructor
chọn mục Mã câu hỏi trong danh sách liệt kê câu hỏi để liên kết đến trang câu trả
lời và đáp án theo câu hỏi. Một câu hỏi có thể có nhiều câu trả lời và nhiều đáp án.
Những chức năng được hỗ trợ : thêm, xoá , chỉnh sửa, tìm kiếm, sắp xếp câu trả lời,
đáp án. Trong danh sách liệt kê câu trả lời và đáp án, Instructor chọn một chức năng
để thực hiện.
22. QuanLyDeThi :
Chương trình hỗ trợ Instructor quản lý thông tin đề thi. Instructor chọn mục “Đề
thi” để xem danh sách đề thi. Những chức năng được hỗ trợ : thêm, chỉnh sửa đề thi.
Đề chỉnh sửa chi tiết đề thi, Instructor chọn Mã đề thi trong danh sách đề thi để liên
kết đến trang chi tiết đề.
Trang chi tiết đề thi liệt kê các câu hỏi câu đề thi. Đối với những đề thi mới hoặc
chưa hoàn chỉnh (chưa đủ số câu hỏi như quy định) , Instructor click nút “Thêm
mới” để thêm câu hỏi cho đề thi. Instructor chọn Loại câu hỏi trong list liệu kê,
click nút “Chọn ngẫu nhiên” để xác nhận.
Chương trình sẽ lấy ngẫu nhiên những câu hỏi thuộc loại câu hỏi này, có cùng hạng
thi với hạng bằng của đề thi và chưa có trong đề thi này. Instruc chọn nút “Nhập câu
hỏi” để thêm những câu hỏi này vào đề thi.
Trang 37
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
3.6.4. Mô hình thực thể kết hợp :
3.6.4.1. Mô hình :
Hình : Mô hình thực thể kết hợp
Trang 38
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
3.6.4.2. Mô tả chi tiết các thực thể :
1. HANG_BANG :
STT Tên thuộc tính Ý nghĩa Khóa
1 Mã hạng bằng Mã hạng bằng Kiểu dữ liệu Chuỗi Khoá chính
2 Mô tả Mô tả hạng bằng Chuỗi
Số câu hỏi quy định
3 Số câu hỏi Số nguyên trong đề thi của hạng
bằng này
Thời gian thi Thời gian thi quy định Số nguyên 4
Số câu đúng tối thiểu Số câu đạt Số nguyên 5 quy định
2. HANG_THI :
STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa
1.
2.
Mã hạng thi để Mã hạng thi Chuỗi Khoá chính phân biệt
Hạng thi Tên của hạng thi Chuỗi
3. LOAI_CAU_HOI :
1.
STT Tên thuộc tính
2.
Mã loại câu hỏi Số nguyên Ý nghĩa Mã loại câu hỏi để phân biệt Kiểu dữ liệu Khóa Khoá chính
Loại câu hỏi Tên của từng loại câu hỏi Chuỗi
Trang 39
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
4. CAU_HOI :
1.
STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa
2.
Mã câu hỏi Chuỗi Khoá chính Mã câu hỏi để phân biệt
3.
Nội dung câu hỏi Nội dung câu hỏi Chuỗi
4.
Đáp án Nội dung đáp án Chuỗi
5.
Hình Minh Họa Chuỗi
6.
Lời giải thích Chuỗi
7.
Mã sa hình Chuỗi Tên tập tin hình minh hoạ Lời giải thích cho câu hỏi Mã sa hình minh họa cho câu hỏi
Mã loại câu hỏi Mã loại câu hỏi Số nguyên Khoá ngoại
5. CAU_TRA_LOI :
1.
STT Tên thuộc tính Kiểu dữ liệu Khóa
2.
Mã câu trả lời Số nguyên Khoá chính
Câu trả lời Chuỗi Ý nghĩa Mã câu trả lời để phân biệt Nội dung câu trả lời
6. DAP_AN :
3.
STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa
4.
Mã đáp án Số nguyên Khoá chính Mã đáp của câu hỏi
Đáp án Nội dung đáp án Chuỗi
7. DE :
1.
STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa
MaDe Mã đề để phân biệt Số nguyên Khoá chính
Trang 40
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
8. KET_QUA :
1.
STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa
2.
Mã kết quả Mã kết quả để phân biệt Số nguyên Khoá chính
3.
Ngày thi Ngày làm bài thi Ngày
4.
Số câu đúng Số câu hỏi làm đúng
5.
Kết quả Kết quả thi Chuỗi
Mã hạng bằng Chuỗi Khoá ngoại Mã hạng bằng của bài thi
9. CHI_TIET_KET_QUA :
1.
STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa
2.
Mã chi tiết kết quả Số nguyên Khoá chính
3.
Mã loại câu hỏi Số nguyên Khoá ngoại
Số câu đã trả lời
4.
Số câu hỏi Số nguyên Mã chi tiết để phân biệt Mã loại câu hỏi thực hiện Số câu hỏi của loại câu hỏi này
Số câu đúng
5.
Số câu hỏi đã trả lời Số nguyên
Số câu đúng Số nguyên
10. PHAN_QUYEN :
6.
STT Tên thuộc tính Kiểu dữ liệu Khóa
7.
Mã phân quyền Chuỗi Khoá chính Ý nghĩa Mã phân quyền để phân biệt
8.
Phân quyền Tên gọi phân quyền Chuỗi
Mô tả Mô tả phân quyền Chuỗi
Trang 41
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
11. NGUOI_DUNG :
STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa
Mã người dùng 1. Số nguyên Khoá chính Mã người dùng để phân biệt
Họ tên người dùng 2. Họ tên Chuỗi
Giới tính
3. Ngày sinh Ngày
4. Luận lý
Lần truy cập trước
5. Chuỗi
Tên đăng nhập
6. Ngày
Mật khẩu
7. Chuỗi
8. Chuỗi
12. THONG_KE_CA_NHAN :
STT Tên thuộc tính Kiểu dữ liệu Khóa
1. Mã thống kê Số nguyên Khoá chính Ý nghĩa Mã thống kê để phân biệt
2. Số lượt tải tài liệu Số nguyên
Số lượt thi
3. Số lượt truy cập Số nguyên
Số lượt thi đạt
4. Số nguyên
5. Số nguyên
Trang 42
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
13. SA_HINH :
STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa
Mã sa hình Mã sa hình để phân biệt Chuỗi Khoá chính 1.
Hình ảnh Tên tập tin sa hình Chuỗi 2.
Lời giải thích
Thứ tự ưu tiên Ý nghĩa của sa hình Chuỗi 3.
4. Chuỗi Lời giải thích cho thứ tự ưu tiên
14. TAI_LIEU :
STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa
Mã tài liệu Mã tài liệu để phân biệt Chuỗi Khoá chính 1.
Mô tả Mô tả của tài liệu Chuỗi 2.
Tên tập tin Tên tập tin tài liệu Chuỗi 3.
15. TIN_TUC :
STT Tên thuộc tính Kiểu dữ liệu Khóa
Mã tin tức 1. Chuỗi Khoá chính Ý nghĩa Mã tin tức để phân biệt
Ngày đưa tin Ngày đưa tin Ngày 2.
Tiêu đề
Tên tập tin Tên tập tin tin tức Chuỗi 3.
Thông tin khác
Chuỗi 4.
5. Chuỗi Những thông tin liên quan
Trang 43
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
16. THONG_KE :
STT Tên thuộc tính Kiểu dữ liệu Khóa
1. Số lượt truy cập Số nguyên Ý nghĩa Số lần người dùng ghé trang web
2. Số thành viên Số thành viên đăng ký Số nguyên
Số lượt thi đạt
3. Số lượt thi Số nguyên Số lần đăng ký thi kiểm tra
4. Số lần thi đạt Số nguyên
Số lượt tải tài liệu Số lần tải tài liệu
5. Số nguyên
3.6.4.3. Mô tả chi tiết các mối kết hợp :
17. CHI_TIET_DE :
STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa
Mã đề Mã đề Số nguyên Khoá ngoại, khoá chính 1.
Mã câu hỏi Mã câu hỏi Số nguyên Khóa ngoại, khoá chính 2.
18. CO_CAU_DE :
STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu
Mã hạng bằng Mã hạng bằng Chuỗi 1.
Mã loại câu hỏi Mã loại câu hỏi Số nguyên 2. Khóa Khoá chính, khoá ngoại Khoá chính, khoá ngoại
Số câu hỏi Số nguyên 3.
Trang 44
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 3 : PHÂN TÍCH
19. CAUHOI_HANGTHI :
STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa
1. Mã câu hỏi Số nguyên Khoá chính, khoá ngoại
2. Mã hạng thi Chuỗi Khoá chính, khoá ngoại
Trang 45
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
CChhưươơnngg 44 :: TTHHIIẾẾTT KKẾẾ
4.1 Thiết kế kiến trúc hệ thống :
Hệ thống được xây dựng theo mô hình 3 lớp :
Hình 2 : Kiến trúc hệ thống
(cid:190) Lớp giao diện : được xây dựng bằng Javascript, HTML, DHTML phát sinh
giao diện và các đoạn script. Thực hiện nhiệm vụ xử lý thao tác giao tiếp với
người dùng; giữ vai trò trung gian, truyền tải tiếp nhận dữ liệu giữa người
dùng và hệ thống.
(cid:190) Lớp xử lý : đóng vai trò là tầng trung gian giữa lớp giao diện và lớp cơ sở
dữ liệu, tiếp nhận yêu cầu từ lớp giao diện, xử lý rồi truyền xuống lớp giao
diện để rút trích thông tin. Sau đó nhận dữ liệu từ lớp cơ sở dữ liệu, xử lý
trước khi trả về cho lớp giao diện. Các thao tác xử lý có thể là: truy xuất câu
hỏi luyện tập theo từng loại câu hỏi, truy xuất đề thi kiểm tra, lấy thông tin
chi tiết của tin tức giao thông hoặc thêm/xóa/sửa các đối tượng dữ liệu ở cơ
sở dữ liệu.
(cid:190) Lớp cơ sở dữ liệu : là lớp trung gian giữa lớp xử lý với cơ sở dữ liệu.
Trang 46
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.2 Mô hình lớp đối tượng :
4.2.1. Mô hình :
Hình 3 : Mô hình lớp đối tượng
Trang 47
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.2.2. Mô tả chi tiết một số lớp đối tượng xử lý :
1. DE_THI :
STT
Tên hàm
Ý nghĩa
Kiểu giá trị trả về
Dataset 1 Lấy danh sách các câu hỏi thuộc đề thi có mã đề là MaDe. LayChiTietDeThi (string MaDe)
2 Dataset Lấy danh sách câu hỏi có sắp xếp theo FieldSapXep. LayChiTietDeThiSapXep (string strMaDe,string FieldSapXep)
3 Dataset Lấy thông tin của đề thi có mã MaDe LayThongTinDeThi string strMaDe)
4 Dataset Lấy mã đề thi theo Hạng bằng LayMaDeThiTheoHangBang (string strMaHangBang)
5 Dataset Lấy danh sách đề thi theo Hạng bằng LayDanhSachDeTheoHangB ang (string strMaHangBang)
6 String Thêm đề thi và chi tiết đề theo hạng bằng, giá trị trả về là chuỗi kết quả ThemDeThiTheoHangBang (string MaHangBang, DataTable dt)
7 String Thêm một đề thi theo hạng bằng, giá trị trả về là mã đề thi ThemDeThi (string MaHangBang)
8 String Thêm một câu hỏi vào vào đề thi (bảng CHI_TIET_DE), giá trị trả về là chuỗi kết quả. ThemChiTietDe (string MaDe, string MaCauHoi)
9 String Xóa một câu hỏi có mã MaCauHoi trong đề thi mã MaDe. XoaChiTietDe (string MaDe, string MaCauHoi)
String Cập nhật hiện trạng của đề thi. 10
CapNhatDe (string MaDe, string MaHangBang, int HienTrang)
Trang 48
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
11 Dataset Lấy danh sách các câu hỏi thuộc đề thi có mã đề là MaDe. LayChiTietDeThi (string MaDe)
String Thêm chi tiết đề cho đề thi. 12
ThemCauHoiChoDe (string[] arrMaCauHoi, string MaLoaiCauHoi , string MaDe, string MaHangBang)
2. CAU_HOI :
Stt
Tên hàm
Ý nghĩa
Kiểu giá trị trả về
1 Int MaxSoCauTraLoi() Lấy số câu trả lời nhiều nhất có thể có.
2 Dataset Lấy danh sách các câu trả lời trong câu hỏi LayCauTraLoi (string MaCauHoi)
Dataset 3 Lấy danh sách câu hỏi của đề thi theo từng loại LayCauHoiSuDungTheoLoai (string MaLoaiCauHoi, string MaHangBang, string MaDe)
4 Dataset Tạo một đề thi ngẫu nhiên theo mã hạng bằng PhatSinhDeNgauNhien (string strMaHangBang)
5 Void
TaoMangNgauNhien (Array arr, int SoPhanTu, int GioiHan) Tạo một mảng ngẫu nhiên với số phần tử là SoPhanTu, dùng cho việc phát sinh đề ngẫu nhiên.
6 Int Kiểm tra phần tử sopt đã tồn tại trong mảng ngẫu nhiên chưa KiemTraTrungLap (Array mang, int sopt,int kq)
7 Dataset Lấy nội dung một câu hỏi theo MaCauHoi LayCauHoiTheoMa (string MaCauHoi)
Trang 49
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
Dataset 8 HoanChinhDanhSachCauHoi (DataSet dsCauHoi) Lấy câu trả lời tương ứng cho từng câu hỏi trong dataset dsCauHoi
Dataset 9 Lấy danh sách các câu hỏi đang ở trạng thái sử dụng theo loại câu hỏi MaLoaiCauHoi LayCauHoiSuDungTheoLoai (String MaLoaiCauHoi, string MaHangBang, string MaDe)
10 Dataset LayDanhSachCauHoi() Lấy danh sách tất cả các câu hỏi, bao gồm cả những câu hỏi ở trạng thái không sử dụng.
11 Dataset Lấy danh sách các câu hỏi có sắp xếp theo FieldSapXep LayDanhSachCauHoiSapXep (string FieldSapXep)
Dataset 12
Lấy danh sách các câu hỏi kết quả tìm kiếm theo fieldTimKiem và chuỗi tìm kiếm keyword LayDanhSachCauHoiTimKie m (string keyword,string FieldTimKiem)
String Thêm một câu hỏi 13
ThemCauHoi (string CauHoi, string DapAn, string HinhMinhHoa, string MaSaHinh, string MaLoaiCauHoi, string LoiGiaiThich)
String 14 Cập nhật thông tin một câu hỏi
CapNhatCauHoi (string MaCauHoi, string CauHoi, string DapAn, string HinhMinhHoa, string MaSaHinh, string LoaiCauHoi, string @LoiGiaiThich, int @HienTrang)
Trang 50
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
3. NGUOI_DUNG :
STT
Tên hàm
Ý nghĩa
Kiểu giá trị trả về
Int Kiểm tra sự tồn tại của username 1
Int Thêm một người dùng 2
3 Dataset Tìm kiếm thông tin một người dùng dựa vào fieldTimKiem
4 Dataset Kiểm tra đăng nhập
5 String Lấy thông tin password trả lại cho người dùng
6 Datetime Lấy thời gian truy cập gần nhất của người dùng KiemTraTonTaiUsernam e (string strUsername) ThemNguoiDung (string strHo, string strTenLot, string strTen, string strUsername, string strPassword, DateTime strNgaySinh, int strGioiTinh, string strDiaChi, string strDienThoai, string strEmail, string strPhanQuyen) TimKiemNguoiDung (string keyword, string fieldTimKiem) KiemTraDangNhap( string strUsername, string strPassword) LayPassword (String Username, String Email) LayThoiGianTruyCapGa nNhat (String Username)
Trang 51
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
Int Cập nhật thông tin người dùng 7
8 Int Xoá người dùng
9 Dataset Lấy thông tin người dùng CapNhatThongTinNguoi Dung (int vMaNguoiDung, String vHo, String vTenLot, String vTen, String vUsername, String vPassword, DateTime vNgaySinh, int vGioiTinh, string vdiachi, string vdienthoai , String vEmail, String vPhanQuyen, DateTime dNgayCapNhat, DateTime vThoiGianTruyCapGanN hat) XoaNguoiDung (int MaNguoiDung) ThongTinNguoiDung(st ring strUsername)
Trang 52
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4. CAU_TRA_LOI :
STT
Tên hàm
Ý nghĩa
Kiểu giá trị trả về
Dataset 1 Lấy danh sách câu trả lời của câu hỏi có mã MaCauHoi
String 2 Thêm một câu trả lời cho câu hỏi, giá trị trả về là Mã câu trả lời
String Cập nhật nội dung câu trả lời 3
String Xóa câu trả lời 4
LayCauTraLoiCuaCauHo i (string MaCauHoi) ThemCauTraLoi (string CauTraLoi, string MaCauHoi) CapNhatCauTraLoi (string MaCauTraLoi, string CauTraLoi, string MaCauHoi) XoaCauTraLoi (string MaCauTraLoi, string MaCauHoi)
5. CHI_TIET_KET_QUA :
STT
Tên hàm
Ý nghĩa
Kiểu giá trị trả về
Void Thêm một chi tiết kết quả 1
ThemChiTietKetQua( int iMaKetQua, int iMaLoaiCauHoi, int iSoCauHoi, int iSoCauHoiTraLoi, int iSoCauDung)
Dataset 2 Lấy thông tin thống kê cá nhân của username LayThongKeKetQuaThi (string strUsername)
Dataset 3 Lấy chi tiết kết quả theo khoảng thời gian
Dataset Lấy chi tiết kết quả theo thời gian 4
LayChiTietKetQuaNam (int iTuNam, int iDenNam) LayChiTietKetQuaThan gNgay (DateTime dtTuNgay, DateTime dtDenNgay)
Trang 53
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
6. CO_CAU_DE :
STT
Tên hàm
Ý nghĩa
Kiểu giá trị trả về
1 Dataset Lấy danh sách cơ cấu đề của hạng bằng
Dataset 2 Lấy danh sách cơ cấu đề của hạng bằng đã sắp xếp
String Cập nhật cơ cấu đề 3
String Thêm cơ cấu đề 4
LayCoCauDeCuaHangBang (string MaHangBang) LayCoCauDeCuaHangBangS apXep (string MaHangBang, string FieldSapXep) CapNhatCoCauDe (string MaHangBang,int MaLoaiCauHoi,int SoCauHoi) ThemCoCauDe(string MaHangBang,int MaLoaiCauHoi,int SoCauHoi)
Trang 54
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
7. LOAI_CAU_HOI :
STT
Tên hàm
Ý nghĩa
Kiểu giá trị trả về
String
1 String Lấy loại câu hỏi theo mã loại
Lấu mã loại câu hỏi theo loại 2
3 Dataset Lấy danh sách các loại câu hỏi đang sử dụng LayLoaiCauHoiTheoMa (string MaLoaiCauHoi) LayMaLoaiCauHoiTheoLoa i (string LoaiCauHoi) LayDanhSachLoaiCauHoiD angSuDung()
Dataset 4 Lấy danh sách tất cả các loại câu hỏi LayDanhSachLoaiCauHoi( )
5 Dataset Lấy danh sách loại câu hỏi đã sắp xếp theo FieldSapXep
Dataset 6 Lấy danh sách loại câu hỏi đã tìm kiếm theo FieldTimKiem và chuỗi tìm kiếm keyword
String Cập nhật loại câu hỏi 7
LayDanhSachLoaiCauHoiS apXep (string FieldSapXep) LayDanhSachLoaiCauHoiT imKiem (string keyword, string FieldTimKiem) CapNhatLoaiCauHoi (string MaLoaiCauHoi, string LoaiCauHoi, int HienTrang)
8 String Thêm loại câu hỏi ThemLoaiCauHoi (string LoaiCauHoi)
Trang 55
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
8. SA_HINH:
STT
Tên hàm
Ý nghĩa
Kiểu giá trị trả về
Dataset 1 Lấy danh sách cơ cấu đề của hạng bằng LayCoCauDeCuaHangBang (string MaHangBang)
Dataset 2 Lấy danh sách cơ cấu đề của hạng bằng đã sắp xếp LayCoCauDeCuaHangBangS apXep (string MaHangBang, string FieldSapXep)
String Cập nhật cơ cấu đề 3
CapNhatCoCauDe (string MaHangBang,int MaLoaiCauHoi,int SoCauHoi)
String Thêm cơ cấu đề 4
ThemCoCauDe(string MaHangBang,int MaLoaiCauHoi,int SoCauHoi)
Trang 56
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.3 Mô hình dữ liệu : • Mô hình quan hệ
Hình 4 : Mô hình vật lý
Trang 57
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
• Danh sách các bảng dữ liệu
STT
Tên bảng dữ liệu
Loại
Diễn giải
TAI_LIEU Danh mục Tài liệu 1.
THONG_KE Danh mục 2.
TIN_TUC Thông tin thống kê cho Admin Danh mục Tin tức 3.
SA_HINH Danh mục Sa hình 4.
LOAI_CAU_HOI Danh mục Loại câu hỏi 5.
CAU_HOI Danh mục Câu hỏi 6.
CAU_TRA_LOI Danh mục Câu trả lời của câu hỏi 7.
DAP_AN Danh mục Đáp án của câu hỏi 8.
HANG_THI Danh mục Hạng thi (môtô, ôtô) 9.
10. HANG_BANG Danh mục Hạng bằng (A1,A2,...)
11. CO_CAU_DE Quan hệ
12. CAUHOI_HANGTHI Quan hệ Quan hệ giữa hạng bằng và loại câu hỏi Quan hệ giữa câu hỏi và hạng thi
13. DE Danh mục Đề thi
14. CHI_TIET_DE Quan hệ
15. PHAN_QUYEN Danh mục Quan hệ giữa mã đề thi và mã câu hỏi. Phân quyền (Admin, Instructor, Student)
16. NGUOI_DUNG Danh mục Thông tin người dùng
17. Danh mục THONG_KE_CA_NHA N Thông tin thống kê cho người dùng
18. KET_QUA Danh mục Kết quả thi của người dùng
19. CHI_TIET_KET_QUA Danh mục Chi tiết kết quả.
Bảng 4 : Bảng danh sách các bảng dữ liệu
Trang 58
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o TAI_LIEU
• Mô tả chi tiết cho từng bảng dữ liệu
STT Thuộc tính Diễn giải Kiểu Ràng buộc
MaTaiLieu Mã tài liệu Char(7) Khóa chính 1.
2. LoaiTaiLieu Loại tài liệu Nvarchar(30)
3. TenFile Tên tập tin tài liệu Varchar(30)
4. HangThi Char(2)
5. MoTa Nvarchar(100)
6. Bit HienTrang
o TIN_TUC
7. NgayCapNhat smalldatetime Tài liệu thuộc hạng thi nào Phần mô tả nội dung cho tài liệu Hiện trạng sử dụng hay không sử dụng cho tài liệu Ngày cập nhật tài liệu
STT Thuộc tính Diễn giải Kiểu Ràng buộc
1. MaTinTuc Mã tin tức Int Khóa chính
2. NgayDuaTin Ngày đưa tin Datetime
3. TieuDe Tiêu đề Nvarchar(500)
4. NoiDung Nội dung tin Ntext
5. NguonTin Nvarchar(200) Nguồn tin hay biên tập viên
6. HinhAnh Hình ảnh minh họa Varchar(50)
7. ThongTinKhac Nvarchar(100) Những thông tin khác
Trang 59
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o THONG_KE
STT
Thuộc tính
Diễn giải
Kiểu Ràng buộc
SoLuotTruyCap Số lượt người truy cập int 1.
SoThanhVien Số thành viên trang web int 2.
SoLuotThi Số lượt thi int 3.
SoLuotThiDat Số lược thi đạt int 4.
o SA_HINH
int SoLuotTaiTaiLieu Số lược tải tài liệu 5.
STT
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
MaSaHinh Mã sa hình Char(4) Khóa chính 1.
HinhAnh Tên tập tin hình ảnh Varchar(50) 2.
ThuTuUuTien Thứ tự ưu tiên Nvarchar(500) 3.
GiaiThich Lời giải thích Nvarchar(500) 4.
HienTrang Hiện trạng sử dụng Bit 5.
o HANG_BANG
NgayCapNhat Ngày cập nhật thông tin datetime 6.
STT
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
MaHangBang Mã hạng bằng Char(2) Khóa chính 1.
Nvarchar(100) MoTa 2.
SoCauHoi 3. Int
ThoiGianThi Mô tả Số câu hỏi quy định Thời gian thi Int 4.
SoCauDungToiThieu Số câu đạt Int 5.
MaHangThi Char(2) Khoá ngoại 6.
HienTrang 7. Bit
NgayCapNhat 8. smalldatetime Mã hạng thi Hiện trạng sử dụng Ngày cập nhật thông tin
Trang 60
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o HANG_THI
STT
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
MaHangThi Mã hạng thi Char(2) Khóa chính 1.
o LOAI_CAU_HOI
HangThi Hạng thi Nvarchar(30) 2.
STT
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
MaLoaiCauHoi Mã loại câu hỏi Int Khoá chính 1.
LoaiCauHoi Loại câu hỏi Nvarchar(50) 2.
HienTrang Hiện trạng Bit 3.
o CAU_HOI
NgayCapNhat Ngày cập nhật datetime 4.
STT
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
MaCauHoi Mã câu hỏi Int Khoá chính 1.
CauHoi Nvarchar(500) 2.
HinhMinhHoa 3. Varchar(50)
MaSaHinh Nội dung câu hỏi Tên tập tin hình minh họa Mã sa hình Char(4) Khoá ngoại 4.
MaLoaiCauHoi Mã loại câu hỏi Int Khoá ngoại 5.
LoiGiaiThich Lời giải thích Nvarchar(500) 6.
HienTrang Hiện trạng sử dụng bit 7.
Trang 61
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o CAU_TRA_LOI
Thuộc tính
Kiểu
STT 1.
Diễn giải MaCauTraLoi Mã câu trả lời
Ràng buộc Khoá chính
Int
CauTraLoi 2. Nvarchar(500)
o DAP_AN
MaCauHoi Nội dung câu trả lời Mã câu hỏi int Khoá ngoại 3.
STT
Thuộc tính
Diễn giải
Kiểu
Int
1. MaDapAn 2. DapAn 3. MaCauHoi Mã đáp án Nội dung đáp án Nvarchar(500) Mã câu hỏi int
Ràng buộc Khoá chính Khoá ngoại
o CO_CAU_DE
Thuộc tính
Kiểu
STT 1. 2.
Diễn giải MaLoaiCauHoi Mã loại câu hỏi SoCauHoi
Số câu hỏi Int Int
MaHangBang Mã hạng bằng Char(2) 3.
Ràng buộc Khoá chính Khoá chính, khoá ngoại
o CAUHOI_HANGTHI
STT
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
Int
o DE
MaCauHoi MaHangThi Khoá chính, khoá ngoại Mã câu hỏi Mã hạng thi Char(2) Khoá chính, khoá ngoại 1. 2.
STT
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
MaDe Mã đề Int Khoá chính 1.
MaHangBang Mã hạng bằng Char(2) Khoá ngoại 2.
HienTrang Hiện trạng sử dụng bit 3.
Trang 62
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o CHI_TIET_DE
STT
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
1. MaDe Mã đề Int Khoá chính
o PHAN_QUYEN
2. MaCauHoi Mã câu hỏi int Khoá chính
STT
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
1. MaPhanQuyen Mã phân quyền Char(4) Khoá chính
2. PhanQuyen Phân quyền Nvarchar(20)
o NGUOI_DUNG
3. MoTa Mô tả Nvarchar(100)
STT
Thuộc tính
Diễn giải
Kiểu
1. MaNguoiDung Mã người dùng Int
2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Nvarchar(10) Nvarchar(20) Nvarchar(10) Varchar(20) Varchar(20) Smalldatetime Bit Nvarchar(100) Nvarchar(10) Varchar(50) Ho TenLot Ten Username Password NgaySinh GioiTinh DiaChi DienThoai Email Họ Tên lót Tên Tên đăng nhập Mật khẩu Ngày sinh Giới tính Địa chỉ Điện thoại Email
12. PhanQuyen Mã phân quyền Char(4)
13. 14. Smalldatetime Smalldatetime
Ràng buộc Khoá chính Khoá ngoại
15. Smalldatetime NgayDangKy NgayCapNhat ThoiGianTruyCap GanNhat
16. TrangThai bit Ngày đăng ký Ngày cập nhật Thời gian truy cập lần trước Trạng thái online/offline
Trang 63
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o THONG_KE_CA_NHAN
STT
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
Mã thống kê
o KET_QUA
MaThongKe SoLuotTaiTaiLieu Số lần tải tài liệu SoLuotTruyCap SoLuotThi SoLuotDat MaNguoiDung Số lần truy cập Số lần thi kiểm tra Số lần thi đạt Mã người dùng Int Int Int Int Int Int Khoá chính Khoá ngoại 1. 2. 3. 4. 5. 6.
STT
Thuộc tính
Diễn giải
Kiểu
MaKetQua Mã kết quả Int 1.
NgayThi Ngày thi kiểm tra Smalldatetime
Ràng buộc Khoá chính, khoá ngoại
2.
SoCauDung Số câu đúng Int 3.
KetQua Kết quả kiểm tra Bit 4.
HangBang Mã hạng bằng Char(2) Khoá ngoại 5.
MaNguoiDung Mã người dùng Int Khoá ngoại 6.
o CHI_TIET_KET_QUA
SoCauTraLoi Số câu đã trả lời int 7.
STT
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
MaChiTietKetQua Mã chi tiết kết quả int Khoá chính 1.
MaLoaiCauHoi Mã loại câu hỏi int Khoá ngoại 2.
SoCauHoi Số câu hỏi int 3.
SoCauHoiTraLoi Số câu hỏi trả lời int 4.
SoCauDung Số câu đúng int 5.
MaKetQua Mã kết quả int Khoá ngoại 6.
Trang 64
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.4 Danh sách các ràng buộc toàn vẹn :
4.4.1. R1 : Trong hạng bằng, số câu đúng tối thiểu phải nhỏ hơn số
câu hỏi
+ Bối cảnh : HANG_BANG
+ Thuật giải :
hb Є HANG_BANG : ( hb .SoCauDungToiThieu <= hb.SoCauHoi )
+ Bảng tầm ảnh hưởng :
R1 Thêm Xoá Sửa
HANG_BANG + X +
(SoCauHoi , SoCauDungToiThieu)
4.4.2. R2 : Tổng số câu hỏi của 1 cơ cấu đề bằng SoCauHoi của Hạng
bằng đó :
+ Bối cảnh : CO_CAU_DE, HANG_BANG
+ Thuật giải :
hb Є HANG_BANG, ccd Є CO_CAU_DE:
( hb .MaHangBang = ccd.MaHangBang ٨
ccd.(Sum(SoCauHoi)) = hb.SoCauHoi )
+ Bảng tầm ảnh hưởng :
R1 Thêm Xoá Sửa
HANG_BANG - X + (SoCauHoi)
CO_CAU_DE + - + (SoCauHoi, MaHangBang)
Trang 65
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.4.3. R3 : Trong đề thi hạng thi của câu hỏi phải giống hạng thi của
đề :
+ Bối cảnh : CAUHOI_HANGTHI , DE, CHI_TIET_DE,
HANG_BANG
+ Thuật giải :
ctd Є CHI_TIET_DE,
d Є DE , chht Є CAUHOI_HANGTHI , hb Є HANG_BANG
( ctd.MaCauHoi = chht.MaCauHoi ٨ ctd.MaDe =d.MaDe ٨
d.MaHangBang = hb.MaHangBang ٨ hb.MaHangThi = chht.MaHangThi )
+ Bảng tầm ảnh hưởng :
R1 Thêm Xoá Sửa
HANG_BANG - X + (MaHangThi)
CHI_TIET_DE + X + (MaCauHoi, MaDe)
DE - X + (MaHangBang)
- - CAUHOI_HANGTHI + (MaCauHoi, MaHangThi)
Trang 66
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.4.4. R4 : Tổng chi tiết đề trong một đề thi phải bằng số câu hỏi
được quy định trong hạng bằng :
+ Bối cảnh : CHI_TIET_DE, DE, HANG_BANG
+ Thuật giải :
ctd Є CHI_TIET_DE,
d Є DE , hb Є HANG_BANG :
( ctd.MaDe =d.MaDe ٨ d.MaHangBang = hb.MaHangBang ٨
hb.SoCauHoi = sum (ctd.MaCauHoi ) )
+ Bảng tầm ảnh hưởng :
R1 Thêm Xoá Sửa
HANG_BANG - X + (SoCauHoi)
CHI_TIET_DE + X + (MaCauHoi, MaDe)
DE - X + (MaHangBang)
Trang 67
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.4.5. R5 : Những câu hỏi được thêm vào đề phải đang ở hiện trạng
được sử dụng :
+ Bối cảnh : CHI_TIET_DE, CAU_HOI
+ Thuật giải :
ctd Є CHI_TIET_DE, ¬ ch Є CAU_HOI :
( ctd.MaCauHoi = ch.MaCauHoi ٨ ch.HienTrang = 0 )
+ Bảng tầm ảnh hưởng :
R1 Thêm Xoá Sửa
CHI_TIET_DE + X + (MaCauHoi)
CAU_HOI - X + (HienTrang)
DE - X + (MaHangBang)
Trang 68
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.4.6. R6 : Không cho phép cập nhật loại câu hỏi từ hiện trạng sử
dụng sang không sử dụng khi có hạng bằng hoặc câu hỏi sử dụng
nó :
+ Bối cảnh : LOAI_CAU_HOI , CAU_HOI, CO_CAU_DE
+ Thuật giải :
lch Є LOAI_CAU_HOI : lch.HienTrang = 0
=> ¬ , ch Є CAU_HOI , ccd Є CO_CAU_DE :
(lch.MaLoaiCauHoi = ch.MaLoaiCauHoi V
lch.MaLoaiCauHoi = ccd.MaLoaiCauHoi )
+ Bảng tầm ảnh hưởng :
R1 Thêm Xoá Sửa
LOAI_CAU_HOI - X + (HienTrang)
CAU_HOI - X + (MaLoaiCauHoi)
CO_CAU_DE - X + (MaLoaiCauHoi)
Trang 69
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.4.7. R7 : Mỗi câu hỏi phải có ít nhất 2 câu trả lời :
+ Bối cảnh : CAU_HOI, CAU_TRA_LOI
+ Thuật giải :
ch Є CAU_HOI => ¬ ctl Є CAU_TRA_LOI :
( ch.MaCauHoi = ctl.MaCauHoi ٨ sum (ctd.CauTraLoi) < 2 )
+ Bảng tầm ảnh hưởng :
R1 Thêm Xoá Sửa
CAU_TRA_LOI - + -
CAU_HOI - X -
4.4.8. R8 : Đề chỉ được chuyển từ trạng thái không sử dụng sang
trạng thái sử dụng khi nó đúng với cơ cấu đề của hạng bằng đó:
+ Bối cảnh : DE, CHI_TIET_DE, HANG_BANG
+ Thuật giải :
d Є DE , ctd Є CHI_TIET_DE : d.MaDe = ctd.MaDe
=> ¬ hb Є HANG_BANG :
( d.MaHangBang = hb.MaHangBang ٨ sum (ctd.MaCauHoi) < hb.SoCauHoi )
+ Bảng tầm ảnh hưởng :
R1 Thêm Xoá Sửa
CHI_TIET_DE + (MaDe, MaCauHoi) + -
DE - X + (HienTrang)
HANG_BANG - X + (SoCauHoi)
Trang 70
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.4.9. R9 : Thuộc tính số câu hỏi của hạng bằng phải lớn hơn bằng 0
+ Bối cảnh : HANG_BANG
+ Thuật giải :
hb Є HANG_BANG : hb.SoCauHoi >=0
+ Bảng tầm ảnh hưởng :
R1 Thêm Xoá Sửa
HANG_BANG + X + (SoCauHoi)
4.4.10. R10 : Thuộc tính số câu đúng tối thiểu của hạng bằng phải
lớn hơn bằng 0
+ Bối cảnh : HANG_BANG
+ Thuật giải :
hb Є HANG_BANG : hb.SoCauDungToiThieu >=0
+ Bảng tầm ảnh hưởng :
R1 Thêm Xoá Sửa
HANG_BANG + X + (SoCauDungToiThieu)
Trang 71
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.4.11. R11 : Thuộc tính thời gian thi của hạng bằng phải lớn hơn
bằng 0
+ Bối cảnh : HANG_BANG
+ Thuật giải :
hb Є HANG_BANG : hb.ThoiGianThi >=0
+ Bảng tầm ảnh hưởng :
R1 Thêm Xoá Sửa
HANG_BANG + X + (ThoiGianThi)
(cid:190) Một số ràng buộc toàn vẹn dữ liệu
R12 : Không được xóa sa hình khi đang được sử dụng bởi câu hỏi.
R13 : Không được xóa câu hỏi khi đang được sử dụng bởi ít nhất một đề thi .
Trang 72
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.5 Mô hình thiết kế :
Lược đồ tuần tự (Sequence Diagram) và lược đồ cộng tác (Collaboration
Diagram)
4.5.1.
DangKyThanhVien (Đăng ký làm thành viên) :
o Sequence Diagram
: Nguoi_Dung
: NguoiDung
: Database
: DangKy Form
// Nhap thong tin dang ky( )
// Chon btnDangKi_Click ()
// Goi KiemTraDangKy (Username)
// Goi getDataset (strSQL)
// Goi ThemNguoiDung (Thong tin dang ky)
// Goi ExecuteSP (...)
// Chuyen den DangKyThanhCong Form( )
Hình 5 : Lược đồ tuần tự Đăng ký thành viên
Trang 73
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o Collaboration Diagram
7: // Chuyen den DangKyThanhCong Form( )
1: // Nhap thong tin dang ky( ) 2: // Chon btnDangKi_Click ()
: DangKy Form
: NguoiDung
3: // Goi KiemTraDangKy (Username) 5: // Goi ThemNguoiDung (Thong tin dang ky)
: Database
: Nguoi_Dung
4: // Goi getDataset (strSQL) 6: // Goi ExecuteSP (...)
Hình 6 : Lược đồ cộng tác Đăng ký thành viên
o Đặc tả :
(cid:131) Tóm tắt :
Use case mô tả cách thức người dùng đăng ký làm thành viên trang
Web.
(cid:131) Luồng các sự kiện :
o Luồng sự kiện chính :
Use case này bắt đầu khi có một ngươì dùng muốn đăng ký làm
thành viên trang Web :
- Hệ thống yêu cầu người dùng phải nhập một số thông tin cá
nhân bắt buộc : Họ, Tên Lót, Tên, Ngày sinh, giới tính, tên
đăng nhập, mật khẩu và xác nhận mật khẩu. Và một số thông
tin tự chọn : Email, Địa chỉ, Điện thoại.
Trang 74
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
- Ngừơi dùng nhập vào những textbox tương ứng. Nếu ngừơi
dùng không nhập gì cả hoặc nhập thiếu thông tin bắt buộc thì
hệ thống sẽ thông báo nhắc nhở và trở lại màn hình đăng ký
như cũ.
- Người dùng nhấn nút “Đăng ký” để xác nhận thông tin cá
nhân.
- Hệ thống sẽ truy cập cơ sở dữ liệu để kiểm tra tên đăng nhập
đã tồn tại chưa. Nếu chưa tồn tại hệ thống sẽ cập nhật thông tin
cho thành viên mới
- Nếu tên đăng nhập đã tồn tại. Hệ thống thông báo lỗi cho
người dùng, trở về màn hình đăng ký như cũ.
o Các luồng sự kiện khác : không có.
(cid:131) Các yêu cầu đặt biệt : không có.
(cid:131) Điều kiện tiên quyết : không có.
(cid:131) Post – Conditions :
Khi use case thực hiện thành công thì sẽ xuất kết quả cho người dùng
xem. Trong trường hợp bị lỗi sẽ trang web sẽ xuất hiện thông báo lỗi.
(cid:131) Điểm mở rộng : không có.
Trang 75
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.5.2.
DangNhap (Đăng nhập) :
o Sequence Diagram
: Nguoi_Dung
: NguoiDung
: Database
: ucDangNhap
//Nhap thong tin dang nhap...
//Xac nhan btnDangNhap_Clic...
// LayThongTinDangNhap...
// KiemTraDangNhap...
getDatadset( )
// XuLyKetQuaDangNhap ( ...
Hình 7 : Lược đồ tuần tự Đăng nhập
Trang 76
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o Collaboration Diagram
3: // LayThongTinDangNhap( ) 6: // XuLyKetQuaDangNhap ( kq)
1: //Nhap thong tin dang nhap( ) 2: //Xac nhan btnDangNhap_Click()
: ucDangNhap
: NguoiDung
4: // KiemTraDangNhap( )
5: getDatadset( )
: Database
: Nguoi_Dung
Hình 8 : Lược đồ cộng tác Đăng nhập
o Đặc tả :
(cid:131) Tóm tắt :
Use case mô tả cách thức người dùng đăng nhập vào trang Web.
(cid:131) Luồng các sự kiện :
o Luồng sự kiện chính :
Use case bắt đầu khi người dùng nhấn vào menu Đăng Nhập hoặc
đăng nhập trực tiếp trên menu :
- Hệ thống yêu cầu người dùng nhập tên đăng nhập vào mật
khẩu.
Trang 77
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
- Ngừơi dùng nhập vào những textbox tương ứng. Nếu ngừơi
dùng không nhập gì cả hoặc nhập thiếu thông tin thì hệ thống
sẽ thông báo nhắc nhở và trở lại màn hình đăng nhập như cũ.
- Người dùng nhấn nút “Đăng nhập” để xác nhận thông tin cá
nhân.
- Hệ thống sẽ truy cập cơ sở dữ liệu để kiểm tra tồn tại chưa tên
đăng nhập và mật khẩu.
- Nếu tồn tại. Hệ thống thông báo đăng nhập thành công cho
người dùng, link tới trang Đăng nhập thành công.
- Nếu không tồn tại. Hệ thống thông báo lỗi và trở về màn hình
đăng nhập như cũ.
o Các luồng sự kiện khác : không có.
(cid:131) Các yêu cầu đặt biệt : không có.
(cid:131) Điều kiện tiên quyết : không có.
(cid:131) Post – Conditions :
Khi use case thực hiện thành công thì sẽ xuất kết quả cho người dùng
xem. Trong trường hợp bị lỗi sẽ trang web sẽ xuất hiện thông báo lỗi.
(cid:131) Điểm mở rộng : không có
Trang 78
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.5.3. XemThongKeCaNhan (Xem thống kê cá nhân) :
o Sequence Diagram
: NguoiDung
: Database
: XemThongKeCaNhan Form : Nguoi_Dung
//Xem thong ke ca nhan( )
// Doc Session["Username"]( )
// Goi LayThongKeNguoiDung (Username)
// Goi getDataset (strSQL)
// HienThiThongTin ( DataRow )
Hình 11 : Lược đồ tuần tự Xem thống kê cá nhân
Trang 79
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o Collaboration Diagram
2: // Doc Session["Username"]... 5: // HienThiThongTin ( DataRow )
1: //Xem thong ke ca nhan( )
: XemThongKeCaNhan Form
: NguoiDung
3: // Goi LayThongKeNguoiDung (Username)
4: // Goi getDataset (strSQL)
: Database
: Nguoi_Dung
Hình 12 : Lược đồ cộng tác Xem thống kê cá nhân
o Đặc tả :
(cid:131) Tóm tắt :
Use case mô tả cách thức người dùng xem thống kê cá nhân. Thống kê
cá nhân gồm những thông tin : số lượng truy cập, số lượng tải tài liệu, số
lượt thi, số lượt thi đạt, thông tin chi tiết của các lần thi kiểm tra.
(cid:131) Luồng các sự kiện :
o Luồng sự kiện chính :
Use case bắt đầu khi người dùng nhấn vào link “Thống kê cá
nhân” trên menu :
- Hệ thống sẽ lấy thông tin thống kê từ CSDL theo username.
Trang 80
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o Các luồng sự kiện khác : không có.
(cid:131) Các yêu cầu đặt biệt : không có.
(cid:131) Điều kiện tiên quyết : không có.
(cid:131) Post – Conditions :
Khi use case thực hiện thành công thì sẽ trở về trang Thống kê cá nhân
với những thông tin mới đã được chỉnh sửa. Trong trường hợp bị lỗi sẽ
trang web sẽ xuất hiện thông báo lỗi.
(cid:131) Điểm mở rộng : không có
Trang 81
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.5.4. ChinhSuaThongTinCaNhan(Chỉnh sửa thông tin cá nhân) :
o Sequence Diagram
: NguoiDung : ThongTinCaNhan Form : Nguoi_Dung
: Database
// Xem thong tin ca nhan( )
//Doc Session ["Username"]()
// Goi LayThongTinNguoiDung(Username)
// Goi getDataset ()
// HienThiThongTin(DataRow)
// Chon ChinhSuaThongTin()
// HienThiThongTinDeChinhSua ()
// Nhap thong tin moi( )
// Chon btnDongY_Click()
// Goi CapNhatThongTinNguoiDung (...)
// Goi ExecuteSP ()
Hình 13 : Lược đồ tuần tự Chỉnh sửa thông tin cá nhân
Trang 82
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o Collaboration Diagram
2: //Doc Session ["Username"]() 5: // HienThiThongTin(DataRow) 7: // HienThiThongTinDeChinhSua ()
1: // Xem thong tin ca nhan( ) 6: // Chon ChinhSuaThongTin() 8: // Nhap thong tin moi( ) 9: // Chon btnDongY_Click()
: ThongTinCaNhan Form
: NguoiDung
3: // Goi LayThongTinNguoiDung(Username) 10: // Goi CapNhatThongTinNguoiDung (...)
: Database
: Nguoi_Dung
4: // Goi getDataset () 11: // Goi ExecuteSP ()
Hình 14 : Lược đồ cộng tác Chỉnh sửa thông tin cá nhân
Trang 83
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o Đặc tả :
(cid:131) Tóm tắt :
Use case mô tả cách thức người dùng chỉnh sửa thông tin đăng ký.
(cid:131) Luồng các sự kiện :
o Luồng sự kiện chính :
Use case bắt đầu khi người dùng nhấn vào nút “Chỉnh sửa thông
tin” trong trang Thông tin cá nhân :
- Người dùng có thể chỉnh sửa những thông tin : Họ, tên lót, tên,
mật khẩu, địa chỉ, điện thoại, email.
- Người dùng nhấn nút “Chỉnh sửa” để xác nhận thông tin.
- Hệ thống sẽ lấy những thông tin mới của người dùng cập nhật
vào CSDL dựa vào.
o Các luồng sự kiện khác : không có.
(cid:131) Các yêu cầu đặt biệt : không có.
(cid:131) Điều kiện tiên quyết : không có.
(cid:131) Post – Conditions :
Khi use case thực hiện thành công thì sẽ trở về trang Thông tin cá nhân
với những thông tin mới đã được chỉnh sửa. Trong trường hợp bị lỗi sẽ
trang web sẽ xuất hiện thông báo lỗi.
(cid:131) Điểm mở rộng : không có
Trang 84
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.5.5. ThiKiemTra (Thi kiểm tra ) :
o Sequence Diagram
: Cau_Hoi
: NguoiDung
: Database
: DangKyThi Form : ThiKiemTra Form
// Nhap thong tin dang ky( )
// Luu Session( )
// Chuyen den Form ThiKiemTra( )
// LoadThongTinDe
// Goi LayCauHoiTheoDeThi (MaDe)
// Goi getDataset (strSQL)
// HoanChinhDanhSachCauHoi (DataSet)
// HoanViDeThi (Dataset)
Hình 15 : Lược đồ tuần tự Thi kiểm tra
Trang 85
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o Collaboration Diagram
2: // Luu Session( )
4: // LoadThongTinDe 8: // HoanViDeThi (Dataset)
3: // Chuyen den Form ThiKiemTra( )
: ThiKiemTra Form
: DangKyThi Form
1: // Nhap thong tin dang ky( )
5: // Goi LayCauHoiTheoDeThi (MaDe)
7: // HoanChinhDanhSachCauHoi (DataSet)
: NguoiDung
6: // Goi getDataset (strSQL)
: Database
: Cau_Hoi
Hình 16 : Lược đồ cộng tác Thi kiểm tra
o Đặc tả :
(cid:131) Tóm tắt :
Use case mô tả cách thức người dùng thi kiểm tra . Use case này gồm 2
bước chính : Đăng kí thi và thi
(cid:131) Luồng các sự kiện :
o Luồng sự kiện chính :
Use case bắt đầu khi người dùng nhấn vào link “Thi” trên menu :
- Hệ thống sẽ kiểm tra tình trạng đăng nhập của người dùng.
- Nếu đang ở trạng thái đăng nhập, hệ thống sẽ chuyển đến trang
Đăng ký thi.
Trang 86
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
- Nếu không ở trạng thái cập nhật, hệ thống sẽ tự động chuyển
sang trang đăng nhập để người dùng đăng nhập.
- Khi người dùng đã đăng nhập thành công thì phải nhấn lại lick
“Thi“ trên menu để chuyển đến trang Đăng ký thi.
- Ở trang đăng ký thi, hệ thống yêu cầu người dùng lựa chọn
những thông tin sau : hạng bằng thi, hình thức thi (Tính thời
gian thi / không tính thời gian), chọn dạng đề thi (đề có sẵn / đề
phát sinh ngẫu nhiên).
- Người dùng nhấn nút Đăng ký thi để xác nhận thông tin đăng
ký.
- Hệ thống sẽ dựa vào những thông tin đăng ký của người dùng,
vào cơ sở dữ liệu, lấy đề thi ra thể hiện cho người dùng thi
kiểm tra.
o Các luồng sự kiện khác : không có.
(cid:131) Các yêu cầu đặt biệt : không có.
(cid:131) Điều kiện tiên quyết : không có.
(cid:131) Post – Conditions :
Khi use case thực hiện thành công thì sẽ xuất đề thi cho người dùng thi
o Điểm mở rộng : không có
kiểm tra. Trong trường hợp bị lỗi sẽ trang web sẽ xuất hiện thông báo lỗi.
Trang 87
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.5.6. QuanLyThongTinTaiLieu (Quản lý thông tin tài liệu) :
o Sequence Diagram
: Instructor
: Tai_Lieu
: Instructor Form
: ucTaiLieu
: Database
Chon lbtnTaiLieu_Click ()
XemDSTaiLieu ( string keyword, string fieldTimKiem)
Goi ViewDSTaiLieu(" " ," ")
LoadDSTaiLieu ()
LayDanhSachTaiLieu ()
getDataset(strSQL)
HoanChinhHienTrang()
Bat tat cac User Control
Them column "HienTrangText " vao DataSet
ViewDanhSach()
Thuc hien chinh sua Tai Lieu
Thuc hien dgTaiLieu_Update ( )
uploadHinh ( HtmlInputFile )
CapNhatTaiLieu( MaTaiLieu, LoaiTaiLieu, FileName, MaHangThi, Mota, HienTrang)
ExecuteSP_ReturnMessage(spname,Params,Values)
thuc hien them moi tai lieu
btnInsert_Click ()
LayThongTinTaiLieu ()
InsertToDatabase ()
ThemTaiLieu(LoaiTaiLieu,FileName,MaHangThi,MoTa)
ExecuteSP_ReturnMessage(spname,Params,Values)
Hình 17 : Lược đồ tuần tự Quản lý thông tin tài liệu
Trang 88
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o Collaboration Diagram
7: ViewDanhSach()
1: Chon lbtnTaiLieu_Click ()
: Instructor Form
: Instructor
8: Thuc hien dgTaiLieu_Update ( ) 12: btnInsert_Click ()
2: Goi ViewDSTaiLieu(" " ," ")
: Database
3: LoadDST aiLieu () 6: HoanChinhHienTrang() 9: uploadHinh ( HtmlInputFile ) 13: LayT hongTinT aiLieu () 14: InsertToDatabase ()
5: getDataset(strSQL) 11: ExecuteSP_ReturnMessage(spname,Params,Values) 16: ExecuteSP_ReturnMessage(spname,Params,Values)
: ucT aiLieu
4: LayDanhSachTaiLieu () 10: CapNhatTaiLieu( MaTaiLieu, LoaiTaiLieu, FileName, MaHangThi, Mota, HienTrang) 15: ThemTaiLieu(LoaiTaiLieu,FileName,MaHangT hi,MoTa)
: Tai_Lieu
Hình 18 : Lược đồ cộng tác Quản lý thông tin tài liệu
Trang 89
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o Đặc tả :
(cid:131) Tóm tắt :
Use case thực hiện chức năng quản lý phần tài liệu. Use case cho phép
Instructor thực hiện thêm, sửa, tìm kiếm, sắp xếp thông tin tài liệu.
(cid:131) Luồng các sự kiện :
o Luồng sự kiện chính :
Use case bắt đầu khi một Instructor muốn thực hiện thao tác thêm,
sửa, tìm kiếm, sắp xếp thông tin tài liệu :
- Hệ thống cho phép Instructor lựa chọn tra cứu, tìm kiếm, sắp
xếp tài liệu theo các thuộc tính của tài liệu.
- Hệ thống cho phép Instructor chỉnh sửa hay thêm mới thông tin
một tài liệu.
- Instructor chọn một chức năng để thực hiện.
- Hệ thống tiến hành xử lý chức năng này. Tuỳ theo chức năng
con được chọn mà gọi một trong những dòng sự kiện con sau :
Thêm tài liệu, sửa thông tin tài liệu, sắp xếp danh sách tài liệu,
tìm kiếm thông tin tài liệu.
o Các luồng sự kiện khác :
Ở đây có những dòng sự kiện con sau :
Thêm tài liệu :
- Instructor nhập thông tin cho tài liệu mới , bao gồm : chọn loại
tài liệu, file tài liệu, chọn hạng thi và lời mô tả cho tài liệu.
- Instructor nhấn nút “Thêm tài liệu” để xác nhận việc thêm mới
tài liệu hoặc nhấn nút “Xem trước” để xem lại thông tin tài liệu
Trang 90
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
để kiểm tra thông tin trước khi lưu. Nhấn nút “Chỉnh sửa” để
trở lại màn hình thêm tài liệu để chỉnh sửa thông tin thêm mới.
- Hệ thống phát sinh một mã tài liệu tương ứng và thêm vào cơ
sở dữ liệu.
Chỉnh sửa thông tin tài liệu :
- Instructor nhấn nút “Edit” trên danh sách tương ứng với tài liệu
muốn chỉnh sửa thông tin. Những thông tin có thể chỉnh sửa :
tập tin tài liệu, loại tài liệu, hạng thi, lời mô tả.
- Instructor nhấn nút “Update” để xác nhận thông tin tài liệu
muốn chỉnh sửa hoặc nhấn nút “Cancel” để bỏ qua phần cập
nhật.
- Hệ thống kiểm tra mã tài liệu và cập nhật thông tin mới của tài
liệu vào cơ sở dữ liệu.
Sắp xếp danh sách tài liệu :
- Trên màn hình duyệt danh sách tài liệu, Instructor chọn thuộc
tính sắp xếp và nhấn nút “Sắp xếp” để xác nhận thông tin sắp
xếp.
- Hệ thống lấy danh sách tài liệu được sắp xếp tăng dần theo
thuộc tính sắp xếp được chọn.
Tìm kiếm thông tin tài liệu :
- Instructor nhập keyword tìm kiếm, chọn thuộc tính tìm kiếm và
nhấn nút “Tìm kiếm” để xác nhận thông tin tìm kiếm.
- Hệ thống lấy danh sách tài liệu được tìm kiếm theo keyword đã
nhập.
(cid:131) Các yêu cầu đặt biệt : không có.
(cid:131) Điều kiện tiên quyết : không có.
Trang 91
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
(cid:131) Post – Conditions :
Nếu use case thực hiện thành công thì thông tin tài liệu sẽ được thêm mới
o Điểm mở rộng : không có
hoặc sửa đổi. Ngược lại, tình trạng hệ thống không có gì thay đổi.
Trang 92
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.5.7. QuanLyDeThi (Quản lý đề thi ) :
o Sequence Diagram
: De_Thi
: NguoiDung
: Cau_Hoi
: Database
: ucChiTietDe
: ucDe
Xem de thi theo hang bang
Chon btnXemDeThi_Click ()
LayDanhSachDeThi(MaHangBang)
LayDanhSachDeTheoHangBang(MaHangBang)
getDataset(strSQL)
HoanChinhHienTrang(dsDeThi)
Xem chi tiet de thi
Chon btnXem_Click ()
LayChiTietDe()
LayChiTietDeThi (MaDe)
Xoa cau hoi trong de thi
getDataset (s trSQL)
Chon dgCauHoi_Command ()
XoaCauHoi ()
XoaChiTietDe (MaDe,s trMaCauHoi)
Lay cau hoi ngau nhien theo loai
ExecuteSP_ReturnMessage (spname,Params,Values )
Chon btnChonNgauNhien_Click ()
LayNgauNhienCauHoiTheoLoai(MaLoaiCauHoi,SoCau,MaHangBang,MaDe)
getDataset(strSQL)
Them cau hoi vao de
Chon btnNhapCauHoiMoi_Click ()
ThemCauHoiChoDe(ds CauHoiThemMoi,MaDe)
ThemChiTietDe (MaDe,arrMaCauHoi[i])
ExecuteSP_ReturnMessage (spname,Params,Values )
Hình 19 : Lược đồ tuần tự Quản lý đề thi
Trang 93
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o Collaboration Diagram
2: LayDanhSachDeThi(MaHangBang) 5: HoanChinhHienTrang(dsDeThi)
1: Chon btnXemDeThi_Click ()
: ucDe
: NguoiDung
3: LayDanhSachDeTheoHangBang(MaHangBang)
6: Chon btnXem_Click () 10: Chon dgCauHoi_Command () 14: Chon btnChonNgauNhien_Click () 17: Chon btnNhapCauHoiMoi_Click ()
19: ThemChiTietDe (MaDe,arrMaCauHoi[i])
7: LayChiTietDe() 11: XoaCauHoi ()
8: LayChiTietDeThi (MaDe) 12: XoaChiTietDe (MaDe,strMaCauHoi) 18: ThemCauHoiChoDe(dsCauHoiThemMoi,MaDe)
: De_Thi
: ucChiTietDe
15: LayNgauNhienCauHoiTheoLoai(MaLoaiCauHoi,SoCau,MaHangBang,MaDe)
4: getDataset(strSQL) 9: getDataset (strSQL) 13: ExecuteSP_ReturnMessage (spname,Params,Values) 20: ExecuteSP_ReturnMessage (spname,Params,Values)
16: getDataset(strSQL)
: Database
: Cau_Hoi
Hình 20 : Lược đồ cộng tác Quản lý đề thi
Trang 94
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o Đặc tả :
(cid:131) Tóm tắt :
Use case thực hiện chức năng quản lý thông tin đề thi. Use case cho phép
Instructor thực hiện thêm, sửa đề thi; sửa đổi chi tiết của từng đề thi.
(cid:131) Luồng các sự kiện :
o Luồng sự kiện chính :
Use case bắt đầu khi một Instructor muốn thực hiện thao tác thêm,
sửa, tìm kiếm, sắp xếp thông tin đề thi hoặc chi tiết đề thi:
- Hệ thống chỉ phép Instructor sửa thuộc tính đang được sử dụng
hoặc không được sử dụng đề thi .
- Hệ thống cho phép Instructor soạn mới một đề thi.
- Hệ thống cho phép Instruc sửa đổi chi tiết một đề thi
- Instructor chọn một chức năng để thực hiện.
- Hệ thống tiến hành xử lý chức năng này. Tuỳ theo chức năng
con được chọn mà gọi một trong những dòng sự kiện con sau :
Thêm đề thi, sửa hiện trạng của đề thi; sửa đổi chi tiết đề thi.
o Các luồng sự kiện khác :
Ở đây có những dòng sự kiện con sau :
Thêm đề thi :
- Instructor hạng bằng cho đề thi, nhấn nút “Thêm mới” để xác
nhận việc thêm đề thi hoặc nhấn nút “Xem đề thi” để tra cứu
danh sách đề thi thuộc hạng bằng đó.
- Hệ thống phát sinh một mã đề thi tương ứng và thêm vào cơ sở
dữ liệu.
Chỉnh sửa thông tin đề thi :
Trang 95
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
- Instructor nhấn nút “Edit” trên danh sách tương ứng với đề thi
muốn chỉnh sửa. Instructor chỉ được sửa thuộc tính hiện trạng
của đề thi.
- Instructor nhấn nút “Update” để xác nhận thông tin đề thi
muốn chỉnh sửa hoặc nhấn nút “Cancel” để bỏ qua phần cập
nhật.
- Hệ thống kiểm tra mã đề thi và cập nhật thông tin mới của đề
thi vào cơ sở dữ liệu.
Tra cứu chi tiết đề thi :
- Trên danh sách đề thi theo từng hạng bằng, Instructor chọn mã
đề thi muốn xem chi tiết.
- Hệ thống lấy mã đề thi để xuất ra danh sách chi tiết các câu hỏi
trong đề thi.
Thêm mới một câu hỏi cho chi tiết đề thi :
- Instructor nhấn nút “Thêm mới” thêm câu hỏi cho chi tiết đề
thi nếu đề thi chưa đủ số câu hỏi. Nếu đề thi đã đủ câu hỏi thì
hệ thống xuất câu thông báo cho Instructor biết.
- Instructor chọn một loại câu hỏi, nhấn nút “Load câu hỏi” và
chọn câu hỏi muốn thêm vào đề.
- Hệ thống kiểm tra ràng buộc. Nếu thoả, hệ thống sẽ thêm
những câu hỏi được chọn vào chi tiết đề. Ngược lại, hệ thống
sẽ xuất câu thông báo lỗi, và tình trạng đề thi không có gì thay
đổi.
- Nếu đề thi được thêm đủ số câu hỏi như quy định sẽ tự động
chuyển hiện trạng từ không sử dụng sang sử dụng.
(cid:131) Các yêu cầu đặt biệt : không có.
Trang 96
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
(cid:131) Điều kiện tiên quyết :
Để xem chi tiết đề thi, Instructor phải chọn liên kết từ mã đề thi
trong danh sách đề thi.
(cid:131) Post – Conditions :
Nếu use case thực hiện thành công thì thông tin đề thi và chi tiết đề thi sẽ
được thêm mới hoặc sửa đổi. Ngược lại, tình trạng hệ thống không có gì
thay đổi.
(cid:131) Điểm mở rộng : không có
Trang 97
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.5.8. QuanLyNguoiDung (Quản lý người dùng ) :
o Sequence Diagram
: Admin
: Nguoi_Dung
: Admin Form
: Database
Xem danh sach nguoi dung
Chon Hyperlink "Tat ca"
Chon Hyperlink "Nguoi dung"
Chon Hyperlink "Nguoi quan Tri"
Chon Hyperlink "Giang Vien"
LoadDanhSach(string keywordTimKiem)
LayDanhSachNguoiDung ( dsTimKiem , FieldSapXep )
getDataset ( strSQL )
Chinh sua thong tin nguoi dung
Thuc hien chinh sua dgDanhSachTatCa_Update ()
CapNhatThongTinNguoiDung(iMaNguoiDung,strHo,strTenLot,strTen, ....)
ExecuteSP(spname,Params,Values)
Them nguoi dung
Thuc hien them moi btnInsert2_Click()
ThemNguoiDung()
ThemNguoiDung(Ho,TenLot,Ten,Username, ... )
ExecuteSP("sp_ins_nguoidung",parameters,values)
Xoa nguoi dung
Thuc hien xoa dgDanhSachTatCa_Command ()
XoaNguoiDung ()
XoaNguoiDung(MaNguoiDung)
ExecuteSP("sp_del_nguoidung",parameters,values)
Hình 21 : Lược đồ tuần tự Quản lý ngưòi dùng
Trang 98
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o Collaboration Diagram
: Admin
1: Chon Hyperlink "Tat ca" 2: Chon Hyperlink "Nguoi dung" 3: Chon Hyperlink "Nguoi quan Tri" 4: Chon Hyperlink "Giang Vien" 8: Thuc hien chinh sua dgDanhSachT atCa_Update () 11: Thuc hien them moi btnInsert2_Click() 15: T huc hien xoa dgDanhSachTatCa_Command ()
5: LoadDanhSach(string keywordT imKiem) 12: T hemNguoiDung() 16: XoaNguoiDung ()
: Admin Form
6: LayDanhSachNguoiDung ( dsTimKiem , FieldSapXep ) 9: CapNhatThongT inNguoiDung(iMaNguoiDung,strHo,strTenLot,strTen, ....) 13: T hemNguoiDung(Ho,TenLot,T en,Username, ... ) 17: XoaNguoiDung(MaNguoiDung)
: Nguoi_Dung
7: getDataset ( strSQL ) 10: ExecuteSP(spname,Params,Values) 14: ExecuteSP("sp_ins_nguoidung",parameters,values) 18: ExecuteSP("sp_del_nguoidung",parameters,values)
: Database
Hình 22 : Lược đồ cộng tác Quản lý người dùng
Trang 99
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o Đặc tả :
(cid:131) Tóm tắt :
Use case thực hiện chức năng quản lý thông tin người dùng. Use case
cho phép Admin thực hiện thêm, xóa, sửa thông tin về người dùng.
(cid:131) Luồng các sự kiện :
o Luồng sự kiện chính :
Use case bắt đầu khi một Admin muốn thực hiện thao tác thêm,
xóa, sửa thông tin của thành viên trang web :
- Hệ thống cho phép Admin lựa chọn tra cứu người dùng theo
phân quyền.
- Hệ thống cho phép Admin sắp xếp danh sách người dùng theo
các thuộc tính của người dùng.
- Hệ thống cho phép Admin tìm kiếm thông tin người dùng theo
các thuộc tính của người dùng.
- Admin chọn một chức năng để thực hiện.
- Hệ thống tiến hành xử lý chức năng này. Tuỳ theo chức năng
con được chọn mà gọi một trong những dòng sự kiện con sau :
Thêm người dùng, xóa người dùng, sửa thông tin tin người
dùng, sắp xếp danh sách người dùng, tìm kiếm thông tin người
dùng.
o Các luồng sự kiện khác :
Ở đây có những dòng sự kiện con sau :
Thêm người dùng :
Trang 100
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
- Admin nhập thông tin cho người dùng mới , bao gồm : Họ, tên
lót, tên, ngày sinh, giới tính, địa chỉ, điện thoại, email,
username, password và lựa chọn phân quyền.
- Admin nhấn nút “Thêm mới” để xác nhận việc thêm mới người
dùng hoặc nhấn nút “Xem trước” để xem lại thông tin trước khi
lưu.
- Hệ thống phát sinh mã người dùng tương ứng và lưu vào cơ sở
dữ liệu và trả mã người dùng về cho Admin kiểm tra kết quả.
Xóa người dùng :
- Admin nhấn nút “Delete” trên danh sách tương ứng với người
dùng muốn xóa khỏi hệ thống.
- Hệ thống kiểm tra mã người dùng và xóa thông tin người dùng
khỏi cơ sở dữ liệu.
Chỉnh sửa thông tin người dùng :
- Admin nhấn nút “Edit” trên danh sách tương ứng với người
dùng muốn chỉnh sửa thông tin. Những thông tin có thể chỉnh
sửa : Họ, tên lót, tên, ngày sinh, giới tính, địa chỉ, điện thoại,
email, username, password và lựa chọn phân quyền.
- Admin nhấn nút “Update” để xác nhận thông tin muốn chỉnh
sửa hoặc nhấn nút “Cancel” để bỏ qua việc chỉnh sửa, trở lại
màn hình duyệt thông tin bình thường.
- Hệ thống kiểm tra mã người dùng và cập nhật thông tin mới
của người dùng vào cơ sở dữ liệu.
Sắp xếp danh sách người dùng :
Trang 101
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
- Trên màn hình duyệt danh sách người dùng, Admin chọn thuộc
tính sắp xếp và nhấn nút “Sắp xếp” để xác nhận thông tin sắp
xếp.
- Hệ thống lấy danh sách người dùng được sắp xếp tăng dần theo
thuộc tính sắp xếp được chọn.
Tìm kiếm thông tin người dùng :
- Admin nhập keyword tìm kiếm, chọn thuộc tính tìm kiếm và
nhấn nút “Tìm kiếm” để xác nhận thông tin tìm kiếm.
- Hệ thống lấy danh sách người dùng được tìm kiếm theo
keyword đã nhập.
(cid:131) Các yêu cầu đặt biệt : không có.
(cid:131) Điều kiện tiên quyết : không có.
(cid:131) Post – Conditions :
Nếu use case thực hiện thành công thì thông tin người dùng sẽ được thêm
mới, huỷ bỏ hoặc sửa đổi. Ngược lại, tình trạng hệ thống không có gì thay
đổi.
(cid:131) Điểm mở rộng : không có
Trang 102
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.5.9. ThongKe (Thống kê ) :
o Sequence Diagram
: Ket_Qua
: Admin
: Database
: ThongKe Form
Chon btnXemThongKe_Click ()
HienThiThongKe(strKieuThongKe)
Thong ke theo luot thi
SoLuotThiTheoNam(iTuNam,iDenNam)
getDataset(strSQL)
SoLuotThiDatTheoNam(iTuNam,iDenNam)
getDataset(strSQL)
ThongKeTheoHangBangNam(int iTuNam, int iDenNam)
Thong ke theo Hang Bang
LuotThiTheoHangBang_Nam(iTuNam,iDenNam,dr["MaHangBang"])
getDataset(strSQL)
LuotThiDatTheoHangBang_Nam(iTuNam,iDenNam,dr["MaHangBang"...
getDataset(strSQL)
ThongKeMaxMinHangBangTheoNam(iTuNam,iDenNam)
HangBangCoTiLeThiCaoNhatNam(iTuNam,iDenNam)
HangBangCoTiLeThiCaoNhatNam(iTuNam,iDenNam)
getDataset(strSQL)
HangBangCoTiLeThiThapNhatNam(iTuNam,iDenNam)
HangBangCoTiLeThiThapNhatNam(iTuNam,iDenNam)
getDataset(strSQL)
HangBangCoTiLeThiDatCaoNhatNam(iTuNam,iDenNam)
HangBangCoTiLeThiDatCaoNhatNam(iTuNam,iDenNam)
getDataset(strSQL)
HangBangCoTiLeThiKhongDatCaoNhatNam(iTuNam,iDenNam)
HangBangCoTiLeThiKhongDatCaoNhatNam(iTuNam,iDenNam)
getDataset(strSQL)
ThongKeMaxMinLoaiCauHoiNam(iTuNam,iDenNam)
Thong ke theo loai cau hoi
LoaiCauHoiDungNhieuNhatNgayThang(dtTuNgay,dtDenNgay)
LoaiCauHoiDungNhieuNhatNgayThang(dtTuNgay,dtDenNgay)
getDataset(strSQL)
LoaiCauHoiDungItNhatNgayThang(dtTuNgay,dtDenNgay)
LoaiCauHoiDungItNhatNgayThang(dtTuNgay,dtDenNgay)
getDataset(strSQL)
VeBieuDoChuThichNgoai ()
Hình 23 : Lược đồ tuần tự thống kê
Trang 103
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o Collaboration Diagram
2: HienThiThongKe(strKieuThongKe) 7: ThongKeTheoHangBangNam(int iTuNam, int iDenNam) 12: ThongKeMaxMinHangBangTheoNam(iTuNam,iDenNam) 13: HangBangCoTiLeThiCaoNhatNam(iTuNam,iDenNam) 16: HangBangCoTiLeThiThapNhatNam(iTuNam,iDenNam) 19: HangBangCoTiLeThiDatCaoNhatNam(iTuNam,iDenNam) 22: HangBangCoTiLeThiKhongDatCaoNhatNam(iTuNam,iDenNam) 25: ThongKeMaxMinLoaiCauHoiNam(iTuNam,iDenNam) 26: LoaiCauHoiDungNhieuNhatNgayThang(dtTuNgay,dtDenNgay) 29: LoaiCauHoiDungItNhatNgayThang(dtTuNgay,dtDenNgay) 32: VeBieuDoChuThichNgoai ()
1: Chon btnXemThongKe_Click ()
: ThongKe Form
: Admin
3: SoLuotThiTheoNam(iTuNam,iDenNam) 5: SoLuotThiDatTheoNam(iTuNam,iDenNam) 8: LuotThiTheoHangBang_Nam(iTuNam,iDenNam,dr["MaHangBang"]) 10: LuotThiDatTheoHangBang_Nam(iTuNam,iDenNam,dr["MaHangBang"] ) 14: HangBangCoTiLeThiCaoNhatNam(iTuNam,iDenNam) 17: HangBangCoTiLeThiThapNhatNam(iTuNam,iDenNam) 20: HangBangCoTiLeThiDatCaoNhatNam(iTuNam,iDenNam) 23: HangBangCoTiLeThiKhongDatCaoNhatNam(iTuNam,iDenNam) 27: LoaiCauHoiDungNhieuNhatNgayThang(dtTuNgay,dtDenNgay) 30: LoaiCauHoiDungItNhatNgayThang(dtTuNgay,dtDenNgay)
4: getDataset(strSQL) 6: getDataset(strSQL) 9: getDataset(strSQL) 11: getDataset(strSQL) 15: getDataset(strSQL) 18: getDataset(strSQL) 21: getDataset(strSQL) 24: getDataset(strSQL) 28: getDataset(strSQL) 31: getDataset(strSQL)
: Database
: Ket_Qua
Hình 24 : Lược đồ cộng tác Thống kê
Trang 104
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
o Đặc tả :
(cid:131) Tóm tắt :
Use case thực hiện chức năng thống kê theo ngày, tháng, năm dành cho
Admin, gồm những thông tin : số lượt thi (số lượt thi đạt và không đạt ) ,
hạng bằng ( tỉ lệ thi cao nhất, thấp nhất, thi đạt cao nhất, thi đạt thấp
nhất) , loại câu hỏi ( được thi nhiều nhất, thi ít nhất).
(cid:131) Luồng các sự kiện :
o Luồng sự kiện chính :
Use case bắt đầu khi một Admin muốn xem thống kê:
- Admin chọn một trong những loại thống kê: ngày, tháng hay
năm, hoặc nhập thời gian muốn thống kê.
- Admin nhấn nút “Thống kê” để xác nhận việc thống kê.
- Hệ thống lấy thông tin chọn của Admin, truy xuất cơ sở dữ liệu
để lấy thông tin thống kê.
o Các luồng sự kiện khác : Không có.
(cid:131) Các yêu cầu đặt biệt : không có.
(cid:131) Điều kiện tiên quyết : không có.
(cid:131) Post – Conditions :
Nếu use case thực hiện thành công thì xuất kết quả cho Admin. Ngược
lại, xuất hiện câu thông báo lỗi.
(cid:131) Điểm mở rộng : không có
Trang 105
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
4.6 Thiết kế giao diện :
• Màn hình trang chủ :
Hình 17 : Màn hình trang chủ
Trang 106
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
• Trang thi :
Hình 18 : Màn hình trang thi
Trang 107
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
• Trang Học Biển báo :
Hình 19 : Màn hình web học biển báo
Trang 108
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
• Trang học luật :
Hình 20 : Màn hình web học luật
Trang 109
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
• Trang học sa hình
Hình 21 : Màn hình web học sa hình
Trang 110
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
• Trang dành cho Instructor :
Hình 22 : Màn hình Web quản lý thông tin dành cho Instructor
Trang 111
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
• Trang dành cho Admin :
Hình 23 : Màn hình Web dành cho Admin
Trang 112
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
• Trang tin tức :
Hình 24 : Màn hình Web quản lý thông tin dành cho Instructor
Trang 113
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 4 : THIẾT KẾ
• Trang tham khảo :
Hình 25 : Màn hình Web quản lý thông tin dành cho Instructor
Trang 114
PPhhầầnn ttổổnngg kkếếtt
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 5 : TỔNG KẾT
CChhưươơnngg 55 :: TTỔỔNNGG KKẾẾTT
5.1 Tổng kết :
Sau thời gian thực hiện đề tài, chúng em đã đạt được một số kết quả nhất
định:
- Nắm được kiến thức các ngôn ngữ và công nghệ: .NET, Javascript,
DHTML, UML, RUP.
- Khả năng làm việc nhóm.
- Khả năng tìm kiếm và giải quyến vấn đề.
(cid:190) Về phía bản thân :
- Kiến trúc cơ sở dữ liệu xây dựng phù hợp với thực tế với đầy đủ các
ràng buộc toàn vẹn. Có khả năng ứng dụng thực tế trong việc quản
lý, soạn thảo đề thi trong các đợt thi sát hạch cấp giấy phép lái xe.
- Website hỗ trợ học lý thuyết, luyện tập và thi kiểm tra trực quan,
quen thuộc với người sử dụng.
- Website hỗ trợ cho việc quản lý, chỉnh sửa,thống kê cho toàn hệ
thống trực quan, chính xác, nhanh chóng cho người quản trị.
- Website cung cấp nhiều thông tin thiết thực :
o Tìm hiểu luật giao thông.
o Xem tin tức giao thông.
o Tra cứu các phương tiện đi lại.
(cid:190) Về phía luận văn :
Trang 116
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 5 : TỔNG KẾT
o Liên kết đến các trang liên quan về vấn đề giao thông, bảo
hiểm…
o Tham khảo các thông tin : các tuyến đường bắt buộc đội mũ bảo
hiểm, mức bồi thường thiệt hại.
- Website hỗ trợ download tài liệu cần thiết.
- Hệ thống được xây dựng theo đúng mô hình 3 lớp, thuận tiện, dễ dàng
cho việc sửa đổi.
5.2 Hướng phát triển :
Dựa trên những kết quả đạt được nói trên, chúng em xin đề xuất một số ý
kiến sau :
- Mở rộng đối tượng phục vụ của hệ thống, không chỉ dành cho người
sử dụng máy vi tính, mà còn các thiết bị di động như điện thoại di
động, PocketPC, Palm…
- Phát triển phần forum trao đổi thao luận để trang web trở thành một
diễn đàn trao đổi về các vấn đề liên quan đến giao thông như là an
toàn giao thông, các điều luật giao thông đường bộ, các điều khoản
quy định về bảo hiểm hoặc các mức bồi thường thiệt hại…
- Kết hợp thêm một số thông tin giao thông khác phục vụ cho người
dùng tra , cứu như : tìm đường đi trên web, tra cứu tuyến đường xe
buýt ngắn nhất từ nơi đi đến nơi đến.
Trang 117
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 5 : TỔNG KẾT
PPHHỤỤ LLỤỤCC
1. Yêu cầu cấu hình : (cid:190) Server :
° CPU PII 350 MHz.
° RAM 128 MB.
° Đĩa cứng 20 MB
° Các phần mềm : máy tính cần cài đặt .NET Framework version 1.0
hoặc hơn, hệ quản trị cơ sở dữ liệu 2000, IIS (hoặc một webserver
tương đương có hỗ trợ Framework)
(cid:190) Client :
Trình duyệt IE 5.0 hoặc hơn , hoặc các trình duyệt khác có hỗ trợ javascript.
Trang 118
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 5 : TỔNG KẾT
2. Các công cụ hỗ trợ :
(cid:153) SetupDatabase :
- Chức năng : hỗ trợ người dùng cài đặt cơ sở dữ liệu cho hệ thống.
- Yêu cầu : Người dùng chọn đường dẫn thư mục chứa các tập tin script, nhập
tên server, tên database, login name và password.
- Không cần cài đặt, chỉ cần chạy file exe .
- Màn hình giao diện :
Hình 12 : Màn hình công cụ SetupDatabase
Trang 119
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 5 : TỔNG KẾT
(cid:153) Text Editor :
- Chức năng : hỗ trợ Admin nhập nội dung tin tức với hỗ trợ định dạng
văn bản; hỗ trợ xuất code HTML.
- Nguồn tham khảo : www.freetextbox.com
- Giao diện :
Hình 13 : Màn hình Tool Text Editor
Trang 120
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 5 : TỔNG KẾT
(cid:153) Forum :
- Chức năng : Hệ thống diễn đàn giúp người dùng trao đổi thảo luận
thông tin về vấn đề giao thông.
- Nguồn tham khảo : www.codeproject.com
- Giao diện :
Hình 14 : Màn hình Tool Forum _ Các chủ đề forum
Trang 121
Hệ thống hỗ trợ học và thi bằng lái trên web
Chương 5 : TỔNG KẾT
Hình 15 : Màn hình Tool Forum _ Chi tiết forum
Trang 122
TTÀÀII LLIIỆỆUU TTHHAAMM KKHHẢẢOO
1. Lâm Vĩ Quốc, Trần Thị Bích Hạnh, Luận văn cử nhân tin học : Hệ thống hỗ
trợ tìm đường đi xe buýt trên Web, 2003.
2. Mesbah Ahmed, Chris Garrett, Jeremy Faircloth, Chris Payne,
DotThatCom.com, Wei Meng Lee, Jonothon Ortiz, ASP.NET Web
Developer’s Guide, Syngress, 2002.
3. Nguyễn Phương Lan, ASP 3.0 –ASP.NET , NXB Giáo Dục, 2001.
4. Craig Larman, Applying UML and Patterns, Prentice Hall, 2002.
5. Huỳnh Văn Đức, Đoàn Thiện Ngân, Giáo trình nhập môn UML – NXB Lao
Động Xã Hội, 2002.
6. 300 câu hỏi dùng cho sát hạch, cấp giấy phép lái xe cơ giới đường bộ, Cục
đường bộ Việt Nam – NXB Giao thông vận tải, 2004.
7. 75 câu hỏi dùng cho sát hạch cấp giấy phép lái xe hạng A1,A2, Sở Giao
Thông Công Chánh TP.HCM – NXB Giao thông vận tải, 2004.
8. Quốc Cường, Luật giao thông đường bộ và các quy định mới nhất về các xử
phạt hành chánh – NXB TP.Hồ Chí Minh, 2003.
9. Department Of Motor Vehicles Guide – www.dmv.org
10. Tata Group – www.tatavietnam.com/gt
11. The Code Project – www.codeproject.com
12. Công nghệ thông tin Việt Nam – www.manguon.com
13. Free Web Tool - www.freetextbox.com