i h c qu c gia tp. h chÍ minh tr ng h khoa h c t nhiÊn...

125
ĐẠI HC QUC GIA TP. HCHÍ MINH TRƯỜNG ĐH KHOA HC TNHIÊN TP.HCM KHOA CÔNG NGHTHÔNG TIN ÔNG TN TRUNG – 0112288 PHM THMINH CHUNG - 0112254 H H T T H H N N G G H H T T R R H H C C V V À À T T H H I I B B N N G G L L Á Á I I T T R R Ê Ê N N W W E E B B LUN VĂN CNHÂN TIN HC GIÁO VIÊN HƯỚNG DN Th.S. Nguyn ThDim Tiên TP. HCM, NIÊN KHOÁ 2005

Upload: others

Post on 02-Jan-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

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

...... ... ... ......

Để 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 1.3 Tóm tắt nội dung của luận văn :........................................................................................ 11

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 3.3 Bảng chú giải : .................................................................................................................. 20 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

3.6.1. Xác định Actor và Use case :.................................................................................. 27 3.6.2. Mô hình Use-case :................................................................................................. 30 3.6.3. Đặc tả Use Case :.................................................................................................. 33 3.6.4. Mô hình thực thể kết hợp :...................................................................................... 38

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 4.6 Thiết kế giao diện : ......................................................................................................... 106

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 :

Tên đề tài :

Xây dựng trang Web hỗ trợ học và thi bằng lái.

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.

Nội dung tóm tắt yêu cầu đề tài :

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.

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.

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.

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

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).

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.

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).

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).

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).

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).

Thêm, xóa, sửa những câu trả lời của câu hỏi.

Thêm mới một đề thi theo hạng bằng.

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 đề.

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.

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: Chương 2: KKHHẢẢOO SSÁÁTT HHIIỆỆNN TTRRẠẠNNGG

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

A2

15

10 phút

14

B1

B2

30 25 phút 26

C

D

E

F

30

20 phút

28

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 : 7 câu hỏi Luật ( 1 câu về Tốc độ) 5 câu hỏi Biển báo 3 cân hỏi sa hình

− Hạng B1, B2, C,D ,E , F :

10 câu hỏi Luật (1 câu về Nghiệp vụ vận tải ) 10 câu hỏi biển báo 7 câu hỏi Sa hình 1 câu hỏi Kỹ thuật lái 1 câu hỏi cấu tạo Ô tô 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ú

1. Quy định về việc thêm đề thi

Một đề thi phải thuộc một hạng bằng.

2. Quy định về việc thêm câu hỏi cho đề thi.

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 đó.

3. Quy định về việc xóa câu trả lời của câu hỏi.

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

4. Quy định về việc phát sinh đề thi ngẫu nhiên

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 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.

7. Student 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 :

Quản lý thông tin người dùng, thêm, xóa , sửa người dùng.

Phân quyền cho người dùng.

Quản lý hệ thống dữ liệu tin tức giao thông : thêm, xóa, sửa.

Xem thống kê theo ngày , tháng , năm .

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 :

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.

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.

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ụ Tham số

1 Thay đổi thông tin người dùng

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 …

2 Phân quyền người sử dụng

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

3 Hệ thống cơ sở dữ liệu 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 :

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.

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ả.

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.

Hỗ trợ nhiều người dùng đồng thời.

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

15 phút hướng dẫn cho mỗi chức năng.

o Đối với các chức năng tra cứu thông tin, không cần hướng dẫn

Mức độ dễ sử dụ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

dễ sử dụng, mức độ phạm lỗi trung bình là 2%

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

cần biết nhiều về thông tin cần tra cứu.

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.

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ả :

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ả.

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:

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ụ.

Trách nhiệm của người dùng: o Quản trị hệ thống : cho biết các người dùng mới, người dùng sẽ

bị hủy và các quyền hạn thay đổi 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.

Trách nhiệm của trang Web: ghi nhận và thực hiện đúng theo yêu 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ụ Người dùng khác

Student Admin Instructor

1. Đăng nhập X X X 2. Học thi X X X X 3. Thi kiểm tra 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. Xem các thông tin tham khảo

X X X X

8. Phân quyền X

9. Quản lý thông tin người dùng (Thêm , xóa , sửa)

X

10. Thống kê người dùng theo ngày, tháng, năm

X

11. Backup / Restore hệ thống cơ sở dữ liệu

X

12. Quản lý thông tin tin tức (Thêm, xóa , sửa )

X

13. Quản lý hạng bằng (Thêm, sửa)

X

14. Quản lý thông tin sa hình (Thêm, sửa)

X

15. Quản lý thông tin tài liệu (Thêm, sửa)

X

16. Quản lý thông tin cơ cấu đề (Thêm, sửa)

X

17. Quản lý thông tin loại câu hỏi (Thêm, sửa)

X

18. Quản lý thông tin câu hỏi (Thêm, sửa)

X

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

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)

X

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 :

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 :

Không cho xóa câu hỏi khi đang có đề thi sử dụng câu hỏi đó.

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 đó.

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ó.

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

Học luật

Học sa hình

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

Quản lý thông tin hạng bằng (thêm , sửa )

Quản lý thông tin cơ cấu đề (thêm, sửa)

Quản lý thông tin sa hình (thêm, sửa)

Quản lý thông tin tài liệu (thêm, sửa)

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

Quản lý thông tin câu hỏi (thêm, sửa)

Quản lý thông tin câu trả lời (thêm , xóa ,sửa )

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ý :

HocSaHinh

HocLuat

HocBienBaoXemTinTuc

XemThongTinThamKhao

LuyenTap

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

không đăng ký

TaiTaiLieuThiKiemTra

DangKy

DangNhapNhacMatKhau

ChinhSuaThongTinCaNhan XemThongKeCaNhan

Student

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

như một thành viên thường.

QuanLyForum

QuanLyTinTuc

QuanLyThongTinNguoiDung SaoLuuCSDL

ThongKe

Admin

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

QuanLyThongTinLoaiCauHoi

QuanLyThongTinHangBang

QuanLyThongTinCoCauDe

QuanLyThongTinSaHinh

QuanLyThongTinTaiLieu

QuanLyThongTinCauHoi

QuanLyThongTinCauTraLoi

QuanLyDeThi

Instructor

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 Kiểu dữ liệu Khóa

1 Mã hạng bằng Mã hạng bằng Chuỗi Khoá chính

2 Mô tả Mô tả hạng bằng Chuỗi

3 Số câu hỏi

Số câu hỏi quy định

trong đề thi của hạng

bằng này

Số nguyên

4 Thời gian thi Thời gian thi quy định Số nguyên

5 Số câu đạt Số câu đúng tối thiểu

quy định Số nguyên

2. HANG_THI :

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa

1. Mã hạng thi Mã hạng thi để

phân biệt Chuỗi Khoá chính

2. Hạng thi Tên của hạng thi Chuỗi

3. LOAI_CAU_HOI :

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa

1. Mã loại câu hỏi Mã loại câu hỏi để phân biệt Số nguyên Khoá

chính

2. 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 :

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa

1. Mã câu hỏi Mã câu hỏi để phân biệt Chuỗi Khoá chính

2. Nội dung câu hỏi Nội dung câu hỏi Chuỗi

3. Đáp án Nội dung đáp án Chuỗi

4. Hình Minh Họa Tên tập tin hình minh hoạ Chuỗi

5. Lời giải thích Lời giải thích cho câu hỏi Chuỗi

6. Mã sa hình Mã sa hình minh họa cho câu hỏi Chuỗi

7. Mã loại câu hỏi Mã loại câu hỏi Số nguyên Khoá ngoại

5. CAU_TRA_LOI :

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa

1. Mã câu trả lời Mã câu trả lời để phân biệt Số nguyên Khoá chính

2. Câu trả lời Nội dung câu trả lời Chuỗi

6. DAP_AN :

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa

3. Mã đáp án Mã đáp của câu hỏi Số nguyên Khoá chính

4. Đáp án Nội dung đáp án Chuỗi

7. DE :

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa

1. 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 :

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa

1. Mã kết quả Mã kết quả để phân biệt Số nguyên Khoá chính

2. Ngày thi Ngày làm bài thi Ngày

3. Số câu đúng Số câu hỏi làm đúng

4. Kết quả Kết quả thi Chuỗi

5. Mã hạng bằng Mã hạng bằng của bài thi Chuỗi Khoá ngoại

9. CHI_TIET_KET_QUA :

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa

1. Mã chi tiết kết quả Mã chi tiết để phân biệt Số nguyên Khoá chính

2. Mã loại câu hỏi Mã loại câu hỏi thực hiện Số nguyên Khoá ngoại

3. Số câu hỏi Số câu hỏi của loại câu hỏi này Số nguyên

4. Số câu đã trả lời Số câu hỏi đã trả lời Số nguyên

5. Số câu đúng Số câu đúng Số nguyên

10. PHAN_QUYEN :

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa

6. Mã phân quyền Mã phân quyền để phân biệt Chuỗi Khoá chính

7. Phân quyền Tên gọi phân quyền Chuỗi

8. 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

1. Mã người dùng Mã người dùng để phân biệt Số nguyên Khoá chính

2. Họ tên Họ tên người dùng Chuỗi

3. Ngày sinh Ngày

4. Giới tính Luận lý

5. Email Chuỗi

6. Lần truy cập trước Ngày

7. Tên đăng nhập Chuỗi

8. Mật khẩu Chuỗi

12. THONG_KE_CA_NHAN :

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa

1. Mã thống kê Mã thống kê để phân biệt Số nguyên Khoá chính

2. Số lượt tải tài liệu Số nguyên

3. Số lượt truy cập Số nguyên

4. Số lượt thi Số nguyên

5. Số lượt thi đạt 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

1. Mã sa hình Mã sa hình để phân biệt Chuỗi Khoá chính

2. Hình ảnh Tên tập tin sa hình Chuỗi

3. Thứ tự ưu tiên Ý nghĩa của sa hình Chuỗi

4. Lời giải thích Lời giải thích cho thứ tự ưu tiên Chuỗi

14. TAI_LIEU :

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa

1. Mã tài liệu Mã tài liệu để phân biệt Chuỗi Khoá chính

2. Mô tả Mô tả của tài liệu Chuỗi

3. Tên tập tin Tên tập tin tài liệu Chuỗi

15. TIN_TUC :

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa

1. Mã tin tức Mã tin tức để phân biệt Chuỗi Khoá chính

2. Ngày đưa tin Ngày đưa tin Ngày

3. Tên tập tin Tên tập tin tin tức Chuỗi

4. Tiêu đề Chuỗi

5. Thông tin khác Những thông tin liên quan Chuỗi

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 Ý nghĩa Kiểu dữ liệu Khóa

1. Số lượt truy cập Số lần người dùng ghé trang web Số nguyên

2. Số thành viên Số thành viên đăng ký Số nguyên

3. Số lượt thi Số lần đăng ký thi kiểm tra Số nguyên

4. Số lượt thi đạt Số lần thi đạt Số nguyên

5. Số lượt tải tài liệu Số lần tải tài liệu 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

1. Mã đề Mã đề Số nguyên Khoá ngoại, khoá chính

2. Mã câu hỏi Mã câu hỏi Số nguyên Khóa ngoại, khoá chính

18. CO_CAU_DE :

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Khóa

1. Mã hạng bằng Mã hạng bằng Chuỗi Khoá chính, khoá ngoại

2. Mã loại câu hỏi Mã loại câu hỏi Số nguyên Khoá chính, khoá ngoại

3. Số câu hỏi Số nguyên

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

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.

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.

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 Kiểu giá trị trả

về Ý nghĩa

1 LayChiTietDeThi (string MaDe) Dataset Lấy danh sách các câu hỏi thuộc

đề thi có mã đề là MaDe.

2 LayChiTietDeThiSapXep (string strMaDe,stringFieldSapXep)

Dataset Lấy danh sách câu hỏi có sắp xếp theo FieldSapXep.

3 LayThongTinDeThi string strMaDe) Dataset Lấy thông tin của đề thi có mã

MaDe

4 LayMaDeThiTheoHangBang(string strMaHangBang) Dataset Lấy mã đề thi theo Hạng bằng

5 LayDanhSachDeTheoHangBang (string strMaHangBang)

Dataset Lấy danh sách đề thi theo Hạng bằng

6 ThemDeThiTheoHangBang (string MaHangBang, DataTable dt)

String Thêm đề thi và chi tiết đề theo hạng bằng, giá trị trả về là chuỗi kết quả

7 ThemDeThi (string MaHangBang) String Thêm một đề thi theo hạng bằng,

giá trị trả về là mã đề thi

8 ThemChiTietDe (string MaDe, string MaCauHoi)

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ả.

9 XoaChiTietDe (string MaDe, string MaCauHoi)

String Xóa một câu hỏi có mã MaCauHoi trong đề thi mã MaDe.

10

CapNhatDe (string MaDe, string MaHangBang, int HienTrang)

String Cập nhật hiện trạng của đề thi.

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 LayChiTietDeThi (string MaDe) Dataset Lấy danh sách các câu hỏi thuộc

đề thi có mã đề là MaDe.

12

ThemCauHoiChoDe (string[] arrMaCauHoi, string MaLoaiCauHoi , string MaDe, string MaHangBang)

String Thêm chi tiết đề cho đề thi.

2. CAU_HOI :

Stt Tên hàm Kiểu

giá trị trả về

Ý nghĩa

1 MaxSoCauTraLoi() Int Lấy số câu trả lời nhiều nhất có thể có.

2 LayCauTraLoi (string MaCauHoi) Dataset Lấy danh sách các câu trả lời

trong câu hỏi

3

LayCauHoiSuDungTheoLoai(string MaLoaiCauHoi, string MaHangBang, string MaDe)

Dataset Lấy danh sách câu hỏi của đề thi theo từng loại

4 PhatSinhDeNgauNhien (string strMaHangBang) Dataset Tạo một đề thi ngẫu nhiên

theo mã hạng bằng

5 TaoMangNgauNhien (Array arr, int SoPhanTu, int GioiHan)

Void

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 KiemTraTrungLap (Array mang, int sopt,int kq)

Int Kiểm tra phần tử sopt đã tồn tại trong mảng ngẫu nhiên chưa

7 LayCauHoiTheoMa (string MaCauHoi) Dataset Lấy nội dung một câu hỏi theo

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Ế

8 HoanChinhDanhSachCauHoi(DataSet dsCauHoi) Dataset

Lấy câu trả lời tương ứng cho từng câu hỏi trong dataset dsCauHoi

9

LayCauHoiSuDungTheoLoai(String MaLoaiCauHoi, string MaHangBang, string MaDe)

Dataset 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

10 LayDanhSachCauHoi() Dataset 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 LayDanhSachCauHoiSapXep(string FieldSapXep) Dataset Lấy danh sách các câu hỏi có

sắp xếp theo FieldSapXep

12

LayDanhSachCauHoiTimKiem (string keyword,string FieldTimKiem)

Dataset

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

13

ThemCauHoi (string CauHoi, string DapAn, string HinhMinhHoa, string MaSaHinh, string MaLoaiCauHoi, string LoiGiaiThich)

String Thêm một câu hỏi

14

CapNhatCauHoi (string MaCauHoi, string CauHoi, string DapAn, string HinhMinhHoa, string MaSaHinh, string LoaiCauHoi, string @LoiGiaiThich, int @HienTrang)

String Cập nhật thông tin một câu hỏi

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 Kiểu giá trị trả về Ý nghĩa

1 KiemTraTonTaiUsername (string strUsername)

Int Kiểm tra sự tồn tại của username

2

ThemNguoiDung (string strHo, string strTenLot, string strTen, string strUsername, string strPassword, DateTime strNgaySinh, int strGioiTinh, string strDiaChi, string strDienThoai, string strEmail, string strPhanQuyen)

Int Thêm một người dùng

3 TimKiemNguoiDung (string keyword, string fieldTimKiem)

Dataset Tìm kiếm thông tin một người dùng dựa vào fieldTimKiem

4 KiemTraDangNhap( string strUsername, string strPassword)

Dataset Kiểm tra đăng nhập

5 LayPassword (String Username, String Email)

String Lấy thông tin password trả lại cho người dùng

6 LayThoiGianTruyCapGanNhat (String Username)

Datetime Lấy thời gian truy cập gần nhất của người dùng

Trang 51

Hệ thống hỗ trợ học và thi bằng lái trên web Chương 4 : THIẾT KẾ

7

CapNhatThongTinNguoiDung (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 vThoiGianTruyCapGanNhat)

Int Cập nhật thông tin người dùng

8 XoaNguoiDung (int MaNguoiDung) Int Xoá người dùng

9 ThongTinNguoiDung(string strUsername) Dataset Lấy thông tin người dùng

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 Kiểu giá trị trả về Ý nghĩa

1 LayCauTraLoiCuaCauHoi (string MaCauHoi)

Dataset Lấy danh sách câu trả lời của câu hỏi có mã MaCauHoi

2 ThemCauTraLoi (string CauTraLoi, string MaCauHoi)

String 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

3

CapNhatCauTraLoi (string MaCauTraLoi, string CauTraLoi, string MaCauHoi)

String Cập nhật nội dung câu trả lời

4 XoaCauTraLoi (string MaCauTraLoi, string MaCauHoi)

String Xóa câu trả lời

5. CHI_TIET_KET_QUA :

STT Tên hàm Kiểu giá trị trả về Ý nghĩa

1

ThemChiTietKetQua( int iMaKetQua, int iMaLoaiCauHoi, int iSoCauHoi, int iSoCauHoiTraLoi,int iSoCauDung)

Void Thêm một chi tiết kết quả

2 LayThongKeKetQuaThi (string strUsername) Dataset Lấy thông tin thống kê cá nhân

của username

3 LayChiTietKetQuaNam (int iTuNam, int iDenNam)

Dataset Lấy chi tiết kết quả theo khoảng thời gian

4

LayChiTietKetQuaThangNgay (DateTime dtTuNgay, DateTime dtDenNgay)

Dataset Lấy chi tiết kết quả theo thời gian

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 Kiểu giá trị trả về Ý nghĩa

1 LayCoCauDeCuaHangBang (string MaHangBang) Dataset Lấy danh sách cơ cấu đề của

hạng bằng

2

LayCoCauDeCuaHangBangSapXep (string MaHangBang, string FieldSapXep)

Dataset Lấy danh sách cơ cấu đề của hạng bằng đã sắp xếp

3

CapNhatCoCauDe (string MaHangBang,int MaLoaiCauHoi,int SoCauHoi)

String Cập nhật cơ cấu đề

4

ThemCoCauDe(string MaHangBang,int MaLoaiCauHoi,int SoCauHoi)

String Thêm cơ cấu đề

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 Kiểu giá trị trả về Ý nghĩa

1 LayLoaiCauHoiTheoMa (string MaLoaiCauHoi) String Lấy loại câu hỏi theo mã loại

2

LayMaLoaiCauHoiTheoLoai (string LoaiCauHoi)

String Lấu mã loại câu hỏi theo loại

3 LayDanhSachLoaiCauHoiDangSuDung()

Dataset Lấy danh sách các loại câu hỏi đang sử dụng

4 LayDanhSachLoaiCauHoi() Dataset Lấy danh sách tất cả các loại

câu hỏi

5 LayDanhSachLoaiCauHoiSapXep (string FieldSapXep)

Dataset Lấy danh sách loại câu hỏi đã sắp xếp theo FieldSapXep

6

LayDanhSachLoaiCauHoiTimKiem (string keyword, string FieldTimKiem)

Dataset 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

7

CapNhatLoaiCauHoi (string MaLoaiCauHoi, string LoaiCauHoi, int HienTrang)

String Cập nhật loại câu hỏi

8 ThemLoaiCauHoi (string LoaiCauHoi) String Thêm loại câu hỏi

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 Kiểu giá trị trả về Ý nghĩa

1 LayCoCauDeCuaHangBang (string MaHangBang) Dataset Lấy danh sách cơ cấu đề của

hạng bằng

2

LayCoCauDeCuaHangBangSapXep (string MaHangBang, string FieldSapXep)

Dataset Lấy danh sách cơ cấu đề của hạng bằng đã sắp xếp

3

CapNhatCoCauDe (string MaHangBang,int MaLoaiCauHoi,int SoCauHoi)

String Cập nhật cơ cấu đề

4

ThemCoCauDe(string MaHangBang,int MaLoaiCauHoi,int SoCauHoi)

String Thêm cơ cấu đề

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

1. TAI_LIEU Danh mục Tài liệu

2. THONG_KE Danh mục Thông tin thống kê cho Admin

3. TIN_TUC Danh mục Tin tức

4. SA_HINH Danh mục Sa hình

5. LOAI_CAU_HOI Danh mục Loại câu hỏi

6. CAU_HOI Danh mục Câu hỏi

7. CAU_TRA_LOI Danh mục Câu trả lời của câu hỏi

8. DAP_AN Danh mục Đáp án của câu hỏi

9. HANG_THI Danh mục Hạng thi (môtô, ôtô)

10. HANG_BANG Danh mục Hạng bằng (A1,A2,...)

11. CO_CAU_DE Quan hệ Quan hệ giữa hạng bằng và loại câu hỏi

12. CAUHOI_HANGTHI Quan hệ Quan hệ giữa câu hỏi và hạng thi

13. DE Danh mục Đề thi

14. CHI_TIET_DE Quan hệ Quan hệ giữa mã đề thi và mã câu hỏi.

15. PHAN_QUYEN Danh mục Phân quyền (Admin, Instructor, Student)

