Tải bản đầy đủ (.pdf) (42 trang)

ĐỒ án xây DỰNG WEBSITE LUYỆN THI đại học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.34 MB, 42 trang )

ĐẠ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 ............................................................................................................................ 1
I. GIỚI THIỆU BÀI TỐ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 tố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

THIẾT KẾ DỮ LIỆU ....................................................................................................... 8

IV.
1.

Danh sách các lược đồ dữ liệu .................................................................................................... 8


2.

Mô tả từng lược đồ .................................................................................................................... 9

THIẾT KẾ GIAO DIỆN .................................................................................................... 13

V.
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


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ể
hồn thành tốt đồ án.

1


I.

GIỚI THIỆU BÀI TỐ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 tố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 u cầu, mơ hình hố

[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 HỐ 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ụ
STT

Nghiệp vụ

Biểu mẫu

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

Quy định

3


1.2.

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

Biểu mẫu

1.2.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.2.2. 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.2.3. Biểu mẫu 3
Phiếu thêm đề thi
Tên đề thi
Sở GD: …

Môn thi: …

Ngày thêm: …

Nội dung: …

Nguồn đề thi: …

1.2.4. Biểu mẫu 4
Phiếu tạo đề thi thử
Môn thi: …


Mã đề: …

Thời gian làm Ngày tạo: …

Nguồn đề thi: …
Mô tả: …

bài: …
4


Danh sách câu hỏi
Câu

Nội dung

Đáp án







1.2.5. 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.2.6. 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.2.7. 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.2.8. 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.3.







Quy định
Khơng có

2. Sơ đồ lớp mức phân tích

3. Sơ đồ usecase

6


III.

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.

7


2. Mô tả thành phần trong hệ thống
STT Thành phần
Giao diện người dùng

1

Diễn giải
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.

Cơ sở dữ liệu

3

Lưu trữ tất cả dữ liệu liên quan được sử dụng
trong phần mềm.

IV.

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. Mô tả từng lược đồ
Lược đồ department_educations
STT

Trường dữ liệu

Kiểu dữ liệu

Ghi chú

1


_id

ObjectId

Mã đơn vị

2

Name

String

Tên đơn vị

Lược đồ chapters
STT

Trường dữ liệu

Kiểu dữ liệu

Ghi chú

1

_id

ObjectId


Mã chương

2

Name

String

Tên chương

3

SubjectId

String

Mã môn học

Lược đồ done_exercises
9


STT

Trường dữ liệu

Kiểu dữ liệu

Ghi chú


1

_id

ObjectId

Mã danh sách

2

userId

String

Mã người dùng

3

Exercises

Array

Danh sách bài tập

Lược đồ done_tests
STT

Trường dữ liệu

Kiểu dữ liệu


Ghi chú

1

_id

ObjectId

Mã danh sách

2

userId

String

Mã người dùng

3

Tests

Array

Danh sách đề thi

Lược đồ exercises
STT


Trường dữ liệu

Kiểu dữ liệu

Ghi chú

1

_id

ObjectId

Mã bài tập

2

Photos

Array

Danh sách các hình có trong
đề bài tập

3

Answers

Array

Danh sách các đáp án để lựa

chọn

4

chapterId

String

Mã chương

5

subjectId

String

Mã mơn

6

Content

String

Nội dung, đề bài

7

Key


String

Đáp án

8

Detail_key

String

Tên hình ảnh hiện thị đáp án
chi tiết

Lược đồ reference_docs
STT

Trường dữ liệu

Kiểu dữ liệu

Ghi chú
10


1

_id

ObjectId


Mã tài liệu

2

Name

String

Tên tài liệu

3

Subject

String

Tên môn học

4

From

String

Nguồn tài liệu

5

Photo


String

Tên ảnh minh hoạ

6

File

String

Tên file pdf

7

Views

Number

Lượt xem

Lược đồ reference_tests
STT

Trường dữ liệu

Kiểu dữ liệu

Ghi chú

1


_id

ObjectId

Mã đề thi

2

Name

String

Tên đề thi

3

Department_education String

Tên sở giáo dục

4

Subject

String

Tên môn

5


From

String

Nguồn đề thi

6

Photo

String

Tên ảnh minh hoạ

7

File

String

Tên file pdf

8

Views

Number

Lượt xem


Lược đồ roles
STT

Trường dữ liệu

Kiểu dữ liệu

Ghi chú

1

_id

ObjectId

Mã chức vụ

2

Name

String

Tên chức vụ

3

Users


Array

Danh sách người dùng mang
chức vụ này

Lược đồ shared_posts
11


STT

Trường dữ liệu

Kiểu dữ liệu

Ghi chú

1

_id

ObjectId

Mã bài chia sẻ

2

Name

String


Tên bài chia sẻ

3

Author

String

Tác giả

4

From

String

Nguồn bài viết

5

Photo

String

Tên ảnh minh hoạ

6

Content


String

Nội dung

7

Views

Number

Lượt xem

Lược đồ subjects
STT

Trường dữ liệu

Kiểu dữ liệu

Ghi chú

1

_id

ObjectId

Mã môn


2

Name

String

Tên môn

3

Photo

String

Tên logo hiện thị

Lược đồ tests
STT

Trường dữ liệu

Kiểu dữ liệu

Ghi chú

1

_id

ObjectId


Mã đề thi

2

Questions

Array

Danh sách câu hỏi

3

subjectId

String

Mã môn

4

Code

String

Mã đề

5

From


String

Nguồn tham khảo

6

Time_doing

Number

Thời gian làm bài

Lược đồ universities
STT

Trường dữ liệu

Kiểu dữ liệu

Ghi chú

1

_id

ObjectId

Mã trường
12



2

Name

String

Tên trường

3

Admission

String

Thông tin tuyển sinh mới
nhất

4

Majors

Array

Danh sách các ngành đào tạo

5

Base_mark


Array

Danh sách điểm chuẩn các
năm (từ năm 2018)

Lược đồ users
STT

Trường dữ liệu

Kiểu dữ liệu

Ghi chú

1

_id

ObjectId

Mã người dùng

2

Name

String

Tên người dùng


3

Email

String

Địa chỉ email

4

Username

String

Tên tài khoản

5

School

String

Trường THPT

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á

V.

THIẾT KẾ GIAO DIỆN

1. Danh sách màn hình

13


STT

Tên màn hình

Ý nghĩa/Ghi chú

Độ phức tạp

1


Đăng nhập

Đăng nhập tài khoản

1

2

Đăng ký

Đăng ký tài khoản

1

3

Trang chủ

Hiển thị tóm tắt nội

3

dung trang web.
4

Danh sách môn học

Hiển thị danh sách các


1

môn học có trong bộ
câu hổi luyện tập.
5

Danh sách chương

Hiển thị danh sách các

1

chương tương ứng với
từng môn học.
6

Bài tập

Hiển thị bài tập và các

2

phương án mà người
dùng phải chọn.

14


7


Đăng ký thi thử

Hiển thị form đăng ký

3

thi thử để người dùng
điền vào.
8

Bài thi

Hiển thị nội dung bài

2

thi thử mà người dùng
phải làm
9

Tra cứu

Tra cứu thông tin tuyển 1
sinh và điểm chuẩn
từng ngành của các
trường đại học

10

Xem trang cá nhân


Hiển thị thông tin cơ

2

bản của tài khoản
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ơ

1

bản của tài khoản
13

Tham khảo

Hiển thị danh sách

1

những mục tham khảo

có trên hệ thống
14

Danh sách Đề thi thử

Hiển thị danh sách

2

những đề thi thử được
chia sẻ
15

Danh sách Tài liệu tham khảo Hiển thị danh sách

2

những tài liệu tham
khảo được chia sẻ
16

Danh sách Bài chia sẻ

Hiển thị danh sách

2

những Bài chia sẻ kinh
nghiệm được chia sẻ


15


17

Đề thi thử

Hiển thị chi tiết đề thi

1

thử
18

Tài liệu tham khảo

Hiển thị chi tiết tài liệu

1

tham khảo
19

Bài chia sẻ

Hiển thị chi tiết Bài

1

chia sẻ


2. Mô tả chi tiết mỗi màn hình
2.1. Màn hình Đăng nhập
2.1.1. Hình chụp của màn hình

2.1.2. Mô tả cách sử dụng và xử lý
STT
1

Tên thành phần

Loại

Cách sử dụng
Dùng để di chuyển giữa các

Thanh Headerbar

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
16


3


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
Facebook

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ý

2.2. Màn hình Đăng ký
2.2.1. Hình chụp của màn hình

17


2.2.2. Mô tả cách sử dụng và xử lý
STT
1

Tên thành phần
Đăng nhập bằng Google

Loại
Button


Cách sử dụng
Click để tiến hành đăng
nhập bằng tài khoản Google

2

Đăng nhập bằng Facebook Button

Click để tiến hành đăng
nhập bằng tài khoản
Facebook

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

5


Email

Textbox

Điền vào email

6

Trường

Textbox

Điền vào tên trường hiện tại

18


7

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ật khẩ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

2.3. Màn hình Trang chủ
2.3.1. Hình chụp của màn hình

19



20


2.3.2. Mô tả cách sử dụng và xử lý
STT
1

Tên thành phần

Loại

Cách sử dụng

Danh sách Đề thi mới

List

Hiển thị những đề thi mới
nhất vừa được tải lên

nhất
2

Danh sách tài liệu phổ

List

Hiển thị những tài liệu tham
khảo mới nhất vừa được tải


biến

lên
3

Danh sách Bài chia sẻ

List

có lượt xem cao

thịnh hành
4

Xem tất cả

Hiển thị những bài chia sẻ

Button

Click để đi đến màn hình
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

21



2.4.2. Mô tả cách sử dụng và xử lý
STT
1

Tên thành phần
Danh sách các môn học

Loại
List

Cách sử dụng
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.

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ý
STT
1

Tên thành phần
Danh sách các chương

Loại
List


Cách sử dụng
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

2.6. Màn hình Bài tập
22


2.6.1. Hình chụp của màn hình

2.6.2. Mơ tả cách sử dụng và xử lý
STT
1

Tên thành phần
Danh sách bài tập

Loại
Button

Cách sử dụng
Click để mở ra danh sách
bài tập có thể làm trong
chương này

2


Nội dung

Hiển thị bài tập phải làm và
có thể lựa chọn đáp án mà
mình nghĩ là chính xác

3

Hồn thành

Button

Click để xác nhận hoàn
thành bài tập hiện tại để
23


×