- Mô tả bảng dữ liệu trong hệ thống
TT Tên cột 1 user_id 2 date_of_birth 3 email 4 full_name 5 username 6 password 7 tel 8 status 9 gender 10 address 11 role_id TT Tên cột 1 role_id 2 role_code 3 description TT Tên cột 1 course_id 2 name SVTH: Hồ Quốc Cường – D17CNPM5
3 start_date 4 end_date 5 date_of_week 6 number_student 7 activate 8 subject_id TT Tên cột 1 subject_id 2 subject_name 3 subject_code TT Tên cột 1 question_id 2 question_content 3 question_level 4 question_type 5 subject_id TT Tên cột 1 answer_id 2 answer_content 3 is_correct 4 question_id TT Tên cột 1 exam_id 2 exam_code 3 status 4 exam_name 5 limit_time 6 number_question 7 number_easy 8 number_normal 9 number_diffcult 10 time_start 11 time_finish SVTH: Hồ Quốc Cường – D17CNPM5
Đồ án tốt nghiệp Đại học 12 subject_id TT Tên cột 1 detail_exam_id 2 exam_id 4 question_id TT Tên cột 1 exam_course_id 2 course_id 3 exam_id TT Tên cột 1 detail_course_id 2 user_id 3 course_id TT Tên cột 1 result_test _id 2 user_id 3 exam_id 3.5 Kết luận
Trong chương này của hệ thống đã thực hiện bước thiết kế hệ thống website luyện thi trắc nghiệm trực tuyến. Tập trung xây dựng các biểu đồ tuần tự các chức năng của hệ thống, biểu đồ lớp thiết kết, lược đồ cơ sở dữ liệu và mơ tả chi tiết các bảng có trong cơ sở dự liệu.
Chương tiếp theo sẽ tập trung cài đặt các chức năng của hệ thống website luyện thi trắc nghiệm trực tuyến và kiểm thử các chức năng.
SVTH: Hồ Quốc Cường – D17CNPM5
CHƯƠNG 4: XÂY DỰNG VÀ KIỂM THỬ HỆ THỐNG 4.1 Kiến trúc hệ thống
- Trong đồ án này, em đã sử dụng kiến trúc MVC để xây dựng hệ thống website luyện thi trắc nghiệm trực tuyến.
- MVC viết tắt của Model – Views - Controllers. là một kiến trúc phần mềm hay mơ hình thiết kế được sử dụng trong kỹ thuật phần mềm. Kiến trúc MVC giúp cho các lập trình viên tách ứng dụng ra 3 thành phần khác nhau Model, View và Controller. Mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác.
Hình 36: Kiến trúc MVC
- Model là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý, truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý...
- View đảm nhận vai trị hiển thị thơng tin, tương tác với người dùng, nơi chứa tất cả các đối tượng GUI như textbox, images...
- Controller giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi đúng những phương thức xử lý.
- Khi sử dụng kiến trúc MVC sẽ mang lại các lợi ích sau:
• Tạo mơ hình chuẩn cho dự án, giúp cho việc tiếp cận với ứng dụng dễ dàng.
• Trình tự xử lý rõ ràng, nhiệm vụ riêng biệt, độc lập với các thành phần khác và các thành phần có thể tương tác được với nhau.
• Quy hoạch các thành phần riêng biệt giúp cho quá trình phát triển, quản lý, vận hành, bảo trì ứng dụng thuận lợi hơn, đồng thời dễ dàng kiểm soát được luồng xử lý của ứng dụng.
• Mơ hình triển khai rõ ràng, mạch lạc, xử lý nghiệp vụ tốt, dễ dàng triển khai các ứng dụng vừa.
SVTH: Hồ Quốc Cường – D17CNPM5
Đồ án tốt nghiệp Đại học Chương 4: Xây dựng và kiểm thử hệ thống
4.2 Một số giao diện của hệ thống
Hình 37: Giao diện danh sách câu hỏi
Giáo viên có thể xem danh sách các câu hỏi trong ngân hàng câu hỏi, danh sách câu hỏi có sử dụng phân trang. Trên màn hình danh sách câu hỏi, giáo viên có thể tìm kiếm câu hỏi theo nội dung câu hỏi. Giáo viên có thể chỉnh sửa hoặc xóa các câu hỏi bất kì bằng cách nhấn vào các nút tùy chọn. Khi giáo viên muốn thêm 1 câu hỏi mới có thể click vào nút “Add Question” và giao diện chi tiết câu hỏi sẽ hiện ra. Nếu giáo viên muốn import nhiều câu hỏi thì có thể chọn chức năng “Import câu hỏi từ file excel” thì hệ thống sẽ chuyển hướng đến giao diện import file excel.
SVTH: Hồ Quốc Cường – D17CNPM5
Hình 38: Giao diện import câu hỏi từ file excel
Tại giao diện Import câu hỏi từ file excel này, giáo viên sẽ chọn 1 file excel có các câu hỏi đã chuẩn bị từ trước, sau đó chọn mơn học tương ứng và click nút UPLOAD. Hệ thống sẽ lưu các câu hỏi trong file excel vào cơ sở dữ liệu và thơng báo có bao nhiêu câu hỏi được import thành cơng.
Hình 39: Giao diện chi tiết câu hỏi
Giao diện “chi tiết câu hỏi” sẽ hiển thị thông tin câu hỏi khi giáo viên chọn chức năng chỉnh sửa câu hỏi hoặc thêm mới câu hỏi. Sau khi nhập hoặc chỉnh sửa thông tin của câu hỏi thì click “Lưu thay đổi” hệ thống sẽ lưu lại câu hỏi. Giáo viên có thể chọn “Hủy” để quay trở về trang danh sách câu hỏi
Hình 40: Giao diện danh sách đề kiểm tra
SVTH: Hồ Quốc Cường – D17CNPM5
Đồ án tốt nghiệp Đại học Chương 4: Xây dựng và kiểm thử hệ thống Giáo viên có thể xem danh sách các đề kiểm tra đã tạo, danh sách đề kiểm tra có sử dụng phân trang. Trên màn hình danh sách đề kiểm tra, giáo viên có thể tìm kiếm đề kiểm tra theo tên. Giáo viên có thể chỉnh sửa hoặc xóa đề kiểm tra kiểm bất kì bằng cách nhấn vào các nút tùy chọn. Khi giáo viên muốn thêm 1 đề kiểm tra mới có thể click vào nút “Thêm đề thi” và giao diện chi tiết đề kiểm tra sẽ hiện ra. Nếu giáo viên muốn giao đề kiểm tra cho lớp học có thể click vào nút “+”.
Hình 41: Giao diện chi tiết đề kiểm tra
Tại giao diện “chi tiết đề kiểm tra”, giáo viên có thể random các câu hỏi theo môn học cho đề kiểm tra hoặc thêm từng câu hỏi, có thể xóa câu hỏi trong đề kiểm tra. Sau khi chọn được bộ câu hỏi, giáo viên, nhập thông tin về thời gian, tên của đề kiểm tra và chọn tạo đề thi thì hệ thống sẽ kiểm tra thông tin và lưu đề kiểm tra vào cơ sở dữ liệu.
SVTH: Hồ Quốc Cường – D17CNPM5
Hình 42: Giao diện danh sách lớp học
Giáo viên có thể xem danh sách các lớp học đã tạo, danh sách lớp học có sử dụng phân trang. Trên màn hình danh sách lớp học, giáo viên có thể tìm kiếm lớp học theo tên lớp. Giáo viên có thể chỉnh sửa hoặc xóa lớp học bất kỳ bằng cách nhấn vào các nút tùy chọn. Khi giáo viên muốn thêm 1 lớp học mới có thể click vào nút “Thêm lớp học” và giao diện “chi tiết thơng tin lớp học” sẽ hiện ra.
Hình 43: Giao diện chi tiết thơng tin lớp học
Giao diện “chi tiết thông tin lớp học” sẽ hiển thị thông tin của lớp học khi giáo viên chọn chức năng chỉnh sửa hoặc thêm mới lớp học. Sau khi nhập hoặc chỉnh sửa thơng tin của lớp học thì click “Lưu thay đổi” hệ thống sẽ lưu lại lớp học. Giáo viên có thể chọn “Hủy” để quay trở về trang danh sách lớp học.
SVTH: Hồ Quốc Cường – D17CNPM5
Đồ án tốt nghiệp Đại học Chương 4: Xây dựng và kiểm thử hệ thống
Hình 44: Giao diện danh sách sinh viên của lớp học
Giáo viên có thể xem danh sách sinh viên theo lớp học, danh sách sinh viên theo lớp học có sử dụng phân trang. Trên màn hình danh sách sinh viên theo lớp học, giáo viên có thể chọn các lớp học muốn xem hoặc tìm kiếm sinh viên theo tên. Giáo viên có thể xóa sinh viên bất kỳ khỏi lớp học bằng cách nhấn vào nút tùy chọn. Khi giáo viên muốn thêm 1 sinh viên vào lớp học đã chọn có thể click vào nút “Thêm sinh viên” và giao diện “thêm sinh viên vào lớp học” sẽ hiện ra.
Hình 45: Giao diện thêm sinh viên vào lớp học
Trên giao diện “Thêm sinh viên vào lớp học” giáo viên có thể search sinh viên theo mã sinh viên hoặc theo tên. Sau khi sẽ chọn đúng sinh viên muốn thêm vào lớp và click “Lưu thay đổi” để cập nhật thông tin vào cơ sở dữ liệu. Giáo viên có thể chọn “Hủy” để quay trở về trang danh sách lớp học.
SVTH: Hồ Quốc Cường – D17CNPM5
Hình 46: Giao diện danh sách các bài kiểm tra của lớp học
Giáo viên có thể xem danh sách các đề kiểm tra theo lớp học, danh sách các đề kiểm tra theo lớp học có sử dụng phân trang. Trên màn hình danh sách đề kiểm tra theo lớp học, giáo viên chọn các lớp muốn xem hoặc xem chi tiết 1 đề kiểm tra bất kì hoặc xóa đề kiểm tra của lớp học đó bằng cách nhấn vào các nút tùy chọn. Khi giáo viên muốn thêm 1 đề thi lớp học đã chọn có thể click vào nút “Thêm đề thi”.
Hình 47: Giao diện danh sách sinh viên
Admin có thể xem danh sách sinh viên có trong hệ thống, danh sách sinh viên có sử dụng phân trang. Trên màn hình danh sách sinh viên, admin có thể tìm kiếm sinh viên theo tên, xem chi tiết hoặc xóa một sinh viên bất kì khỏi hệ thống bằng cách nhấn vào các tùy chọn. Khi admin muốn thêm 1 sinh viên vào hệ thống thì sẽ chọn “Thêm sinh viên” và giao diện “chi tiết thông tin sinh viên” sẽ hiện ra.
SVTH: Hồ Quốc Cường – D17CNPM5
Đồ án tốt nghiệp Đại học Chương 4: Xây dựng và kiểm thử hệ thống
Hình 48: Giao diện chi tiết thơng tin sinh viên
Giao diện “chi tiết thông tin sinh viên” sẽ hiển thị thông tin của sinh viên khi admin chọn chức năng chỉnh sửa hoặc thêm mới sinh viên. Sau khi nhập hoặc chỉnh sửa thông tin của sinh viên thì click “Lưu thay đổi” hệ thống sẽ lưu lại thơng tin của sinh viên. Admin có thể chọn “Hủy” để quay trở về trang danh sách sinh viên.
SVTH: Hồ Quốc Cường – D17CNPM5
Hình 49: Giao diện chi tiết bài kiểm tra của sinh viên
Khi sinh viên chọn chức năng làm bài kiểm tra và chọn bài kiểm tra tương ứng thì giao diện “chi tiết bài kiểm tra của sinh viên” sẽ hiện ra. Tại đây, sinh viên sẽ chọn các đáp án phù hợp và nộp bài. Sau khi nộp bài hệ thống sẽ kiểm tra kết quả và thơng báo kết quả cho sinh viên.
Hình 50: Giao diện xem lịch sử các bài kiểm tra của sinh viên
SVTH: Hồ Quốc Cường – D17CNPM5
Đồ án tốt nghiệp Đại học Chương 4: Xây dựng và kiểm thử hệ thống Khi sinh viên chọn chức năng xem lịch sử bài kiểm tra thì giao diện “lịch sử các bài kiểm tra của sinh viên” sẽ hiện ra. Tại đây, sinh viên có thể chọn xem chi tiết kết quả để xem chi tiết các câu hỏi của bài kiểm tra.
4.3 Kết luận
Chương này trình bày về kiến trúc được sử dụng để xây dựng hệ thống website luyện thi trắc nghiệm trực tuyến. Thực hiện cài đặt các chức năng của hệ thống như: quản lý sinh viên, quản lý các lớp học sinh viên, quản lý ngân hàng câu hỏi, quản lý đề kiểm tra, sinh viên tham gia kiểm tra, xem lịch sử kiểm tra.
SVTH: Hồ Quốc Cường – D17CNPM5
KẾT LUẬN
Đồ án đã trình bày được các nội dung:
- Giới thiệu về hệ thống website luyện thi trắc nghiệm trực tuyến: Trình bày khái quát về nhu cầu thực tế của chuyển đổi số trong giáo dục hiện nay.
- Trình bày tổng quan về các cơng nghệ: Spring Boot, MySQL, JSP.
- Trình bày được quy trình phát triển phần mềm để xây dựng được hệ thống website luyện thi trắc nghiệm trực tuyến.
- Trong quá trình thực hiện đề tài, em đã tích luỹ thêm cho mình rất nhiều kinh nghiệm làm việc thực tế, nắm rõ hơn quy trình xây dựng một phần mềm theo từng bước phân tích, thiết kế. Từ đó áp dụng các kiến thức đã được học trên lớp vào trong công việc xây dựng một hệ thống hoàn chỉnh.
Do thời gian hạn hẹp cũng như khả năng của bản thân còn nhiều hạn chế nên hệ thống mới chỉ dừng lại ở các chức năng cơ bản, cịn nhiều chức năng chưa được hồn thiện, giao diện chưa được đẹp.
Trong tương lai, em sẽ phát triển các chức năng mới cho hệ thống, nâng cấp giao diện để gần gũi hơn với người dùng nhằm nâng cao trải nghiệm của người dùng với hệ thống.
SVTH: Hồ Quốc Cường – D17CNPM5
Đồ án tốt nghiệp Đại học Tài liệu tham khảo
Tài liệu tham khảo
[1] Giáo trình Phân tích và thiết kế Hệ Thống Thơng Tin, Học viện Cơng Nghệ Bưu Chính Viễn Thơng, 2015 - PGS-TS. Trần Đình Quế.
[2] Slide môn Công nghệ phần mềm, Học Viện Cơng Nghệ Bưu Chính Viễn Thơng - PGS-TS. Nguyễn Mạnh Hùng.
[3] https://www.w3schools.com/
[4] https://stackoverflow.com/questions
[5] https://spring.io/
SVTH: Hồ Quốc Cường – D17CNPM5