Bên cạnh đó, các trung tâm cũng liên tục nỗ lực phát triển, thích nghỉ và kết hợp với sức mạnh của mang công nghệ thông tin hiện đại ngày nay dé có thê phát triển thêm và hoàn thành tốt
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHAN MEM
LE HOANG QUÝ - 20520727 HUYNH TRUNG HIEU - 20521318
KHOA LUAN TOT NGHIEP
XAY DUNG WEBSITE VA UNG DUNG DI DONG CHO
TRUNG TAM TU VAN VA PHAT TRIEN GIAO DUC
Building a website and mobile application for
an educational consulting and development center
CU NHAN NGANH CONG NGHE PHAN MEM
GIANG VIEN HUONG DAN
TS DO THI THANH TUYEN ThS TRAN THI HONG YEN
TP HO CHi MINH, 2024
Trang 2LỜI CẢM ƠN
Chúng em trân trọng muốn bày tỏ lòng biết ơn của bản thân đến trường Đạihọc Công nghệ Thông tin - ĐHQG Thành Phó Hồ Chí Minh - khi đã hỗ trợ và tạo ranhững điều kiện tuyệt vời cho chúng em cũng như các bạn sinh viên khác Bên cạnh
đó, trường sở hữu đa dạng các tài liệu hiện đại đã hỗ trợ cho chúng em rất nhiềutrong việc nghiên cứu và hoàn thành Khóa luận tốt nghiệp
Chúng em chân thành cảm ơn TS Đỗ Thị Thanh Tuyền và ThS Trần ThịHồng Yến đã tận tâm, nhiệt tình hỗ trợ, hướng dẫn cũng như là định hướng chochúng em về cách làm việc và viết báo cáo khoa học Những góp ý, chỉ bảo trân quýnày sẽ không chỉ giúp chúng em hoàn thành khóa luận một cách xuất sắc mà còn trở
thành hành trang quan trọng cho sự nghiệp trong tương lai sau này.
Chúng em that sự không thé tránh khỏi việc có sai sót trong quá trình hoàn
thành khóa luận này Do đó, chúng em kính mong nhận được sự chỉ dẫn và góp ýquý báu từ quý thầy cô dé hoàn thiện khóa luận một cách tốt nhất
Chúng em xin chân thành gửi lời biết ơn đến tất cả mọi người Chúng emthật lòng mong chúc mọi điều tốt đẹp và thành công
Thành phó Hồ Chi Minh, ngày 20 tháng 6 năm 2024
Sinh viên thực hiện
Lê Hoàng Quý Huỳnh Trung Hiếu
Trang 3MỤC LỤC
Chương 1 GIỚI THIỆU DE TÀI 2-2-2 £+SE£2E£2EE+EE+2EE2EE+EE+ZEEzEEerEezreerxee l6
1.1 Lý đo chọn đề tài ¿55-2 2E EEE12E12712112111171121111211211 11 xe l6
1.2 MUc o0 ' 16
1.3 Đối tượng và phạm vi nghiên cứu ¿- 22 +¿22++2zx+2zxtzxxvrxeerxesrseee 16
1.3.1 Đối tượng - c1 11211 1101211012121 ray 16
1.3.2 Phạm vi nghiÊn CỨU + x11 1E 9v vn ngàng Hưng 17 1.4 Đánh giá các hướng nghiên cứu đã CÓ ¿5 S222 * 3+ Ssvseerseersrsrke 17
1.4.1 Mô hình kiểu “kết nối gia sư và học viên”: - sex: 171.4.2 Mô hình kiểu “học trực tuyến” -¿- 2: 2¿©s<+x+2x+EE£EEeEE2Exerxerrerrxees 181.4.3 Mô hình kiểu ““Blended” .-:-cccs2ccxxttrkxrrrtrtrrrrrrtrrrrrrkrrrtrk 18
1.4.4 Damh Bia ":' 18
1.5 Những vấn đề còn tồn dong ccecceccccsccscesesscssessessesssssessessessessessesnesesesseeseeees 19
1.6 Khảo sat GP GGI A s ào 19
I2 na e 19 1.6.2 lopmoI.ø1asutr1thuC.T€Ẩ ¿+ 332121 1E32EE3EEESEEEEsriesrrerervre 20
I 6N 00 00in 21
1.6.4 trungtamdaykem.com cceccesccsesecssceeeeceseeeseeeeseeeeeeceeeeeaeeneeeeaeenseees 21
1.7 Hướng giải Quyét c cecceccccceccccecsessessessessessessessessessesssssssssssssssassessssessesseesesees 22
Chương 2 CƠ SỞ LÝ THHUYÉTT - 2-2 S£2SE9EE£EEE2EEEEEEEEE2EEEEEEEEE2EEEEEEEEerrrerg 22
"000099311 22 2.2 Entity Framework COFC - - Sc 22.33 22111211 5 1121111111111 11111 1n gnưy 22
2.3 Microsoft SQL SŠ€TV€T LG 01121121112 11101111 1110 11801110 1188k Hy rệt 23
2.4 Modern Android DeveÏOpI€HIÍ - <5 + SE *EEsEEsEeeEsereersrrserserrke 24
2.5 Clean ArchiIf€CfUTC - - << E11 3311111 1293111111 19311 111119311 k kg key 26
Trang 42.6 Recommendation SYySf€m - - - - c1 3321132113391 11 81111118111 111 1 re 27 2.7 Giai phap vá) 0n 33
Chương 3 PHAN TICH THIET KE HE THÓNG 2-2 2 22 22 2252 2+2 34
3.1 Kiến trúc hệ thống - -©1+SxềEx9 E9 E9 19E1211211211211211211211 11.1111 11 ty 34
3.1.1 Kiến trúc Web c2 re 343.1.2 Kiến trúc Mobile - -s:22++tt2E xi 36
S6 0L rẽ 37
E000 20.0117 38 3.2.2 Xem thông tin lớp Va ia SƯ - c2 3S 1 3E EEEEESErrrrrrrrrrrres 43
SE 00 50 3.2.4 Use case Dang ký nhận lớỚp - - ¿+ 5- +22 2£ E+EEsrreererrrrereske 55
3.2.5 Use case yêu cầu tạo lớp và yêu cầu gia sư - sec: 59
EENIP ri da ẻdễăắiỒỪ 63
3.3.1 00-07 Sẽ ` 8n Ša 64
3.3.2 Bang Subject ố eố 65 3.3.3 Bảng TUẨOI 2c 11 TH TT TH HH ng 6S 3.3.4 Bảng COUTSG LH TT TH HH Hệ 66
Chương 4 XÂY DUNG UNG DỰNG - 2-52 SE E2 1221221211211 2 72
Trang 54.1 Website Admn 2233111111111 111 EES S935 111 1k k ky 72
4.1.1 Giao diện đăng nhập - - - G222 1321113511131 72 4.1.2 Giao diện dashboard - - ¿<< 5 2211112223311 11 11233111111 551 1 cerszz 73 4.1.3 Giao diện quản lý người dùng - - c1 3113 Esrsssrsreres 73
4.1.4 Giao diện quản lý thông tin chỉ tiết gia sư - 2-52 2+cs+czsez 744.1.5 Giao điện quản lý yêu cầu học trực tiếp gia sư - s2 75
4.1.6 Giao diện quan lý các thanh toán ¿c5 + + *+x+vxsersersereres 76 4.1.7 Giao diện quản lý lớp hỌc +3 32232 E*EEEEEEsrrrerrerrsree 76 4.1.8 Giao diện quan lý các môn học - ¿+ + + + E+ekEseereerseeres 78 4.1.9 Giao diện thông tin tài khoản - - 5c + c* + *+sstseereerrrerseeres 79 4.2 Website CÏI€TI( - 1121111211111 11111111 11111 TH ngàn HH HH TH nh 80
4.2.1 Giao diện hoime - + c5 2221322211332 83 3181 2111 21111211 cv 80
4.2.2 Giao diện about US 222 2213222511123 8E 2111 52111 2511 kerrre 80
4.2.3 Giao diện danh sách các Ø1a SƯ - 6 tt SsEsEEsrsirerskrskrrke 81 4.2.4 Giao điện danh sách các lớp học cần gia sư - 2-2525: 814.2.5 Giao diện danh sách chi tiết gia SU cecccccessesscessesseessessesseesesseeseessen 82
4.2.6 Giao diện danh sách confaCt - <5 5 2222 + 3+ +22 *£++£#e++zeeeseeeeeezess 83 4.2.7 Giao diện đăng nhậtp - - + + 1n HH ng 83 4.2.8 Giao diện tạo lớp hỌC .- c c1 111321112111 111111101118 11 811 re, 84 4.2.9 Giao diện thông tin tài khoản c- - cc + + ssvEsrerseesrerrresee 85 4.2.10 Giao diện thông tin Ø1a SƯ - G- G1 S9 nh nghiện 85
413 MODULO — 86
4.3.1 Giao diện Horme 2 1112222311111 1125331 11111992111 kg xe 86 4.3.2 Giao diện Tutor Detail cccccccccccecscccccsssssceccssessseececesssseeeeeeessseees 87 4.3.3 Giao diện Pay COUTS€S - G0 2230112111911 1 1 111111 81 1H ng rưy 89 4.3.4 Giao diện Search SugØ€SfIOT - . c c1 1231 net 90
Trang 64.3.5 Giao diện Filter Search ResuÌt 25c <5 * +22 seeesseeeeeeees 91
4.3.7 Giao diện Requested COUTS€S c1 13231132 vsirrreree 93 4.3.8 Giao diện Edit Profile - - - << 5 3 2211111112231 1 1111955111115 Eree 94 4.3.9 Giao diện Pick SubJ€CÉS - - - c1 1121113 1119111111181 111 1 rrke 96 4.3.10 Giao diện Create COUTS€S . - 211112221111 S992 111 set 97
Chương 5 KET LUẬN ¿5£ ©S£+ESE9EE9EEEEEEEEEE191121122121121121121121111 21211 98
5.1 Ưu điểm và nhược điỂm ¿St SxEvEEE‡EEEEEEEEEEEEEEEEEEeEeEkrkrrrrrrkrrree 98
h1 985.1.2 Nhược điểm :-:-+22++ttE2 HH re 985.2 Kết quả đạt đƯỢC ếc c6 ccc co ĐÓ TL co TÁM Hg CÀ NNGHHHHHHHHH HH HH ng cuc dên 99
5.2.1 Về mặt nghiên cứu - 2 ¿+++22++EEE+EE++EE++EE+SEE2EktzExerrkrrkres 995.2.2 Về mặt sản phẩm - -+-+t+19SE+EE9EEEEEEEE2E12212112112112121 21c re 99TÀI LIEU THAM KHẢO Sc- 12s 1 E21 23115112112311115111111111111EE1115211 5x21 cxee 101
Trang 7DANH MỤC HÌNH
;7.,82/0862 72 0n8866e -adlđlđ1ầ ¬a ầỒỀẦẮỀỐÖỀỀỀỀ 24 Hình 2.2: KOIH ST TT HT TT TH HH HT Hkt 24 Hình 2.3: Android J€{QCĂ, c2 111 vE1 11111119 11111111 11111111 111k kg ke 25 Hình 2.4: The Clean Architecture By Robert C Martin (Uncle Bob) [3][4] 26
Hình 2.5: Mô tả kiểu Recommend Collaborative Filtering -s- sec 28Hình 2.6: Biểu đồ đánh giá 2 lớp học của 4 HS€FS 5-52 5ccccEccEtEerterterreres 29Hình 2.7: Khoảng cách 4 điểm so với gốc tọa độ 55c 5c 30
Hình 2.6: Ma trận Rating giữa user và các lớp hỌG - 5c cSe++csseserxsexss 31
Hình 2.9: Minh họa thuật toán Based on k-Nearest Neighbours
(Nguôn: suru tập từ: Internet) cccecccccceccccssvessssveessesssvsssesssetiussssssesssesssesssessiessesssesssesess 32Hình 3.1: Kiến trúc hệ thong Webu cccccccccccscsscescssvessessesessestsssessessesssssessvssesseesesseesees 34
Hình 3.2: Android App Architecture (Suggested by Œooglê) - «+ ++s+++ 36
Hình 3.3: Sơ đô Use case tong qutitec ccccccccccccsscesvcsscsssetsessesssessessesssessesstsssessessessseees 37Hình 3.4: Sơ đồ use case Authenticationccecccccccccsscescssscessessesssevsessesssessesseessessessessen 38
Hình 3.5: Database DÌQØTIH c0 EE201115111501 1311112 1151111111111 11 11kg 63 Hình 4.1: Giao điện đăng nhẬpD - c2 13251112 E3 E2 EEEEEEESEEEESrksrreeesrke 72 Hình 4.2: Giao điện dashOdrởi - - - 1111111553181 11119511 1111111511 11k 1111111 k key 73 Hình 4.3: Giao điện quản lý người AUng ccccccccccccccccccsccesssceseceeseseseeesseesseeeseeesseenses 73
Hình 4.4: Giao diện quản lý thông tin chỉ tiết người dùng -sc sec 74Hình 4.5: Giao diện quản lý thông tin chỉ tiét gia SH - 2-52 2+5++E+EezEerxerxeei 74Hình 4.6: Giao diện quản lý thông tin chỉ ti€t gid Sư - 2 5c5ccccccrtereereerxee 79Hình 4.7: Giao diện quản lý yêu cầu học trực tiẾp gia SH -©scccccccccccec 75
Hình 4.6: Giao diện quản lý thanh fOáH 2c SE SESkksrkksrkksekeeee 76 Hình 4.9: Giao diện quản lý lớp hỌC cv nh He, 76
Hình 4.10: Giao diện quản lý thông tin chỉ tiết lớp học -©ss+ccsccscssecres 77
Trang 8Hình 4.11: Giao diện quản lý thông tin các yêu cu dạy lớp học - 77
Giao điện quản lý các THÔN HỌC c5 5c S2 E93 EE2 EESEEESreEsseesreesse 78
Giao diện quản lý chỉ tiết môn hỌC :- + 2+5e+E+E+EEEeEEerterxerkerea 78
Giao điện thông tin tài KhOẢH c c2 ESESvksikssrresreerree 79 Giao điỆH Ï.OT\C Ỏ Q ST S1 1111125555511 1111111 E101 11 1111k k khay 80 Giao điện DO 1S 1111111111111 EE SE SE E915 1111k kk khen 80 Giao điện danh sách CAC Bid SI cá cv EEskESiksreessreesrke &1
Giao diện danh sách các lớp học CAN gia SUt ceccecceccescesssssessesesseesesseeseees &1Giao diện danh sách chỉ tiét lớp NOC ccccccceccescescssvesvesvessessessessesesseeseesen 82
Giao diện danh sách chỉ ti€t gid Stt.cecceccccccescescssscessesseessessesseessessesseessen 82
Ê1:/7N2112,8601/17”.-1 ,zfF w@ Ttl 3 Giao điện đăng '!hẬD, - St tk HH ng, 83
Giao diện đăng 5 S2 EE E1 1121115119111 1111111111111 111111 tra 84
Giao điện thông tin tài KhOẢH SE sEEsEEseEseesrrsresrrserrs 85 Giao diện thông tin QI SI - c3 E332 E2 EESEESEEESEEErrrsrersrsreree 85
GidO AiEN HOMER NA đó 6/125.112,91/1/189 78NNNẠ9ẠẠẦ®ẦaAaaa 87 Giao điện Tutors Review and ÑAfÏHg cà ssieeerererxee 87 Giao điện Course ÏD@fAi - «c5 2113221111131 EE3E1 1S E SE kksrrkvcrey 58 Giao diện Pay OHTAS€ 2 E2 E2 kh HT TH nh iệt g9 Giao điện Search ,ŠMØØ€©SfÏOH cv E9 key 90 Giao điện Search ÍÑ€S1HÏH Ẳ - - c1 1111115538111 11511 111111151 111kg xà 90 Giao diện Filter Search Ì€SUÏI - 1111111351115 E 1E kkree 9] Giao điện TÌHIÍOFS << 5551111111111 1E ST 15515511 11111 kk kg 02111151 xx6 92 Giao điện Requested COWT/S€S - c - c S SE EES VE+EEEEkksrirksrersrerrs 93
Trang 9Hình 4.37: Giao điện Empty Requested COWT:9€S - 5S + k+svktsseessees 93 Hình 4.38: Giao điện Edit MÍQjOF c2 EE151 1111111119 1111111111111 1EEkre 94 Hình 4.39: Giao điện Edit Basic PrOƒÏÏ€ c St SE E* kkSrrkrrey 94 Hình 4.40: Giao diện Edit Tutor PFOƒTÏ€ c2 SE SE grrvrt 95 Hình 4.41: Giao diện Pick SUbjects c.ccccccccccceccceescceseceseeeeseeeneeeeseceseeeeseeeseeenseeeeeenss 96 Hình 4.42: Giao điện Create OWT:S€W CS 1253533311 1111118115 555555 97
Trang 10DANH MỤC BANG
Bảng 3.1: Bảng use case ĐĂNG TỢƒ TH HT ng Hà Hàng Hàng rệt 38
Bảng 3.3: Bang use case Quên mật khiẩu - +: 5s EEEEE 2 2121211211111 xe 40
Bảng 3.4: Bảng use case Đổi mật khẩu - 5 52 St E2 2 2212212111121 cree 4]
Bang 3.5: Bang use case Quản lý thông tin cá nhÂH c5 s2 42
Bảng 3.6: Bang use case Xem lớp dang CAN gia sH 55c ccccEtEvrEerxerxees 44Bang 3.7: Bang use case Xem thông tin chỉ tiết ÏÓp -:©22:©52+55z22sc2cxcscsc+: 45
Bảng 3.8: Bang use case Đăng ký lớp hỌC cà St vn Set 46 Bảng 3.9: Bang use case Xem các gia SU của fHMHg fÂH .- sec se ++s2 47
Bảng 3.10: Bảng use case Xem thông tin chỉ ti€t gid Sư - 5-5 5cccccccererei 47Bảng 3.11: Bảng use case Yêu cầu gia sư cụ thỂ s5 5c2c2E2ESEEEErEerterrerree 48
Bảng 3.12: Bang use Case Quan lý Sid SH 2 - 522 6E E+EESSEEE+eeEsserksreeessee 31 Bảng 3.13: Bang use case Quản lý MON hỌC c5 SSc + +2t‡+kE+seeEseeeeseeeses 52 Bảng 3.14: Bang use case Quản lý lop NOC cccccecccccccceececesecenseeeneeeceeeseeeeesseeesseenaees 53 Bang 3.15: Bang use case Quản lý người đÙng c các sex ksksseekseersseees 34 Bang 3.16: Bang use case Đăng Ký Bid SW St khi rikt 32
Bảng 3.17 Bảng use case Yêu cầu nhận ÌÓp 5252 5 EEEESEEEEEEeEerxervet 56
Bang 3.18: Bang use case Xác thực thông tin Bid SH 2c SccSSsssktsrsserses 58
Bảng 3.19: Bang use case Yêu cầu tạo ÌÓp MOb cceccecceccescesvessesveseeseesseseesessessessesseees 59Bảng 3.20: Bảng use case Yêu cầu gia sư cụ thế - 5:52 5cccccEcEEeterxerterkerei ó1
Bang 3.21: Bang use case Xác thực thông tin lớp hỌC - - sec cscsscxsesses 62
[.7.1.Đ559220:1,-.6/ 2 00n0n88 08 Ầ.ẻ.Ầ.ẦẦ e ố 64 [7./1.0/510:1./7-.).1) 00nnẺnh he 65 Bảng 3.24: Bảng TÌHÍOF St hệt 65
Trang 11Bang ChangeVerificaHonRequestlefqiÏ se Scc se sskserseres 70
11-.0 /1209.16102.2 8000000808088 n8 71 [1/1-9177/24.(2//7217500n0n0n08e alá1á.ắ.ố 71
Trang 12DANH MỤC TỪ VIET TAT
Từ viết tắt | Từ đầy đủ Giải thích
User Interface Giao diện người dùng
Trang 13TÓM TẮT KHÓA LUẬN
Giáo dục luôn luôn là mục tiêu then chốt và tối quan trọng, đóng vai trò thiết
yếu và là một trong các khía cạnh 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ọ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
nghỉ và kết hợp với sức mạnh của mang công nghệ thông tin hiện đại ngày nay dé
có thê phát triển thêm và hoàn thành tốt trong việc phát triển nền giáo dục
Kết hợp với ngành phát triển phần mềm cũng đã được phân bố rộng rãi,nhóm em quyết định chọn đề tài Xây dựng Website và ứng dụng di động cho trungtâm tư vấn và phát triển giáo dục làm đề tài khóa luận tốt nghiệp
Trong báo cáo, chúng em sẽ đưa ra và trình bày những điểm chung của cácứng dụng đi trước: giao diện, chức năng, và tìm ra những điểm có thé cải tiến,đổi mới và áp dụng vào sản phẩm, phát triển một phần mềm hoàn thiện Nội dung
báo cáo dé tài sẽ được thê hiện và bao gôm các chương sau:
- _ Chương 1 - GIỚI THIEU DE TÀI: Giới thiệu về nghiệp vụ, giải thích lý
do chọn đề tài, đối tượng nghiên cứu, các vấn đề tồn động của hệ thống trước
đó, giải pháp và xử lý.
- _ Chương 2 - CƠ SỞ LÝ THUYET: Giới thiệu về các công nghệ, kỹ thuật,
kiến trúc và thuật toán được sử dụng
- _ Chương 3 - PHAN TÍCH THIET KE HE THONG: Mô tả về các kiến trúc
của hệ thống, các bảng được lưu trong cơ sở đữ liệu,
- _ Chương 4 - XÂY DỰNG UNG DỤNG: Hình ảnh kết qua đạt được là ứng
dụng sản phẩm trên 2 nền tảng Web và Mobile.
- _ Chương 5: KET LUẬN: Các khó khăn, ưu điểm, nhược điểm, hướng phát
triển trong tương lai
15
Trang 14Chương 1 GIỚI THIỆU DE TÀI
1.1 Ly do chọn đề tài
Cùng với sự phát triển ngày nay, giáo dục vẫn luôn luôn và sẽ mãi là một trongcác mấu chốt, khía cạnh quan trọng và thiết yếu cho cho sự vững mạnh, phát triểncủa một đất nước Nắm bắt được xu hướng và mong muốn phát triển cho vấn đề
giáo dục của các gia đình cùng với sự khó khăn trong việc học hành và tiếp cận kiến
thức của các em học sinh và sinh viên, website và ứng dụng di động cho trung
tâm tư vấn và phát triển giáo dục ra đời, sẽ có thể đây mạnh và hỗ trợ đến các
em học sinh, sinh viên tìm được các gia sư thích hợp với mong muốn và 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ũngnhư có thể phát triển và tìm tòi sâu hơn các kiến thức nâng cao, vận dụng Mặt
khác, ứng dụng cũng cung cấp, 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.
1.2 Mục tiêu
- Dap ứng được các hoạt động cơ ban của | trung tâm gia sư phải có: Tạo lớp
học, theo dõi các lớp học, theo dõi các gia sư, yêu cầu lớp học, đăng ký làm
gia sư cho trung tâm,
- Nghiên cứu và áp dụng Recommendation System (Hệ thống khuyến nghị) dé
tính toán và tìm ra các lớp học, các gia sư phù hợp cho user.
- Phat triển giao diện thân thuộc, cải thiện trải nghiệm hoc viên, gia su, lên cao
nhất có thê
- _ Nghiên cứu cũng như sử dung Clean Architecture dé giúp cấu trúc dự án được
phân tách rõ ràng, dê duy trì và sửa lỗi sau này.
1.3 _ Đối tượng và phạm vi nghiên cứu
1.3.1 Đối tượng
- Phu huynh / học sinh có mong cầu tìm lớp học gia sư, tư vấn giáo dục
16
Trang 15- _ 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 va tai khoản cá nhân cua gia
sư, học viên.
1.3.2 Phạm vi nghiên cứu
- Phạm vi môi trường: Website và ứng dụng di động (Android)
- Pham vi chức năng:
- Quan lý các lớp hoc và xác thực các tai khoản
- Tim kiếm lớp dạy đúng với chuyên môn của người day học.
- Phụ huynh / học viên được tư vấn, đăng tin tìm lớp học
1.4 Đánh giá các hướng nghiên cứu đã có
Hiện nay có rât nhiêu các mô hình trung tâm gia sư khác nhau, nhưng chủ yêu xoay quanh ứng dụng kết nôi gia sư và học viên, và ứng dụng học trực tuyên hoặc
ứng dụng kết hợp
1.4.1 Mô hình kiểu “kết nối gia sư và học viên”:
Các mô hình kiêu này hoạt động như | nên tảng câu nôi giữa gia sư và học viên, thường sẽ có các tính năng sau:
- Tim kiếm và đặt lich học: Người dùng tham gia hệ thống sẽ có thé
dễ dàng đặt lịch học, tìm kiếm các lớp học và gia sư phù hợp theo thờigian, địa điểm.
- Hồ sơ và đánh giá gia sư: Người dùng là gia sư có thể liệt kê các
bằng cấp, được nhận xét từ những học viên đã tham gia lớp học củagia sư Đây cũng là 1 yếu tố chính để phụ huynh, học sinh kiếm cho
mình được gia sư phù hợp.
Các ứng dụng như GiaSuBaoChau, daykemtainha, đã tạo nên được tín nhiệm tại thị trường Việt Nam.
17
Trang 161.4.2 Mô hình kiểu “học trực tuyến”
Dung như với tên gọi, các mô hình kiêu nay sẽ có | diém chung là cung cap
các khóa học online, học với giảng viên băng các công cụ trực tuyên Một sô đặc
điêm của mô hình này bao gôm:
- Linh hoạt: Địa điểm học và thời gian học linh hoạt, thường thông
qua Internet.
- Tương tac trực tiếp: trực tuyến thông qua video call, chat, hoặc các
công cụ tương tác trực tuyến
Hocmai.vn, Kyna.vn, là những ứng dụng khá nôi trội trong lĩnh vực này,cung cấp các khóa học phong phú đến từ các môn học khác nhau
1.4.3 Mô hình kiểu “Blended”
Đây là loại mô hình kết hợp 2 kiểu trên Các ứng dụng này thường cung cấpnhững buổi học offline và những budi học online định kỳ Một số ưu điểm bao gồm:
- Linh hoạt: Có thê kết hợp chuyên đồi linh hoạt giữa học offline va học
online.
- _ Hỗ trợ đa dạng: Thường đi kèm với các tài liệu, các bài tập online và
sự hỗ trợ trực tuyến của gia sư
Hoc247, Topica là những ứng dụng tiêu biểu của loại mô hình kinh doanhnày, giúp người dùng tận dụng nguồn tài nguyên và nguồn lực tối da
1.4.4 Đánh giá
Nhìn chung, các mô hình trên đều có mặt tốt cũng như các nhược điểmriêng Các mô hình kết nối gia sư và học viên sẽ cải thiện cho việc tìm kiếm và chọngia sư, trong khi các ứng dụng mô hình online sẽ mang lại sự linh hoạt Việc hiểu rõcác dạng mô hình sẽ giúp chúng ta có cái nhìn tốt hơn để chọn và xây dựng ứngdụng, và tùy vào đối tượng và triển khai sao cho phù hợp
18
Trang 171.5 Khảo sát
Hiện tại có rât nhiêu các trung tâm hoạt động trên toà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.5.1 daykemtainha.vn
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 điện mới mẻ, bắt mắt và dé dùng Website quản lý các dang
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
Ngoà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 Giao diệncủa phiên bản ứng dụng đi động tuy không bắt kịp xu hướng với các ứng dụng hiệnnay, nhưng cũng đủ đáp ứng được nhu cầu người dùng
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.
19
Trang 181.5.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 dai 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ọcviên, phụ huynh về xu hướng học tập và phát triển Trung tâm đặt nặng vấn đề về
uy tín, luôn đả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ácvăn phòng trên toàn quốc, tư van 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ư
1.5.4 trungtamdaykem.com
Gia su Thang Long hoặc trungtamdaykem.com là một trong các trung tam
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 tai 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 trungtâ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 wu,
gây khó chịu và đôi khi là loc thông tin sai.
Trang 19Trong vòng 4 năm gần đây, các trung tâm liên tục áp dụng công nghệ vào
trong nghiệp vụ, mô hình kinh doanh của họ như việc áp dụng fanpage (Facebook)
trên các trang mạng xã hội dé marketing, tạo các website giới thiệu trung tam, tạocác web app hoặc ứng dụng trên điện thoại dé học và kết nối tốt với mong muốn của
học viên Nhìn chung, 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 va cần được thiết kế ti mi Tuy nhiên chúng em nhậnthấy các trung tâm gia sư hiện nay chưa củng cố về mặt UI/UX, và các ứng dụng
vẫn còn thiếu các tinh năng phổ biến dé bắt kịp xu thế hiện nay, kể đến là
Recommendation System (Hệ thống khuyến nghị)
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ự dau tư kỹ lưỡng về kiên trúc, thiệt kê va cai đặt nhăm tôi ưu cho tính
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 toàn, bao mật và hạn chê các rủi ro vê chi phí vận hành.
1.7 Hướng giải quyết
Nhận thấy những cầu hỏi được đề ra bên trên, chúng em sẽ tập trung nghiên
cứu những tiêu chí sau:
- Hoan thiện hệ thống trên 2 nền tang Website và Mobile
- Cac tính năng giống nhau tương đương 80 — 90%
- Phat triển thêm Recommendation System
- Ap dụng Clean Architecture dé duy trì và dé sửa đổi source code
21
Trang 20Chuong 2 CƠ SỞ LÝ THUYET
2.1 ASP.NET CORE 7
ASP.NET là framework để phát triển ứng dụng đa nền tảng với mã nguồn
mở, được sử dụng rất phô biến dé phát triển các ứng dụng hiện đại
ASP.NET Core được xây dựng trên mô hình module nhằm tối ưu hóa sửdụng tài nguyên và chi phí phát triển, mang lại sự linh hoạt cho quá trình xây dungứng dụng Vì là Framework hỗ trợ xây dựng ứng dụng trên đa nền tảng, nên có thể
sử dụng dé xây dựng trên Windows, Linux,
Một điểm quan trọng của ASP.NET Core là nó chuyên đổi sang mô hình mãnguồn mở Điều này làm mở ra một xu hướng mới trong phát triển phần mềm hiện
đại.
2.2 Entity Framework Core
Entity Framework Core (EE Core) là framework có khả năng ánh xạ trên cơ
sở dữ liệu Entity Framework Core hỗ trợ các truy vấn LINQ, cập nhật và thay đổicấu trúc cơ sở dữ liệu Ngoài ra, EF Core có khả năng làm việc trực tiếp với SQL
Server/SQL Azure, SQLite, thông qua mô hình plugin.
Sử dụng Entity Framework mang đến những lợi ích sau đây:
Một, khi thực hiện truy vấn dit liệu, thay vì viết SQL Query thì có thé sửdung Ling dé tương tác với các đối tượng Nhờ vậy mà giúp giảm độ phức tạp của
việc thao tác trong cơ sở đữ liệu rât nhiêu lân.
Hai, việc cập nhật các Class và các câu lệnh dé dàng hơn khi cơ sở dit liệuthay đổi, không phải điều chỉnh thủ công các đoạn mã liên quan
Ba, Entity Framework có kha năng tự động tao ra các lớp va câu lệnh tương
ứng cho việc CRUD co sở dit liệu Đ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.
22
Trang 21Cuôi cùng, Entity Framework cung cap các Class có san đê truy van cơ sở dữ
liệu, giúp tiết kiệm thời gian viết mã khi làm việc với cơ sở đữ liệu
2.3 Microsoft SQL Server
Microsoft SQL Server là một hệ quản tri cơ sở dữ liệu quan hệ, được công ty
Microsoft phát triển SQL Server được sử dụng nham dé tạo, quan lý và triển khai
các hệ thong cơ sở dit liệu.
SQL Server là hệ quản trị được nhiều công ty và cộng đồng yêu thích vì cókhả năng tối ưu hóa cho môi trường cơ sở đữ liệu trong các trường hợp đữ liệu cựclớn lớn, hỗ trợ lên đến hàng Tera-Byte và phục vụ cho hàng ngàn người dùng cùng một lúc.
SQL Server cung cấp nhiều các dịch vụ và công cụ dé hỗ trợ quan lý dữ liệu
Có thé kế đến như: SQL Server Integration Services (SSIS), SQL Server Data
Quality Services Trong đó, SQL Server Management Studio (SSMS) là công cụ được chính Microsoft tạo ra nhằm tôi ưu quản lý, triển khai va giám sát cơ sở dir liệu.
2.4 Modern Android Development
Modern Android Development là bộ các công cụ, thư viện được đề xuất giúpxây dựng ứng dụng Android chất lượng cao, nhanh chóng và dễ dàng
Việc sử dụng các công cụ này giúp cho ứng dụng Android:
- Tang chất lượng sản phẩm: xây dựng ứng dụng với ít mã nguồn hơn dé
có thể tăng tốc độ phát triển và giảm thời gian bảo trì
- _ Giảm thiểu lỗi crash app: giúp Developer và người dùng gặp ít lỗi hơn và
ít sự cố hơn
- Tap trung vào những thứ giúp cho ứng dụng trở nên độc đáo: Giảm thiệu
được boiterlate code, độ phức tap của mã nguồn, ít lỗi hơn.
Modern Android Development bao gồm các thành phan sau:
23
Trang 22(Nguôn: sưu tập từ Internet)
Compose hay Jetpack Compose là tập hợp những toolkit, thư viện được phát
triển để xây dựng Native UI Compose được đơn giản hóa và giúp tăng tốc độ pháttriển giao diện trên Android Băng việc kết hợp với các công cụ mạnh mẽ, thông qua các API từ Kotlin.
2.4.2 Kotlin
< Kotlin
Hình 2.2: Kotlin
(Nguôn: sưu tập từ Internet)
Kotlin là ngôn ngữ ưa thích được chọn dé phát triển ứng dụng Android Banđầu Kotlin được thiết kế dé cải thiện Java và có thé được sử dụng cùng với Java
24
Trang 23Khả năng tương tác của Kotlin với Java đã khiến nó được sử dụng trong nhiều dự
án Android khác nhau.
2.4.3 Android Jetpack
Hình 2.3: Android Jetpack
(Nguôn: sưu tập từ Internet)
Android Jetpack hay Jetpack Library là một bộ thư viện giúp Developer lam
việc theo các phương pháp hay nhất, giảm boilerplate code và viết code hoạt động
trên nhiều phiên bản và thiết bị Android
25
Trang 242.5 Clean Architecture
Clean Architecture 1a kién tric phan mém phé biến, được nhiều dự án hiệnnay sử dụng rộng rãi trong mảng phát triển sản phẩm phần mềm Với mục đích là
loại bỏ sự phụ thuộc giữa các đối tượng và các layer khác Clean Architecture áp
dung Dependency Inversion (một trong các nguyên tắc SOLID) dé làm được điều
này.
Trong Clean Architecture, tùy vào cách thiết kế mà có thé có các layer khácnhau Ở khóa luận này, chúng em chỉ thiết kế 4 lớp được thé hiện thông qua các
vòng tròn bao quanh, với nguyên tắc là các lớp bên trong không biết và không phụ
thuộc vao các lớp bên ngoài của chúng.
[_] Enterprise Business Rules
[|_| Application Business Rules
| ] Interface Adapters {|_| Frameworks & Drivers
Hinh 2.4: The Clean Architecture By Robert C Martin (Uncle Bob) [3][4]
Trang 25đối tượng (Object) cùng với các phương thức và thuộc tính của chúng, tuân theonguyên tắc Đóng gói (Encapsulation) - chỉ có bản thân đối tượng đó mới có khảnăng thay đổi các thuộc tính cũng như trạng thái của bản thân đối tượng.
Các business logic của thực thể trong hệ thống sẽ không nên phụ thuộc đến
các business logic ở các layer khác như lớp Application Ví dụ, nếu có quy địnhrằng người dùng phải từ 18 tuổi trở lên mới được đặt hàng mua đồ uống có cồn, thiquy tắc về giá trị của trường Age trong thực thé sẽ không bị ảnh hưởng
2.5.2 Use cases
Use Cases là lớp chứa các business logic cu thé cho từng các trường hop sử
dụng trong ứng dụng.
Business logic của Use Cases layer sẽ không phụ thuộc và quan tâm đến việc
dữ liệu được thé hiện ra tầng presentation như thế nào, việc sử dụng hàm nào haythư viện nào làm adapter, Đơn giản vì đó là trách nhiệm và các van đề của layer
Presentation/Adapters.
2.5.3 Interface Adapters
Interface Adapters là lớp chịu trách nhiệm cho việc thay đôi các hình thức,dạng của dit liệu sao cho phù hợp với các trường hợp nghiệp vụ, thực thé trong hệthống Dữ liệu đầu vào và đầu ra ở lớp Interface Adapter cần được cân nhắc với
việc đảm bảo được dữ liệu đủ và tránh dư thừa.
2.5.4 Frameworks & Drivers
Lớp Frameworks & Drivers được đặt nam ngoài cùng vi lớp nay được coi là đơn giản và nhẹ nhât vì không yêu câu phải viet quá nhiêu mã nguồn Layer này sẽ
là layer chịu trách nhiệm việc UI được xây dựng như thế nào.
2.6 Recommendation System
Recommendation system (Hệ thống khuyến nghị) là AI được dùng trong
Machine Learning, chủ yếu sử dụng Big Data để suggest ra những thông tin cần
thiết Hiện nay có rất nhiều thuật toán khác nhau, nhưng đều xoay quanh 3 loại sau:
27
Trang 26- Collaborative Filtering: là thuật toán dựa trên các hành vi cua nhiều users
trong quá khứ để tính toán và dự đoán tiếp các hành vi tiếp sau đó trong
tương lai Ví du: User A thích Movie A, user B thích Movie A, B, thuật toán
sẽ dự đoán rang User A cũng có thé thích Movie B, va suggest Movie B cho
User A.
- Content Filtering: Ngược lại với Collaborative Filtering, dạng này dung
thong tin cua cac items dé dự đoán items tuong tu cho users Vi du: User Athích xem Movie A, B, va có 1 Movie C cùng thé loại với Movie A và B, thuat toan sé suggest Movie C cho user A.
- Hybrid: La dang két hop ca 2 loai trén, đầu ra thuật toán được đánh giá là
tốt hơn Đặc điểm của loại Recommend này là dùng một chuỗi các hành vi
và thông tin của user như quốc gia, thiét bị dang sử dụng
Tại khóa luận này, chúng em nhận thấy loại Collaborative Filtering mang nhiéu loi
ích phù hợp với mục đích của mô hình hiện tai: Người dùng nhận được những
recommendations (các gia sư, lớp học ) tốt nhất nhờ vào những người dùng khác
có cùng tinh cách, hành vi Vì vậy, hai em đã chọn loại Recommendation này dé ap
dùng vào khóa luận.
liked by both
similar user
Hình 2.5: Mô tả kiểu Recommend Collaborative Filtering
(Nguôn: sưu tập từ Internet)
28
Trang 272.6.1 Collaborative Filtering
2.6.1.1 Ý tưởngGia sử có 4 users A, B, C, D và mỗi user đều đánh giá 2 lớp học như sau:
Hình 2.6: Biểu đồ đánh giá 2 lớp học của 4 users
Dé tính toán lựa chon users nào là tương đồng, đầu tiên phải tính khoảng cách của 4điểm trên so với gốc tọa độ (0;0)
29
Trang 28Course 1
Course 2
Hình 2.7: Khoảng cách 4 điểm so với gốc tọa độ
Sau khi có được khoảng cách đến gốc toa độ, tiếp đến cần tính góc giữa các
khoảng cách này Nếu góc giữa 2 điểm càng lớn, thì độ tương thích của 2 users cànggiảm Ngược lại, nếu góc giữa 2 điểm càng nhỏ, độ tương thích của 2 users cànglớn Theo như Hình 2.7, user A và user B có góc bằng 0, có nghĩa là 2 users này rấtgiống nhau.
Có thể dùng công thức Cosine của toán học để tìm ra góc giữa 2 điểm Vì
góc càng lớn, thì giá tri cosine cảng nhỏ và ngược lại Ngoài ra gia tri của Cosine
luôn nằm trong khoảng -1 đến 1 nên ta có thé dé dang nhận biết điểm tương đồng
của các users dựa vào khoảng giá tri này.
Sau khi đã có danh sách các users tương đồng với user A (giả sử gọi là U),tiếp đến cần tính các ratings R mà U sẽ đánh giá cho item I Có thể dự đoán ratingcủa User U cho item I gần với trung bình các ratings của top n User tương đồng với
U đã đánh gia cho item I.
n
u=1
30
Trang 29Hình 2.8: Ma trận Rating giữa user va các lớp học
Tùy vào thiết kế Database mà các dữ liệu này có thể ở những Table khácnhau Tại khóa luận này, chúng em thiết kế Course Table có chứa luôn cả Userld (tương ứng với Learner) và Rating (Rating của Leaner đó) Tuy nhiên, như Hình
3.11, có rất nhiều khoảng trống trong ma trận do không phải user nào cũng đánh giá
tất cả các môn học Vì vậy, đối với những hệ thống có data lên đến hàng triệu hoặc
trăm triệu, để tăng hiệu suất của thuật toán thì cần phải “Phân rã ma trận” (MatrixFactorization) trước khi đưa ma trận vào tính toán Nhưng hệ thống của chúng em
không được nhiêu dữ liệu đên thê, nên có thê bỏ qua bước phân rã ma trận này.
Sau khi đã có ma trận, việc chọn thuật toán sẽ tùy vào lôi tiép cận của môi dự
án Tại đây chúng em áp dụng thuật toán “Based on nearest k-neighbours” vì nó
3l
Trang 30gân giông với lôi tiếp cận Cosine đã nêu trên Thuật toán này sẽ dung ma trận làm
dau vào dé phân loại xem item được chon là loại item nao.
Hình 2.9: Minh họa thuật toán Based on k-Nearest Neighbours
Thuật toán này sử dụng công thức khoảng cách Euclid để tính khoảng cáchgiữa điểm được chọn và k điểm xung quanh nó (k là một số bất kỳ), từ đó sẽ nhậnbiết được item đó thuộc loại item nào Tuy nhiên, tại đây chúng em chỉ cần tínhkhoảng cách dé tìm ra k item gan nhất với nó (có độ tương đương giống với itemđược chọn) nên không cần phải quan tâm về phân loại item
d= /(x,-x,) +0,-y)
32
Trang 312.7 Giải pháp công nghệ
- Structure: Clean Architecture
- Backend:
- ASP.NET Core 7.0 following The Clean Architecture.
- Database, ORM: EF Core 7.0, SQL Server.
- Recommendation System: Python
- Web frontend:
- Asp.NET MVC, Razor Pages
- HTML, CSS, JS, Bootstrap.
- Android:
- UI: Jetpack Compose
- Third-party Library: Glide, Retrofit2, Firebase,
- Kotlin
33
Trang 32Chương 3 PHAN TÍCH THIET KE HE THONG
3.1.1.2 Domain
Domain là tầng phụ thuộc vào Domain.Shared vì Domain.Shared vốn đã làmột phần của domain Đây là tầng tập hợp các tập trung các lớp đối tượng quantrọng của đối với hệ thống của doanh nghiệp được gọi là thực thể (Entity) và
interface của các dịch vụ liên quan dén cơ sở dữ liéu[5].
34
Trang 333.1.1.3 Application.Contract
Application.Contracts là tang bao gồm da dang lớp đối tượng được gọi làDTO (Data Transfer Object), là một dạng lớp đối tượng có cấu trúc tương tin đồng
với các thực thé trong domain, được sử dụng tùy vào nhu cầu bảo mật thông [5]
Tầng này cũng chứa các interface của các dịch vụ xử lý các nghiệp vụ của hệ thống
3.1.1.4 Application
Application là tầng phụ thuộc trực tiếp vào lớp Application.Contracts vì tang
này sẽ cai đặt các interface được định nghĩa ở Application.Contracts va sử dụng các
DTO được định nghĩa trong đó [5] Bên cạnh đó, tầng Application cũng phụ thuộc
vào Domain do các định nghĩa của các dịch vụ khi được cài đặt phải cần tới các
thực thé của hệ thống
3.1.1.5 Infrastructure
Infrastructure là tầng chứa và cài đặt các thành phần, dịch vụ bên thứ ba.
Tầng này phụ thuộc vào tầng Domain để cài đặt các dịch vụ được định nghĩa ởDomain và cũng là tầng chính xử lý các thao tác liên quan đến cơ sở dit liệu Tacũng có thé sử dụng thêm các framework ORM (Object Relational Mapping) dé hỗtrợ xử lý cơ sở dữ liệu [5] Đây là tang có tính linh hoạt cao, có thé được thay thé vàbảo trì do không có sự phụ thuộc đến từ các lớp khác [3][4]
3.1.1.6 WebApi/WebMvc
Presentation là layer ngoài cùng, bao gồm các tools được chọn lọc và nhằm
để sử dụng cho các trường hợp nghiệp vụ chính nhằm đáp ứng nhu cầu của người
dùng cuối như: thiết bị, web, ứng dụng, cơ sở dữ liệu, Đây cũng là layer có tínhlinh hoạt cao và dé thay đổi [3][5].
35
Trang 34UI Layer là tang định nghĩa các giao diện được sử dụng trong App Khi ứng
dụng Clean Architecture, UI Layer không nên được biết về Data Layer, có nghĩa làtầng này sẽ không quan tâm cách Data được lấy về và được biến đổi (transform)
như thế nào, mà thay vào đó sẽ chỉ quan tâm kết quả được trả về thông qua tầng
Data và sử dụng tùy ý.
36
Trang 353.1.2.2 Domain Layer
Domain Layer là tầng chứa các Use-Case dùng để định nghĩa Business Logiccủa ứng dụng Ngoài ra Domain Layer cũng đóng vai là cầu nối giữa UI Layer vàData Layer Các Business Logic sẽ được định nghĩa tại đây dé cho UI Layer gọi đến
để lấy Data từ Data Layer Lấy ví dụ: Login Use Case gọi đến phương thức Loginđược định nghĩa ở tầng Data để thực hiện chức năng Login và trả về kết quả choDomain, sau đó UI Layer sẽ nhận kết quả của Domain dé hién thị lên giao diện
3.1.2.3 Data Layer
Data Layer là tang trong cùng của Architecture, tại đây thường là các đoạn
code gọi API để lấy đữ liệu từ Backend Sau khi gọi xong thì Data Layer chỉ đơn
giản trả vé két qua cho Domain đê Domain thực hiện nhiệm vụ của nó.
Quan lý gia sư Quản lý môn học
Quân lý lớp học Quản lý Profile
Đăng ký làm gia sư
Học viên
Hình 3.3: Sơ đồ Use case tổng quát
37
Trang 363.2.1 Authentication
} <<ext end?
Người dùng
<<exlend>> Đỗi mật khẩu
Quản lý thông tin
Hình 3.4: Sơ đô use case Authentication
- Đặc tả Use Case “Đăng ký”
Bang 3.1: Bang use case Đăng ky
Trường hợp sử | Đăng ky
38
Trang 37Luông chính | 1 Người dùng truy cập trang web/ ứng dung mobile.
2 Người dùng bam chọn Sign in
3 Người dùng chon Create account.
Account.
Luôồng ngoại lệ | 4a Người dùng nhập Email không đúng định dạng
4a1 Hệ thống hién thị thông báo lỗi
Thực hiện lại bước 4
Điện thoại / máy tính phải có kết nối mạng Người dùng đăng ký tài khoản thành công.
- Đặc tả Use Case “Đăng nhập”
Bảng 3.2: Bảng use case Đăng nhập
Trường hợp | Đăng nhập
Khách hàng, Quản lý
Sự kiện kích | Người dùng nhập thông tin và nhắn vào nút “Login”
Luông chính | 1.Người dùng mở trang web hoặc ứng dụng
Login.
3 Hệ thống xác thực thông tin đăng nhập thành công va cho phép
người dùng truy cập tai khoản.
39
Trang 38hiển thị thông báo.
Điện thoại / máy tính phải có kết nối mạng
Hệ thống trả kết quả đăng nhập về cho người dùng
- Đặc ta Use Case “Quên mật khẩu”
Bảng 3.3: Bảng use case Quên mật khẩu
Trường hợp sử | Quên mật khẩu
dụng
Sự kiện kích | Người dùng chọn nút Forgot password
hoạt
Luồng chính | 1 Người dùng truy cập trang web/ ứng dụng mobile
2 Người dùng nhắn vào nút Forgot Password.
3 Người dùng nhập email đăng ký tài khoản.
4 Hệ thống xác thực email thành công và gửi email reset mật
khâu.
thông báo.
Use Case thực hiện lại bước 4
40
Trang 39Người dùng phải có sẵn tài khoản
Hệ thống cập nhật lại thông tin tài khoản của người dùng
- Đặc tả Use Case “Đôi mật khâu”
Bảng 3.4: Bảng use case Đổi mật khẩu
Trường hợp | Đổi mật khẩu
Khách hàng, Quản lý
Sự kiện kích | Người dùng chọn nút Change password
Luong chính | Web:
1 Người dùng truy cập trang web
2 Người dung thực hiện Use Case “Đăng nhập” UC-2.2
3 Người dùng bam vào tên tài khoản được hiển thi ở góc trên bên
phải.
4 Người dùng bam vào My Profile, chọn tab Change Password.
5 Người dùng nhập mật khẩu hiện tại, mật khâu mới và xác nhậnmật khâu; bam Change Password
6 Hệ thống xác thực mật khẩu thành công và hiển thị thông báo
Mobile:
1 Người dùng mở ứng dụng
2 Người dùng thực hiện Use Case “Đăng nhập” UC-2.2
41
Trang 40mật khẩu; bam Change Password.
5 Hệ thống xác thực mật khẩu thành công và hiền thị thông báo
Luông ngoại | 5a Hệ thống xác thực mật khẩu thất bại và hiền thị thông báo
Use Case thực hiện lại bước 5
Điều kiện | Điện thoại / máy tính phải có kết nối mạng.
trước Người dùng phải có sẵn tài khoản.
Người dùng đã đăng nhập tài khoản.
Hệ thống cập nhật lại mật khẩu của người dùng
- Đặc ta Use Case “Quản lý thông tin cá nhân”
Bảng 3.5: Bang use case Quan ly thông tin cá nhân
Trường hop | Quan lý thông tin cá nhân
Khách hàng, Quản lý
Sự kiện kích | Người dùng nhắn vào tab Profile, thực hiện cập nhật thông tin cá
nhân và nhân nút Submit
1 Người dùng vào website.
2 Người dùng thực hiện Use Case “Đăng nhập” UC-2.2
3 Người ding bam vào tên tài khoản được hiển thi ở góc trên
bên phải.
42