ĐĐẠẠ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

Email

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