16. NGUOI_DUNG Danh mục Thông tin người dùng

17. THONG_KE_CA_NHAN Danh mục 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Ế

• Mô tả chi tiết cho từng bảng dữ liệu o TAI_LIEU

STT Thuộc tính Diễn giải Kiểu Ràng buộc

1. MaTaiLieu Mã tài liệu Char(7) Khóa chính

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 Tài liệu thuộc hạng thi nào Char(2)

5. MoTa Phần mô tả nội dung cho tài liệu Nvarchar(100)

6. HienTrang Hiện trạng sử dụng hay không sử dụng cho tài liệu

Bit

7. NgayCapNhat Ngày cập nhật tài liệu smalldatetime

o TIN_TUC

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 Nguồn tin hay biên tập viên Nvarchar(200)

6. HinhAnh Hình ảnh minh họa Varchar(50)

7. ThongTinKhac Những thông tin khác Nvarchar(100)

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

1. SoLuotTruyCap Số lượt người truy cập int

2. SoThanhVien Số thành viên trang web int

3. SoLuotThi Số lượt thi int

4. SoLuotThiDat Số lược thi đạt int

5. SoLuotTaiTaiLieu Số lược tải tài liệu int

o SA_HINH

STT Thuộc tính Diễn giải Kiểu Ràng buộc

1. MaSaHinh Mã sa hình Char(4) Khóa chính2. HinhAnh Tên tập tin hình ảnh Varchar(50) 3. ThuTuUuTien Thứ tự ưu tiên Nvarchar(500) 4. GiaiThich Lời giải thích Nvarchar(500) 5. HienTrang Hiện trạng sử dụng Bit 6. NgayCapNhat Ngày cập nhật thông tin datetime

o HANG_BANG

STT Thuộc tính Diễn giải Kiểu Ràng buộc

1. MaHangBang Mã hạng bằng Char(2) Khóa chính

2. MoTa Mô tả Nvarchar(100)

3. SoCauHoi Số câu hỏi quy định Int

4. ThoiGianThi Thời gian thi Int

5. SoCauDungToiThieu Số câu đạt Int

6. MaHangThi Mã hạng thi Char(2) Khoá ngoại

7. HienTrang Hiện trạng sử dụng Bit

8. Ngày cập nhật thông tin NgayCapNhat smalldatetime

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

Thuộc tính Diễn giải Kiểu Ràng buộc STT

1. MaHangThi Mã hạng thi Char(2) Khóa chính

2. HangThi

o LOAI_CAU_HOI

Hạng thi Nvarchar(30)

STT Thuộc tính Diễn giải Kiểu Ràng buộc

1. MaLoaiCauHoi Mã loại câu hỏi Int Khoá chính 2. LoaiCauHoi Loại câu hỏi Nvarchar(50) 3. HienTrang Hiện trạng Bit 4.

o CAU_HOI

NgayCapNhat Ngày cập nhật datetime

STT Thuộc tính Diễn giải Kiểu Ràng buộc

1. MaCauHoi Mã câu hỏi Int Khoá chính2. CauHoi Nội dung câu hỏi Nvarchar(500)

3. HinhMinhHoa Tên tập tin hình minh họa Varchar(50)

4. MaSaHinh Mã sa hình Char(4) Khoá ngoại5. MaLoaiCauHoi Mã loại câu hỏi Int Khoá ngoại6. LoiGiaiThich Lời giải thích Nvarchar(500) 7. HienTrang Hiện trạng sử dụng bit

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

STT Thuộc tính Diễn giải Kiểu Ràng buộc 1. MaCauTraLoi Mã câu trả lời Int Khoá chính

2. CauTraLoi Nội dung câu trả lời Nvarchar(500)

o DAP_AN

3. MaCauHoi Mã câu hỏi int Khoá ngoại

STT Thuộc tính Diễn giải Kiểu Ràng buộc 1. MaDapAn Mã đáp án Int Khoá chính 2. DapAn Nội dung đáp án Nvarchar(500)

o CO_CAU_DE

3. MaCauHoi Mã câu hỏi int Khoá ngoại

STT Thuộc tính Diễn giải Kiểu Ràng buộc 1. MaLoaiCauHoi Mã loại câu hỏi Int Khoá chính 2. SoCauHoi Số câu hỏi Int

o CAUHOI_HANGTHI

3. MaHangBang Mã hạng bằng Char(2) Khoá chính, khoá ngoại

STT Thuộc tính Diễn giải Kiểu Ràng buộc 1. MaCauHoi Mã câu hỏi Int Khoá chính, khoá ngoại

o DE

2. MaHangThi Mã hạng thi Char(2) Khoá chính, khoá ngoại

STT Thuộc tính Diễn giải Kiểu Ràng buộc

1. MaDe Mã đề Int Khoá chính 2. MaHangBang Mã hạng bằng Char(2) Khoá ngoại

3. HienTrang Hiện trạng sử dụng bit

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 2. MaCauHoi Mã câu hỏi int Khoá chính

o PHAN_QUYEN

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)

3. MoTa Mô tả Nvarchar(100)

o NGUOI_DUNG

STT Thuộc tính Diễn giải Kiểu Ràng buộc

1. MaNguoiDung Mã người dùng Int Khoá chính

2. Ho Họ Nvarchar(10) 3. TenLot Tên lót Nvarchar(20) 4. Ten Tên Nvarchar(10) 5. Username Tên đăng nhập Varchar(20) 6. Password Mật khẩu Varchar(20) 7. NgaySinh Ngày sinh Smalldatetime 8. GioiTinh Giới tính Bit 9. DiaChi Địa chỉ Nvarchar(100) 10. DienThoai Điện thoại Nvarchar(10) 11. Email Email Varchar(50)

