ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM 🙡🕮🙣 BÁO CÁO ĐỒ ÁN 1 Đề tài XÂY DỰNG WEBSITE LUYỆN THI ĐẠI HỌC Giáo viên hướng dẫn: Th.S Huỳnh Hồ Thị Mộng Trinh Nhóm thực hiện: Lê Xuân Tùng – 18521616 Nguyễn Thanh Tuấn – 18521604 Thành phố Hồ Chí Minh, Tháng 7 năm 2021 MỤC LỤC LỜI NÓI ĐẦU. GIỚI THIỆU BÀI TOÁN CẦN GIẢI QUYẾT, MÔ TẢ QUY TRÌNH THỰC HIỆN CÁC CÔNG VIỆC CHÍNH . Bài toán cần giải quyết . Quy trình thực hiện. XÁC ĐỊNH VÀ MÔ HÌNH HOÁ YÊU CẦU. Phân loại các yêu cầu phần mềm. Sơ đồ lớp mức phân tích. THIẾT KẾ HỆ THỐNG. Kiến trúc hệ thống. Mô tả thành phần trong hệ thống. THIẾT KẾ DỮ LIỆU. Danh sách các lược đồ dữ liệu. Mô tả từng lược đồ. THIẾT KẾ GIAO DIỆN . Danh sách màn hình. Mô tả chi tiết mỗi màn hình. CÀI ĐẶT VÀ THỬ NGHIỆM. HƯỚNG PHÁT TRIỂN . TÀI LIỆU THAM KHẢO.40 LỜI NÓI ĐẦU Tài liệu này được tạo ra bởi yêu cầu của lớp SE121.L21, Trường Đại học Công nghệ Thông tin, Đại học Quốc gia Thành phố Hồ Chí Minh, học kỳ II năm học 2020-2021. Báo cáo này bao gồm các thông tin đến từ việc khảo sát và tham khảo các nền tảng về luyện thi đại học, các tài liệu thiết kế và đặc tả của một phần mềm sử dụng cho việc hỗ trợ hoạt động luyện thi đại học của các bạn học sinh nói trên bao gồm các sơ đồ Use-case, cơ sở dữ liệu, giao diện, … Cách đọc tài liệu: Nội dung của tài liệu được đưa vào các mục, được đánh số bắt đầu từ 1, chi tiết xem thêm tại mục lục. Chúng em cảm ơn cô Huỳnh Hồ Thị Mộng Trinh đã hỗ trợ và hướng dẫn để nhóm có thể hoàn thành tốt đồ án. GIỚI THIỆU BÀI TOÁN CẦN GIẢI QUYẾT, MÔ TẢ QUY TRÌNH THỰC HIỆN CÁC CÔNG VIỆC CHÍNH 1. Bài toán cần giải quyết - Xây dựng một website cho các học sinh hoặc một số người có nhu cầu luyện thi đại học - Xác định đối tượng thụ hưởng: + Người dùng: Toàn bộ học sinh, người dùng có nhu cầu luyện thi - Mục đích: Tạo ra một môi trường luyện thi thử một cách trực quan, hiệu quả nhất. Website cũng cập nhật cho các thí sinh một số đề thi, tài liệu hay, mới nhất và kinh nghiệm ôn luyện thi. Bên cạnh đó, website cũng cung cấp chatbot hỏi đáp về các thông tin tuyển sinh như điểm các năm, chỉ tiêu, các ngành, trường, … - Hình thức phát triển: Website - Công nghệ sử dụng: + Frontend: ReactJS + Backend: NodeJS, Express, MongoDB 2. Quy trình thực hiện - Hiện tại, đa số hoạt động ôn luyện thi đại học của các bạn học sinh đều là hình thức tự luyện thủ công, thường các bạn sẽ download đề thi và tự làm ra giấy và tự dò đáp án. Bên cạnh đó, việc tìm kiếm tài liệu, thông tin tuyển sinh cũng rất khó khăn. - Có một số ứng dụng, website luyện thi đã được phát triển, tuy nhiên mức độ trực quan và tiện lợi vẫn chưa cao, chỉ đơn thuần là upload tài liệu, đề thi và làm một số đề thi, bài tập, bởi vậy cũng chưa thu hút đông các bạn học sinh tham gia. - Để khắc phục được những vấn đề trên, chúng em đã thống nhất chọn đề tài Website luyện thi đại học. Với mong muốn cải thiện hơn những website, ứng 2 dụng hiện đang có, thu hút đông các bạn học sinh sử dụng và mang lại cho người dùng hiệu quả tốt nhất. - Website được xây dựng bao gồm các nội dung cơ bản: + Xem đề thi + Xem tài liệu + Xem bài chia sẻ kinh nghiệm ôn luyện thi + Đăng ký và tham gia thi thử các môn trắc nghiệm + Luyện tập giải bài tập trắc nghiệm các môn (có giải chi tiết) + Hiện thị phần trăm mức độ làm được câu hỏi dạng tương tự. + Hỏi đáp với chatbot về thông tin tuyển sinh + Quản lý thông tin cá nhân và xem thành tích - Các bước xây dựng website: [1] Xác định yêu cầu, mô hình hoá [2] Thiết kế hệ thống [3] Thiết kế dữ liệu [4] Thiết kế giao diện [5] Lập trình [6] Thử nghiệm và sửa lỗi [7] Phát hành website, bảo trì II. XÁC ĐỊNH VÀ MÔ HÌNH HOÁ YÊU CẦU 1. Phân loại các yêu cầu phần mềm 1. Danh sách các yêu cầu nghiệp vụ STT Nghiệp vụ Biểu mẫu Quy định 1 Lập phiếu đăng ký tài khoản BM1 2 Lập phiếu đăng ký thi thử BM2 3 Lập phiếu thêm đề thi BM3 3 4 Lập phiếu tạo đề thi thử BM4 5 Lập phiếu tạo bài tập trắc nghiệm BM5 6 Lập phiếu thêm tài liệu BM6 7 Lập phiếu thêm bài chia sẻ BM7 8 Báo cáo thống kê BM8 1. Biểu mẫu 1 Phiếu đăng ký tài khoản Họ tên: … Trường: … Email: … Tên tài khoản: … Mật khẩu: … Ảnh đại diện: … 1. Biểu mẫu 2 Phiếu đăng ký thi thử Môn thi: … Ngày: … Mã đề: … Họ tên thí sinh: … Thời gian làm bài: … Mô tả: … 1. Biểu mẫu 3 Phiếu thêm đề thi Tên đề thi Sở GD: … Môn thi: … Nguồn đề thi: … Ngày thêm: … Nội dung: … 1. Biểu mẫu 4 Phiếu tạo đề thi thử Môn thi: … Mã đề: … Nguồn đề thi: … Thời gian làm Ngày tạo: … Mô tả: … bài: … 4 Danh sách câu hỏi Câu Nội dung Đáp án … … … 1. Biểu mẫu 5 Phiếu tạo bài tập trắc nghiệm Môn học: … Chương: … Nguồn bài tập: … Ngày tạo: … Danh sách bài tập Bài Nội dung Đáp án (chi tiết) … … … 1. Biểu mẫu 6 Phiếu thêm tài liệu Tên tài liệu Môn học: … Nguồn tài liệu: … Ngày thêm: … Nội dung: … 1. Biểu mẫu 7 Phiếu thêm bài chia sẻ Tên bài chia sẻ Nguồn đăng: … Ngày thêm: … Hình minh hoạ:… Nội dung: … 1. Biểu mẫu 8 Thống kê lượt thi thử 5 Môn thi: … Mã đề: … Số lượng tham gia: … Bảng xếp hạng STT Tài khoản Số câu đúng … … … Thống kê danh sách người dùng Bảng xếp hạng STT Tài khoản Số đề thi thử đã Số bài tập đã làm làm … … … … 1. Quy định Không có 2. Sơ đồ lớp mức phân tích 3. THIẾT KẾ HỆ THỐNG 1. Kiến trúc hệ thống Mô hình Client-Server (Thin-Clent): - Lớp Client: Kết nối đến API và hiển thị giao diện người dùng. Cho phép người dùng nhập vào và xuất từ cơ sở dữ liệu tương ứng với quyền truy cập của người dùng khi có yêu cầu. - Lớp Server: Quản lý và chứa toàn bộ dữ liệu của phần mềm. Đồng thời xử lý các yêu cầu nhập/xuất được gửi xuống từ lớp Client. Ứng dụng được dùng làm lớp Server là Express. Mô tả thành phần trong hệ thống STT Thành phần Diễn giải 1 Giao diện người dùng Cung cấp giao diện cho người dùng thực hiện các thao tác nhập/xuất dữ liệu. Đồng thời trong quá trình sử dụng, thông báo cho người dùng khi có lỗi xảy ra. 2 Express Tiếp nhận các yêu cầu từ giao diện người dùng, kiểm tra tính đúng đắn của các ràng buộc và thực hiện yêu cầu nếu thỏa điều kiện. 3 Cơ sở dữ liệu Lưu trữ tất cả dữ liệu liên quan được sử dụng trong phần mềm. THIẾT KẾ DỮ LIỆU 1. Danh sách các lược đồ dữ liệu STT Tên Schema Diễn giải 8 1 Department_educations Sở giáo dục/ Đơn vị tổ chức 2 Chapters Chương 3 Done_exercises Bài tập đã làm 4 Done_tests Đề thi đã làm 5 Exercises Bài tập 6 Reference_docs Tài liệu tham khảo 7 Reference_tests Đề thi tham khảo 8 Roles Chức vụ 9 Shared_posts Bài chia sẻ 10 Subjects Môn học 11 Tests Đề thi 12 Universities Trường đại học 13 Users Người dùng 2.