TÓM TẮT KHÓA LUẬNNgày nay với những tiến bộ vượt bậc của khoa học kỹ thuật, các thiết bị công nghệngày càng phát triển việc ứng dụng công nghệ thông tin ngày càng phát triển, do đólĩnh v
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA HE THONG THONG TIN
NGUYEN KIM THAO - 17521065 NGUYEN PHI YEN - 17521289
KHOA LUAN TOT NGHIEP
ONLINE TEACHING AND LEARNING SYSTEM USING
WEBRTC
KY SU HE THONG THONG TIN
TP HO CHÍ MINH, 2021
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA HỆ THÓNG THÔNG TIN
NGUYEN KIM THẢO - 17521065 NGUYEN PHI YEN - 17521289
KHOA LUAN TOT NGHIEP
XAY DUNG HE THONG DAY VA HOC TRUC TUYEN
SU DUNG WEBRTC
ONLINE TEACHING AND LEARNING SYSTEM USING
WEBRTC
KY SU NGANH HE THONG THONG TIN
GIANG VIEN HUONG DAN
THS MAI XUAN HUNG
TP HO CHÍ MINH, 2021
Trang 3THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số
TigầYy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
Trang 4LỜI CẢM ƠN
Lời đầu tiên, nhóm tác giả xin chân thành gửi lời cảm ơn đến quý thầy cô
trường Đại học Công nghệ Thông tin — Đại học Quốc Gia thành phố Hồ Chí Minh
Đặc biệt, nhóm tác giả xin gửi lời cảm ơn và bày tỏ lòng biết ơn sâu sắc đến thầy MaiXuân Hùng — người đã trực tiếp hướng dẫn, giảng day và cung cấp kiến thức quý giá
dé chúng em có được một kết quả tốt nhất trong khoá luận tốt nghiệp
Nhóm tác giả đã vận dụng những kiến thức nền tảng được tích lũy, phối hợpvới việc tự học hỏi và nghiên cứu những kiến thức mới, từ đó nhóm đã hoàn thànhđược đề tài Trong quá trình thực hiện, kiến thức của các thành viên vẫn còn hạn chếnên không thể tránh khỏi những thiếu sót Chính vì vậy, nhóm chúng em hy vọngnhận được những ý kiến đóng góp từ phía quý thầy cô nhằm cải thiện và nâng cao kỹ
năng, qua đó hoàn thiện hành trang của mình trong tương lai.
Xin chân thành cảm ơn!
Nhóm tác giả
Nguyễn Kim Thảo, Nguyễn Phi Yến
Trang 5MỤC LỤC
Chương 1 TONG QUAN ĐÈ TÀII - 2-2-5252 SESEEEEEEEEEEE2E12152171 2121211 ce 3
1.2 Tinh hình nghiên CỨU - 5-2 2S 3313911191131 1111 1 1H ng net 4
1.4.2 Phạm vi 5E z2227777: :a0gg 070 TY 00L LH 1x 10
1.5 Kết quả đạt được -: c¿©2c22+ 22k 22122112211271121111111211.1.ctkrcrei 10
1.6 Ý nghĩa khóa luận ©22S2Sk+EEEE2 12 1EEE21122121111211 11x EEre, 10
1.6.1 Về nghiên cứu lý thuyẾt - ¿5c + s+Ek+EE+EE+EEEeEkerkerkerkereee 101.6.2 Về tính ứng dụng -¿©-+¿©-++c+++Ek+rkrrreerkesrkerrxees 11Chuong 2 CƠ SỞ LÝ THUYET VA CONG NGHỆ SU DỤNG - 12
2.2.1.3 Lợi ích của WeblRTC ¿- + xc2kc2E2EEEEEEkrrkrrrerrrrrrrvee 15
2.2.1.4 Kiến trúc WebRTC trong trình duyỆt ¿5c scs+cs+csses 15
Trang 62.2.1.5 Các APIs trong WeDRTC cece kg, 17 , /MN ` Ả ÔỎÔ 18
2.2.4 Hệ quan trị cơ sở dữ liệu MySQLL 5 22-5 *+*cssseseseresee 19
Chương 3 XÂY DUNG HE THÓNG 2-2 ©ESE+EE£EE£E2E2ECEEerEerkerkrree 20
3.1 Thực hiện khảo sát G5 2211 2223111223 111293 11v ng vn ng re 20
3.2 Phân tích thiết kế -c2+xctttrrthh Hee 21
3.2.1 Mô hình Use Case eee eee eeceseceseessecseceecssecseesseeeseessesseeeseeeseengs 21
3.2.2.1 PHOI — Quan lý tài khoản cá nhân 0 eee eeeeeeeseeeeeeeeteeeeeees 22 3.2.2.2 PH02 — Xem lịch day/hoc cee eesccesceeeseeeseesseeeeseeesaeeeseeenseeeaes 26 3.2.2.3 PH03— Dang ky lớp HOC eececeeceeeseeseeeseeeeeeseeeaeeeeeeneeneeeaeenes 26
3.2.2.4 PH04-— Quản lý lớp hoc oo eee eceeseeseeseeseeseeeeseceeseceeseeeeeseeeeeeeeees 29
3.2.2.5 PHOS — Tham gia buôi WC ccescescssssssessesssessecsesssssesseesessessesseeseess 32
3.2.2.7 PHO7 — Quản lý khóa hỌc - + + tk EseEsekseksseeesserek 39
3.2.2.8 PHO8 — Quản lý chủ đề - ¿2-5 xc2x2EE2ExeEEcrErrkerkerkrres 42
3.2.3 Sơ đồ hoạt động (Activity điagram) - s+cs+xcxerkerxerxerseree 49
3.2.3.1 Quản lý tài khoản cá nhân s6 xe seksseeeesese 49
3.2.3.2 Kem lich day/hoc 1 53
3.2.3.3 Đăng ky lớp hỌC Ăn HH HH HH HH ng n 54
3.2.3.5 Tham gia buổi hỌC - 2 2+ £+E++E£EE£EEEEEEEEEEEEEEEEerkrrkrrkrex 60
Trang 73.2.3.6 Quản lý lớp dạy 22222cc22211112 2.2211 re 62
3.2.3.7 Quản lý khóa hỌc - + ©tc+E2EE2EEEEE2EEEEEEEE21 21 EEkerkrrei 65
3.2.3.8 Quản lý chủ đề -:- c2 x21 12122121111211211 21111111111 c0 68
3.3 Phát triển hệ thong cceccecccccsscssessessessessessessssessessessessesssssesessecsesseesessessessesees 74
3.3.1 Thiết kế so đồ quan hệ thực thé (ERLD) 2 2 5 s+cs+csss2 74
3.3.2 _ Xây dựng back-end . - cv HH ng riệt 75
3.3.3 _ Xây dựng Íronf-end .- Sc + HH ng gi rệt 75
3.4 Kiểm thử - ck 2k2 2 211271 21211211 21111.211 21111111111 763.5 Triển khai J.Z” uf 76
3.5.1 Deploy hệ thống lên Heroku - 2-2 22+ £+E££k+zxerxsrsscez 763.5.2 Quy trình hoạt động trên hệ thống -¿¿+s2©+++cxz+cxe+ 76
3.5.2.1 Quy trình đăng ký tài khoản -. 5+ s + sseereereerrsrrrres 77
3.5.2.2 Quy trình đăng ky lớp hoc eseeseeneeeeeeceeeeeeeeeeseeeeesees 78
3.5.2.3 Quy trình tham gia buổi NOC -¿22++x+£x+zxzze+rxerxeres 79
3.5.2.4 Quy trình đánh giá lớp học - + Sc*+‡svvseexeerssersseresrs 81
3.5.2.5 Quy trình tạo khóa hoc 0 ec eeceeeeeeseeeeeeeeeeceeeeeeeesaeeececeeeeseeeaeeees 83
3.5.2.6 Quy trình tạo lớp hỌC - < 11v vn HH ng 84
Chương 4 KÉT LUẬN VÀ HƯỚNG PHÁT TRIỂN -2 s2 s+zxzsz 86
4.1 Kết luận 25-222 2E 2k 22122112711 712112111211211 111.1 erkrrree 86non ẽ 2 86
4.3 Hướng phát triển 2¿- 2¿+2++2+++EE+2Ek2EEE2112711221211271.221 21.2 ecrk 86
Trang 8DANH MỤC HÌNH
Hình 1.1Kién trúc phô biến của hệ thống WeblRTC 2¿222+222xzv2vzxcsrre 4Hình 1.2Minh họa hệ thống WebRTC khi có nhiều người dùng kết nối với nhau 5Hình 1.3Kién trúc đơn giản của WebRTC khi thêm vào Media Server 6
Hình 1.4Minh họa cách thức hoạt động của mô hình MCU - - -:- -:+-: 7
Hình 1.5 Mô tả cách thức hoạt động của mô hình SFU -¿ +5: cccscx+xs+2 9
Hình 2.1 Truyền thông thời gian thực trong trình duyệt [2] - 5-5z+ss¿ 16Hình 2.2 Kiến trúc tong thể WeDRTC [3] 22 S22E2EEt2EE£2EEEEEEEEEEEkrrrrerree 17
Hình 3.1: Mô hình Use Case - 2t 121 ST HH HH HT HH HH 21
Hình 3.2: Sơ đồ hoạt động Đăng ký 2 2c 2S 7122212211221 rrtee 49Hình 3.3: Sơ đồ hoạt động Đăng nhập - 22: ©222¿222+222E2222122223222212222.ce 50
Hình 3.4: Sơ đồ hoạt động Đăng Xuất - 22222 221122212221122112712221 221 cee 51
Hình 3.5: Sơ đồ hoạt động Cập nhật thông tin tài khoản - 5+: 52
Hình 3.6: Sơ đồ hoạt động Xem lịch dạy -:: :Ss St EErtsrrerrrrrrrerrerrres 53
Hình 3.7: Sơ đồ hoạt động Dang ký lớp học - + s2 + z2 ++x£+xerkerxerxerssrez 54Hinh 3.8: So dé hoat động tim kiém LỚP HỌC Ghi rey 55Hình 3.9: So đồ hoạt động Xem thông tin gia sl c.ceccecceccessssssesesesessessessessessesseees 56Hình 3.10: Sơ đồ hoạt động Xem thông tin lớp học -:-¿cs¿5szs+e-++ 57Hình 3.11: Sơ đồ hoạt động đánh giá lớp học - ¿22+ ++£x+zxzzezrxerxcres 58
Hình 3.12: Sơ đồ hoạt động Hủy Ip o.ceccecccescescessessesseessessesseesesssessessesseesseseeseeseess 59
Hình 3.13: Sơ đồ hoạt h0 0600020121900 60Hình 3.14: Sơ đồ hoạt động Chia sẻ màn hình: - - 5 55s *++kEssexseeseree 61Hình 3.15: Sơ đồ hoạt động Tạo Lop TỚII - - 5 563 +3 S1 ESEEiEseEekrkkksekree 62Hình 3.16: Sơ đồ hoạt động Cập nhật thông tin lớp học - ¿5< <<+<<+x++ 63
Hình 3.17: Sơ đồ hoạt s00, {07:81958i0 2.4 64
Hình 3.18: Sơ đồ hoạt động Tạo khóa học mÚỚI -. +22 +2 ++sseerssereserreres 65Hình 3.19: Sơ đồ hoạt động Cập nhật thông tin khóa học - -«++<<ss+ 66Hình 3.20: Sơ đồ hoạt động Xóa khóa học - 2-2 5¿22++2++2x++zxzrxrrxeeree 67
Trang 9Hình 3.21: Sơ đồ hoạt động Tạo chủ đề mới - 2-2222 ++zx+zE++£++rxerxzez 68Hình 3.22: Sơ đồ hoạt động Cập nhật thông tin chủ đỀ nh HE rekrrerrrkeg 69Hình 3.23: Sơ đồ hoạt động Xóa chủ đề -2¿ ¿©5222 2Ext2EEtEEterxrerxrrrrrree 70Hình 3.24: Sơ đồ hoạt động Tao user mới -:- ¿2 s¿+x++x++£x++zxezrxrrxesree 71
Hình 3.25: Sơ đồ hoạt động Cập nhật thông tin uS€F -. 55c sS<s+<s+sexsexss 72
Hình 3.26: Sơ đồ hoạt động Xóa user ¿- + ¿5° E+SE‡EE+EE£EE+EE2EEEEeEEerkerkerkrree 73
Hình 3.27: đồ quan hệ thực thé (ERD) 2 5222E2EEEt2E1227E22E127EE2EEzEkcet 74
Hình 3.28: Cách thức hoạt động của RESTful APPI -¿ scccccxscxsrrrrrrerrerrres 75
Hình 3.29: Quy trình đăng ký tài khoản sử dụng hệ thống - 77
Hình 3.30: Quy trình đăng ký tài khoản sử dụng hệ thống -. - 77
Hình 3.34: Quy trình tham gia buổi học - 2 s2 2E2EE2EE2E1E2EEE7EE27E2EEczrrerrev 79Hình 3.35: Quy trình tham gia buổi học - 22 2++22E++2EE22EE2222E222E2222E22E.cee 80Hình 3.36: Quy trình tham gia buổi học 2-52 x2EE+2EE2EEt2EEEEEEEEEEErrrrrerree 80Hình 3.37: Quy trình tham gia buổi học 2: 5s 2x2EE2EE2E1E2E1E711271x2E12Excrtev 80Hình 3.38: Quy trình tham gia buổi học + 2s 2E2EE2EEt2EEE2EEEEEE2EEzExcrrrerree 81
Hình 3.45: Quy trình tạo lóp hỌC c2: 2c 121121111 1211511511 211111111 11111 kg 84
Hình 3.47: Quy trình tạo lớp hỌC - S11 1211211211111 211111111111 1H 85
Trang 10DANH MỤC BANG
Bang 3.1: Khao sát một số hệ thống liên quan 2-2 2 2+ £+x£E+£x+z+zzszse2 20
Bảng 3.2: Đặc tả use case Dang KY 0 ee eeceeeeeeceeseeeseeesececeeeceseeeceeeeeeseeeaeeenesneeeaeees 23
Bảng 3.3: Đặc ta use case Dang nhap - - ¿(2 5< 2111111 9 ngư, 24
Bang 3.4: Đặc tả use case Đăng XUẤC ¿- 6c n2 221 212211211211 071211 211 xe 24
Bảng 3.5: Đặc tả use case Cập nhật ảnh đại diện 5 55525 *++++sersxs 25
Bảng 3.6: Đặc ta use case Xem lịch dạy/hỌC - 5- + c1 St sersrerrrerrerrrrrre 26
Bảng 3.7: Đặc tả use case Đăng ký IOC - c1 1S 321 1 1 111 re, 27
Bang 3.8: Đặc tả use case Tìm kiếm lớp hỌc -+- 2 5z25£+x+£xvzxzze+rxerxezes 28
Bang 3.9: Đặc tả use case Xem thông tin Gia SƯ - cxcsxcseseeesersrserske 29
Bang 3.10: Đặc tả use case Xem thông tin chi tiết của lớp học -: 29
Bảng 3.11: Đặc ta use case Đánh giá lớp hỌC «6s xsxseseesseesessesske 30
Bảng 3.12: Đặc tả use case Hủy ÏỚp - - 5 1n HH ng trên 31
Bang 3.13: Đặc ta use Case GỌI VIC€O c1 HH ng ng ng 32
Bang 3.14: Đặc ta use case Chia sẻ màn hình 5+5 + + + ++sksveeeseesseeers 33
Bảng 3.15: Đặc tả use case Kết thúc cuộc Mùi Ợ 088m 34Bang 3.16: Đặc ta use case Xem thông tin chỉ tiết của lớp dạy - 34
Bang 3.17: Đặc ta use case Tạo Op TỚI - <5 5c 3+ E + E+*EEESeeEeeeeeeeerereere 35 Bang 3.18: Đặc ta use case Cập nhật thông tin lớp day - -«<+<<<++<ss+ 36 Bang 3.19: Đặc ta use case Xóa lớp ạy - ch 37 Bảng 3.20: Đặc ta use case Xem thông tin học viÊn -s + s++sexsseeeesers 38
Bang 3.21: Đặc ta use case Hủy ÏỚP - - 5 5 SH HH ngàng HH rưệt 39
Bảng 3.22: Đặc ta use case Xem thông tin chỉ tiết của khóa học - 39
Bang 3.23: Đặc ta use case Tạo khóa học M01 55555 s + +++vexsseeeeers 40 Bảng 3.24: Đặc tả use case Cập nhật thông tin khóa học - -«++-<+5+ 4I
Bang 3.26: Đặc tả use case Xem thông tin chỉ tiết của chủ đề -5¿ 43Bảng 3.27: Đặc tả use case Tạo chủ GE mớii - -cc sec ‡EEEkEEEkEErkerkekerkrrerkee 43
Bảng 3.28: Đặc ta use case Cập nhật thông tin chủ đề - 2s s2 44
Trang 11Bang 3.29: Đặc tả use case Xóa chủ đề -:-©5¿ s22 EE2E2E1221221 21121121 crer 45Bảng 3.30: Đặc ta use case Xem thông tin chỉ tiết của user : -: -5- 46
Bang 3.31: Đặc ta use case Tao US€T TỚI - G5 1 311 E 331 ESEESseeeeeeereere 47
Bảng 3.32: Đặc tả use case Cập nhật thông tin user 5+ s«c++csseese 48
Trang 12DANH MỤC TỪ VIET TAT
Từ viết tắt Tên đầy đủ
API Application Programming Interface
ADSL Asymmetric Digital Subscriber Line
CSDL Cơ sở dữ liệu
ERD Entity Relationship Diagram
MCU Multipoint Controller Unit
P2P Peer-to-Peer
RTC Real Time Communication
SFU Select Forwarding Unit
UI User interface
W3C World Wide Web Consortium
WebRTC Web Real-Time Communication
Trang 13TÓM TẮT KHÓA LUẬN
Ngày nay với những tiến bộ vượt bậc của khoa học kỹ thuật, các thiết bị công nghệngày càng phát triển việc ứng dụng công nghệ thông tin ngày càng phát triển, do đólĩnh vực giáo dục ngày càng được ứng dụng nhiều công nghệ Đại dịch covid-19
diễn ra đã thúc đây quá trình chuyền đổi số trở nên bùng nổ, lĩnh vực giáo dục cũng
có chung hệ quả như vậy Lưu lượng sử dụng gia tăng các phần mềm họp mặt như:
Zoom, Microsoft Team, Google Meet, hay các nên tang học online như: Coursera,
Udemy, là minh chứng cho điều đó Nhưng không phải các nền tảng nào cũng phùhợp hoặc thuận tiện cho người học Mục tiêu của đề tài này là cung cấp cái nhìn rõràng hơn về WebRTC trong giáo dục trực tuyến (E-Learning), từ đó xây dựng một
hệ thông cụ thé áp dụng vào thực tế
Khóa luận gồm 4 chương với các nội dung chính sau:
« _ Chương 1: Tổng quan đề tai
« _ Chương 2: Cơ sở lý thuyết va công nghệ sử dụng
‹ Chương 3: Xây dựng hệ thống
« - Chương 4: Kết luận và hướng phát triển
Trang 14MỞ ĐẦU
Với sự phát triển mạnh mẽ của công nghệ và các phương tiện truyền thông, nhu cầu
học tập của con người cũng theo đó mà tăng cao Trong khi hình thức giáo dục
truyền thống trải qua nhiều năm đã xuất hiện các bat cập, không thé đáp ứng đượcnhu cầu học tập nâng cao của con người trong thời đại công nghệ 4.0 Đặc biệt, với
sự bùng nồ đại dịch Covid-19, không chỉ các hoạt động kinh doanh, dịch vụ giải trí
mà cả hoạt động trong ngành giáo dục cũng bị ảnh hưởng nghiêm trọng Trong bối
cảnh đó, hình thức dạy học trực tuyến E-Learning là một phương pháp hiệu quả và
khả thi.
Bên cạnh đó, với sự ra đời và phát triển phô biến, rộng rãi của Web Conference
(hay còn gọi là hội nghị trên web là một hình thức trao đôi thông tin trực tiếp giữacác thành viên ở xa nhau), đã mang lại hiệu quả cao, bảo đảm bảo nhiều yếu tố lợi
ích cho xã hội.
Từ những cơ sở trên, nhóm nghiên cứu nhận thấy rằng việc xây dựng hệ thống
E-Learning tích hợp Web Conference là hướng đi rất tiềm năng và đó cũng là mục
tiêu mà nhóm muôn hướng tới
Trang 15Chương 1 TONG QUAN DE TÀI
Chương nay mô tả tong quan về hiện trang day và hoc thêm ngoài giờ tại Việt Nam.Qua đó mô tả bài toán gặp phải, đối tượng, phạm vi, khảo sát các nghiên cứu liên
quan trong và ngoài nước Cuối cùng đưa ra mục tiêu và hướng giải quyết của đề
`.
tài.
1.1 Mô tả bài toán
Hiện nay, trong bối cảnh chuyên đổi số ngày càng được phô biến rộng rãi trong
nhiều ngành nghé, đại dich Covid-19 trở thành một động lực lớn thúc day quá trìnhnày diễn ra mạnh mẽ hơn bao giờ hết Giáo dục không phải là một ngoại lệ, trong
bối cảnh con người phải sống chung với dịch bệnh thì học trực tuyến (E-learning) làđiều không thể tránh khỏi Những nguyên do khiến việc học trực tiếp trở nên bị giới
hạn:
* Chi phí cao, việc học trực tiêp còn có cơ sở vật chat đê phục vụ các buôi học như:
bàn, ghê, làm mát,
* Khoảng cách địa lí, việc di chuyền từ nơi ở đến nơi học có thé tốn nhiều chi phí,
thời gian nêu ở xa, đôi với du học thì tiêu tôn nhiêu hơn gâp bội
* Trong bối cảnh dịch bệnh, thiên tai hiện nay, thì việc tiếp xúc gần không được
khuyến khích
Các vấn đề này có thê được giải quyết bằng e-learning:
* Chi phí sẽ rẻ hơn nhiều vì không phải tốn chi phí di chuyền, cơ sở vật chat
+ Khoảng cách không còn là vấn đề, thậm chí có thé xuyên biên giới
+ Trong bối cảnh hiện nay, e-learning có thé giúp chúng ta học mà không cần dùng
đến khẩu trang
Tuy có nhiều lợi ích, nhưng các hệ thống e-learning hiện nay vẫn có khuyết điểm
Hiện nay, e-learning có 2 dạng phổ biến:
+ E-learning gồm các video thu sẵn (Udemy, Hocmai )
Trang 16+ E-learning là các lớp học được tô chức từ các lớp học trực tiếp khi mà không thé
học trong điều kiện bình thường
Các lớp học này đều có sự hạn chế:
* Các video thu sẵn khiến người học trở nên thụ động vì không thé tương tác
+ Những lớp học chuyền từ trực tiếp sang e-learning thường khó dé tự chọn giáo
viên phù hợp.
¢ Những lớp đông người học thi kiến thức sẽ “loãng”, việc học không còn hiệu quả
1.2 Tình hình nghiên cứu
WebRTC có sự khác biệt với mô hình truyền thống là sử dụng P2P giữa các trình
duyệt Mặc dù sử dụng mô hình P2P xong cái ứng dụng WebRTC vẫn cần một
server đứng trung gian dé có trao đồi các thông tin cần thiết dé hai trình duyệt có
thé kết nối với nhau Server này được gọi là signaling server, nó cần phải là một với
chức năng thời gian thực (Real Time Communication hay RTC).Ngoai ra WebRTC
cũng cung cấp cap một số APIs dé tương tác cũng như tận dụng khả năng của các
trình duyệt.Hình mô tả kiến trúc của đơn giản WebRTC
Signaling Server
Người dùng A Người dùng B
Hình 1.1 Kiến trúc phô biến của hệ thống WebRTC
Trang 17WebRTC không giới hạn kết nối giữa hai người dùng Chúng ta có khả năng kết nối
từ một người dùng đến nhiều người dùng khác.Hình mô tả có nhiều hơn hai peer
được kết nôi với nhau.
Hình 1.2 Minh họa hệ thống WebRTC khi có nhiều người dùng kết nối với nhau
Như ta thấy ở hình trên, bat cứ khi nào ta muốn kết nối tới một user khác ta cần tạopeer thêm peer dé kết nối với hai bên Theo hình trên, như ta thấy ở trên mỗi peer sẽ
có 2 luồng kết nối.Chúng ta cho là khi ta có 10 peer kết nối với nhau với một, chúng
ta kiểm tra là mỗi peer kết nối mat khoảng 500kbps, nếu vậy 10 kết nối sẽ tốn chi
phí là gần 5mbps Nếu ta sử dụng mạng ADSL với băng tần 3mbps, chúng ta khôngthé kết nói đến tận 10 peer Thêm vào đó với sự phát triển về công nghệ như hiện
Trang 18nay, việc tăng trải nghiệm của người dùng khi thực hiện các kết nối là điều cần thiết
(ví dụ như là ứng dụng Computer Vision hay AR trong việc stream video ) Với
giới hạn về thiết bị hiện nay thật khó dé các kết nối có thé thực hiện những điều
trên Với nhu cầu đó, người ta đưa ra một ý tưởng là có một server riêng, server này
có trách nhiệm trung gian chuyên/nhận các luỗng dữ liệu tới các peer Với điều nàycác peer chỉ cần nhận/truyền stream từ server đó Điều này làm giảm gánh nặng cho
bên phía người dùng bên bị giới hạn bởi thiết bị của mình (như là thiết bị di động,
trình duyệt web ), nhất là khi có rất nhiều peer kết nối với nhau.Server này được
gọi là media server, hình dưới minh hóa kiến trúc của hệ thong WebRTC khi thém
media server.
Người dùng A Người dùng B Người dùng C
Hình 1.3 Kiến trúc đơn giản của WebRTC khi thêm vào Media ServerVới việc thêm vào Media Server ta thay rõ sự giảm tải giữa các peer kết nói Mỗi
peer bây giờ chỉ cần giữ kết nối tới một Media Server Điều này giải quyết được van
dé dé cập đến trước đó với 10 peer kết nối Và với thời đại công nghệ phát triển nhưhiện nay, việc tăng trải nghiệm cho người dùng là một rất cần thiết và quan trọng Vì
Trang 19thê với một server riêng biệt chúng ta có nhiêu sức mạnh hơn trong việc thực hiện
các tác vụ video nâng cao tăng tương tác với người dùng.Hiện tại thì có hai loại
Media Server phổ biến được dùng là MCU và SFU
1.2.1 MCU
Multipoint Controller Unit là một kiểu chiến lược cho phép tôi ưu việc nhiều peer
kết nối với nhau Với MCU thay vì các peer được thiết lập kết nối với tat cả các peer
khác,nó chỉ cần thiết lập kết nối với một media server trung gian Media server này
có trách nghiệm nhận/chuyên tới các peer khác.Dưới đây hình minh hoa của MCU:
Trang 20Với một media server ở giữa ta có thê nhận thấy sự giảm phụ thuộc vào các peer
kết nối với nhau Về cơ ban MCU nhận tat cả stream từ tat cả các peer, giải mã các
stream này và sau đó tạo một layout trộn lẫn tất cả các stream này Cuối cùng nó
giải mã và gửi đến tất cả các peer khác Ưu điểm của MCU là đơn giản và tránh
được vấn đề về hiệu suất khi có nhiều peer két nối.Nhưng một điều ta có thể nhận
thấy ở đây là MCU trộn lẫn các luồng stream với nhau, điều này dẫn đến việc chúng
ta khó có thé có được những ludng stream nguyên dạng ban dau ( có thé chất lượngvideo kém hơn) hoặc có một vài độ trễ khi sử dụng Một điều không tránh khỏi là
thêm một server đứng giữa rất tốn kém Bên cạnh đó media server phải mã hóa và
giải mã lên tốn khá nhiều tài nguyên hệ thống như băng thông, CPU
1.2.2 SFU
Một cách tiếp cận khác ở đây là Select Forwarding Unit (SFU) Tương tự như
MCU có một server trung gian ở giữa, nhưng SFU có phan cải tiến hơn Thay vi
phải xử lý nhiều công đoạn như giải mã, tron, sau đó giải mã, SFU đơn giản chỉ giải
mã và gửi tới các peer khác khi người dùng gửi một luồng stream tới Việc này làmlàm cho các luồng stream có thé chất lượng tốt hơn do không phải trộn như media
server Và độ trễ thấp hơn khi không phải trải qua nhiều giai đoạn như MCU Hình
dưới mô ta SFU:
Trang 211.3 Mục tiêu và hướng giải quyết
Từ những cơ sở trên, nhóm tác giả nhận thấy hướng đi WebRTC ứng dụng cho hệ
thống kết nối giữa người cần học và người muốn dạy là 1 đề tài tiềm năng Cho nên
trong khóa luận này nhóm tác giả đã nghiên cứu và phát triển 1 ứng dụng với tính
ứng dụng cao với mục tiêu sau:
¢ Thực hiện tot những ưu diém mà các hệ thông e-learning hiện nay đang có
* Đảm bao sự tương tác giữa người dạy mà học
* Cung cấp nội dung đa dang
Trang 22* Mọi người học hỏi lẫn nhau
* Dap ứng chính xác nhu cầu cho người học
Về thực tiễn:
¢ Tạo ra môi trường cho người dạy và người hoc
¢ Thực hiện được cơ bản các chức năng
* Đáp ứng được nhu cầu cho những người sử dụng
1.4 Đối tượng và phạm vi
1.4.1 Đối tượng
Hệ thông hướng đên tat cả người dùng có nhu câu học thêm các kỹ năng, kiên
thức mới và đôi tượng người dùng có khả năng và muôn truyên đạt, chia sẻ vê
chuyên môn của mình bằng hình thức dạy — học trực tuyến
1.4.2 Pham vi
Các tinh năng của hệ thống được xây dựng phù hop với như cầu học theo hình
thức tương tác trực tuyến 1 người dạy và 1 người học của người dùng
1.5 Kết quả đạt được
Sau quá trình thực hiện kết quả chính mà nhóm nghiên cứu đã đạt được là:
* Cung cấp kiến thức nền tảng về webrtc, web application development
* Ứng dụng hoạt động với các chức năng cơ bản
1.6 Ý nghĩa khóa luận
1.6.1 Về nghiên cứu lý thuyết
Nghiên cứu đã tông hợp và cung cấp các kiến thức về E-Learning, Web
Conference, cũng như công nghệ WebRTC.
10
Trang 231.6.2 Về tính ứng dụng
Hệ thống E-learning tích hợp Web conference ra đời đã giải quyết được rất nhiềubài toán khó của hình thức giáo dục truyền thống ở Việt Nam Việc triển khai và
đưa vào thực tế sử dụng giúp người dùng có thể học và dạy mọi lúc mọi nơi với
thiết bị có kết nối Internet cùng với những lợi ích khác như tiết kiệm thời gian, chỉ
phí đi lại được giảm đáng kể Điều này mang lại rất nhiều lợi ích cho ngành giáo
dục nói chung.
11
Trang 24Chương 2 CƠ SỞ LÝ THUYET VA CÔNG NGHỆ SỬ DUNG
Chương này nói về cơ sở lý thuyết cũng như các công nghệ được sử dụng trong quátrình thực hiện dé tài Ngoài ra các công cụ sử dụng nhóm nghiên cứu trình bày chitiết ở phụ lục A Công cụ sử dụng
2.1 Cơ sở lý thuyết
2.1.1 E-Learning
E-learning là một thuật ngữ thu hút được sự quan tâm, chú ý của rất nhiều người
hiện nay, đặc biệt là trong bối cảnh chuyển đổi số trong đại dịch covid-19 Theo
PGS.TS Lê Huy Hoàng, “E-learning là một loại hình đảo tạo chính qui hay không
chính qui hướng tới thực hiện tốt mục tiêu học tập, trong đó có sự tương tác trực
tiếp giữa người dạy với người học cũng như giữa cộng đồng học tập một cách thuậnlợi thông qua công nghệ thông tin và truyền thống”
E-Learning đang phát trién mạnh mẽ và được coi là phương thức dao tạo cho
tương lai Có được điều đó là do nó thé hiện được nhiều những ưu điểm quan trọng.Những ưu điểm nôi bật của E-Learning:
- Dễ tiếp cận và thuận tiện: Dịch vụ học trực tuyến dựa trên công nghệ là Internet,
vì vậy việc tiếp cận rất dễ dàng Người học có thê tiếp cận và học bat cứ nơi đâu.
+ Tiết kiệm thời gian và tiền bạc: Người học trực tuyến sẽ tiết kiệm được cả thời
gian và tiền bạc vì trường học của họ sẽ ở ngay trước màn hình máy tính Không
giống như trong các khóa học trong các cơ sở đảo tạo, học sinh của Elearning sẽ tiếtkiệm thời gian đi lại và tiết kiệm tiền cho các khoản chỉ phí cho sách giáo khoa,
sách hướng dẫn, và các học liệu khác.
» Linh hoạt: Người học có thé đăng ky bao nhiêu khóa học mà việc hoc cần, có
thê tự điều chỉnh thời gian, tốc độ học theo khả năng và có thể tự tham khảo, nghiêncứu thêm thông qua các nguồn tài liệu được hướng dẫn tham khảo
12
Trang 25* Được hỗ trợ: Với hệ thống công nghệ E-Learning, người học dé dàng theo dõi
tiến độ học tập, kết quả học tập, được hỗ trợ giải đáp thông tin kip thời
* Tránh phải tụ tập, tiếp xúc khi điều kiện không cho phép
2.1.2 Web Conference
Web Conference, hay còn gọi là hội nghị trên web là một hình thức trao đồi thôngtin trực tiếp giữa các thành viên ở xa nhau (có thê là từ phòng này đến phòng khác
trong một tòa nhà, hay là từ quốc gia này đến quốc gia khác)
Khi hội nghị trên web diễn ra các thành viên có thé trao đổi thoại, hình anh, và dtr
liệu (voice, video, data) Các thành viên có thé nói chuyện với nhau, nhìn thấy nhau,
sử dụng ngôn ngữ cơ thể, và đặc biệt, có thé chia sẻ dữ liệu, cho phép cùng trao đổi,
thảo luận về một file dữ liệu nao đó (ppt, excel, word, pdf, )
Hệ thống họp trực tuyến trên web được ứng dụng rộng rãi cho hội nghị, hội thảo,họp giao ban, đào tạo trực tuyến của ngành giáo dục nói riêng và các bộ ngành, đơn
vị, cá nhân khác, giúp thúc đây sự hợp tác, nghiên cứu phát triển Hiệu quả ứng
dụng của hội nghị trên web cảng ngày càng đem lại lợi ích hiệu quả kinh tế rÕ rét,
bao đảm bảo nhiều yếu tổ lợi ích cho xã hội, đặc biết là cho các doanh nghiệp trong
nước hiện nay.
2.2 Công nghệ sử dung
Nhóm sử dụng công nghệ WebRTC để tích hợp Web Conference vào hệ thống
E-Learning Đối với front-end sử dụng ReactJS, back-end sử dụng ngôn ngữ Java và
hệ quản tri cơ sở dữ liệu sử dụng MySQL dé lập trình hệ thống.
Trang 26phương tiện thời gian thực như gọi điện, truyền hình, truyền dữ liệu, gửi tin nhắn
bằng các APIs JavaScripts
2.2.1.2 Quá trình phát triển
Sự phát triển của WebRTC qua các năm gần đây trên các trình duyệt thé hiện ở
các mốc thời gian:
e 27/10/2011: Bản dự thảo WebRTC đầu tiên được W3C công bồ
e Tháng 11/2011, WebRTC được hỗ trợ một phần trên Chrome 23 (chưa hỗ trợ
Data Channel API)
e Thang 1/2013: WebRTC được hỗ trợ một phần trên Firefox 20 (hỗ trợ API
GetUserMedia - API cho phép truy cập media trên máy).
e Tháng 6/2013: Firefox 22 phát hành, hỗ trợ khả năng tạo cuộc gọi video cũng
như sử dụng Data Channel API.
e Tháng 7/2013: Phiên ban beta của Chrome 29 trên Android hé trợ WebRTC.
e Tháng 8/2013: Chrome 29 trên Android hỗ trợ đầy đủ WebRTC
e Tháng 10/2013: Phiên ban beta Opera 18 giới thiệu hỗ trợ WebRTC.
e Tháng 3/2014: Phiên bản Opera 20 cho Android hỗ trợ WebRTC.
e 10/02/2015: WebRTC 1.0 working draft chính thức được công bố, đến nay đã
được hỗ trợ bởi các trình duyệt Chrome (version 23 trở lên), Firefox (version 22 trở
lên), Opera (version 18 trở lên) và được hỗ trợ trình duyệt trên 12 nên tảng Android
(Chrome 29 trở lên, Firefox 24 trở lên, Opera Mobile 12 trở lên, Google Chrome
OS).
14
Trang 272.2.1.3 Lợi ích của WebRTC
e Giảm giá thành: chi phí triển khai và hỗ trợ IT thấp vì không cần cài đặt phần
mềm client đặc biệt nào phía client
e Không Plugins: trước đây phải sử dụng Flash, Java Applets và các giải pháp
khác dé xây dựng ứng dụng web tương tác đa phương tiện, phải download và cài
đặt các plugin của bên thứ ba đề có thê sử dụng nội dung đa phương tiện, ngoài ra
còn phải lưu ý đến những giải pháp/plugin cho các hệ điều hành và nền tảng
(platform) khác nhau Với WebRTC thì không cần quan tâm đến vẫn đề này nữa
e Truyền thông P2P: trong đa phần các trường hợp, truyền thông được thiết lập
trực tiếp giữa trình duyệt, không cần có những điểm trung gian
e Dễ sử dụng: có thé dé dàng tích hợp tính năng WebRTC trong dịch vụ
web/trang web bang cách sử dụng JavaScript APIs, những framework đã có sẵn
e Một giải pháp cho mọi nền tảng: không cần phát triển những phiên bản dịch vụweb cho những nên tảng khác nhau (Windows, Android, IOS )
e Mã mở và miễn phí: WebRTC được Google đưa thành dự án mã nguồn mở, vàđược hỗ trợ bởi những công ty quốc tế như Mozilla, Google và Opera, thêm cộng
đồng trên thế giới có thể phát hiện những lỗi mới và giải quyết nhanh chóng hoàn
toàn miễn phí [3]
e Built-in security: WebRTC quy định mọi dữ liệu truyền P2P đều được bảo mật
và mã hóa.
2.2.1.4 Kiến trúc WebRTC trong trình duyệt
Ứng dung web với WebRTC (thường viết bằng HTMLS và JavaScript) tương tácvới trình duyệt qua những WebRTC APIs đang được chuẩn hóa, cho phép nó khai
thác hợp lý và điều khiển chức năng thời gian thực của trình duyệt
15
Trang 28HTTP hoặc P hoặc WebSockets
Hình 2.1 Truyền thông thời gian thực trong trình duyệt [2]
Hình 2.1 cho thay mô hình trình duyệt và vai trò của các chức năng truyền thôngthời gian thực Khối màu sáng là chức năng truyền thông thời gian thực (Real Time
Communication — RTC) của trình duyệt Do tính chất riêng và yêu cầu của truyền
thông thời gian thực nên việc chuẩn hóa khối này là không đơn giản, hiện tại vẫn
đang trong quá trình bàn thảo Các chức năng RTC tương tác với các ứng dụng web
sử dụng các APIs chuẩn Nó giao tiếp với các hệ điều hành bằng cách sử dụng trình
duyệt.
16
Trang 29The web
Your browser
GERD 27! for ved developers mm API for browser makers ta Overrideable by browser makers
Hình 2.2 Kiến trúc tông thé WebRTC [3]
Trong kiến trúc WebRTC có 3 lớp API:
e APIs cho nhà lập trình web: lớp này chứa tất cả các APIs mà nhà lập trình web
cần, bao gồm các đối tượng chính là RTCPeerConnection, RTCDataChannel,
MediaStream (chi tiết mô tả ở mục 2.2.1.5 Các APIs trong WebRTC)
e APIs cho nhà phát triển trình duyệt sử dụng
e Overridable API: nhà phát triển trình duyệt có thé thay đôi, phát triển APIs của
riêng mình.
2.2.1.5 Các APIs trong WebRTC
WebRTC bao gồm các APIs, các giao thức liên quan và làm việc với nhau dé hỗ
trợ việc trao đôi dit liệu đa phương tiện giữa các trình duyệt WebRTC dang trong
quá trình chuẩn hóa và sử dụng các APIs quanh ba khái niệm chính:
17
Trang 30e RTCPeerConnection: thiết lập kết nối cho cuộc gọi audio/video/data, khả năng
mã hóa và quản lý băng thông.
e MediaStream: truy cập vào dong media, như camera hay microphone người
các UI phức tạp thành các thành phần nhỏ (được gọi là component) Nó được tạo ra
bởi Jordan Walke, một kỹ sư phần mềm tại Facebook ReactJS ban đầu được phát
triển và duy trì bởi Facebook và sau đó được sử dụng trong các sản phẩm của mình
như WhatsApp & Instagram.
ReactJS được dùng để xây dung các ứng dụng single page application (SPA)
Một trong những điểm hap dẫn của ReacJS là nó không chỉ được xây dựng bên phía
clients mà còn sử dụng được bên phía server.
riêng cho mình (JRE) và API, Java được gọi là Platform.
Ngôn ngữ lập trình Java ban đầu được phát triển bởi Sun Microsystems do JamesGosling khởi xướng và phát hành vào năm 1995 Phiên bản mới nhất của Java
Standard Edition là Java SE 8 Với sự tiến bộ của Java và sự phố biến rộng rãi của
nó, nhiều cau hình đã được xây dựng đề phù hợp với nhiều loại nền tảng khác nhau
Ví dụ: J2EE cho các ứng dụng doanh nghiệp, J2ME cho các ứng dụng di động.
18
Trang 31Các phiên bản J2 mới đã được đổi tên thành Java SE, Java EE và Java ME.
Phương châm của java là "Write Once, Run Anywhere" - viết một lần chạy nhiều
nơi, nghĩa là bạn chỉ cần viết một lần trên window chăng hạn, sau đó vẫn chương
trình đó bạn có thê chạy trên Linux, Android, các thiết bị J2ME
2.2.4 Hệ quản trị cơ sở dữ liệu MySQL
MySQL là hệ quản trị CSDL mã nguồn mở phổ biến nhất trên thế giới vì cơ chế
xử lý nhanh và ôn định của nó, sự đáng tin cậy cao và dễ sử dụng Nó được sử dụngmoi nơi — ngay cả châu Nam Cực - bởi các nhà phát triển Web riêng lẻ cũng như ratnhiều các tô chức lớn nhất trên thé giới dé tiết kiệm thời gian và tiền bạc cho nhữngWebsite có dung lượng lớn, phần mềm đóng gói — bao gồm cả những nhà đi đầu
trong lĩnh vực công nghệ như Yahoo!, Google, Nokia, YouTube
Uu điểm:
* Mã nguồn mở, miễn phí
* Tốc độ truy cập nhanh, ôn định, mức độ bảo mật cao, dễ sử dụng
* Hoạt động trên mọi hệ điều hành
Trang 32Chương 3 XÂY DỰNG HE THONG
Trong chương này nhóm thực hiện xây dựng ứng dụng theo quy trình gồm 5 giaiđoạn, cụ thé là: (1) Thực hiện khảo sát, (2) Phân tích thiết kế, (3) Phát triển hệ
thong, (4) Kiểm thử, (5) Triển khai
3.1 Thực hiện khảo sát
Hiện nay với sự phát triển mạnh mẽ của E-Learning, nhiều hệ thong phuc vu viéchoc trực tuyén ra đời Phé biến và nỗi bật như: Cambly, Google Classroom,
Coursera, Nhóm tiến hành thực hiện khảo sát các hệ thống liên quan gồm:
Cambly, Udemy và Coursera.
Cambly Udemy Coursera
Trang 333.2 Phân tích thiết kế
Nhóm tiến hành phân tích thiết kế mô hình tính năng kèm với sơ đồ hoạt động cho
hệ thống dạy và học trực tuyến sử dụng WebRTC
3.2.1 Mô hình use case
Xem thông tin =sextend>>
hoc vién _-|Xem thông tin gia sư Tim kiếm lớp học
<<exfend>> <<exfend>>
Quản lý lớp học
Quản lý lớp dạy Đăng ký lớp học
Quản lý khóa học Xem lịch day/hoc
Quản lý tải khoản
cá nhân
Admin
Hình 3.1: Mô hình Use Case
Danh sách các tác nhân hệ thong
*® A001: Người dùng (User).
¢ A002: Quản trị viên (Admin).
Danh sách các phân hệ use case
s PHOI — Quan lý tài khoản cá nhân.
21
Trang 34s PH0O2 — Xem lịch dạy/học.
* PHO9 — Quản lý user.
3.2.2 Dac ta use case
3.2.2.1 PH01 — Quản lý tài khoản cá nhân
e UC101 — Dang ký
Use Case Name Dang ky
Use Case ID UC101
Use Case Description Use case nay mô ta việc người dùng thực hiện đăng ky tài
khoản dé sử dung hệ thống
Actor Người dùng, Quan tri viên
Trigger Người dùng muốn đăng ky tao tài khoản mới.
Pre-Condition + Thiết bị có kết nối với Internet
* Email đăng ký chưa ton tại trong cơ sở dữ liệu của hệthống
Post-Condition Đăng ký thành công.
Basic Flow 1 Người dùng truy cập vào trang web.
2 Chọn chức năng đăng ký.
3 Nhập email và mật khẩu
4 Nhap vào nút đăng ký
22
Trang 355 Hệ thống kiểm tra email nếu không trùng với đữ liệu đã
lưu thì thêm tài khoản vào cơ sở dữ liệu và cho phép người
dùng sử dụng hệ thống
Alternative Flow
Exception Flow 5a Hệ thống kiêm tra email nếu bi trùng sẽ hiển thi thong
báo không thành công.
Use case dừng lại.
Non-Functional Mật khẩu của người dùng phải được hash
Requirement
Bảng 3.2: Đặc tả use case Đăng ký
e UC102 — Đăng nhập
Use Case Name Đăng nhập
Use Case ID UC102
Use Case Description Use case nay mô tả việc người dùng thực hiện đăng nhập
dé sử dụng hệ thông
Actor Người dùng, Quản trị viên
Trigger Người dùng muốn đăng nhập vào hệ thống
Pre-Condition + Thiết bị có kết nỗi với Internet
¢ Tài khoản của người dùng đã được tạo
Post-Condition Dang nhap thanh cong.
Basic Flow 1 Người dung truy cập vao trang web.
Trang 36Exception Flow 5a Hệ thống xác thực thông tin đăng nhập không thành
công và hiển thị thông báo
Use case dừng lại.
Non-Functional Mật khẩu của người dùng phải được hash
Requirement
Bảng 3.3: Đặc tả use case Đăng nhập
e UC103 —- Đăng xuất
Use Case Name Đăng xuất
Use Case ID UC0103
Use Case Description Use case nay mô tả việc người dùng thực hiện đăng xuất
khỏi hệ thống
Actor Người dùng, Quản trị viên
Trigger Người dùng muốn đăng xuất
Pre-Condition * Thiết bị có kết nồi với Internet.
¢ Đăng nhập thành công.
Post-Condition Đăng xuất khỏi hệ thong và quay về trang chủ
Basic Flow 1 Chọn chức năng đăng xuất
2 Hệ thống đăng xuất tài khoản của người dùng khỏi hệthống
Trang 37e UC104 — Cập nhật thông tin tài khoản cá nhân
Use Case Name
thông tin cá nhân, ảnh đại diện, kinh nghiệm làm việc —
chứng chỉ/bằng cấp, mật khẩu
Người dùng, Quan tri viên
Người dùng thực hiện lệnh Thiết lập tài khoản
+ Thiết bị có kết nối với Internet
» Đăng nhập thành công.
Cập nhật thành công.
1 Người dùng chọn chức năng Thiết lập tải khoản
2 Chọn phan thông tin muốn cập nhật và nhấp vào biểu
tượng chỉnh sửa.
3 Nhập thông tin cập nhật và nhắn Lưu
4 Hệ thống tiếp nhận thông tin cập nhật, lưu vào cơ sở dữliệu và hiển thị thông tin đã được cập nhật
Bảng 3.5: Đặc tả use case Cập nhật ảnh đại diện
25
Trang 383.2.2.2 PH02 - Xem lịch dạy/học
e UC201 — Xem lịch day/hoc
Use Case Name Xem lịch dạy/học
Use Case ID UC201
Use Case Description Use case nay mô tả việc người dùng xem lịch dạy/ hoc của
lớp dạy/lớp học người dùng có tham gia.
Actor Người dùng, Quản trị viên
Trigger Người dùng thực hiện chức nang Lich học
Pre-Condition * Thiết bị có kết nồi với Internet.
* Đăng nhập thành công
Post-Condition Hién thi lich day/hoc
Basic Flow 1 Người dung chọn chức nang Lịch hoc.
Use Case Name Đăng ký học
Use Case ID UC301
Use Case Description Use case này mô tả việc người dùng thực hiện đăng ký lớp
học
Actor Người dùng, Quản tri viên
Trigger Người dùng nhắn nút Đăng ky học của lớp muốn học
Pre-Condition + Thiết bị có kết nối với Internet
» Đăng nhập thành công
26
Trang 39* Người dùng đang ở trang Dang ký lớp học
¢ Thời gian học của lớp đăng ký không trùng với thời gian
dạy/học của người dùng
Đăng ký lớp học thành công.
1 Người dùng nhắn vào nút Đăng ký học của lớp muốn
học.
2 Hệ thống hiển thi popup thông tin lớp học
3 Người dùng nhắn vào nút Đăng ký trong popup
4 Hệ thống kiểm tra thời gian học của lớp đăng ký hợp lệ
và hiển thị thông báo
3a Người dùng nhắn vào nút Đóng trong popup4a Hệ thông dong popup
Use case dừng.
4b Hệ thống kiểm tra thời gian hoc của lớp đăng ký không
hợp lệ và hiển thị thông báo.
Người dùng, Quản tri viên
Người dùng nhập từ khóa tìm kiếm vào thanh tìm kiếm
* Thiết bị có kết nối với Internet.
27
Trang 40* Người dùng đang ở trang Dang ký lớp học.
* Từ khóa tìm kiếm phù hợp với thông tin của lớp
Hiền thị lớp học phù hợp
1 Người dùng nhập từ khóa tìm kiếm vào thanh tìm kiếm
2 Hệ thống kiểm tra lớp có thông tin phù hợp với từ khóatìm kiếm và hiển thị lớp tìm được
2a Hệ thống không tìm được lớp có thông tin phù hợp với
từ khóa tìm kiếm và không hiên thị lớp nào
Use case dừng lại.
Bảng 3.8: Đặc tả use case Tìm kiếm lớp học
e UC303 — Xem thông tin gia sư
Use Case Name
Use case này mô ta việc người dùng thực hiện xem thông
tin gia su.
Người dùng, Quan tri viên
Người dùng nhấp vào tên hoặc avatar gia sư
* Thiết bị có kết nối với Internet
» Đăng nhập thành công.
Hiền thị thông tin gia sư.
1 Người dùng nhấp vào tên hoặc avatar gia sư của lớp
trong trang Đăng ký lớp học.
2 Hệ thống hiển thi popup thông tin gia sư (không có
thông tin liên hệ).
28