12. PhanQuyen Mã phân quyền Char(4) Khoá ngoại

13. NgayDangKy Ngày đăng ký Smalldatetime 14. NgayCapNhat Ngày cập nhật Smalldatetime

15. ThoiGianTruyCapGanNhat

Thời gian truy cập lần trước Smalldatetime

16. TrangThai Trạng thái online/offline bit

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

Thuộc tính Diễn giải Kiểu Ràng buộc STT 1. MaThongKe Mã thống kê Int Khoá chính 2. SoLuotTaiTaiLieu Số lần tải tài liệu Int 3. SoLuotTruyCap Số lần truy cập Int 4. SoLuotThi Số lần thi kiểm tra Int 5. SoLuotDat Số lần thi đạt Int 6. MaNguoiDung Mã người dùng Int Khoá ngoại

o KET_QUA

Thuộc tính Diễn giải Kiểu Ràng buộc STT

MaKetQua Mã kết quả Int Khoá chính, khoá ngoại 1.

2. NgayThi Ngày thi kiểm tra Smalldatetime

3. SoCauDung Số câu đúng Int

4. KetQua Kết quả kiểm tra Bit

5. HangBang Mã hạng bằng Char(2) Khoá ngoại

6. MaNguoiDung Mã người dùng Int Khoá ngoại

7. SoCauTraLoi

o CHI_TIET_KET_QUA

Số câu đã trả lời int

STT Thuộc tính Diễn giải Kiểu Ràng buộc

1. MaChiTietKetQua Mã chi tiết kết quả int Khoá chính 2. MaLoaiCauHoi Mã loại câu hỏi int Khoá ngoại 3. SoCauHoi Số câu hỏi int 4. SoCauHoiTraLoi Số câu hỏi trả lời int 5. SoCauDung Số câu đúng int 6. MaKetQua Mã kết quả int Khoá ngoại

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)

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

: Database : DangKy Form : Nguoi_Dung

// Goi ExecuteSP (...)

: NguoiDung

// Nhap thong tin dang ky( )

// Chon btnDangKi_Click ()

// Goi KiemTraDangKy (Username)

// Goi getDataset (strSQL)

// Goi ThemNguoiDung (Thong tin dang ky)

// 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

: Database

: DangKy Form

: Nguoi_Dung

: NguoiDung

7: // Chuyen den DangKyThanhCong Form( )

5: // Goi ThemNguoiDung (Thong tin dang ky)3: // Goi KiemTraDangKy (Username)

6: // Goi ExecuteSP (...)4: // Goi getDataset (strSQL)

2: // Chon btnDangKi_Click ()1: // Nhap thong tin dang ky( )

Hình 6 : Lược đồ cộng tác Đăng ký thành viên

o Đặc tả :

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.

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ó.

Các yêu cầu đặt biệt : không có.

Điều kiện tiên quyết : không có.

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.

Đ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

: NguoiDung : ucDangNhap : Nguoi_Dung : Database

//Xac nhan btnDangNhap_Clic...

// KiemTraDangNhap...

// LayThongTinDangNhap...

getDatadset( )

//Nhap thong tin dang nhap...

// 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

: NguoiDung : ucDangNhap

: Nguoi_Dung : Database

3: // LayThongTinDangNhap( )6: // XuLyKetQuaDangNhap ( kq)

2: //Xac nhan btnDangNhap_Click()1: //Nhap thong tin dang nhap( )

5: getDatadset( )

4: // KiemTraDangNhap( )

Hình 8 : Lược đồ cộng tác Đăng nhập

o Đặc tả :

Tóm tắt :

Use case mô tả cách thức người dùng đăng nhập vào trang Web.

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ó.

Các yêu cầu đặt biệt : không có.

Điều kiện tiên quyết : không có.

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.

Đ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

// HienThiThongTin ( DataRow )

: NguoiDung : XemThongKeCaNhan Form : Nguoi_Dung : Database

//Xem thong ke ca nhan( )

// Goi LayThongKeNguoiDung (Username)

// Doc Session["Username"]( )

// Goi getDataset (strSQL)

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

: NguoiDung : XemThongKeCaNhan Form

: Nguoi_Dung

2: // Doc Session["Username"]...5: // HienThiThongTin ( DataRow )

: Database

1: //Xem thong ke ca nhan( )

3: // Goi LayThongKeNguoiDung (Username)

4: // Goi getDataset (strSQL)

Hình 12 : Lược đồ cộng tác Xem thống kê cá nhân

o Đặc tả :

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.

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ó.

Các yêu cầu đặt biệt : không có.

Điều kiện tiên quyết : không có.

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.

Đ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

: Database : NguoiDung : ThongTinCaNhan Form : Nguoi_Dung

// Xem thong tin ca nhan( )

// HienThiThongTinDeChinhSua ()

// Goi CapNhatThongTinNguoiDung (...)

// Goi LayThongTinNguoiDung(Username)

// Goi getDataset ()

//Doc Session ["Username"]()

// HienThiThongTin(DataRow)

// Chon ChinhSuaThongTin()

// Chon btnDongY_Click()

// Nhap thong tin moi( )

// 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

: NguoiDung : ThongTinCaNhan Form

: Nguoi_Dung : Database

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()

3: // Goi LayThongTinNguoiDung(Username)10: // Goi CapNhatThongTinNguoiDung (...)

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ả :

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ý.

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ó.

