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

Đồ án xây dựng website cho trung tâm tư vấn và phát triển giáo dụ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 (4.2 MB, 78 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

ĐỒ ÁN 1

XÂY DỰNG WEBSITE CHO
TRUNG TÂM TƯ VẤN VÀ PHÁT TRIỂN GIÁO DỤC

GV HƯỚNG DẪN:

TS. Đỗ Thị Thanh Tuyền

SV THỰC HIỆN:

Lê Hoàng Quý

MÃ SỐ SINH VIÊN:

20520727

TP. HỒ CHÍ MINH, 2023


LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn chân thành nhất đến TS. Đỗ Thị Thanh
Tuyền, giảng viên đã hướng dẫn em trong bộ môn Đồ án 1. Trong quá trình học tập
và thực hiện đồ án, em đã nhận được sự quan tâm giúp đỡ, hướng dẫn rất tận tình,
tâm huyết của Cơ. Q trình thực hiện đồ án 1 là một quá trình đầy thử thách, địi hỏi
phải dành nhiều thời gian, cơng sức để nghiên cứu, tìm tịi và xây dựng. Vì thế, đây


cũng là cơ hội để em được rèn luyện, hoàn thiện bản thân bằng những kĩ năng tích
lũy được trong suốt q trình học. Chính nhờ những sự góp ý, động viên hết sức quý
báu không chỉ là động lực trong q trình thực hiện đồ án mơn học này mà cịn là
hành trang để em có thể vững bước sau này.
Do vốn kiến thức vẫn còn nhiều hạn chế và khả năng tiếp thu cịn nhiều giới
hạn, em khơng tránh khỏi có những thiếu sót. Em rất mong nhận được những góp ý,
sự quan tâm đến từ Cơ để đồ án của em được hoàn thiện hơn.
Lời cuối cùng, em xin chân thành cảm ơn Cơ và xin kính chúc Cô nhiều sức
khỏe, hạnh phúc và thành công trên con đường sự nghiệp giảng dạy.

30 tháng 06 năm 2023
Sinh viên

Lê Hoàng Quý


MỤC LỤC
ĐỀ CƯƠNG CHI TIẾT ........................................................................................ 6
Chương 1. TỔNG QUAN .................................................................................... 11
1.1. Tổng quan về đồ án: .................................................................................. 11
1.2. Trung tâm tư vấn và phát triển giáo dục .................................................... 11
1.3. Những vấn đề tồn tại và cần nghiên cứu .................................................... 12
1.4. Khảo sát .................................................................................................... 12
1.4.1. daykemtainha.vn ............................................................................... 12
1.4.2. lopmoi.giasutrithuc.net ...................................................................... 13
1.4.3. giasubaochau.net ............................................................................... 13
1.4.4. trungtamdaykem.com ........................................................................ 14
Chương 2. CƠ SỞ LÝ THUYẾT ........................................................................ 15
2.1. ASP.NET CORE 7 .................................................................................... 15
2.1.1. ASP.NET Core là gì? ........................................................................ 15

2.1.2. Lịch sử .............................................................................................. 15
2.2. Entity Framework Core ............................................................................. 16
2.2.1. Entity Framework Core là gì? ........................................................... 16
2.2.2. Lịch sử ra đời và các phiên bản ......................................................... 16
2.2.3. Tại sao lại sử dụng Entity Framework Core? ..................................... 17
2.3. Microsoft SQL Server ............................................................................... 17
2.4. Kiến trúc Clean Architecture ..................................................................... 18
2.4.1. Kiến trúc Clean Architecture là gì? ................................................... 18
2.4.2. Mơ hình Clean Architecture và các thành phần cấu tạo ..................... 18
2.4.2.1. Entities...................................................................................... 20
2.4.2.2. Use Cases ................................................................................. 20


2.4.2.3. Interface Adapters ..................................................................... 20
2.4.2.4. Frameworks & Drivers ............................................................. 21
Chương 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG ............................................ 22
3.1. Đối tượng và phạm vi nghiên cứu và lựa chọn giải pháp công nghệ .......... 22
3.1.1. Đối tượng nghiên cứu........................................................................ 22
3.1.2. Phạm vi nghiên cứu ........................................................................... 22
3.1.3. Lựa chọn giải pháp công nghệ ........................................................... 22
3.2. Kiến trúc hệ thống ..................................................................................... 23
3.2.1. Domain.Shared ................................................................................. 23
3.2.2. Domain ............................................................................................. 23
3.2.3. Application.Contracts........................................................................ 23
3.2.4. Application ....................................................................................... 24
3.2.5. Infrastructure..................................................................................... 24
3.2.6. WebApi/WebMvc ............................................................................. 24
3.3. Mơ hình Use Case ..................................................................................... 25
3.3.1. Sơ đồ Use Case ................................................................................. 25
3.3.2. Phân rã và đặc tả Use Case ................................................................ 26

3.3.2.1. Use Case “Xem thông tin lớp và gia sư” ................................... 26
3.3.2.2. Use Case “Đăng nhập”.............................................................. 33
3.3.2.3. Use Case “Đăng ký nhận lớp” ................................................... 39
3.3.2.4. Use Case “Yêu cầu tạo lớp mới” ............................................... 44
3.4. Sơ đồ mối quan hệ giữa các thực thể ......................................................... 49
3.5. Mô tả dữ liệu ............................................................................................. 50
3.5.1. Bảng User ......................................................................................... 50
3.5.2. Bảng Subject ..................................................................................... 51
3.5.3. Bảng Tutor ........................................................................................ 51


3.5.4. Bảng ClassInformation ...................................................................... 52
3.5.5. Bảng TutorMajor .............................................................................. 53
3.5.6. Bảng TutorVerificationInfo ............................................................... 53
3.5.7. Bảng Subscriber ................................................................................ 54
3.5.8. Bảng TutorReview ............................................................................ 54
3.5.9. Bảng RequestGettingClass ................................................................ 55
Chương 4. TRIỂN KHAI ỨNG DỤNG .............................................................. 56
4.1. Giao diện của Khách hàng ......................................................................... 56
4.1.1. Trang chủ .......................................................................................... 56
4.1.2. Trang danh sách các lớp mới ............................................................. 57
4.1.3. Trang chi tiết thông tin lớp học ......................................................... 58
4.1.4. Trang danh sách các gia sư ................................................................ 59
4.1.5. Trang chi tiết thông tin gia sư ............................................................ 60
4.1.6. Trang đăng nhập ............................................................................... 61
4.1.7. Trang đăng ký ................................................................................... 61
4.1.8. Trang yêu cầu tạo lớp ........................................................................ 62
4.1.9. Trang đăng ký làm gia sư .................................................................. 63
4.2. Giao diện của Quản lý ............................................................................... 64
4.2.1. Trang đăng nhập ............................................................................... 64

4.2.2. Trang dashboard ............................................................................... 65
4.2.3. Trang quản lý học viên ...................................................................... 66
4.2.4. Trang quản lý thông tin chi tiết của học viên ..................................... 66
4.2.5. Trang quản lý gia sư .......................................................................... 67
4.2.6. Trang quản lý thông tin chi tiết của gia sư ......................................... 67
4.2.7. Trang quản lý lớp học ....................................................................... 68
4.2.8. Trang quản lý thông tin chi tiết của lớp học....................................... 68


4.2.9. Trang quản lý các môn học ............................................................... 69
4.2.10. Trang khái quát thông tin cá nhân ................................................... 69
4.2.11. Trang chỉnh sửa thông tin cá nhân ................................................... 70
4.2.12. Trang đổi mật khẩu ......................................................................... 70
KẾT LUẬN .......................................................................................................... 71
❖ Ưu điểm và nhược điểm............................................................................... 71
➢ Ưu điểm ................................................................................................. 71
➢ Nhược điểm ........................................................................................... 71
❖ Kết quả đạt được.......................................................................................... 71
➢ Về mặt nghiên cứu ................................................................................. 71
➢ Về mặt sản phẩm.................................................................................... 72
❖ Hướng phát triển .......................................................................................... 72
TÀI LIỆU THAM KHẢO ................................................................................... 73


MỤC LỤC HÌNH ẢNH
Hình 2.1 The Clean Architecture By Robert C. Martin (Uncle Bob) [3][4]. ........ 19
Hình 2.2 The Clean Architecture Cone By Robert C. Martin (Uncle Bob) [3][4]. 19
Hình 3.1 Kiến trúc hệ thống................................................................................. 23
Hình 3.2 Sơ đồ Use Case mức tổng quát. ............................................................. 25
Hình 3.3 Use case “Xem thơng tin lớp và gia sư”. ............................................... 26

Hình 3.4 Use case “Đăng nhập”........................................................................... 33
Hình 3.5 Use case “Đăng ký nhận lớp”. ............................................................... 39
Hình 3.6 Use case “Yêu cầu tạo lớp mới”. ........................................................... 44
Hình 3.7 Tổng quan cơ sở dữ liệu. ....................................................................... 50
Hình 4.1 Trang chủ. ............................................................................................. 57
Hình 4.2 Trang danh sách các lớp học mới. ......................................................... 58
Hình 4.3 Trang chi tiết thơng tin lớp học. ............................................................ 59
Hình 4.4 Trang danh sách gia sư. ......................................................................... 60
Hình 4.5 Trang chi tiết thơng tin gia sư.............................................................. 61
Hình 4.6 Trang đăng nhập. .................................................................................. 62
Hình 4.7 Trang đăng ký. ...................................................................................... 62
Hình 4.8 Trang tạo yêu cầu lớp học mới. ............................................................. 63
Hình 4.9 Trang đăng ký làm gia sư. ..................................................................... 64
Hình 4.10 Trang đăng nhập (Admin). .................................................................. 65
Hình 4.11 Trang Home / Dashboard. ................................................................... 66
Hình 4.12 Trang quản lý học viên. ....................................................................... 67
Hình 4.13 Trang thơng tin chi tiết của học viên. .................................................. 67

1


Hình 4.14 Trang danh sách gia sư. ...................................................................... 68
Hình 4.15 Trang thơng tin chi tiết của gia sư. ..................................................... 68
Hình 4.16 Trang danh sách các lớp học. .............................................................. 69
Hình 4.17 Trang thơng tin chi tiết lớp học. .......................................................... 69
Hình 4.18 Trang quản lý các mơn học. ................................................................ 70
Hình 4.19 Trang khái qt thơng tin cá nhân. ...................................................... 70
Hình 4.20 Trang chỉnh sửa thơng tin cá nhân. ..................................................... 71
Hình 4.21 Trang đổi mật khẩu. ........................................................................... 71


2


MỤC LỤC BẢNG
Bảng 3.1 Danh sách Use-case “Xem thông tin lớp và gia sư”. ............................. 26
Bảng 3.2 Đặc tả Use-case “Xem các lớp đang cần gia sư”. .................................. 27
Bảng 3.3 Đặc tả Use-case “Xem thông tin chi tiết của lớp”. ................................ 27
Bảng 3.4 Đặc tả Use-case “Xem các gia sư của trung tâm”.................................. 28
Bảng 3.5 Đặc tả Use-case “Xem thông tin chi tiết của gia sư”. ............................ 28
Bảng 3.6 Đặc tả Use-case “Chat với tư vấn viên”. ............................................... 29
Bảng 3.7 Đặc tả Use-case “Quản lý các môn học”. .............................................. 30
Bảng 3.8 Đặc tả Use-case “Quản lý thông tin các lớp học”. ................................. 31
Bảng 3.9 Danh sách Use Case “Đăng nhập”. ....................................................... 33
Bảng 3.10 Đặc tả Use-case “Đăng ký”................................................................. 34
Bảng 3.11 Đặc tả Use-case “Đăng nhập”. ............................................................ 34
Bảng 3.12 Đặc tả Use-case “Quên mật khẩu”. ..................................................... 35
Bảng 3.13 Đặc tả Use-case “Đổi mật khẩu”. ........................................................ 36
Bảng 3.14 Đặc tả Use-case “Quản lý thông tin cá nhân”. ..................................... 37
Bảng 3.15 Đặc tả Use-case “Đăng xuất”. ............................................................. 38
Bảng 3.16 Danh sách Use-case “Đăng ký nhận lớp”. ........................................... 39
Bảng 3.17 Đặc tả Use-case “Đăng ký làm gia sư”................................................ 40
Bảng 3.18 Đặc tả Use-case “Yêu cầu nhận lớp”. ................................................. 41
Bảng 3.19 Đặc tả Use-case “Xem thông tin các lớp đang dạy”. ........................... 42
Bảng 3.20 Đặc tả Use-case “Xác thực thông tin gia sư”. ...................................... 43
Bảng 3.21 Danh sách Use-case “Yêu cầu tạo lớp mới”. ....................................... 44
Bảng 3.22 Đặc tả Use-case “Yêu cầu tạo lớp mới”. ............................................ 45

3



Bảng 3.23 Đặc tả Use-case “Yêu cầu gia sư cụ thể”. ........................................... 46
Bảng 3.24 Đặc tả Use-case “Xem thông tin các lớp đang học”. ........................... 47
Bảng 3.25 Đặc tả Use-case “Xác thực thông tin lớp học”. ................................... 48
Bảng 3.26 Mô tả bảng dữ liệu User. .................................................................... 49
Bảng 3.27 Mô tả bảng dữ liệu Subject. ................................................................ 51
Bảng 3.28 Mô tả bảng dữ liệu Tutor. ................................................................... 51
Bảng 3.29 Mô tả bảng dữ liệu ClassInformation. ................................................. 52
Bảng 3.30 Mô tả bảng dữ liệu TutorMajor. .......................................................... 53
Bảng 3.31 Mô tả bảng dữ liệu TutorVerificationInfo. .......................................... 53
Bảng 3.32 Mô tả bảng dữ liệu Subscriber. ........................................................... 54
Bảng 3.33 Mô tả bảng dữ liệu TutorReview. ....................................................... 54
Bảng 3.34 Mô tả bảng dữ liệu RequestGettingClass. ........................................... 55

4


TĨM TẮT ĐỒ ÁN
Giáo dục ln ln là mục tiêu hàng đầu, đóng vai trị là to lớn và khơng thể
thay thế trong xã hội hiện đại. Vì vậy, các trung tâm giáo dục ra đời nhằm định hướng
hỗ trợ các bạn học sinh, sinh viên có thể học tập và phát triển tốt hơn. Bên cạnh đó,
các trung tâm cũng liên tục nỗ lực phát triển, thích nghi và kết hợp với các khía cạnh
trong cơng nghệ thơng tin hiện đại ngày nay để có thể hồn thành tốt nhiệm vụ của
mình trong việc phát triển nền giáo dục. Do đó, việc xây dựng hệ thống và các ứng
dụng phần mềm hỗ trợ xử lý các nghiệp vụ của một trung tâm cũng cần có sự thiết kế
tốt. Website Trung tâm tư vấn và phát triển giáo dục được xây dựng dựa trên The
Clean Architecture với mục đích chính là hỗ trợ và xử lý các nghiệp vụ của một trung
tâm tư vấn và phát triển giáo dục với lối xây dựng kiến trúc hỗ trợ tốt cho việc kiểm
thử, bảo trì và mở rộng.
Báo cáo trình bày dưới đây bao gồm 5 chương chính bao gồm:
● Chương 1: Tổng quan: trình bày tổng quan về đồ án, giới thiệu về các trung

tâm tâm giáo dục, những vấn đề hiện tại và khảo sát các trung tâm đang có mặt trên
thị trường.
● Chương 2: Cơ sở lý thuyết: chương này đi sâu vào cơ sở lý thuyết liên quan
đến đề tài như công nghệ và kiến trúc liên quan.
● Chương 3: Phân tích thiết kế hệ thống: trình bày q trình phân tích và thiết
kế hệ thống qua các mơ hình use case và thiết kế cơ sở dữ liệu.
● Chương 4: Triển khai ứng dụng: trình bày các giao diện của hệ thống, bao
gồm phía administrator và customer.
● Chương 5: Kết luận: tổng kết các kết quả đạt được trong quá trình nghiên
cứu và đưa ra các kết luận tổng quát về đề tài.

5


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

ĐỀ CƯƠNG CHI TIẾT

TÊN ĐỀ TÀI: XÂY DỰNG WEBSITE CHO TRUNG TÂM TƯ VẤN VÀ PHÁT
TRIỂN GIÁO DỤC
Cán bộ hướng dẫn: TS. Đỗ Thị Thanh Tuyền
Thời gian thực hiện: Từ ngày 27/02/2023 đến ngày 17/06/2023

Sinh viên thực hiện: Lê Hoàng Quý – 20520727
Nội dung đề tài:
Lý do chọn đề tài:

1.

Ngày nay, cùng với sự phát triển của xã hội, giáo dục vẫn luôn được coi là một trong các
mấu chốt, khía cạnh quan trọng bậc nhất cho sự vững mạnh, phát triển của một đất nước.
Hiểu được xu hướng đầu tư cho giáo dục của các phụ huynh cùng với sự khó khăn trong
việc học tập và tìm hiểu kiến thức của các em học sinh, sinh viên, website cho trung tâm
tư vấn và phát triển giáo dục được nghiên cứu và phát triển nhằm hỗ trợ các em học
sinh, sinh viên tìm các gia sư phù hợp với nhu cầu, giúp các em có thể học và hiểu rõ hơn
những bài giảng, bài tập trên trường cũng như tìm hiểu sâu hơn các kiến thức nâng cao,
vận dụng… Mặt khác, website cũng sẽ hỗ trợ các gia sư tìm và kết nối được lớp học đúng
với chuyên môn một cách dễ dàng với chi phí phù hợp
2.
3.
-

Mục tiêu:
Cung cấp cho phụ huynh / học sinh một nền tảng để tìm kiếm các gia sư phù hợp
với nhu cầu.
Giúp trung tâm quản lý tốt hơn các lớp học, tăng tính hiệu quả và tiết kiệm thời gian
quản lý cũng như đảm bảo chất lượng lớp học.
Phạm vi:
Phạm vi môi trường: Triển khai trên website
Phạm vi chức năng:

6



+ Quản lý các lớp học và xác thực các tài khoản.
+ Tìm kiếm lớp dạy phù hợp với chuyên môn của người dùng.
+ Phụ huynh / học viên được tư vấn, đăng tin tìm lớp học.
4.
5.
-

-

Đối tượng sử dụng:
Phụ huynh / học sinh có nhu cầu tìm lớp học gia sư, tư vấn giáo dục.
Gia sư có nhu cầu tìm lớp dạy thêm.
Nhân viên trung tâm cần quản lý nhiều lớp học và tài khoản cá nhân của gia sư, học
viên.
Phương pháp thực hiện:
Phương pháp làm việc:
+ Làm việc thông qua phương thức online dưới sự hướng dẫn của giảng viên
hướng dẫn.
Phương pháp nghiên cứu:
+ Phân tích website của các trung tâm sẵn có như “Daykemtainha.vn”,
“Trungtamdaykem.vn”... để khảo sát những chức năng đã có và cần có cho
ứng dụng. Đưa ra các yêu cầu chức năng và phi chức năng.
+ Thu thập và phân tích nhu cầu sử dụng của đối tượng người dùng.
+ Nghiên cứu tài liệu các công nghệ liên quan, cập nhật các phiên bản mới và
ứng dụng chúng.
+ Xây dựng kiến trúc hệ thống.
+ Kiểm thử ứng dụng bằng các kĩ thuật như unit test, integration test.
+ Hồn thiện sản phẩm.


-

Nền tảng cơng nghệ:
Backend + Architecture: ASP.NET Core 7.0 applying The Clean Architecture,
Domain Driven Design, Module Architecture.
Front End + UI Frameworks: Bootstrap, ASP.NET Razor Page, HTML, CSS, JS,
Jquery, Ajax.
Database: EF Core 7.0, SQL Server.
FluentValidation, MediatR, Mapters.

-

Kết quả mong đợi:
Ứng dụng hoạt động và hỗ trợ tốt cho bên quản lý lớp học.
Hỗ trợ tốt cho việc tìm lớp / nhận lớp phù hợp với học viên và gia sư.

6.
-

7.

Kế hoạch thực hiện:

Giai đoạn

Thời gian

Công việc

7


Kết quả


- Đề xuất ý tưởng

Bàn bạc và lên ý tưởng
cho đồ án.

Xác định và phân 04/03/2023
đến
tích yêu cầu
11/03/2023

- Xác định danh sách
u cầu

Phân tích, xác định phạm
vi mơi trường, chức
năng… và mục tiêu của
dự án. Thiết kế và mơ
hình hóa yêu cầu.

Thiết kế

- Thiết kế dữ liệu

Khảo sát dự án

Cài đặt


27/02/2023
đến
03/03/2023

12/03/2023
đến
19/03/2023

- Phân tích, thiết kế
sơ đồ UML

- Thiết kế giao diện

Phân tích và thiết kế dữ
liệu, thiết kế giao diện
người dùng.

- Thiết kế, chia các
layer dựa theo kiến
trúc Clean
Architecture.

Thiết lập cơ sở dữ liệu,
phát triển các lớp đối
tượng. Thiết lập giao
diện và cài đặt các chức
năng liên quan.

- Cài đặt các

framework về
validation, automapper

Nghiên cứu và áp dụng
FluentValidation,
Mapster, MediatR vào
trong hệ thống.

12/04/2023
đến
19/04/2023

- Thiết lập cơ sở dữ
liệu.

Thiết lập cơ sở dữ liệu,
phát triển các lớp đối
tượng. Đồng thời cài đặt
ORM Entity Framework
Core.

20/04/2023
đến
27/04/2023

- Thiết lập giao diện.

28/04/2023
đến
12/05/2023


- Cài đặt chức năng
quản lý tài khoản gia
sư và học viên.

20/03/2023
đến
03/04/2023

04/04/2023
đến
11/04/2023

- Cài đặt ORM.

- Cài đặt bootstrap
theme.

8

Thiết lập giao diện, cài
đặt các theme,
components liên quan và
kiểm thử các thư viện js
của các component đó.
Hệ thống có thể hỗ chức
năng quản liên quan đến
quản lý các tài khoản
người dùng trong hệ



- Cài đặt chức năng
đăng nhập, đăng ký,
xác thực tài khoản,
tạo tài khoản cho
khách hàng.

thống, đặc biệt là tài
khoản gia sư (cẩn xác
thực thông tin).
Hệ thống hỗ trợ việc
đăng nhập, đăng ký tài
khoản và tạo tài khoản
cho khách hàng (gia sư,
phụ huynh, học viên…)

13/05/2023
đến
20/05/2023

- Cài đặt chức năng
quản lý các lớp học,
môn học.

Các chức năng liên quan
đến quản lý các lớp học,
môn học sẽ được thêm
vào hệ thống. Đồng thời
kiểm tra và cải thiện các
tương tác giữa tài khoản

gia sư / học viên với các
lớp học của tài khoản đó
(lớp đang dạy / lớp đang
học).

21/05/2023
đến
04/06/2023

- Thiết lập giao diện,
tìm kiếm và cài đặt
bootstrap theme cho
client-side website.

Tìm và cài đặt các theme
của bootstrap sao cho
phù hợp với website
dành cho khách hàng
(học viên, gia sư…).
Hệ thống có thể hỗ trợ
chức năng đăng nhập,
đăng ký cho các khách
hàng (không thông qua
nhân viên) và quản lý các
tài khoản, thông tin cá
nhân.

- Cài đặt chức năng
đăng nhập, đăng ký
cho gia sư và học

viên.
- Cài đặt chức năng
quản lý thông tin tài
khoản cho gia sư và
học viên.
05/06/2023
đến
12/06/2023

- Cài đặt chức năng
xem các lớp hiện tại
và nhận lớp cho gia
sư.
- Cài đặt chức năng

9

Hệ thống có thể hiện các
thông tin các lớp học,
trạng thái lớp học và
chức năng nhận lớp cho
gia sư. Bên cạnh đó,
khách hàng cũng có thể


theo dõi trạng thái
của lớp.
- Cài đặt chức năng
tạo lớp cho tài khoản
học viên / phụ

huynh.

theo dõi tình trạng các
lớp học của tài khoản.
Hệ thống hỗ trợ chức
năng tạo lớp cho phụ
huynh / học viên và chức
năng hỗ trợ tư vấn.

- Cài đặt chức năng hỗ
trợ tư vấn cho học
viên / phụ huynh.
Kiểm thử, bảo trì

12/06/2023
đến
17/06/2023

- Lập kế hoạch kiểm
thử

Hệ thống được gỡ lỗi và
thử nghiệm.

- Phân tích và thiết
kế test
- Kiểm chứng các
module chức năng

Chuẩn bị tài liệu 17/06/2023

về sau
báo cáo

- Chuẩn bị tài liệu
báo cáo
- Demo sản phẩm

Chuẩn bị các documents
còn thiếu liên quan, kiểm
thử lần cuối và chuẩn bị
demo.

Xác nhận của CBHD

TP. HCM, ngày 15 tháng 2 năm 2023

(Ký tên và ghi rõ họ tên)

Sinh viên
(Ký tên và ghi rõ họ tên)

Lê Hoàng Quý

Đỗ Thị Thanh Tuyền

10


Chương 1. TỔNG QUAN
Tổng quan về đồ án:


1.1.

1.1.1. Tên của đồ án: Xây dựng website cho trung tâm tư vấn và phát triển
giáo dục theo Clean Architecture
1.1.2. Link Github quản lý mã nguồn:
/>1.2.

Trung tâm tư vấn và phát triển giáo dục

Trung tâm tư vấn và phát triển giáo dục là các cơ sở trung tâm dạy kèm, là nơi
gia sư chuyên tập trung, chọn lọc, tạo nguồn, đào tạo, cung cấp, giới thiệu nhân sự
hoặc nhân sự có sẵn chuyên môn được đào tạo từ các trường ĐH sư phạm.
Ngày nay, các trung tâm về nhu cầu giáo dục ngày càng tăng, liên tục thay đổi
và phát triển để có thể đáp ứng mật thiết cho nhu cầu học tập và rèn luyện của các
học viên. Đặc biệt là qua giai đoạn đại dịch Covid-19, các trung tâm có xu hướng
chuyển sang mơ hình giới thiệu gia sư, giảng viên dạy kèm 1-1 theo hình thức online,
là cầu nối quan trọng đảm bảo các yêu cầu, chất lượng và tính hiệu quả cho lớp học.
Trung tâm tư vấn và phát triển giáo dục thường có các chức năng:
-

Chịu trách nhiệm phỏng vấn, quản lý chuyên môn và phương pháp giảng dạy
của người đi dạy.

-

Ghi danh nhu cầu học của học sinh và phụ huynh.

-


Điều phối, kết nối gia sư với phụ huynh học sinh.

-

Quản lý chất lượng, tiến độ hiệu quả, chất lượng của việc dạy và học.

-

Tư vấn và hướng dẫn các phụ huynh, học viên về phương pháp học tập và phát
triển.
Nhiệm vụ quan trọng nhất của trung tâm là trao đổi rõ ràng, minh bạch, công

khai những yêu cầu của phụ huynh về người gia sư để họ xem có phù hợp hoặc đủ

11


khả năng để dạy, đặc biệt là trách nhiệm trong việc giao lớp, gãy lớp, xử lý trục trặc
hoặc hoàn phí.
1.3.

Những vấn đề tồn tại và cần nghiên cứu

Cùng với sự phát triển vượt bậc trong thời đại công nghệ thông tin và các thiết
bị điện tử như điện thoại, máy tính bảng, máy tính cá nhân… thì việc học tập và rèn
luyện của các học viên cũng thay đổi theo. Học viên muốn có được mơi trường học
tập thuận tiện nhưng cũng phải đi kèm với chất lượng gia sư cùng với chuyên môn
sư phạm tốt. Nhu cầu học tập đa dạng và tăng lên một cách chóng mặt, buộc các trung
tâm cũng phải thay đổi để thích nghi với thời đại.
Trong vòng 4 năm gần đây, các trung tâm liên tục thay đổi và áp dụng công

nghệ thông tin vào mơ hình kinh doanh của họ như việc áp dụng fanpage trên các
trang mạng xã hội để quảng bá, chạy quảng cáo, tạo các website giới thiệu trung tâm,
tạo các web app hoặc ứng dụng điện thoại để hỗ trợ đa dạng nhu cầu của học viên…
Trong quá trình đó, việc thay đổi và liên tục cập nhật lại các phần mềm của hệ thống
mang một ý nghĩa to lớn và cần được thiết kế tỉ mỉ.
Qua đó, việc phát triển hệ thống của các trung tâm tư vấn và phát triển giáo
dục cần có sự đầu tư kỹ lưỡng về mặt thiết kế, kiến trúc và cài đặt nhằm tối ưu cho
sự mở rộng, phát triển và bảo trì hệ thống. Bên cạnh đó, các yếu tố trên cũng đảm bảo
được sự an tồn, bảo mật thơng tin và hạn chế các rủi ro về chi phí vận hành.
1.4.

Khảo sát

Hiện tại có rất nhiều các trung tâm hoạt động trên tồn quốc, trong đó Hà Nội
và Thành phố Hồ Chí Minh là nơi tập trung nhiều các trung tâm và uy tín nhất.
1.4.1. daykemtainha.vn
Daykemtainha.vn là một trong các trung tâm uy tín tại Thành phố Hồ Chí
Minh. Trung tâm cung cấp rất nhiều dịch vụ như tư vấn và hỗ trợ phụ huynh, học
viên về các môn học, ngành học, phương pháp và đăng tải các lớp học với nhu cầu
sát với nhu cầu thực tế của phụ huynh, học viên. Bên cạnh đó, trung tâm cũng hỗ trợ

12


tốt cho các người dùng có nhu cầu muốn đăng ký làm gia sư thông qua các thao tác
và đăng ký đầu vào.
Website Daykemtainha.vn là một website có lượng truy cập lớn hàng ngày,
được thiết kế với giao diện mới mẻ, bắt mắt và dễ dùng. Website quản lý các dạng
người dùng như học viên, phụ huynh, gia sư thông qua việc đăng ký tài khoản, đặc
biệt đối với gia sư thì trung tâm sẽ cần các thơng tin khác liên quan mật thiết đến

chuyên môn và đào tạo của gia sư. Website liên tục cập nhật các lớp mới trong ngày,
hỗ trợ xem thông tin các gia sư được đăng ký cho trung tâm và cũng cung cấp rất
nhiều các blog nhằm hỗ trợ người dùng có thêm kiến thức và chọn các lớp, các gia
sư phù hợp với mình. Đối với việc tư vấn, trung tâm hỗ trợ qua ba hướng chính là tư
vấn qua điện thoại, zalo và trực tiếp tại văn phịng trung tâm.
Ngồi ra, trung tâm cũng có phiên bản ứng dụng di động và khuyến khích sử
dụng nhằm có thể cập nhật và sử dụng các dịch vụ của trung tâm tốt hơn.
1.4.2. lopmoi.giasutrithuc.net
Lopmoi.giasutrithuc.net hoặc Gia sư tri thức là một trung tâm có sức ảnh
hưởng lớn và uy tín, hoạt động mạnh mẽ trên mạng xã hội Facebook. Trung tâm Gia
sư tri thức hỗ trợ các dịch vụ như cập nhật các lớp học mới, tư vấn và định hướng cho
các

học

viên.

Trung

tâm

hoạt

động

chính

qua

fanpage


Facebook:

facebook.com/lopdaykemcantimgiasutaitphcm.
Website lopmoi.giasutrithuc.net là một dạng website Landing Page mới mục đích đơn
giản là giới thiệu trung tâm cũng như cập nhật thông tin các lớp học mới hàng ngày.
Trước đó trung tâm cũng có một website khác có chức năng tương tự nhưng hiện tại
đã dừng hoạt động.
1.4.3. giasubaochau.net
Gia sư Bảo Châu là trung tâm tư vấn và phát triển giáo dục có nhiều trụ sở trải
dài trên toàn Việt Nam như Thành phố Hồ Chí Minh, Khánh Hịa, Hà Nội, Đà Nẵng,
Cần Thơ… Gia sư Bảo Châu tập trung vào công tác tư vấn và hỗ trợ các học viên,

13


phụ huynh về xu hướng học tập và phát triển. Bên cạnh đó, trung tâm cũng có quản
lý và hỗ trợ các gia sư đăng ký cũng như nhận lớp. Các lớp học này sẽ được trung
tâm cập nhật liên tục xuyên suốt 24/7. Trung tâm đặt nặng vấn đề về uy tín, ln đảm
bảo chất lượng lớp học đạt mức tốt.
Hiện tại trung tâm hoạt động thông qua nhiều hình thức như trực tiếp tại các
văn phịng trên tồn quốc, tư vấn online qua facebook, zalo và điện thoại. Trung tâm
sử dụng website giasubaochau.net nhằm quản lý và đăng tin các lớp học có nhu cầu
về gia sư dạy kèm, cũng như hỗ trợ việc đăng nhập, đăng ký làm gia sư. Bên cạnh đó,
trung tâm khuyến khích sử dụng ứng dụng di động của trung tâm nhằm đạt được sự
an toàn và hỗ trợ tốt hơn.
1.4.4. trungtamdaykem.com
Gia sư Thăng Long hoặc trungtamdaykem.com là một trong các trung tâm lâu
đời có trụ sở tại Thành phố Hồ Chí Minh. Trung tâm hỗ trợ đầy đủ các dịch vụ của
một trung tâm tư vấn và phát triển giáo dục. Website hiện tại của trung tâm chủ yếu

xử lý chức năng xem thông tin các lớp học và giới thiệu trung tâm.
Trungtamdaykem.com có lối giao diện cũ, trùng lặp với số đông các trung tâm nhỏ
lẻ khác và việc sử dụng website cũng khó khăn để có thể làm quen. Bộ lọc và tìm
kiếm các lớp học của trungtamdaykem.com khá phức tập và khơng tối ưu, gây khó
chịu và đơi khi là lọc thông tin sai.

14


Chương 2. CƠ SỞ LÝ THUYẾT
2.1.

ASP.NET CORE 7

2.1.1. ASP.NET Core là gì?
ASP.NET Core là một framework đa nền tảng (cross-platform) mới và mã
nguồn mở, được sử dụng để xây dựng các ứng dụng hiện đại dựa trên .NET
platform[1].
Ứng dụng ASP.NET Core có khả năng chạy trên .NET Core hoặc phiên bản
đầy đủ của .NET Framework. Nó được thiết kế nhằm cung cấp một framework phát
triển tối ưu cho các ứng dụng triển khai trên đám mây hoặc chạy trên nền tảng onpremise [2].
ASP.NET Core được xây dựng dựa trên mô hình module, giúp tối thiểu hóa
sử dụng tài ngun và chi phí phát triển. Điều này mang lại sự linh hoạt cho quá trình
xây dựng giải pháp của bạn. Bạn có thể phát triển và chạy các ứng dụng ASP.NET
Core đa nền tảng trên hệ điều hành Windows, Mac và Linux [1][2].
Một điểm quan trọng và đáng chú ý của ASP.NET Core là sự chuyển đổi thành
mơ hình mã nguồn mở. Đây là một thay đổi đáng kể và có ý nghĩa quan trọng trong
lĩnh vực phát triển. Điều này mở ra một xu hướng mới cho ngôn ngữ lập trình hiện
đại.
2.1.2. Lịch sử

ASP.NET Core đã được xuất hiện từ lâu và được biết đến như là một sản phẩm
của .Net Framework. ASP.NET được cộng đồng ủng hộ và phát triển ổn định đến
nay. Tuy nhiên đã có sự thay đổi mạnh mẽ khi ASP.NET Core xuất hiện, mang những
đặc tính của cơng nghệ lập trình hiện đại[1].
ASP.NET Core được tạo ra dựa trên sự học hỏi từ các Framework khác, với
mục tiêu chính là module hóa. Nó được xây dựng trên nền tảng của các gói module
gọi là NuGet Packages. Điều này cho phép bạn tối ưu thiết kế ứng dụng chỉ chứa
những thành phần cần thiết. Kết quả là, ứng dụng xây dựng trên nền tảng ASP.NET
Core có kích thước nhỏ hơn, bảo mật tốt hơn, hiệu suất hoạt động tốt hơn và ổn định
15


hơn. Quá trình xây dựng cũng trở nên đơn giản hơn, giúp việc phát triển và bảo trì dễ
dàng hơn nhiều.
Khi làm việc với ASP.NET Core, người dùng được hưởng những cải tiến đáng
kể, bao gồm [2]:
-

Tương thích hệ thống xây dựng Web UI và Web APIs.

-

Tích hợp những client–side frameworks hiện đại và những luồng phát triển.

-

Hệ thống cấu hình dựa trên mơ hình đám mây thật sự.

-


Dependency injection được xây dựng sẵn.

-

HTTP request được tối ưu nhẹ hơn.

-

Có thể host trên IIS hoặc self- host trong process của riêng mình.

-

Được xây dựng trên .NET Core, hỗ trợ thực sự app versioning.

-

Chuyển thực thể, thành phần, module như những NuGet packages.

-

Các cơng cụ mới để đơn giản hóa q trình phát triển web hiện đại.

-

Xây dựng và chạy đa nền tảng.

-

Mã nguồn mở, tập trung vào cộng đồng.


2.2.

Entity Framework Core

2.2.1. Entity Framework Core là gì?
Entity Framework Core (EF Core) là một framework ánh xạ cơ sở dữ liệu đối tượng mới cho .NET. Nó hỗ trợ các truy vấn LINQ, theo dõi thay đổi, cập nhật
và thay đổi cấu trúc. EF Core hoạt động với SQL Server/ SQL Azure, SQLite, Azure
Cosmos DB, MySQL, PostgreSQL và nhiều cơ sở dữ liệu khác thơng qua mơ hình
plugin của cơ sở dữ liệu.[6]
2.2.2. Lịch sử ra đời và các phiên bản
Entity Framework được cho ra mắt vào năm 2008. Nhờ sự ra đời của nó việc
truy vấn cơ sở dữ liệu quan hệ trở lên đơn giản, dễ học, giúp giảm bớt thời gian phát
triển dự án xuống đáng kể.[6]
Lịch sử phiên bản EF Core:
-

EF Core 2.0 tháng 8 năm 2017 .NET Core 2.0, VS 2017
16


-

Lõi EF 1.1 Tháng 11 năm 2016 .NET Lõi 1.1

-

EF Core 1.0 tháng 6 năm 2016 .NET Core 1.0
2.2.3. Tại sao lại sử dụng Entity Framework Core?
Sử dụng Entity Framework mang đến những lợi ích sau đây:
Thứ nhất, khi thực hiện truy vấn dữ liệu, ta có thể sử dụng Linq to Entities để


thao tác với các đối tượng được tạo ra từ Entity Framework, điều này loại bỏ việc viết
mã SQL. Điều này giúp giảm độ phức tạp của việc thao tác cơ sở dữ liệu và tăng tính
linh hoạt trong lập trình.
Thứ hai, việc cập nhật các lớp và các câu lệnh dễ dàng hơn khi cơ sở dữ liệu
thay đổi. Điều này tiết kiệm thời gian đáng kể, không cần phải điều chỉnh thủ công
các đoạn mã liên quan mỗi khi cấu trúc cơ sở dữ liệu thay đổi.
Thứ ba, Entity Framework sẽ tự động tạo ra các lớp và câu lệnh tương ứng cho
việc lựa chọn (select), chèn (insert), cập nhật (update) và xóa (delete) dữ liệu từ cơ
sở dữ liệu quan hệ. Điều này giúp giảm công việc tạo ra các lớp và câu lệnh thủ cơng,
đồng thời đảm bảo tính nhất qn và chính xác của chúng.
Cuối cùng, Entity Framework cung cấp các lớp tự động để truy xuất cơ sở dữ
liệu, giúp lập trình viên tiết kiệm thời gian viết mã khi làm việc với cơ sở dữ liệu.
Điều này hỗ trợ mạnh mẽ, giúp tránh tốn quá nhiều thời gian và công sức khi phải
viết mã để thao tác với cơ sở dữ liệu.
2.3.

Microsoft SQL Server

Microsoft SQL Server là phần mềm ứng dụng cho hệ thống quản trị cơ sở dữ
liệu quan hệ (Relational Database Management System – RDBMS) được phát triển
bởi Microsoft vào năm 1988. Nó được sử dụng để tạo, duy trì, quản lý và triển khai
hệ thống RDBMS.
Phần mềm SQL Server được sử dụng khá rộng rãi vì nó được tối ưu để có thể
chạy trên mơi trường cơ sở dữ liệu rất lớn lên đến Tera – Byte cùng lúc phục vụ cho
hàng ngàn user. Bên cạnh đó, ứng dụng này cung cấp đa dạng kiểu lập trình SQL từ

17



ANSI SQL (SQL truyền thống) đến SQL và cả T-SQL (Transaction-SQL) được sử
dụng cho cơ sở dữ liệu quan hệ nâng cao.
Microsoft SQL Server cung cấp một loạt dịch vụ và cơng cụ để hỗ trợ quản lý
dữ liệu. Ví dụ, SQL Server Integration Services (SSIS), SQL Server Data Quality
Services và SQL Server Master Data Services được sử dụng để quản lý dữ liệu. Đối
với phát triển cơ sở dữ liệu, SQL Server cung cấp công cụ SQL Server Data. Để quản
lý, triển khai và giám sát cơ sở dữ liệu, người dùng có thể sử dụng SQL Server
Management Studio (SSMS).
Đối với phân tích dữ liệu, SQL Server cung cấp các dịch vụ như SQL Server
Analysis Services (SSAS), SQL Server Reporting Services (SSRS) và The Machine
Learning Services (R Services). Những dịch vụ này hỗ trợ trong việc phân tích và
báo cáo dữ liệu từ cơ sở dữ liệu.
2.4.

Kiến trúc Clean Architecture

2.4.1. Kiến trúc Clean Architecture là gì?
Clean Architecture là một kiến trúc ứng dụng rất nổi tiếng dựa trên nguyên lý
loại bỏ sự lệ thuộc giữa các đối tượng cũng như các layer trong ứng dụng. Nguyên lý
này kế thừa và phát triển dựa trên Dependency Inversion - nguyên lý nổi tiếng trong
SOLID [3][4].
2.4.2. Mơ hình Clean Architecture và các thành phần cấu tạo
Trong kiến trúc Clean Architecture bao gồm 4 layer được đại diện thơng qua
các vịng trịn đồng tâm. Các vịng trịn ở trong sẽ khơng hề biết gì về các vịng trịn
bên ngồi. Ngun tắc "hướng tâm" này được minh hoạ như sau:

18


Hình 2.1 The Clean Architecture By Robert C. Martin (Uncle Bob) [3][4].


Hình 2.2 The Clean Architecture Cone By Robert C. Martin (Uncle Bob) [3][4].

19


×