Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 78 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
78
Dung lượng
4,2 MB
Nội dung
ĐẠ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 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 đến TS Đỗ Thị Thanh Tuyền, giảng viên hướng dẫn em môn Đồ án Trong trình học tập thực đồ án, em nhận quan tâm giúp đỡ, hướng dẫn tận tình, tâm huyết Cơ Q trình thực đồ án q 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 xây dựng Vì thế, hội để em rèn luyện, hoàn thiện thân kĩ tích lũy suốt q trình học Chính nhờ góp ý, động viên q báu khơng động lực q trình thực đồ án mơn học mà cịn hành trang để em vững bước sau Do vốn kiến thức nhiều hạn chế khả tiếp thu cịn nhiều giới hạn, em khơng tránh khỏi có thiếu sót Em mong nhận góp ý, quan tâm đến từ Cơ để đồ án em hoàn thiện Lời cuối cùng, em xin chân thành cảm ơn Cô xin kính chúc Cơ nhiều sức khỏe, hạnh phúc thành công đường 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 Chương TỔNG QUAN 11 1.1 Tổng quan đồ án: 11 1.2 Trung tâm tư vấn phát triển giáo dục 11 1.3 Những vấn đề tồn 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 CƠ SỞ LÝ THUYẾT 15 2.1 ASP.NET CORE 15 2.1.1 ASP.NET Core gì? 15 2.1.2 Lịch sử 15 2.2 Entity Framework Core 16 2.2.1 Entity Framework Core gì? 16 2.2.2 Lịch sử đời phiên 16 2.2.3 Tại 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 gì? 18 2.4.2 Mơ hình Clean Architecture 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 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 22 3.1 Đối tượng phạm vi nghiên cứu 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ã đặc tả Use Case 26 3.3.2.1 Use Case “Xem thông tin lớp 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ệ thực thể 49 3.5 Mô tả 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 TRIỂN KHAI ỨNG DỤNG 56 4.1 Giao diện Khách hàng 56 4.1.1 Trang chủ 56 4.1.2 Trang danh sách lớp 57 4.1.3 Trang chi tiết thông tin lớp học 58 4.1.4 Trang danh sách 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 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 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 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 lớp học 68 4.2.9 Trang quản lý 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 70 KẾT LUẬN 71 ❖ Ưu điểm nhược điểm 71 ➢ Ưu điểm 71 ➢ Nhược điểm 71 ❖ Kết đạt 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 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 sở liệu 50 Hình 4.1 Trang chủ 57 Hình 4.2 Trang danh sách lớp học 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 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 học viên 67 Hình 4.14 Trang danh sách gia sư 68 Hình 4.15 Trang thơng tin chi tiết gia sư 68 Hình 4.16 Trang danh sách 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ý môn học 70 Hình 4.19 Trang khái quát 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 71 MỤC LỤC BẢNG Bảng 3.1 Danh sách Use-case “Xem thông tin lớp gia sư” 26 Bảng 3.2 Đặc tả Use-case “Xem lớp cần gia sư” 27 Bảng 3.3 Đặc tả Use-case “Xem thông tin chi tiết lớp” 27 Bảng 3.4 Đặc tả Use-case “Xem gia sư trung tâm” 28 Bảng 3.5 Đặc tả Use-case “Xem thông tin chi tiết 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ý môn học” 30 Bảng 3.8 Đặc tả Use-case “Quản lý thông tin 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 lớp 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 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 lớp 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 liệu User 49 Bảng 3.27 Mô tả bảng liệu Subject 51 Bảng 3.28 Mô tả bảng liệu Tutor 51 Bảng 3.29 Mô tả bảng liệu ClassInformation 52 Bảng 3.30 Mô tả bảng liệu TutorMajor 53 Bảng 3.31 Mô tả bảng liệu TutorVerificationInfo 53 Bảng 3.32 Mô tả bảng liệu Subscriber 54 Bảng 3.33 Mô tả bảng liệu TutorReview 54 Bảng 3.34 Mô tả bảng liệu RequestGettingClass 55 4.1.4 Trang danh sách gia sư Hình 4.4 Trang danh sách gia sư 58 4.1.5 Trang chi tiết thơng tin gia sư Hình 4.5 Trang chi tiết thơng tin gia sư 59 4.1.6 Trang đăng nhập Hình 4.6 Trang đăng nhập 4.1.7 Trang đăng ký Hình 4.7 Trang đăng ký 60 4.1.8 Trang yêu cầu tạo lớp Hình 4.8 Trang tạo yêu cầu lớp học 61 4.1.9 Trang đăng ký làm gia sư Hình 4.9 Trang đăng ký làm gia sư 62 4.2 Giao diện Quản lý 4.2.1 Trang đăng nhập Hình 4.10 Trang đăng nhập (Admin) 63 4.2.2 Trang dashboard Hình 4.11 Trang Home / Dashboard 64 4.2.3 Trang quản lý học viên Hình 4.12 Trang quản lý học viên 4.2.4 Trang quản lý thơng tin chi tiết học viên Hình 4.13 Trang thông tin chi tiết học viên 65 4.2.5 Trang quản lý gia sư Hình 4.14 Trang danh sách gia sư 4.2.6 Trang quản lý thông tin chi tiết gia sư Hình 4.15 Trang thơng tin chi tiết gia sư 66 4.2.7 Trang quản lý lớp học Hình 4.16 Trang danh sách lớp học 4.2.8 Trang quản lý thơng tin chi tiết lớp học Hình 4.17 Trang thông tin chi tiết lớp học 67 4.2.9 Trang quản lý mơn học Hình 4.18 Trang quản lý môn học 4.2.10.Trang khái quát thông tin cá nhân Hình 4.19 Trang khái qt thơng tin cá nhân 68 4.2.11.Trang chỉnh sửa thơng tin cá nhân Hình 4.20 Trang chỉnh sửa thông tin cá nhân 4.2.12.Trang đổi mật Hình 4.21 Trang đổi mật 69 KẾT LUẬN ❖ Ưu điểm nhược điểm ➢ Ưu điểm - Việc thiết kế kiến trúc Clean Architecture đem tới nhiều lợi ích lớn, hiệu việc phát triển, mở rộng, bảo trì bảo mật hệ thống - Unit test cho thành phần hệ thống thực dễ dàng nhờ tách biệt - Hỗ trợ tính đánh giá, nhận xét gia sư ➢ Nhược điểm - Áp dụng kiến trúc khiến cho hệ thống trở nên cồng kềnh phức tạp, tính trừu tượng cao - Tìm hiểu cải tiến kiến trúc dựa mẫu thiết kế kiến trúc khác địi hỏi thời gian cơng sức lớn dự tính - Giao diện website cải thiện tốt dựa vào công nghệ tối ưu Reactjs hay Angular ❖ Kết đạt ➢ Về mặt nghiên cứu - Tìm hiểu nắm nghiệp vụ trung tâm tư vấn phát triển giáo dục - Tìm hiểu nắm kiến trúc Clean Architecture kiến trúc liên quan Onion Architecture, Hexagon Architecture, N-layer Architecture… - Tìm hiểu sử dụng công nghệ xung quanh NET Core ASP.NET Core, EF Core - Tìm hiểu mẫu thiết kế nguyên lý thiết kế Separation of concerns, Mediator, CQRS, Repository… áp dụng thông qua thư viện MediatR, EF Core, Mapster… 70 ➢ Về mặt sản phẩm - Hoàn thành website hỗ trợ chức quản lý nghiệp vụ cho trung tâm chức Dashboard giúp tổng quát hiển thị liệu trung tâm theo nhiều dạng đồ thị - Hồn thành website hỗ trợ phía người dùng học viên, gia sư với chức đăng nhập, đăng ký, quản lý thông tin, tạo lớp theo dõi lớp học - Giao diện thân thiện, dễ sử dụng ❖ Hướng phát triển - Tích hợp chức yêu cầu gia sư cụ thể - Tối ưu tích hợp chức sâu Multi-tenant, toán trực tuyến, hệ thống chat, - Tối ưu câu lệnh truy vấn, cải thiện hiệu cho hệ thống - Thêm hệ thống phân quyền cho nghiệp vụ quản lý - Phát triển dạng ứng dụng tảng khác di động, desktop… - Tích hợp hệ thống 71 TÀI LIỆU THAM KHẢO [1] dotnet.microsoft.com “What is ASP.NET Core?” Available: https://dotnet.microsoft.com/en-us/learn/aspnet/what-is-aspnet, [Accessed: June 18, 2023] [2] viblo.asia “Tìm hiểu ASP.NET CORE.” Available: https://viblo.asia/p/timhieu-ve-aspnet-core-PaLkDmYmvlX, October 10, 2016 [Accessed: June 15, 2023] [3] 200lab.io “Clean Architecture - Ưu nhược cách dùng hợp lý.” https://200lab.io/blog/clean-architecture-uu-nhuoc-va-cach-dung-hop-ly/, May 25, 2022 [Accessed: June 15, 2023] [4] blog.cleancoder.com “The Clean Architecture.” Available: https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html, August 13, 2012 [Accessed: March 1, 2023] [5] abp.io “Implementing Domain Driven Design” Available: https://abp.io/e9f5b0c2-e5e7-41bb-a4847b87a88c1bba/Implementing_Domain_Driven_Design.pdf, June, 2021 [Accessed: June 18, 2023] [6] en.wikipedia.org ”Entity Framework” Available: https://en.wikipedia.org/wiki/Entity_Framework, March 2023 [Accessed: June 18, 2023] 72