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
Trang 1ĐẠ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
Trang 2MỤC LỤC
LỜI NÓI ĐẦU 1
I 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 2
1 Bài toán cần giải quyết 2
2 Quy trình thực hiện 2
II XÁC ĐỊNH VÀ MÔ HÌNH HOÁ YÊU CẦU 3
1 Phân loại các yêu cầu phần mềm 3
2 Sơ đồ lớp mức phân tích 6
3 Sơ đồ usecase 6
III THIẾT KẾ HỆ THỐNG 7
1 Kiến trúc hệ thống 7
2 Mô tả thành phần trong hệ thống 8
IV THIẾT KẾ DỮ LIỆU 8
1 Danh sách các lược đồ dữ liệu 8
2 Mô tả từng lược đồ 9
V THIẾT KẾ GIAO DIỆN 13
1 Danh sách màn hình 13
2 Mô tả chi tiết mỗi màn hình 16
VI CÀI ĐẶT VÀ THỬ NGHIỆM 39
VII HƯỚNG PHÁT TRIỂN 39
VIII TÀI LIỆU THAM KHẢO 40
Trang 3LỜ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
Trang 4I 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,
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
Trang 5dụ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á
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.1 Danh sách các yêu cầu nghiệp vụ
Trang 64 Lập phiếu tạo đề thi thử BM4
1.2 Biểu mẫu
1.2.1 Biểu mẫu 1
Phiếu đăng ký tài khoản
1.2.2 Biểu mẫu 2
Phiếu đăng ký thi thử
1.2.3 Biểu mẫu 3
Phiếu thêm đề thi
Tên đề thi
1.2.4 Biểu mẫu 4
Phiếu tạo đề thi thử
Thời gian làm bài: …
Trang 7Danh sách câu hỏi
1.2.5 Biểu mẫu 5
Phiếu tạo bài tập trắc nghiệm
Phiếu thêm tài liệu
Tên tài liệu
Nội dung: …
1.2.7 Biểu mẫu 7
Phiếu thêm bài chia sẻ
Tên bài chia sẻ
Nội dung: …
1.2.8 Biểu mẫu 8
Thống kê lượt thi thử
Trang 8Môn thi: … Mã đề: … Số lượng tham gia:
… Bảng xếp hạng
Trang 9III 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
Trang 102 Mô tả thành phần trong hệ thống
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
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
trong phần mềm
IV THIẾT KẾ DỮ LIỆU
1 Danh sách các lược đồ dữ liệu
Trang 111 Department_educations Sở giáo dục/ Đơn vị tổ chức
Lược đồ chapters
Lược đồ done_exercises
Trang 12STT Trường dữ liệu Kiểu dữ liệu Ghi chú
Lược đồ done_tests
Lược đồ exercises
đề bài tập
chọn
Trang 131 _id ObjectId Mã tài liệu
Lược đồ reference_tests
Lược đồ roles
chức vụ này
Lược đồ shared_posts
Trang 14STT Trường dữ liệu Kiểu dữ liệu Ghi chú
Lược đồ subjects
Lược đồ tests
Lược đồ universities
Trang 152 Name String Tên trường
nhất
năm (từ năm 2018)
Lược đồ users
hoá
V THIẾT KẾ GIAO DIỆN
1 Danh sách màn hình
Trang 16STT Tên màn hình Ý nghĩa/Ghi chú Độ phức tạp
dung trang web
3
môn học có trong bộ câu hổi luyện tập
1
chương tương ứng với từng môn học
1
phương án mà người dùng phải chọn
2
Trang 177 Đăng ký thi thử Hiển thị form đăng ký
thi thử để người dùng điền vào
3
thi thử mà người dùng phải làm
2
sinh và điểm chuẩn từng ngành của các trường đại học
1
bản của tài khoản
2
bản của tài khoản
2
những tài liệu tham khảo được chia sẻ
2
những Bài chia sẻ kinh nghiệm được chia sẻ
2
Trang 1817 Đề thi thử Hiển thị chi tiết đề thi
mục chính của trang Web
Trang 193 Mật khẩu Textbox Nhập vào mật khẩu
nhập với tài khoản và mật khẩu đã nhập
nhập bằng tài khoản Google
nhập bằng tài khoản Facebook
hình Đăng nhập và màn hình Đăng ký
2.2 Màn hình Đăng ký
2.2.1 Hình chụp của màn hình
Trang 202.2.2 Mô tả cách sử dụng và xử lý
nhập bằng tài khoản Google
nhập bằng tài khoản Facebook
nhập
Trang 217 Mật khẩu Textbox Điền vào mật khẩu đăng
nhập
cách điền lại mật khẩu 1 lần nữa
đại diện của tài khoản
tài khoản
2.3 Màn hình Trang chủ
2.3.1 Hình chụp của màn hình
Trang 232.3.2 Mô tả cách sử dụng và xử lý
nhất
nhất vừa được tải lên
biến
khảo mới nhất vừa được tải lên
thịnh hành
có lượt xem cao
danh sách muốn xem đầy
đủ
2.4 Màn hình Danh sách môn học
2.4.1 Hình chụp của màn hình
Trang 242.4.2 Mô tả cách sử dụng và xử lý
học để người dùng lựa chọn Người dùng có thể click vào môn học mà mình muốn làm bài
2.5 Màn hình Danh sách chương
2.5.1 Hình chụp của màn hình
2.5.2 Mô tả cách sử dụng và xử lý
chương có trong môn học
đã được lựa chọn trước đó Người dùng có thể click vào chương mà mình muốn
2.6 Màn hình Bài tập
Trang 25có thể lựa chọn đáp án mà mình nghĩ là chính xác
thành bài tập hiện tại để
Trang 26chuyển sang bài tập tiếp theo
bài tập phía trên sau khi hoàn thành bài tập trên
2.7 Màn hình Đăng ký thi thử
2.7.1 Hình chụp của màn hình
2.7.2 Mô tả cách sử dụng và xử lý
muốn đăng ký thi
Trang 272 Mã đề thi Combobox Click để chọn mã đề thi
muốn làm tương ứng với môn học đã chọn
dùng cũng như thông tin về
đề thi sắp làm
người dùng đã hoàn thành bài thi này với số điểm từ cao đến thấp
thi
đề thi đã làm tương ứng với môn học mình đã chọn bên cạnh
2.8 Màn hình Bài thi
2.8.1 Hình chụp của màn hình
Trang 282.8.2 Mô tả cách sử dụng và xử lý
đề thi và các phương án để người dùng chọn
thành bài thi
trong đề thi thử này và thời gian làm bài còn lại
2.9 Màn hình Tra cứu
Trang 292.9.1 Hình chụp của màn hình
2.9.2 Mô tả cách sử dụng và xử lý
sinh, trường Đại học
tra cứu muốn thực hiện: tra cứu điểm chuẩn hoặc tra cứu ngành học, tra cứu trường đại học
muốn
2.10 Màn hình Xem trang cá nhân
Trang 302.10.1 Hình chụp của màn hình
2.10.2 Mô tả cách sử dụng và xử lý
bản của tài khoản hiện tại đang đăng nhập
đổi và có thể click để chuyển đổi giữa các màn hình làm việc liên quan đến tài khoản
2.11 Màn hình Đổi mật khẩu
2.11.1 Hình chụp của màn hình
Trang 312.11.2 Mô tả cách sử dụng và xử lý
người dùng cần nhập
của tài khoản
muốn đổi thành
giống với mật khẩu phía trên 1 lần nữa để xác nhận
2.12 Màn hình Đổi thông tin cá nhân
2.12.1 Hình chụp của màn hình
Trang 322.12.2 Mô tả cách sử dụng và xử lý
người dùng muốn thay đổi
thành (nếu muốn)
đổi thành (nếu muốn)
hiện tại (nếu muốn)
thành cập nhật
2.13 Màn hình Tham khảo
2.13.1 Hình chụp của màn hình
Trang 332.14 Màn hình Danh sách Đề thi Thử
2.14.1 Hình chụp của màn hình
Trang 342.14.2 Mô tả cách sử dụng và xử lý
đề thi thử hiện có
thể nhập vào tên đề thi thử muốn tìm kiếm
thi theo môn học muốn tìm
Trang 354 Tỉnh, thành Combobox Click vào để lọc những đề
thi theo tỉnh, thành muốn tìm
thi theo năm muốn tìm
2.15 Màn hình Đề thi Thử
2.15.1 Hình chụp của màn hình
2.15.2 Mô tả cách sử dụng và xử lý
Trang 36STT Tên thành phần Loại Cách sử dụng
thử được chọn
lượt của các đề thi
Trang 371 Tài liệu tham khảo Hiển thị danh sách những
tài liệu tham khảo hiện có
thể nhập vào tên tài liệu tham khảo muốn tìm kiếm
liệu tham khảo theo môn học muốn tìm
liệu tham khảo theo năm muốn tìm
2.17 Màn hình Tài liệu tham khảo
2.17.1 Hình chụp của màn hình
Trang 382.17.2 Mô tả cách sử dụng và xử lý
liệu tham khảo được chọn
lượt của tài liệu
Trang 393 Tải xuống Button Click để tải về tài liệu đang
bài chia sẻ hiện có
thể nhập vào tên bài chia sẻ muốn tìm kiếm
chia sẻ theo năm muốn tìm
2.19 Màn hình Bài chia sẻ
2.19.1 Hình chụp của màn hình
Trang 412.19.2 Mô tả cách sử dụng và xử lý
sẻ
VI CÀI ĐẶT VÀ THỬ NGHIỆM
VII HƯỚNG PHÁT TRIỂN
- Xây dựng tính năng chatbot thay vì tra cứu thủ công
- Xây dựng trang quản lý dành cho admin
- Xây dựng tính năng tự động tạo đề thi từ bộ các câu hỏi có sẵn, đảm bảo không phát sinh đề thi trùng lặp
- Xây dựng thêm trang trao đổi liên quan đến đề thi, học tập, các vấn đề liên quan khác, … cho các bạn học sinh
- Xây dựng thêm tính năng đóng góp bài tập, đề thi dành cho các bạn học sinh, giáo viên muốn đóng góp phát triển thêm việc luyện thi
- Phát triển trên nền tảng Ứng dụng di động, nâng cao tính hiệu quả và tiện lợi cho các bạn học sinh
Trang 42VIII TÀI LIỆU THAM KHẢO
[1] https://reactjs.org/docs/getting-started.html
[2] https://stackoverflow.com/
[3] https://viblo.asia/
[4] https://medium.com/