Luận văn Thiết kế công chung cư Phú Mỹ Thuận

Tài liệu Luận văn Thiết kế công chung cư Phú Mỹ Thuận: ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐH KHOA HỌC TỰ NHIÊN TP.HCM KHOA CÔNG NGHỆ THÔNG TIN ÔNG TẤN TRUNG – 0112288 PHẠM THỊ MINH CHUNG - 0112254 HỆ THỐNG HỖ TRỢ HỌC VÀ THI BẰNG LÁI TRÊN WEB LUẬN VĂN CỬ NHÂN TIN HỌC GIÁO VIÊN HƯỚNG DẪN Th.S. Nguyễn Thị Diễm Tiên TP. HCM, NIÊN KHOÁ 2005 Nhận xét của giáo viên hướng dẫn ....................................................................................................................................................................................... ....................................................................................................................................................................................... ....................................................................................................................................................................................... ...................................................................................................

pdf125 trang | Chia sẻ: tranhong10 | Lượt xem: 1831 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Luận văn Thiết kế công chung cư Phú Mỹ Thuận, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐH KHOA HỌC TỰ NHIÊN TP.HCM KHOA CÔNG NGHỆ THÔNG TIN ÔNG TẤN TRUNG – 0112288 PHẠM THỊ MINH CHUNG - 0112254 HỆ THỐNG HỖ TRỢ HỌC VÀ THI BẰNG LÁI TRÊN WEB LUẬN VĂN CỬ NHÂN TIN HỌC GIÁO VIÊN HƯỚNG DẪN Th.S. Nguyễn Thị Diễm Tiên 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 Mục lục 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 Danh mục hình 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 Phần mở đầu 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 1 : GIỚI THIỆU ĐỀ TÀI 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: KHẢO SÁT HIỆN TRẠNG 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 Phần phân tích thiết kế 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 3 : PHÂN TÍCH 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 HocBienBao XemTinTuc 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ý TaiTaiLieu ThiKiemTra 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Ế Chương 4 : THIẾT KẾ 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,string FieldSapXep) 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 LayDanhSachDeTheoHangB ang (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 LayDanhSachCauHoiTimKie m (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 KiemTraTonTaiUsernam e (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 LayThoiGianTruyCapGa nNhat (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 CapNhatThongTinNguoi Dung (int vMaNguoiDung, String vHo, String vTenLot, String vTen, String vUsername, String vPassword, DateTime vNgaySinh, int vGioiTinh, string vdiachi, string vdienthoai , String vEmail, String vPhanQuyen, DateTime dNgayCapNhat, DateTime vThoiGianTruyCapGanN hat) 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 LayCauTraLoiCuaCauHo i (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 LayChiTietKetQuaThan gNgay (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 LayCoCauDeCuaHangBangS apXep (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 LayMaLoaiCauHoiTheoLoa i (string LoaiCauHoi) String Lấu mã loại câu hỏi theo loại 3 LayDanhSachLoaiCauHoiD angSuDung() 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 LayDanhSachLoaiCauHoiS apXep (string FieldSapXep) Dataset Lấy danh sách loại câu hỏi đã sắp xếp theo FieldSapXep 6 LayDanhSachLoaiCauHoiT imKiem (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 LayCoCauDeCuaHangBangS apXep (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ính 2. 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ính 2. 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ại 5. MaLoaiCauHoi Mã loại câu hỏi Int Khoá ngoại 6. 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: LoadDan

Các file đính kèm theo tài liệu này:

  • pdffile_goc_780127.pdf
Tài liệu liên quan