Các yêu cầu đặt biệt : không có.

Điều kiện tiên quyết : không có.

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.

Đ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

: NguoiDung : DangKyThi Form : ThiKiemTra Form : Cau_Hoi : Database

// 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

: Database

: NguoiDung

: ThiKiemTra Form : DangKyThi Form

: Cau_Hoi

2: // Luu Session( )4: // LoadThongTinDe

7: // HoanChinhDanhSachCauHoi (DataSet)

8: // HoanViDeThi (Dataset)

1: // Nhap thong tin dang ky( )5: // Goi LayCauHoiTheoDeThi (MaDe)

3: // Chuyen den Form ThiKiemTra( )

6: // Goi getDataset (strSQL)

Hình 16 : Lược đồ cộng tác Thi kiểm tra

o Đặc tả :

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

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ó.

Các yêu cầu đặt biệt : không có.

Điều kiện tiên quyết : không có.

Post – Conditions :

Khi use case thực hiện thành công thì sẽ xuất đề thi cho người dùng thi

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.

o Điểm mở rộng : không có

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 : Instructor Form : ucTaiLieu : Database : Tai_Lieu

Chon lbtnTaiLieu_Click ()

Goi ViewDSTaiLieu(" " ," ")

ViewDanhSach()

XemDSTaiLieu ( string keyword, string fieldTimKiem)

LoadDSTaiLieu ()

LayDanhSachTaiLieu ()

HoanChinhHienTrang()Bat tat cac User Control

Them column "HienTrangText" vao DataSet

Thuc hien dgTaiLieu_Update ( )

uploadHinh ( HtmlInputFile )

CapNhatTaiLieu( MaTaiLieu, LoaiTaiLieu, FileName, MaHangThi, Mota, HienTrang)

ExecuteSP_ReturnMessage(spname,Params,Values)

Thuc hien chinh sua Tai Lieu

btnInsert_Click ()

LayThongTinTaiLieu ()

InsertToDatabase ()

ThemTaiLieu(LoaiTaiLieu,FileName,MaHangThi,MoTa)

ExecuteSP_ReturnMessage(spname,Params,Values)

thuc hien them moi tai lieu

getDataset(strSQL)

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

: Instructor : Instructor Form

: ucTaiLieu

: Database

: Tai_Lieu

3: LoadDSTaiLieu ()6: HoanChinhHienTrang()

7: ViewDanhSach()

9: uploadHinh ( HtmlInputFile )13: LayThongTinTaiLieu ()

14: InsertToDatabase ()

1: Chon lbtnTaiLieu_Click ()

8: Thuc hien dgTaiLieu_Update ( )12: btnInsert_Click ()

2: Goi ViewDSTaiLieu(" " ," ")

4: LayDanhSachTaiLieu ()10: CapNhatTaiLieu( MaTaiLieu, LoaiTaiLieu, FileName, MaHangThi, Mota, HienTrang)

15: ThemTaiLieu(LoaiTaiLieu,FileName,MaHangThi,MoTa)

5: getDataset(strSQL)11: ExecuteSP_ReturnMessage(spname,Params,Values)16: ExecuteSP_ReturnMessage(spname,Params,Values)

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ả :

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.

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.

Các yêu cầu đặt biệt : không có.

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

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

hoặc sửa đổi. Ngược lại, tình trạng hệ thống không có gì thay đổi.

o Điểm mở rộng : không có

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

: Cau_Hoi : NguoiDung : ucDe : ucChiTietDe : De_Thi : Database

Chon btnXemDeThi_Click ()

LayDanhSachDeThi(MaHangBang)

LayDanhSachDeTheoHangBang(MaHangBang)getDataset(strSQL)

HoanChinhHienTrang(dsDeThi)

Xem de thi theo hang bang

Chon btnXem_Click ()

Xem chi tiet de thi

LayChiTietDe()

LayChiTietDeThi (MaDe)

getDataset (strSQL)

Chon dgCauHoi_Command () XoaCauHoi ()

XoaChiTietDe (MaDe,strMaCauHoi)

ExecuteSP_ReturnMessage (spname,Params,Values)

Xoa cau hoi trong de thi

Chon btnChonNgauNhien_Click ()

LayNgauNhienCauHoiTheoLoai(MaLoaiCauHoi,SoCau,MaHangBang,MaDe)

getDataset(strSQL)

Chon btnNhapCauHoiMoi_Click ()

ThemCauHoiChoDe(dsCauHoiThemMoi,MaDe)

ThemChiTietDe (MaDe,arrMaCauHoi[i])

ExecuteSP_ReturnMessage (spname,Params,Values)

Lay cau hoi ngau nhien theo loai

Them cau hoi vao de

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

: NguoiDung : ucDe

: De_Thi

: Database : Cau_Hoi

1: Chon btnXemDeThi_Click ()

2: LayDanhSachDeThi(MaHangBang)

3: LayDanhSachDeTheoHangBang(MaHangBang)

4: getDataset(strSQL)

5: HoanChinhHienTrang(dsDeThi)

9: getDataset (strSQL)13: ExecuteSP_ReturnMessage (spname,Params,Values)

16: getDataset(strSQL)

19: ThemChiTietDe (MaDe,arrMaCauHoi[i])

20: ExecuteSP_ReturnMessage (spname,Params,Values)

: ucChiTietDe

6: Chon btnXem_Click ()10: Chon dgCauHoi_Command ()

14: Chon btnChonNgauNhien_Click ()17: Chon btnNhapCauHoiMoi_Click ()

