1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Công nghệ phần mềm: Xây dựng website và ứng dụng di động cho trung tâm tư vấn và phát triển giáo dục

99 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng website và ứng dụng di động cho trung tâm tư vấn và phát triển giáo dục
Tác giả Le Hoang Quy, Huynh Trung Hieu
Người hướng dẫn TS. Đỗ Thị Thanh Tuyền, ThS. Trần Thị Hồng Yến
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Công nghệ phần mềm
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 99
Dung lượng 83,11 MB

Nội dung

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 2

LỜ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 3

MỤ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 4

2.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 5

4.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 6

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

DANH 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 8

Hì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 9

Hì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 10

DANH 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 11

Bang ChangeVerificaHonRequestlefqiÏ se Scc se sskserseres 70

11-.0 /1209.16102.2 8000000808088 n8 71 [1/1-9177/24.(2//7217500n0n0n08e alá1á.ắ.ố 71

Trang 12

DANH 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 13

TÓ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 14

Chươ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 16

1.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 17

1.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 18

1.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 19

Trong 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 20

Chuong 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 21

Cuô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 23

Khả 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 24

2.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 27

2.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 28

Course 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 29

Hì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 30

gâ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 31

2.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 32

Chươ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 33

3.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 34

UI 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 35

3.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 36

3.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 37

Luô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 38

hiể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 39

Ngườ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 40

mậ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

Ngày đăng: 06/12/2024, 15:18

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[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] Sách, tạp chí
Tiêu đề: What is ASP.NET Core
[2] viblo.asia. “Tim hiểu về ASP.NET CORE.” Available:https://viblo.asia/p/tim-hieu-ve-aspnet-core-PaLkDmYmvlX, October. 10, 2016 [Accessed: June. 15, 2023] Sách, tạp chí
Tiêu đề: Tim hiểu về ASP.NET CORE
[3] 200lab.io. “Clean Architecture là gi - Ưu nhược và cách dùng hợp lý.”https:/200lab.1o/blog/clean-architecture-uu-nhuoc-va-cach-dung-hop-ly/, May. 25, 2022 [Accessed: June. 15, 2023] Sách, tạp chí
Tiêu đề: Clean Architecture là gi - Ưu nhược và cách dùng hợp lý
[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] Sách, tạp chí
Tiêu đề: The Clean Architecture
[5] abp.io. “Implementing Domain Driven Design” Available:https://abp.i0/e9f5b0c2-e5e7-4 1 bb-a484-7b87a88clbba/Implementing Domain Dn ven _Design.pdf, June, 2021 [Accessed: June. 18, 2023] Sách, tạp chí
Tiêu đề: Implementing Domain Driven Design
[6] en.wikipedia.org “Entity Framework” Available:https://en.wikipedia.org/wiki/Entity Framework, March 2023 [Accessed: June. 18 Sách, tạp chí
Tiêu đề: Entity Framework

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN