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 lu
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
Trang 2🙡🙡🙡
Trang 4BÁO CÁO ĐỒ ÁN 1
Trang 5Đề tài
Trang 6XÂY DỰNG WEBSITE LUYỆN THI ĐẠI HỌC
Trang 7Giá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
Trang 8Nguyễn Thanh Tuấn – 18521604
Trang 9Thành phố Hồ Chí Minh, Tháng 7 năm 2021
Trang 10MỤC LỤC
Trang 11LỜI NÓI ĐẦU 1
Trang 12I 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
Trang 131 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 14LỜI NÓI ĐẦU
Trang 15Tà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
Trang 16Bá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, …
Trang 17Cá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
Trang 18Chú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 191
Trang 20I 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
Trang 211 Bài toán cần giải quyết
Trang 22- 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
Trang 23- Xác định đối tượng thụ hưởng:
Trang 24+ 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 tintuyển sinh như điểm các năm, chỉ tiêu, các ngành, trường, …
Trang 25- Hình thức phát triển: Website
Trang 26- Công nghệ sử dụng:
Trang 27+ Frontend: ReactJS
Trang 28+ Backend: NodeJS, Express, MongoDB
Trang 292 Quy trình thực hiện
Trang 30- 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ìnhthứ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ấtkhó khăn
Trang 31- Có một số ứng dụng, website luyện thi đã được phát triển, tuy nhiên mức độ trựcquan và tiện lợi vẫn chưa cao, chỉ đơn thuần là upload tài liệu, đề thi và làmmộ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 thamgia
Trang 32- Để 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 332
Trang 34dụ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
Trang 35- Website được xây dựng bao gồm các nội dung cơ bản:
Trang 36+ Xem đề thi
Trang 37+ Xem tài liệu
Trang 38+ Xem bài chia sẻ kinh nghiệm ôn luyện thi
Trang 39+ Đăng ký và tham gia thi thử các môn trắc nghiệm
Trang 40+ Luyện tập giải bài tập trắc nghiệm các môn (có giải chi tiết)
Trang 41+ Hiện thị phần trăm mức độ làm được câu hỏi dạng tương tự
Trang 42+ Hỏi đáp với chatbot về thông tin tuyển sinh
Trang 43+ Quản lý thông tin cá nhân và xem thành tích
Trang 44- Các bước xây dựng website:
Trang 45[1] Xác định yêu cầu, mô hình hoá
Trang 46[2] Thiết kế hệ thống
Trang 47[3] Thiết kế dữ liệu
Trang 48[4] Thiết kế giao diện
Trang 49[5] Lập trình
Trang 50[6] Thử nghiệm và sửa lỗi
Trang 51[7] Phát hành website, bảo trì
Trang 52II XÁC ĐỊNH VÀ MÔ HÌNH HOÁ YÊU CẦU
Trang 531 Phân loại các yêu cầu phần mềm
Trang 541.1 Danh sách các yêu cầu nghiệp vụ
Trang 55STT 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
Trang 583
Trang 594 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
7 Lập phiếu thêm bài chia sẻ BM7
Trang 621.2 Biểu mẫu
Trang 631.2.1 Biểu mẫu 1
Trang 64Phiếu đăng ký tài khoản
Tên tài khoản: … Mật khẩu: … Ảnh đại diện: …
Trang 671.2.2 Biểu mẫu 2
Trang 68Phiếu đăng ký thi thử
Họ tên thí sinh: … Thời gian làm bài: … Mô tả: …
Trang 711.2.3 Biểu mẫu 3
Trang 72Phiếu thêm đề thi
Tên đề thi
Ngày thêm: … Nội dung: …
Trang 751.2.4 Biểu mẫu 4
Trang 76Phiếu tạo đề thi thử
Môn thi: … Mã đề: … Nguồn đề thi: …Thời gian làm
bài: …
Ngày tạo: … Mô tả: …
Trang 794
Trang 80Danh sách câu hỏi
Trang 831.2.5 Biểu mẫu 5
Trang 84Phiế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
Trang 871.2.6 Biểu mẫu 6
Trang 88Phiếu thêm tài liệu
Tên tài liệuMôn học: … Nguồn tài liệu: … Ngày thêm: …Nội dung: …
Trang 911.2.7 Biểu mẫu 7
Trang 92Phiế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: …
Trang 951.2.8 Biểu mẫu 8
Trang 96Thống kê lượt thi thử
Trang 995
Trang 100Môn thi: … Mã đề: … Số lượng tham
gia: …Bảng xếp hạng
Trang 103Thống kê danh sách người dùng
Bảng xếp hạngSTT Tài khoản Số đề thi thử đã
làm
Số bài tập đã làm
Trang 1061.3 Quy định
Trang 107Không có
Trang 1082 Sơ đồ lớp mức phân tích
Trang 1093 Sơ đồ usecase
Trang 1106
Trang 112III THIẾT KẾ HỆ THỐNG
Trang 1131 Kiến trúc hệ thống
Trang 114Mô hình Client-Server (Thin-Clent):
Trang 115- Lớp Client: Kết nối đến API và hiển thị giao diện người dùng Cho phép ngườidù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ườidùng khi có yêu cầu
Trang 116- 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ácyê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ớpServer là Express.
Trang 1177
Trang 1182 Mô tả thành phần trong hệ thống
Trang 119STT 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 Đồngthời trong quá trình sử dụng, thông báocho 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àngbuộc và thực hiện yêu cầu nếu thỏa điềukiệ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
Trang 122IV THIẾT KẾ DỮ LIỆU
Trang 1231 Danh sách các lược đồ dữ liệu
Trang 124STT Tên Schema Diễn giải
Trang 1278
Trang 1281 Department_educations Sở giáo dục/ Đơn vị tổ chức
3 Done_exercises Bài tập đã làm
6 Reference_docs Tài liệu tham khảo
7 Reference_tests Đề thi tham khảo
Trang 1312 Mô tả từng lược đồ
Trang 132Lược đồ department_educations
Trang 133STT Trường dữ liệu Kiểu dữ liệu Ghi chú
Trang 136Lược đồ chapters
Trang 137STT Trường dữ liệu Kiểu dữ liệu Ghi chú
Trang 140Lược đồ done_exercises
Trang 1419
Trang 142STT Trường dữ liệu Kiểu dữ liệu Ghi chú
Trang 145Lược đồ done_tests
Trang 146STT Trường dữ liệu Kiểu dữ liệu Ghi chú
Trang 149Lược đồ exercises
Trang 150STT Trường dữ liệu Kiểu dữ liệu Ghi chú
trong đề bài tập
3 Answers Array Danh sách các đáp án để
lựa chọn
8 Detail_key String Tên hình ảnh hiện thị đáp
án chi tiết
Trang 153Lược đồ reference_docs
Trang 154STT Trường dữ liệu Kiểu dữ liệu Ghi chú
Trang 15710
Trang 1581 _id ObjectId Mã tài liệu
Trang 161Lược đồ reference_tests
Trang 162STT Trường dữ liệu Kiểu dữ liệu Ghi chú
3 Department_education String Tên sở giáo dục
Trang 165Lược đồ roles
Trang 166STT Trường dữ liệu Kiểu dữ liệu Ghi chú
mang chức vụ này
Trang 169Lược đồ shared_posts
Trang 17011
Trang 171STT Trường dữ liệu Kiểu dữ liệu Ghi chú
Trang 174Lược đồ subjects
Trang 175STT Trường dữ liệu Kiểu dữ liệu Ghi chú
Trang 178Lược đồ tests
Trang 179STT Trường dữ liệu Kiểu dữ liệu Ghi chú
6 Time_doing Number Thời gian làm bài
Trang 182Lược đồ universities
Trang 183STT Trường dữ liệu Kiểu dữ liệu Ghi chú
Trang 18612
Trang 1872 Name String Tên trường
3 Admission String Thông tin tuyển sinh mới
Trang 190Lược đồ users
Trang 191STT Trường dữ liệu Kiểu dữ liệu Ghi chú
6 Avatar String Tên đường dẫn ảnh đại diện
7 Password String Mật khẩu người dùng đã
mã hoá
Trang 194V THIẾT KẾ GIAO DIỆN
Trang 1951 Danh sách màn hình
Trang 19613
Trang 198STT Tên màn hình Ý nghĩa/Ghi chú Độ phức tạp
1
5 Danh sách chương Hiển thị danh sách
các chương tươngứng với từng mônhọc
1
6 Bài tập Hiển thị bài tập và
các phương án mà người dùng phải chọn
2
Trang 20114
Trang 2027 Đăng ký thi thử Hiển thị form đăng
ký thi thử để người dùng điền vào
3
bài thi thử mà ngườidùng phải làm
2
tuyển sinh và điểm chuẩn từng ngành của các trường đại học
1
10 Xem trang cá nhân Hiển thị thông tin
cơ bản của tài khoản
2
11 Đổi mật khẩu Đổi mật khẩu tài khoản 1
12 Đổi thông tin cá nhân Thay đổi thông tin
cơ bản của tài khoản
1
13 Tham khảo Hiển thị danh sách
những mục tham khảo có trên hệ thống
1
14 Danh sách Đề thi thử Hiển thị danh sách
những đề thi thử được chia sẻ
2
15 Danh sách Tài liệu tham khảo Hiển thị danh sách
những tài liệu tham khảo được
2
Trang 203chia sẻ
16 Danh sách Bài chia sẻ Hiển thị danh sách
những Bài chia sẻ kinh nghiệm được chia sẻ
2
Trang 20615
Trang 20717 Đề thi thử Hiển thị chi tiết đề
thi thử
1
18 Tài liệu tham khảo Hiển thị chi tiết tài
liệu tham khảo
1
19 Bài chia sẻ Hiển thị chi tiết
Bài chia sẻ
1
Trang 2102 Mô tả chi tiết mỗi màn hình
Trang 2112.1 Màn hình Đăng nhập
Trang 2122.1.1 Hình chụp của màn hình
Trang 2132.1.2 Mô tả cách sử dụng và xử lý
Trang 214STT Tên thành phần Loại Cách sử dụng
1 Thanh Headerbar Dùng để di chuyển giữa
các mục chính của trang Web
2 Tên tài khoản Textbox Nhập vào tên tài khoản
Trang 21716
Trang 2183 Mật khẩu Textbox Nhập vào mật khẩu
4 Đăng nhập Button Click để tiến hành đăng
nhập với tài khoản và mật khẩu đã nhập
5 Đăng nhập bằng Google Button Click để tiến hành đăng
nhập bằng tài khoản Google
6 Đăng nhập bằng Facebook Button Click để tiến hành
đăng nhập bằng tài khoản
7 Đăng nhập, đăng ký Tab Click để chuyển giữa 2
màn hình Đăng nhập và màn hình Đăng ký
Trang 2212.2 Màn hình Đăng ký
Trang 2222.2.1 Hình chụp của màn hình
Trang 22317
Trang 2242.2.2 Mô tả cách sử dụng và xử lý
Trang 225STT Tên thành phần Loại Cách sử dụng
1 Đăng nhập bằng Google Button Click để tiến hành đăng
nhập bằng tài khoản Google
2 Đăng nhập bằng
Button Click để tiến hành
đăng nhập bằng tài khoản
3 Họ và tên Textbox Điền vào Họ và tên
4 Tên tài khoản Textbox Điền vào tên tài khoản
đăng nhập
6 Trường Textbox Điền vào tên trường hiện tại
Trang 22818
Trang 2297 Mật khẩu Textbox Điền vào mật khẩu
đăng nhập
8 Xác nhận mật khẩu Textbox Xác nhận lại mật khẩu
bằng cách điền lại mậtkhẩu 1 lần nữa
9 Avatar Button Click để lựa ảnh làm
ảnh đại diện của tài khoản
10 Đăng ký Button Click để tiến hành đăng
ký tài khoản
Trang 2322.3 Màn hình Trang chủ
Trang 2332.3.1 Hình chụp của màn hình
Trang 23419
Trang 23520
Trang 2362.3.2 Mô tả cách sử dụng và xử lý
Trang 237STT Tên thành phần Loại Cách sử dụng
1 Danh sách Đề thi
mới nhất
List Hiển thị những đề thi
mới nhất vừa được tải lên
2 Danh sách tài liệu
phổ biến
List Hiển thị những tài liệu
tham khảo mới nhất vừa được tải lên
3 Danh sách Bài chia
sẻ thịnh hành
List Hiển thị những bài chia
sẻ có lượt xem cao
4 Xem tất cả Button Click để đi đến màn
hình danh sách muốnxem đầy đủ
Trang 2402.4 Màn hình Danh sách môn học
Trang 2412.4.1 Hình chụp của màn hình
Trang 24221
Trang 2432.4.2 Mô tả cách sử dụng và xử lý
Trang 244STT Tên thành phần Loại Cách sử dụng
1 Danh sách các môn học List Hiển thị danh sách các
môn 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
Trang 2472.5 Màn hình Danh sách chương
Trang 2482.5.1 Hình chụp của màn hình
Trang 2492.5.2 Mô tả cách sử dụng và xử lý
Trang 250STT Tên thành phần Loại Cách sử dụng
1 Danh sách các chương List Hiển thị danh sách các
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
Trang 2532.6 Màn hình Bài tập
Trang 25422
Trang 2552.6.1 Hình chụp của màn hình
Trang 2562.6.2 Mô tả cách sử dụng và xử lý
Trang 257STT Tên thành phần Loại Cách sử dụng
1 Danh sách bài tập Button Click để mở ra danh
sách bài tập có thể làm trong chương này
và có thể lựa chọn đáp án
mà mình nghĩ là chính xác
3 Hoàn thành Button Click để xác nhận
hoàn thành bài tập hiện tại để
Trang 26023
Trang 261chuyển sang bài tập tiếp theo
4 Đáp án chi tiết Text Hiển thị lời giải chi tiết
cho bài tập phía trên sau khi hoàn thành bài tập trên
Trang 2642.7 Màn hình Đăng ký thi thử
Trang 2652.7.1 Hình chụp của màn hình
Trang 2662.7.2 Mô tả cách sử dụng và xử lý
Trang 267STT Tên thành phần Loại Cách sử dụng
1 Môn học Combobox Click để lựa chọn môn
học muốn đăng ký thi
Trang 27024
Trang 2712 Mã đề thi Combobox Click để chọn mã đề
thi muốn làm tương ứng với môn học đã chọn
3 Thẻ dự thi Text Hiển thị thông tin người
dùng cũng như thông tin
về đề thi sắp làm
4 Bảng xếp hạng Text Hiển thị danh sách
những người dùng đã hoàn thành bài thi này với số điểm từ cao đến thấp
5 Bắt đầu làm bài Button Click để tiến hành làm
bài thi
6 Bài thi đã làm Text Hiển thị danh sách những
đề thi đã làm tương ứng với môn học mình đã chọn bên cạnh
Trang 2742.8 Màn hình Bài thi
Trang 2752.8.1 Hình chụp của màn hình
Trang 27625
Trang 2772.8.2 Mô tả cách sử dụng và xử lý
Trang 278STT Tên thành phần Loại Cách sử dụng
1 Thẻ thi thử Text Hiển thị thông tin dự thi
2 Đề thi Text Hiển thị toàn bộ thông
tin đề thi và các phương
án để người dùng chọn
3 Hoàn thành Button Click để xác nhận
hoàn thành bài thi
4 Danh sách Câu hỏi Text Hiển thị số câu hỏi hiện
có trong đề thi thử này
và thời gian làm bài cònlại
Trang 2812.9 Màn hình Tra cứu
Trang 28226
Trang 2832.9.1 Hình chụp của màn hình
Trang 2842.9.2 Mô tả cách sử dụng và xử lý
Trang 285STT Tên thành phần Loại Cách sử dụng
1 Button điểm chuẩn,
tuyển sinh, trường Đại
học
Button Chuyển đổi giữa các mụ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
mong muốn
Trang 2882.10 Màn hình Xem trang cá nhân
Trang 28927
Trang 2902.10.1 Hình chụp của màn hình
Trang 2912.10.2 Mô tả cách sử dụng và xử lý
Trang 292STT Tên thành phần Loại Cách sử dụng
1 Thông tin cá nhân Text Hiển thị những thông tin
cơ bản của tài khoản hiệntại đang đăng nhập
2 Danh sách Tab Tabs Hiển thị những tabs
chuyển đổ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
Trang 2952.11 Màn hình Đổi mật khẩu
Trang 2962.11.1 Hình chụp của màn hình
Trang 29728
Trang 2982.11.2 Mô tả cách sử dụng và xử lý
Trang 299STT Tên thành phần Loại Cách sử dụng
1 Thay đổi mật khẩu Form Hiển thị những thông tin
mà người dùng cần nhập
2 Mật khẩu cũ Textbox Nhập vào mật khẩu hiện
tại của tài khoản
3 Mật khẩu mới Textbox Nhập vào mật khẩu mới
mà muốn đổi thành
4 Xác nhận mật khẩu Textbox Nhập lại mật khẩu mới
giống với mật khẩu phíatrên 1 lần nữa để xác nhận
5 Lưu thay đổi Button Click để xác nhận thay đổi
Trang 3022.12 Màn hình Đổi thông tin cá nhân
Trang 3032.12.1 Hình chụp của màn hình
Trang 30429
Trang 3052.12.2 Mô tả cách sử dụng và xử lý
Trang 306STT Tên thành phần Loại Cách sử dụng
1 Cập nhật thông tin cá
nhân
Form Hiển thị những thông tin
mà người dùng muốn thayđổi
2 Họ tên Textbox Nhập vào họ tên muốn
đổi thành (nếu muốn)
3 Trường Textbox Nhập vào tên trường
muốn đổi thành (nếu muốn)
4 Avatar Button Click để đổi ảnh đại
diện hiện tại (nếu muốn)
5 Cập nhật Button Click để xác nhận
hoàn thành cập nhật
Trang 3092.13 Màn hình Tham khảo
Trang 3102.13.1 Hình chụp của màn hình
Trang 31130
Trang 3122.13.2 Mô tả cách sử dụng và xử lý
Trang 313STT Tên thành phần Loại Cách sử dụng
1 Danh sách các mục tham
khảo
Hiển thị danh sách nhữngmục tham khảo Người dùng có thể click vào mục tham khảo mong muốn tìm hiểu
Trang 3162.14 Màn hình Danh sách Đề thi Thử
Trang 3172.14.1 Hình chụp của màn hình
Trang 31831
Trang 3192.14.2 Mô tả cách sử dụng và xử lý
Trang 320STT Tên thành phần Loại Cách sử dụng
những đề thi thử hiện có
2 Tìm kiếm Textbox Hỗ trợ tìm kiếm nhanh,
có thể nhập vào tên đềthi thử muốn tìm kiếm
3 Môn học Combobox Click vào để lọc những
đề thi theo môn học muốn tìm
Trang 32332
Trang 3244 Tỉnh, thành Combobox Click vào để lọc những
đề thi theo tỉnh, thànhmuốn tìm
đề thi theo năm muốn tìm
Trang 3272.15 Màn hình Đề thi Thử