7: LayChiTietDe()11: XoaCauHoi ()

8: LayChiTietDeThi (MaDe)12: XoaChiTietDe (MaDe,strMaCauHoi)

18: ThemCauHoiChoDe(dsCauHoiThemMoi,MaDe)

15: LayNgauNhienCauHoiTheoLoai(MaLoaiCauHoi,SoCau,MaHangBang,MaDe)

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ả :

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.

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.

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Ế

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

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.

Đ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 : Admin Form : Nguoi_Dung : Database

Chon Hyperlink "Tat ca"

Chon Hyperlink "Nguoi dung"

Chon Hyperlink "Nguoi quan Tri"

Chon Hyperlink "Giang Vien"

LayDanhSachNguoiDung ( dsTimKiem , FieldSapXep )

LoadDanhSach(string keywordTimKiem)

getDataset ( strSQL )

Xem danh sach nguoi dung

Thuc hien chinh sua dgDanhSachTatCa_Update ()

CapNhatThongTinNguoiDung(iMaNguoiDung,strHo,strTenLot,strTen, ....)

ExecuteSP(spname,Params,Values)

Chinh sua thong tin nguoi dung

Thuc hien them moi btnInsert2_Click()

ThemNguoiDung(Ho,TenLot,Ten,Username, ... )

ThemNguoiDung()

ExecuteSP("sp_ins_nguoidung",parameters,values)

Them nguoi dung

Thuc hien xoa dgDanhSachTatCa_Command ()

XoaNguoiDung ()

XoaNguoiDung(MaNguoiDung)

ExecuteSP("sp_del_nguoidung",parameters,values)

Xoa nguoi dung

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 Form

: Admin

: Nguoi_Dung

: Database

5: LoadDanhSach(string keywordTimKiem)12: ThemNguoiDung()16: XoaNguoiDung ()

1: Chon Hyperl ink "Tat ca"2: Chon Hyperl ink "Nguoi dung"

3: Chon Hyperl ink "Nguoi quan Tri"4: Chon Hyperl ink "Giang Vien"

8: Thuc hien chinh sua dgDanhSachTatCa_Update ()11: Thuc hien them moi btnInsert2_Click()

15: Thuc hien xoa dgDanhSachTatCa_Command ()

6: LayDanhSachNguoiDung ( dsTimKiem , FieldSapXep )9: CapNhatThongTinNguoiDung(iMaNguoiDung,strHo,strTenLot,strTen, ....)

13: ThemNguoiDung(Ho,TenLot,Ten,Username, ... )17: XoaNguoiDung(MaNguoiDung)

7: getDataset ( strSQL )10: ExecuteSP(spname,Params,Values)

14: ExecuteSP("sp_ins_nguoidung",parameters,values)18: ExecuteSP("sp_del_nguoidung",parameters,values)

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ả :

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.

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.

Các yêu cầu đặt biệt : không có.

Điều kiện tiên quyết : không có.

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.

Đ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

: Admin : ThongKe Form : Ket_Qua : Database

Chon btnXemThongKe_Click ()HienThiThongKe(strKieuThongKe)

SoLuotThiTheoNam(iTuNam,iDenNam)

SoLuotThiDatTheoNam(iTuNam,iDenNam)

getDataset(strSQL)

getDataset(strSQL)

ThongKeTheoHangBangNam(int iTuNam, int iDenNam)

VeBieuDoChuThichNgoai ()

ThongKeMaxMinHangBangTheoNam(iTuNam,iDenNam)

HangBangCoTiLeThiKhongDatCaoNhatNam(iTuNam,iDenNam)

HangBangCoTiLeThiCaoNhatNam(iTuNam,iDenNam)

HangBangCoTiLeThiThapNhatNam(iTuNam,iDenNam)

HangBangCoTiLeThiDatCaoNhatNam(iTuNam,iDenNam)

HangBangCoTiLeThiCaoNhatNam(iTuNam,iDenNam)

LuotThiTheoHangBang_Nam(iTuNam,iDenNam,dr["MaHangBang"])

getDataset(strSQL)

LuotThiDatTheoHangBang_Nam(iTuNam,iDenNam,dr["MaHangBang"...

getDataset(strSQL)

HangBangCoTiLeThiDatCaoNhatNam(iTuNam,iDenNam)

getDataset(strSQL)

HangBangCoTiLeThiThapNhatNam(iTuNam,iDenNam)

getDataset(strSQL)

getDataset(strSQL)

HangBangCoTiLeThiKhongDatCaoNhatNam(iTuNam,iDenNam)

getDataset(strSQL)

Thong ke theo luot thi

Thong ke theo Hang Bang

ThongKeMaxMinLoaiCauHoiNam(iTuNam,iDenNam)

LoaiCauHoiDungNhieuNhatNgayThang(dtTuNgay,dtDenNgay)

LoaiCauHoiDungNhieuNhatNgayThang(dtTuNgay,dtDenNgay)getDataset(strSQL)

LoaiCauHoiDungItNhatNgayThang(dtTuNgay,dtDenNgay)

LoaiCauHoiDungItNhatNgayThang(dtTuNgay,dtDenNgay)

getDataset(strSQL)

Thong ke theo loai cau hoi

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

: Admin : ThongKe Form

: Ket_Qua : Database

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 ()

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)

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ả :

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).

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ó.

Các yêu cầu đặt biệt : không có.

Điều kiện tiên quyết : không có.

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.

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

Về phía bản thân :

- 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 đề.

Về phía luận vă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.

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 :

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)

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ợ :

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

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

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