3.1.21 Biểu đồ tuần tự chức năng thêm sinh viên vào lớp học
Hình 30: Biểu đồ tuần tự chức năng thêm sinh viên vào lớp học
Hình 31: Biểu đồ tuần tự chức năng xóa sinh viên của lớp học
3.1.23 Biểu đồ tuần tự chức năng làm bài kiểm tra
3.2 Sơ đồ lớp thiết kế
3.3 Lược đồ cơ sở dữ liệu
3.4 Mô tả các bảng cơ sở dữ liệu
- Các bảng trong cơ sở dữ liệu
TT Tên bảng Mô tả
1 User Thông tin của người dùng hệ thống
2 Subject Thông tin về các môn học
3 Course Thông tin về lớp học
4 Question Thông tin về câu hỏi
5 Answer Thông tin về đáp án của câu hỏi
6 Exam Thông tin về đề kiểm tra
7 Detail_Exam Thông tin về các câu hỏi của đề kiểm tra
8 Role Thơng tin về vai trị của người dùng hệ thống
9 Exam_Course Thông tin chi tiết về bài kiểm tra và lớp học 10 Detail_Course Thông tin chi tiết về sinh của lớp học
11 Result_Test Thông tin chi tiết kết quả kiểm tra cảu sinh viên
Bảng 26: Mô tả tổng quát các bảng trong cơ sở dữ liệu
- Mô tả bảng dữ liệu trong hệ thống
TT Tên cột Kiểu dữ liệu Mô tả
1 user_id INT Primary Key
2 date_of_birth DATE Ngày sinh
3 email VARCHAR(255) Email
4 full_name VARCHAR(255) Họ và tên
5 username VARCHAR(255) Tài khoản
6 password VARCHAR(255) Mật khẩu
7 tel VARCHAR(20) Số điện thoại
8 status INT Trạng thái hoạt động
9 gender VARCHAR(255) Giới tính
10 address VARCHAR(255) Địa chỉ
11 role_id INT Foreign Key
Bảng 27: Mô tả bảng User
TT Tên cột Kiểu dữ liệu Mô tả
1 role_id INT Primary Key
2 role_code VARCHAR(255) Mã vị trí
3 description VARCHAR(255) Mơ tả
Bảng 28: Mô tả bảng Role
TT Tên cột Kiểu dữ liệu Mô tả
3 start_date DATE Ngày bắt đầu
4 end_date DATE Ngày kết thúc
5 date_of_week INT Ngày học trong tuần
6 number_student INT Số lượng sinh viên
7 activate BIT Tình trạng lớp học
8 subject_id INT Foreign Key
Bảng 29: Mô tả bảng Course
TT Tên cột Kiểu dữ liệu Mô tả
1 subject_id INT Primary Key
2 subject_name VARCHAR(255) Tên môn học
3 subject_code VARCHAR(255) Mã môn học
Bảng 30: Mô tả bảng Subject
TT Tên cột Kiểu dữ liệu Mô tả
1 question_id INT Primary Key
2 question_content TEXT Nội dung câu hỏi
3 question_level INT Mức độ câu hỏi
4 question_type VARCHAR(255) Loại câu hỏi
5 subject_id INT Foreign Key
Bảng 31: Mô tả bảng Question
TT Tên cột Kiểu dữ liệu Mô tả
1 answer_id INT Primary Key
2 answer_content TEXT Nội dung đáp án
3 is_correct BIT Tính chính xác
4 question_id INT Foreign Key
Bảng 32: Mô tả bảng Answer
TT Tên cột Kiểu dữ liệu Mô tả
1 exam_id INT Primary Key
2 exam_code VARCHAR(255) Mã đề kiểm tra
3 status BIT Tình trạng đề kiểm tra
4 exam_name VARCHAR(255) Tên đề kiểm tra
5 limit_time INT Thời gian làm bài
6 number_question INT Số lượng câu hỏi
7 number_easy INT Số lượng câu hỏi dễ
8 number_normal INT Số lượng câu hỏi trung bình
9 number_diffcult INT Số lượng câu hỏi khó
12 subject_id INT Foreign Key
Bảng 33: Mô tả bảng Exam
TT Tên cột Kiểu dữ liệu Mô tả
1 detail_exam_id INT Primary Key
2 exam_id INT Foreign Key
4 question_id INT Foreign Key
Bảng 34: Mô tả bảng Detail_Exam
TT Tên cột Kiểu dữ liệu Mô tả
1 exam_course_id INT Primary Key
2 course_id INT Foreign Key
3 exam_id INT Foreign Key
Bảng 35: Mô tả bảng Exam_Course
TT Tên cột Kiểu dữ liệu Mô tả
1 detail_course_id INT Primary Key
2 user_id INT Foreign Key
3 course_id INT Foreign Key
Bảng 36: Mô tả bảng Detail_Course
TT Tên cột Kiểu dữ liệu Mô tả
1 result_test _id INT Primary Key
2 user_id INT Foreign Key
3 exam_id INT Foreign Key
Bảng 37: Mô tả bảng Result_Test
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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 hồ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.
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/