Question is existed” 4.2 Giáo viên nhập lại các trường của câu hỏi và thực hiện các bước tiếp Bảng 6: Kịch bản thêm câu hỏi - Kịch bản import câu hỏi từ file excel Tiền điều kiện Giáo v
Trang 1KHOA CÔNG NGHỆ THÔNG TIN I
-🙞🙜🕮🙞🙜 -ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
ĐỀ TÀI:
XÂY DỰNG HỆ THỐNG WEBSITE LUYỆN THI TRẮC NGHIỆM TRỰC TUYẾN
Giảng viên hướng dẫn : TS Đỗ Thị Bích Ngọc
Trang 2Đối với một sinh viên Học Viện Công Nghệ Bưu Chính Viễn Thông, đồ án tốt nghiệp
là một minh chứng cho những kiến thức đã có được sau thời gian học tập và rèn luyện tại trường Em xin chân thành gửi lời cảm ơn Học Viện Công Nghệ Bưu Chính Viễn Thông, các thầy, cô trong Học Viện nói chung và khoa Công Nghệ Thông Tin nói riêng đã luôn nhiệt huyết, tận tình trong từng bài giảng, trang bị cho em những kiến thức quý báu trong suốt quá trình học tập rèn luyện tại Học viện
Đặc biệt, trong quá trình hoàn thành đồ án tốt nghiệp, ngoài những cố gắng của bản thân, em sẽ không thể hoàn thành tốt được công việc của mình nếu không có sự chỉ bảo và hướng dẫn tận tình của Ts Đỗ Thị Bích Ngọc Cô đã chia sẻ cho em những kiến thức chuyên môn, cách thức làm việc và cả kinh nghiệm thực tế trong suốt quá trình em thực hiện đề tài
Em xin gửi lời cảm ơn sâu sắc nhất tới cô
Vì thời gian có hạn, trình độ hiểu biết của bản thân còn nhiều hạn chế Cho nên trong
đồ án không thể tránh khỏi những thiếu sót, em rất mong nhận được sự đóng góp ý kiến của tất cả các thầy cô giáo cũng như các bạn bè để đồ án của em được hoàn thiện hơn
Em xin chân thành cảm ơn!
Hà Nội, Tháng 01 năm 2022
Sinh viên
HỒ QUỐC CƯỜNG
Trang 3(Của giảng viên hướng dẫn)
Điểm: (bằng chữ)
Đồng ý/ Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp? Hà Nội, ngày tháng năm
CÁN BỘ - GIẢNG VIÊN HƯỚNG DẪN
(ký, họ tên)
Trang 4(Của giảng viên phản biện)
Điểm: (bằng chữ)
Đồng ý/ Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp? Hà Nội, ngày tháng năm
CÁN BỘ - GIẢNG VIÊN PHẢN BIỆN
(ký, họ tên)
Trang 5LỜI MỞ ĐẦU
Hiện nay, công nghệ thông tin ngày càng phát triển vượt trội Việc chuyển đổi số đóng một vai trò quan trọng trong cuộc Cách mạng công nghiệp 4.0 Chuyển đổi số giáo dục là một trong những lĩnh vực đang được ưu tiên hàng đầu
Hơn 2 năm vừa qua, dịch bệnh Covid-19 đang hoành hành trên khắp thế giới và chưa có dấu hiệu dừng lại Học sinh, sinh viên gặp rất nhiều khó khăn trong việc đến trường Việc áp dụng công nghệ số vào trong giáo dục đang được cả thế giới quan tâm để có thể truyền tải kiến thức đến cho học sinh, sinh viên một cách đầy đủ và vẫn đảm bảo về an toàn sức khỏe
Nhận thấy tầm quan trọng đó, em muốn sử dụng kiến thức của mình để xây dựng hệ thống website luyện thi trắc nghiệm trực tuyến để giúp việc quản lý kiểm tra cho học sinh, sinh viên một cách đơn giản
Nội dung của đồ án bao gồm các phần sau:
Chương 1: Tổng quan về các công nghệ liên quan
Nội dung chương 1 sẽ giới thiệu các công nghệ được sử dụng để xây dựng hệ thống website luyện thi trắc nghiệm trực tuyến
Chương 2: Phân tích hệ thống
Nội dung chương này sẽ tập trung vào phân tích hệ thống Thực hiện các công việc: xác định và
mô tả các tác nhân, xác định và mô tả các ca sử dụng, xây dựng biểu đồ ca sử dụng, các kịch bản
và biểu đồ lớp phân tích
Chương 3: Thiết kế hệ thống
Nội dung chương này sẽ đi sâu vào phân tích hệ thống Thực hiện các công việc: thiết kế sơ đồ tuần tự của hệ thống, thiết kế sơ đồ lớp và cơ sở dữ liệu cho hệ thống
Chương 4: Xây dựng và kiểm thử hệ thống
Nội dung chương này sẽ cài đặt hệ thống và kiểm thử hệ thống
Trang 6MỤC LỤC
LỜI CẢM ƠN 2
LỜI MỞ ĐẦU 5
MỤC LỤC 6
DANH MỤC CÁC BẢNG 8
DANH MỤC HÌNH ẢNH 9
CHƯƠNG 1: TỔNG QUAN VỀ CÁC CÔNG NGHỆ LIÊN QUAN 11
1.1 Spring Boot Framework 11
1.1.1 Tổng quan 11
1.1.2 Ưu điểm và nhược điểm 11
1.1.3 Tính năng của Spring Boot 11
1.2 Hệ quản trị cơ sở dữ liệu MySQL 12
1.2.1 Tổng quan 12
1.2.2 Ưu nhược điểm của MySQL 12
1.3 Công nghệ JSP: 13
1.3.1 Tổng quan 13
1.3.2 Ưu điểm và nhược điểm 14
1.3.3 Lý do lựa chọn 14
1.4 Tổng kết 14
CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG 15
2.1 Tổng quan về hệ thống: 15
2.2 Xác định các tác nhân của hệ thống (Actor) 15
2.3 Xác định và mô tả các ca sử dụng (usecase) 15
2.4 Xây dựng biểu đồ ca sử dụng 16
2.5 Kịch bản 19
2.6 Biểu đồ lớp phân tích 30
2.7 Kết luận 31
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG 32
3.1 Biểu đồ tuần tự các usecase 32
3.2 Sơ đồ lớp thiết kế 47
3.3 Lược đồ cơ sở dữ liệu 48
Trang 73.5 Kết luận 51
CHƯƠNG 4: XÂY DỰNG VÀ KIỂM THỬ HỆ THỐNG 52
4.1 Kiến trúc hệ thống 52
4.2 Một số giao diện của hệ thống 53
4.3 Kết luận 61
KẾT LUẬN 62
Tài liệu tham khảo 63
Trang 8DANH MỤC CÁC BẢNG
Bảng 1: Ca sử dụng cho admin 15
Bảng 2: Ca sử dụng cho giáo viên 15
Bảng 3: Ca sử dụng cho sinh viên 16
Bảng 4: Kịch bản đăng nhập 19
Bảng 5: Kịch bản chỉnh sửa thông tin cá nhân 20
Bảng 6: Kịch bản thêm câu hỏi 20
Bảng 7: Kịch bản import câu hỏi từ file excel 21
Bảng 8: Kịch bản chỉnh sửa câu hỏi 21
Bảng 9: Kịch bản xóa câu hỏi 22
Bảng 10: Kịch bản tìm kiếm câu hỏi 22
Bảng 11: Kịch bản thêm đề kiểm tra mới 23
Bảng 12: Kịch bản chỉnh sửa đề kiểm tra 23
Bảng 13: Kịch bản xóa đề kiểm tra 24
Bảng 14: Kịch bản tìm kiếm đề kiểm tra 24
Bảng 15: Kịch bản giao đề kiểm tra cho lớp học 25
Bảng 16: Kịch bản xóa đề kiểm tra 25
Bảng 17: Kịch bản thêm sinh viên 25
Bảng 18: Kịch bản xóa sinh viên 26
Bảng 19: Kịch bản tìm kiếm sinh viên 26
Bảng 20: Kịch bản thêm lớp học 27
Bảng 21: Kịch bản xóa giáo viên 27
Bảng 22: Kịch bản thêm sinh viên cho lớp học 28
Bảng 23: Kịch bản xóa sinh viên của lớp học 28
Bảng 24: Kịch bản sinh viên tham gia kiểm tra 28
Bảng 25: Kịch bản xem lịch sử kiểm tra 29
Bảng 26: Mô tả tổng quát các bảng trong cơ sở dữ liệu 49
Bảng 27: Mô tả bảng User 49
Bảng 28: Mô tả bảng Role 49
Bảng 29: Mô tả bảng Course 50
Bảng 30: Mô tả bảng Subject 50
Bảng 31: Mô tả bảng Question 50
Bảng 32: Mô tả bảng Answer 50
Bảng 33: Mô tả bảng Exam 51
Bảng 34: Mô tả bảng Detail_Exam 51
Bảng 35: Mô tả bảng Exam_Course 51
Bảng 36: Mô tả bảng Detail_Course 51
Bảng 37: Mô tả bảng Result_Test 51
Trang 9DANH MỤC HÌNH ẢNH
Hình 1: Spring Boot Framework 11
Hình 2: Hệ quản trị cơ sở dữ liệu MySQL 12
Hình 3: Vị trí cử JSP trong ứng dụng Web 14
Hình 4: Biểu đồ sử dụng tổng quát của hệ thống 16
Hình 5: Biểu đồ phân rã ca sử dụng quản lý câu hỏi 17
Hình 6: Biểu đồ phân rã ca sử dụng quản lý đề kiểm tra 17
Hình 7: Biểu đồ phân rã ca sử dụng quản lý sinh viên 18
Hình 8: Biểu đồ phân rã ca sử dụng quản lý lớp học sinh viên 18
Hình 9: Biểu đồ lớp phân tích 30
Hình 10: Sơ đồ tuần tự chức năng đăng nhập 32
Hình 11: Biểu đồ tuần tự chức năng chỉnh sửa thông tin cá nhân 32
Hình 12: Sơ đồ tuần tự chức năng thêm câu hỏi 33
Hình 13: Sơ đồ tuần tự chức năng import câu hỏi từ file excel 33
Hình 14: Biểu đồ tuần tự chức năng sửa câu hỏi 34
Hình 15: Biểu đồ tuần tự chức năng xóa câu hỏi 34
Hình 16: Biểu đồ tuần tự chức năng Tìm kiếm câu hỏi 35
Hình 17: Biểu đồ tuần tự chức năng thêm đề kiểm tra 35
Hình 18: Biểu đồ tuần tự chức năng sửa đề kiểm tra 36
Hình 19: Biểu đồ tuần tự chức năng xóa đề kiểm tra 37
Hình 20: Biểu đồ tuần tự chức năng tìm kiếm đề kiểm tra 37
Hình 21: Biểu đồ tuần tự chức năng giao đề cho lớp học 38
Hình 22: Biểu đồ tuần tự chức năng xóa đề thi của lớp học 39
Hình 23: Biểu đồ tuần tự thêm sinh viên 40
Hình 24: Biểu đồ tuần tự chức năng xóa sinh viên 41
Hình 25: Biểu đồ tuần tự chức năng tìm kiếm sinh viên 41
Hình 26: Biểu đồ tuần tự chức năng thêm lớp học 42
Hình 27: Biểu đồ tuần tự chức năng sửa lớp học 42
Hình 28: Biểu đồ tuần tự chức năng xóa lớp học 43
Hình 29: Biểu đồ tuần tự chức năng tìm kiếm lớp học 43
Hình 30: Biểu đồ tuần tự chức năng thêm sinh viên vào lớp học 44
Hình 31: Biểu đồ tuần tự chức năng xóa sinh viên của lớp học 45
Hình 32: Biểu đồ tuần tự chức năng làm bài kiểm tra 45
Hình 33: Biểu đồ tuần tự chức năng xem lịch sử kiểm tra 46
Hình 34: Biểu đồ lớp phân tích 47
Hình 35: Lược đồ cơ sở dữ liệu 48
Hình 36: Kiến trúc MVC 52
Hình 37: Giao diện danh sách câu hỏi 53
Hình 38: Giao diện import câu hỏi từ file excel 54
Hình 39: Giao diện chi tiết câu hỏi 54
Trang 10Hình 40: Giao diện danh sách đề kiểm tra 54
Hình 41: Giao diện chi tiết đề kiểm tra 55
Hình 42: Giao diện danh sách lớp học 56
Hình 43: Giao diện chi tiết thông tin lớp học 56
Hình 44: Giao diện danh sách sinh viên của lớp học 57
Hình 45: Giao diện thêm sinh viên vào lớp học 57
Hình 46: Giao diện danh sách các bài kiểm tra của lớp học 58
Hình 47: Giao diện danh sách sinh viên 58
Hình 48: Giao diện chi tiết thông tin sinh viên 59
Hình 49: Giao diện chi tiết bài kiểm tra của sinh viên 60
Hình 50: Giao diện xem lịch sử các bài kiểm tra của sinh viên 60
Trang 11CHƯƠNG 1: TỔNG QUAN VỀ CÁC CÔNG NGHỆ LIÊN QUAN
1.1 Spring Boot Framework
Hình 1: Spring Boot Framework
1.1.2 Ưu điểm và nhược điểm
- Spring Boot được thiết kế để giúp các developer đẩy nhanh quá trình phát triển, cho phép loại bỏ việc thiết lập và cấu hình ban đầu tốn thời gian của môi trường triển khai Các lợi ích của Spring Boot bao gồm:
• Phát triển các ứng dụng dựa trên Spring một cách tiết kiệm thời gian và dễ dàng
• Tự động cấu hình tất cả các components cho một ứng dụng Spring
• Các server được nhúng tạo sẵn (Tomcat, Jetty và Undertow), dẫn đến việc triển khai ứng dụng được tăng tốc và hiệu quả hơn
- Ngoài các ưu điểm trên, Spring Boot vẫn tồn tại một số nhược điểm:
• Máy ảo Java làm tăng thời gian thực thi mã nguồn của phần mềm (code sẽ được trình biên dịch thành byte code và mã byte code sẽ được chạy trên bất kì thiết bị nào)
• Khi có sự cố với máy ảo Java thì đều làm ảnh hưởng đến source code của phần mềm 1.1.3 Tính năng của Spring Boot
Trang 12- SpringApplication: SpringApplication là một class giúp khởi chạy các ứng dụng từ hàm
main thuận tiện Để bắt đầu ứng dụng chỉ cần gọi các method run
- Profiles: Spring Boot Profiles sẽ cung cấp một cách phân chia các cấu hình cho từng môi
trường Các annotation là @Component hoặc @Configuration có thể sẽ được đánh dấu profiles để giới hạn thời điểm hoặc môi trường sẽ được tải lên
- Externalized Configuration: Externalized Configuration cho phép khả năng cấu hình
được từ bên ngoài Vì vậy, một ứng dụng được xây dựng có thể được vận hành và hoạt động trên nhiều môi trường khác nhau Để thực hiện Externalized Configuration có thể sử dụng các file properties, YAML, các tham số command line hay các biến môi trường
- Logging: Tất cả các chức năng log nội bộ đều được spring boot sử dụng common logging
Chúng được quản lý một cách mặc định Vì vậy, không nên hoặc không cần sửa các dependency logging nếu các tuỳ biến customization không được yêu cầu
1.2 Hệ quản trị cơ sở dữ liệu MySQL
1.2.1 Tổng quan
- MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational Database Management System, viết tắt là RDBMS), trong đó, cơ sở dữ liệu là một hệ thống lưu trữ thông tin được sắp xếp rõ ràng, phân lớp ngăn nắp MySQL hoạt động theo mô hình client-server, có thể truy cập dữ liệu một cách thuận lợi và nhanh chóng nhất MySQL hỗ trợ đa số các ngôn ngữ lập trình vì vậy nó là hệ quản trị cơ sở dữ liệu phổ biến nhất trên thế giới
Hình 2: Hệ quản trị cơ sở dữ liệu MySQL
1.2.2 Ưu nhược điểm của MySQL
- Ưu điểm:
• Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên
Internet khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở cấp cao
• Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ một hệ quản
trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp
• Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và nó có thể
Trang 13• Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rất hiệu
quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi
• Dễ dàng sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và hoạt
động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh
• Tương thích trên nhiều hệ điều hành: MySQL tương thích để chạy trên nhiều hệ điều
hành, như Novell NetWare, Windows, Linux, nhiều loại UNIX MySQL cũng cung cấp phương tiện mà các máy khách có thể chạy trên cùng một máy tính với máy chủ hoặc trên một máy tính khác (giao tiếp qua mạng cục bộ hoặc Internet)
- Nhược điểm:
• Dung lượng hạn chế: MySQL bị hạn chế dung lượng, cụ thể, khi số bản ghi của người
dùng lớn dần, sẽ gây khó khăn cho việc truy xuất dữ liệu, khiến người dùng cần áp dụng nhiều biện pháp để tăng tốc độ chia sẻ dữ liệu như chia tải database ra nhiều server, hoặc tạo cache MySQL
1.2.3 Lý do lựa chọn
- MySQL là một hệ quản trị cơ sở dữ liệu thông dụng nhất dành cho các ứng dụng web, ứng dụng xử lý giao dịch trực tuyến và website thương mại điện tử MySQL được tích hợp đầy
đủ các tiện ích, dễ sử dụng, lại thêm khả năng giao dịch an toàn, chi phí thấp,
- MySQL là một công cụ có tốc độ cao cùng với tính ổn định tốt Công cụ này dễ sử dụng,
và có thể hoạt động được ở nhiều hệ điều hành Ngoài ra, tính bảo mật của MySQL rất mạnh, có thể sử dụng được ở trên nhiều ứng dụng
- Khi sử dụng JSP, có thể thu thập dữ liệu đầu vào từ người dùng thông qua các Form của trang web, trình bày các bản ghi từ một cơ sở dữ liệu hoặc một nguồn khác, và tạo các trang web động
- Các thẻ JSP có thể được sử dụng cho nhiều mục đích khác nhau, chẳng hạn như truy xuất thông tin từ cơ sở dữ liệu hoặc đăng ký mới, truy cập các thành phần JavaBeans, kiểm soát giữa các trang và chia sẻ thông tin giữa các request, các trang
Trang 14• Không cần phải biên dịch lại JSP khi thay đổi Các thay đổi tự động xuất hiện khi chạy
• Các thẻ được sử dụng rất dễ hiểu và viết
• Hỗ trợ Java API, giờ đây bạn có thể dễ dàng sử dụng và tích hợp với mã HTML
• Các kết quả thu được có định dạng HTML, do đó có thể được mở trên mọi trình duyệt
• Thay đổi có thể được thêm vào business logic page thay vì thay đổi trong mỗi trang
- Nhược điểm:
• Cơ sở dữ liệu có thể được truy cập bằng JSP, nhưng không dễ để truy cập cơ sở dữ liệu
vì hầu hết các servlet không cung cấp hỗ trợ
• JSP là một servlet, nên có vấn đề trong code sẽ khó theo dõi và khắc phục
• Thời gian để biên dịch JSP lâu hơn
1.3.3 Lý do lựa chọn
- JSP lợi thế hơn so với Active Server Pages (ASP) vì phần động được viết bằng Java, không phải Visual Basic hoặc ngôn ngữ Microsoft nên dễ dàng sử dụng
- JSP thuận tiện hơn Servlet thuần để viết và để sửa đổi HTML hơn là sử dụng lệnh println()
để tạo ra HTML trong Servlet
- JSP có thể truy cập được cơ sở dữ liệu và xử lý hình ảnh mà Javascript không làm được
1.4 Tổng kết
Trong chương 1 của đồ án đã giới thiệu tổng quan về các công nghệ sử dụng để xây dựng
hệ thống website luyện thi trắc nghiệm trực tuyến
Các chương tiếp theo sẽ đi sâu vào quy trình phát triển phần mềm để có thể hiểu rõ hơn về
hệ thống website luyện thi trắc nghiệm trực tuyến
Trang 15CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG
2.1 Tổng quan về hệ thống:
- Hệ thống website luyện thi trắc nghiệm trực tiếp cho phép sinh viên có thể tham gia các bài kiểm tra trực tiếp trên trình duyệt Giáo viên có thể quản lý bộ câu hỏi, quản lý các bài kiểm tra, giao bài kiểm tra cho các lớp học và quản lý sinh viên của các lớp học Quản trị hệ thống có thể quản lý thông tin người dùng hệ thống
2.2 Xác định các tác nhân của hệ thống (Actor)
- User: Gọi chung cho tất cả người dùng hệ thống
- Admin (Quản trị viên hệ thống): Admin có quyền quản lý các sinh viên
- Teacher (Giáo viên): Giáo viên có quyền quản lý ngân hàng câu hỏi, các đề kiểm tra quản
dưới quyền admin Quản lý thông tin cá nhân Admin có thể chỉnh sửa thông tin cá nhân
Quản lý sinh viên Admin có chức năng quản lý sinh viên với các thao tác: thêm,
Quản lý câu hỏi Giáo viên có chức năng quản lý câu hỏi với các thao tác:
thêm, sửa, xóa Quản lý đề thi Giáo viên có chức năng quản lý đề thi với các thao tác:
thêm, sửa, xóa, giao đề thi cho lớp học Quản lý lớp học sinh viên Giáo viên có chức năng quản lý lớp học với các thao tác:
thêm, xửa, xóa lớp học, thêm sinh viên cho lớp học, xóa sinh viên của lớp học
Bảng 2: Ca sử dụng cho giáo viên
Trang 16- Ca sử dụng cho Student (Sinh viên)
của hệ thống Chỉnh sửa thông tin cá nhân Sinh viên có thể chỉnh sửa thông tin cá nhân
Làm bài kiểm tra Sinh viên có chức năng tham gia các bài kiểm tra do giáo
viên giao Xem lịch sử kiểm tra Sinh viên có chức năng xem lại lịch sử tất cả các bài kiểm
tra đã làm
Bảng 3: Ca sử dụng cho sinh viên
2.4 Xây dựng biểu đồ ca sử dụng
2.4.1 Biểu đồ ca sử dụng tổng quát của hệ thống
Hình 4: Biểu đồ sử dụng tổng quát của hệ thống
2.4.2 Biểu đồ phân rã các ca sử dụng
Trang 17Hình 5: Biểu đồ phân rã ca sử dụng quản lý câu hỏi
Hình 6: Biểu đồ phân rã ca sử dụng quản lý đề kiểm tra
Trang 18Hình 7: Biểu đồ phân rã ca sử dụng quản lý sinh viên
Hình 8: Biểu đồ phân rã ca sử dụng quản lý lớp học sinh viên
Trang 192.5 Kịch bản
- Kịch bản đăng nhập
Tiền điều kiện Người dùng đã có tài khoản trên hệ thống
Đảm bảo thành công Người dùng đăng nhập thành công
Đảm bảo tối thiểu Thông báo đăng nhập không thành công
Chuỗi sự kiện chính:
1 Người dùng vào trang login của hệ thống
2 Hệ thống hiển thị màn hình login với các thông tin username, password
3 Người dùng nhập username, password và chọn Login
4 Hệ thống kiểm tra thông tin tài khoản và chuyển người dùng đến trang tương ứng
Ngoại lệ:
3.1 Người dùng bỏ trống username hoặc password thì hệ thống thông báo và yêu cầu nhập đầy đủ thông tin
3.2 Người dùng nhập lại thông tin và thực hiện các bước tiếp
4.1 Người dùng nhập sai tài khoản thì hệ thống thông báo “Username or password invalid!”
4.2 Người dùng nhập lại thông tin và thực hiện các bước tiếp
Bảng 4: Kịch bản đăng nhập
- Kịch bản chỉnh sửa thông tin cá nhân
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Người dùng chỉnh sửa thông tin cá nhân thành công
Chuỗi sự kiện chính:
1 Người dùng kích hoạt chức năng chỉnh sửa thông tin cá nhân
2 Hệ thống hiển thị màn hình chỉnh sửa câu hỏi với các thông tin họ tên, ngày sinh,
số điện thoại, email, địa chỉ, username, password
3 Người dùng chỉnh sửa các thông tin vào biểu mẫu
4 Hệ thống kiểm tra thông tin được sửa và cập nhật thông tin vào cơ sở dữ liệu
5 Hệ thống thông báo thành công
Trang 20Bảng 5: Kịch bản chỉnh sửa thông tin cá nhân
- Kịch bản thêm câu hỏi
Tiền điều kiện Giáo viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Giáo viên thêm mới câu hỏi thành công
Chuỗi sự kiện chính:
1 Giáo viên kích hoạt chức năng thêm mới câu hỏi
2 Hệ thống hiển thị màn hình thêm mới câu hỏi với các trường môn học, nội dung câu hỏi, mức độ, các đáp án lựa chọn
3 Giáo viên nhập các thông tin vào biểu mẫu
4 Hệ thống kiểm tra thông tin được nhập và cập nhật thông tin vào cơ sở dữ liệu
5 Hệ thống thông báo thành công
Ngoại lệ:
3.1 Giáo viên bỏ trống trường môn học, nội dung câu hỏi, mức độ, các đáp án lựa chọn thì hệ thống thông báo và yêu cầu nhập lại
3.2 Giáo viên nhập lại thông tin và thực hiện các bước tiếp
4.1 Câu hỏi đã tồn tại trong cơ sở dữ liệu thì hệ thống thông báo “Failed Question is existed”
4.2 Giáo viên nhập lại các trường của câu hỏi và thực hiện các bước tiếp
Bảng 6: Kịch bản thêm câu hỏi
- Kịch bản import câu hỏi từ file excel
Tiền điều kiện Giáo viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Giáo viên import câu hỏi thành công
Chuỗi sự kiện chính:
1 Giáo viên kích hoạt chức năng import file excel
2 Hệ thống hiển thị màn import câu hỏi với các trường môn học, chọn file
3 Giáo viên chọn môn học, chọn file excel và click Import
4 Hệ thống kiểm tra cập nhật câu hỏi vào cơ sở dữ liệu
5 Hệ thống thông báo số lượng câu hỏi được import thành công
Ngoại lệ:
Trang 213.1 Giáo viên bỏ trống trường môn học hoặc chọn file thì hệ thống thông báo và yêu cầu chọn đầy đủ
3.2 Giáo viên chọn đầy đủ môn học vả file và thực hiện các bước tiếp
Bảng 7: Kịch bản import câu hỏi từ file excel
- Kịch bản chỉnh sửa câu hỏi
Tiền điều kiện Giáo viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Giáo viên chỉnh sửa câu hỏi thành công
Chuỗi sự kiện chính:
1 Trên màn hình danh sách câu hỏi, giáo viên chọn câu hỏi bất kì muốn chỉnh sửa
2 Hệ thống hiển thị màn hình chỉnh sửa câu hỏi với các thông tin môn học, nội dung câu hỏi, mức độ, các đáp án lựa chọn của câu hỏi
3 Giáo viên chỉnh sửa các thông tin vào biểu mẫu
4 Hệ thống kiểm tra thông tin được chỉnh sửa và cập nhật thông tin vào cơ sở dữ liệu
5 Hệ thống thông báo thành công
Ngoại lệ:
3.1 Giáo viên bỏ trống trường môn học, nội dung câu hỏi, mức độ, các đáp án lựa chọn thì hệ thống thông báo và yêu cầu nhập lại
3.2 Giáo viên nhập lại thông tin và thực hiện các bước tiếp
4.1 Câu hỏi đã tồn tại trong cơ sở dữ liệu thì hệ thống thông báo “Failed Question is existed”
4.2 Giáo viên nhập lại các trường của câu hỏi và thực hiện các bước tiếp
Bảng 8: Kịch bản chỉnh sửa câu hỏi
- Kịch bản xóa câu hỏi
Tiền điều kiện Giáo viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Giáo viên xóa câu hỏi thành công
Chuỗi sự kiện chính:
1 Trên màn hình danh sách câu hỏi, giáo viên chọn câu hỏi bất kì muốn xóa
2 Hệ thống hiển thị thông báo “Are you want to delete question”
3 Giáo viên click Ok
4 Hệ thống xóa câu hỏi trong cơ sở dữ liệu và thông báo thành công
Trang 22Ngoại lệ:
Bảng 9: Kịch bản xóa câu hỏi
- Kịch bản tìm kiếm câu hỏi
Tiền điều kiện Giáo viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Giáo viên tìm kiếm câu hỏi thành công
Chuỗi sự kiện chính:
1 Giáo viên chọn chức năng xem danh sách câu hỏi
2 Hệ thống hiển thị tất cả câu hỏi trên màn hình
3 Giáo viên nhập nội dung câu hỏi muốn tìm vào ô search và click search
4 Hệ thống hiển thị kết quả tìm kiếm
Ngoại lệ:
Bảng 10: Kịch bản tìm kiếm câu hỏi
- Kịch bản thêm đề kiểm tra mới
Tiền điều kiện Giáo viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Giáo viên thêm mới đề kiểm tra thành công
Chuỗi sự kiện chính:
1 Giáo viên kích hoạt chức năng thêm mới đề kiểm tra
2 Hệ thống hiển thị màn hình thêm mới đề thi với các trường môn học, số lượng câu hỏi theo mức độ (dễ, trung bình, khó), thời gian mở đề kiểm tra, thời gian đóng đề kiểm tra, thời gian làm bài, tên bài kiểm tra
3 Giáo viên chọn môn học và nhập số lượng câu hỏi theo mức độ và chọn tạo đề thi:
có thể random câu hỏi theo mức độ đã chọn hoặc thêm từng câu hỏi
4 Hệ thống hiển thị danh sách câu hỏi đã random theo mức độ hoặc các câu hỏi do giáo viên chọn (giáo viên có thể xóa câu hỏi đã tạo trong đề thi hoặc random đề thi khác)
5 Giáo viên nhập các trường thời gian mở đề kiểm tra, thời gian đóng đề kiểm tra, thời gian làm bài, tên bài kiểm tra và chọn lưu đề kiểm tra
6 Hệ thống thông báo thành công
Ngoại lệ:
Trang 233.1 Giáo viên bỏ trống trường môn học hoặc số lượng câu hỏi theo mức độ thì hệ thống thông báo và yêu cầu nhập đầy đủ thông tin
3.2 Giáo viên nhập lại thông tin và thực hiện các bước tiếp
5.1 Giáo viên bỏ trống trường thời gian mở đề kiểm tra, thời gian đóng đề kiểm tra, thời gian làm bài, tên bài kiểm tra thì hệ thống thông báo và yêu cầu nhập đầy đủ thông tin 5.2 Giáo viên nhập lại các trường của câu hỏi và thực hiện các bước tiếp
Bảng 11: Kịch bản thêm đề kiểm tra mới
- Kịch bản chỉnh sửa đề kiểm tra
Tiền điều kiện Giáo viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Giáo viên chỉnh sửa đề kiểm tra thành công
Chuỗi sự kiện chính:
1 Giáo viên kích hoạt chức năng chỉnh sửa đề kiểm tra
2 Hệ thống hiển thị màn hình chỉnh sửa đề thi với các trường môn học, số lượng câu hỏi theo mức độ (dễ, trung bình, khó), thời gian mở đề kiểm tra, thời gian đóng đề kiểm tra, thời gian làm bài, tên bài kiểm tra
3 Giáo viên chỉnh sửa số câu hỏi (random hoặc chỉnh sửa từng câu hỏi)
4 Hệ thống hiển thị danh sách câu hỏi đã chỉnh sửa
5 Giáo viên chỉnh sửa thời gian mở đề kiểm tra, thời gian đóng đề kiểm tra, thời gian làm bài, tên bài kiểm tra chọn lưu đề kiểm tra
6 Hệ thống thông báo thành công
Ngoại lệ:
3.1 Giáo viên bỏ trống trường số lượng câu hỏi theo mức độ thì hệ thống thông báo và yêu cầu nhập đầy đủ thông tin
3.2 Giáo viên nhập lại thông tin và thực hiện các bước tiếp
5.1 Giáo viên bỏ trống trường thời gian mở đề kiểm tra, thời gian đóng đề kiểm tra, thời gian làm bài, tên bài kiểm tra thì hệ thống thông báo và yêu cầu nhập đầy đủ thông tin 5.2 Giáo viên nhập lại các trường của câu hỏi và thực hiện các bước tiếp
Bảng 12: Kịch bản chỉnh sửa đề kiểm tra
- Kịch bản xóa đề kiểm tra
Tiền điều kiện Giáo viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Giáo viên xóa đề kiểm tra thành công
Trang 24Đảm bảo tối thiểu Trở lại màn hình chính
Chuỗi sự kiện chính:
1 Trên màn hình danh sách đề kiểm tra, giáo viên chọn đề kiểm tra bất kì muốn xóa
2 Hệ thống hiển thị thông báo “Are you want to delete exam?”
3 Giáo viên click chọn Ok
4 Hệ thống xóa đề kiểm tra trong cơ sở dữ liệu và thông báo thành công
Ngoại lệ:
3.1 Giáo viên chọn đề kiểm tra đã được giao cho lớp học
3.2 Hệ thống thông báo “Can’t delete exam.”
Bảng 13: Kịch bản xóa đề kiểm tra
- Kịch bản tìm kiếm đề kiểm tra
Tiền điều kiện Giáo viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Giáo viên tìm kiếm đề kiểm tra thành công
Chuỗi sự kiện chính:
1 Giáo viên chọn chức năng xem danh sách đề kiểm tra
2 Hệ thống hiển thị tất cả đề kiểm tra trên màn hình
3 Giáo viên nhập tên đề kiểm tra muốn tìm vào ô search và click search
4 Hệ thống hiển thị kết quả tìm kiếm
Ngoại lệ:
Bảng 14: Kịch bản tìm kiếm đề kiểm tra
- Kịch bản giao đề kiểm tra cho lớp học
Tiền điều kiện Giáo viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Giáo viên giao đề thi thành công
Chuỗi sự kiện chính:
1 Trên màn hình danh sách đề kiểm tra, giáo viên chọn đề kiểm tra bất kì muốn giao
2 Hệ thống hiển thị danh sách các lớp học
3 Giáo viên chọn lớp học muốn giao đề
4 Hệ thống thông báo “Are you want to assign exam for class?”
Trang 256 Hệ thống lưu đề kiểm tra cho lớp học vào cơ sở dữ liệu và thông báo thành công Ngoại lệ:
Bảng 15: Kịch bản giao đề kiểm tra cho lớp học
- Kịch bản xóa đề kiểm tra của lớp học
Tiền điều kiện Giáo viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Giáo viên xóa đề thi của lớp học thành công
Chuỗi sự kiện chính:
1 Trên màn hình danh sách lớp học, giáo viên chọn lớp học muốn xóa đề kiểm tra
2 Hệ thống hiển thị danh sách các đề kiểm tra của lớp học đã giao
3 Giáo viên chọn đề kiểm tra muốn xóa
4 Hệ thống thông báo “Are you want to remove exam for class?”
5 Giáo viên click Ok
6 Hệ thống xóa đề kiểm tra của lớp học và thông báo thành công
Ngoại lệ:
Bảng 16: Kịch bản xóa đề kiểm tra
- Kịch bản thêm sinh viên
Đảm bảo thành công Admin thêm sinh viên thành công
Chuỗi sự kiện chính:
1 Admin kích hoạt chức năng thêm mới sinh viên
2 Hệ thống hiển thị màn hình thêm mới sinh viên với các trường họ tên, ngày sinh, địa chỉ, số điện thoại, email, tài khoản, lớp học
3 Admin nhập các thông tin vào biểu mẫu
4 Hệ thống kiểm tra thông tin được nhập và cập nhật thông tin vào cơ sở dữ liệu
5 Hệ thống thông báo thành công
Ngoại lệ:
3.1 Admin bỏ trống trường họ tên, ngày sinh, tài khoản, lớp học thì hệ thống thông báo
và yêu cầu nhập lại
3.2 Admin nhập lại thông tin và thực hiện các bước tiếp
Bảng 17: Kịch bản thêm sinh viên
Trang 26- Kịch bản xóa sinh viên
Đảm bảo thành công Admin xóa sinh viên thành công
Chuỗi sự kiện chính:
1 Trên màn hình danh sách sinh viên, admin chọn sinh viên bất kì muốn xóa
2 Hệ thống hiển thị thông báo “Are you want to delete student?”
3 Admin click chọn Ok
4 Hệ thống xóa sinh viên trong cơ sở dữ liệu và thông báo thành công
Ngoại lệ:
Bảng 18: Kịch bản xóa sinh viên
- Kịch bản tìm kiếm sinh viên
Đảm bảo thành công Admin tìm kiếm sinh viên thành công
Chuỗi sự kiện chính:
1 Admin chọn chức năng xem danh sách sinh viên
2 Hệ thống hiển thị tất cả sinh viên trên màn hình
3 Admin nhập tên sinh viên muốn tìm vào ô search và click search
4 Hệ thống hiển thị kết quả tìm kiếm
Ngoại lệ:
Bảng 19: Kịch bản tìm kiếm sinh viên
- Kịch bản thêm lớp học
Tiền điều kiện Giáo viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Giáo viên thêm lớp học thành công
Chuỗi sự kiện chính:
Trang 272 Hệ thống hiển thị màn hình thêm mới giáo viên với các trường môn học, ngày bắt đầu, ngày kết thúc, ngày học trong tuần, số lượng sinh viên
3 Giáo viên nhập các thông tin vào biểu mẫu
4 Hệ thống kiểm tra thông tin được nhập và cập nhật thông tin vào cơ sở dữ liệu
5 Hệ thống thông báo thành công
Tiền điều kiện Giáo viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Giáo viên xóa lớp học thành công
Chuỗi sự kiện chính:
1 Trên màn hình danh sách lớp học, giáo viên chọn lớp học bất kì muốn xóa
2 Hệ thống hiển thị thông báo “Are you want to delete course?”
3 Giáo viên click chọn Ok
4 Hệ thống xóa lớp học trong cơ sở dữ liệu và thông báo thành công
Ngoại lệ:
Bảng 21: Kịch bản xóa giáo viên
- Kịch bản thêm sinh viên cho lớp học
Tiền điều kiện Giáo viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Giáo viên thêm sinh viên cho lớp học thành công
Chuỗi sự kiện chính:
1 Trên màn hình danh sách lớp học, giáo viên chọn lớp học muốn thêm sinh viên
2 Hệ thống hiển thị màn hình thêm thêm sinh viên vào lớp học viên với các trường
mã sinh viên, tên sinh viên
3 Giáo viên nhập thông tin mã sinh viên hoặc tên sinh viên và click search
4 Danh sách các sinh viên có kết quả tìm kiếm hiển thị
5 Giáo viên chọn sinh viên muốn thêm vào
Trang 286 Hệ thống thêm sinh viên của lớp học vào cơ sở dữ liệu và thông báo thành công Ngoại lệ:
Bảng 22: Kịch bản thêm sinh viên cho lớp học
- Kịch bản xóa sinh viên của lớp học
Tiền điều kiện Giáo viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Giáo viên xóa sinh viên của lớp học thành công
Chuỗi sự kiện chính:
1 Trên màn hình danh sách lớp học, giáo viên chọn lớp học muốn xóa sinh viên
2 Hệ thống hiển thị màn hình danh sách sinh viên của lớp học
3 Giáo viên chọn sinh viên bất kì muốn xóa
4 Hệ thống hiển thị thông báo “Are you want to remove student of course?”
5 Giáo viên chọn Ok
6 Hệ thống xóa sinh viên của lớp học trong cơ sở dữ liệu và thông báo thành công Ngoại lệ:
Bảng 23: Kịch bản xóa sinh viên của lớp học
- Kịch bản sinh viên tham gia kiểm tra
Tiền điều kiện Sinh viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Sinh viên làm bài kiểm tra thành công
Chuỗi sự kiện chính:
1 Trên màn hình chính sinh viên chọn chức năng làm bài kiểm tra
2 Hệ thống hiển thị bài kiểm tra đã được giao bởi giáo viên
3 Sinh viên click start exam
4 Hệ thống hiển thị danh sách các câu hỏi của bài kiểm tra
5 Sinh viên chọn đáp án của từng câu hỏi và chọn submit
6 Hệ thống thông báo “Are you want to submit?”
7 Sinh viên click Ok
8 Hệ thống kiểm tra kết quả, lưu kết quả kiểm tra vào cơ sở dữ liệu và thông báo kết quả cho sinh viên
Ngoại lệ:
Trang 29Kịch bản xem lịch sử kiểm tra
Tiền điều kiện Sinh viên đã đăng nhập vào hệ thống thành công
Đảm bảo thành công Sinh viên xem lịch sử kiểm tra thành công
Chuỗi sự kiện chính:
1 Trên màn hình chính sinh viên chọn chức năng xem lịch kiểm tra
2 Hệ thống hiển thị danh sách các bài kiểm tra đã làm
3 Sinh viên click bài kiểm tra muốn xem chi tiết
4 Hệ thống hiển thị chi tiết các câu hỏi và đáp án lựa chọn của sinh viên
Ngoại lệ:
Bảng 25: Kịch bản xem lịch sử kiểm tra
Trang 302.6 Biểu đồ lớp phân tích
Hình 9: Biểu đồ lớp phân tích
Trang 31Chương tiếp theo sẽ đi sâu vào phân tích hệ thống website luyện thi trắc nghiệm trực tuyến.