Hỗ trợ xem bảng xếp hạng bài hát, xem lịch sử nghe nhạc, tạo danh sách phát cá nhân, cập nhật thông tin tài khoản.. o Đối với quản trị viên: Hỗ trợ quản lý bài hát, khu vực, thé loại, da
Trang 1HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG
KHOA CÔNG NGHỆ THONG TIN 1
TOT NGHIEP DAI HOC
„ DETAR
XÂY DỰNG CHỨC NANG GỢI Y BÀI HAT CHO
WEBSITE NGHE NHẠC TRỰC TUYẾN SỬ DỤNG THUẬT
TOÁN APRIORI
Giảng viên hướng dẫn =: TS PHAN THỊ HÀ Sinh viên thực hiện : NGUYEN THÁI HOÀNG Lớp : DI7HTTT6
Mã sinh viên : BI7DCCN264 Khóa : 2017-2022
Hệ : ĐẠI HỌC CHÍNH QUY
HÀ NỘI - 2022
Trang 2HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG
KHOA CÔNG NGHỆ THONG TIN 1
TOT NGHIEP DAI HOC
„ DETAR
XÂY DỰNG CHỨC NANG GỢI Y BÀI HAT CHO
WEBSITE NGHE NHẠC TRỰC TUYẾN SỬ DỤNG THUẬT
TOÁN APRIORI
Giảng viên hướng dẫn =: TS PHAN THỊ HÀ Sinh viên thực hiện : NGUYEN THÁI HOÀNG Lớp : DI7HTTT6
Mã sinh viên : BI7DCCN264 Khóa : 2017-2022
Hệ : ĐẠI HỌC CHÍNH QUY
HÀ NỘI - 2022
Trang 3Dé án tốt nghiệp
LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn đến cô giáo Phan Thị Hà — giảng viênkhoa Công nghệ thông tin 1 Trong suốt thời gian học và thực hiện đồ án, cô đã
dành nhiều thời gian quý báu, tận tình chỉ báo, hướng dẫn em hoàn thành đồ án
của mình Em xin chúc cô cùng gia đình thật nhiều sức khỏe Mong cô sẽ luôn
công tác tốt và thành công trong sự nghiệp, diu dắt nhiều thế hệ sinh viên chúng
em thành tài.
Em cũng xin chân thành cảm ơn các thầy cô giáo trong học viên nói chung,
các thầy cô trong khoa Công nghệ thông tin 1 nói riêng đã truyền đạt những kiến
thức bồ ích, giúp em có được hành trang vững chắc dé sau này tự tin bước ra cuộcsống với con đường mình đã chọn
Cuối cùng, em xin cảm ơn gia đình và bạn bè, đã luôn là chỗ dựa vững chắctạo điều kiện, quan tâm, động viên em trong suốt quá trình học tập và hoàn thành
đồ án tốt nghiệp
Tuy nhiên, do kinh nghiệm của bản thân còn hạn chế nên đồ án không thé
tránh khỏi những thiêu sót Em rât mong được sự đóng góp ý kiên của thây, cô đê
em có thê có sự nâng câp, hoàn thiện về sau.
Hà Nội, ngày 03 thang 01 năm 2022
Sinh viên
Nguyễn Thái Hoàng
Nguyễn Thái Hoàng — B17DCCN264 1
Trang 4Dé án tốt nghiệp
MỤC LỤC
)ï10/900190:ì0):809):00157 7 41 ).H.H,)HỤH ,., 4 DANH MỤC KY HIỆU, TỪ VIET TẮTT 2 2¿©+2+2E+£22E+E+2EEEtSEEEtEEEterrxrrrrkerrrkeee 7
LOT MO 6/Vviyờn 8
CHUONG 1: GIỚI THIEU DE TÀI VÀ CÔNG NGHỆ SU DỤNG . 9 1.1.Tống quan đề tài 52-55 2s 2t HH TH HH HH HH ng no 9 1.2 Công nghệ sử dụng - (+ + 1x TT TT HH Hà HH TT TT Hà HH như 13 1.2.1 Một số công nghệ phát triển website hiện nay o5 5ccccccceccreerrerrervee 13 1.2.2 Công nghệ phát triển CANN ccccccccccccsscssssssesssessessssessssvessssssssssssssssessessssssesssecsseses 14
LB KGt WAI ccc - HHẬHẬH, 17
CHUONG 2: KHAI PHA LUAT KET HỢP VA THUẬT TOÁN APRIORI 18
2.1 Khai phá luật kết hop cccccccccsccsssssssssssseessscsssesssscssscssscsssecssecssscsssssssecssecsteesssesneessecsses 18 2.1.1 NQUON gỐC - 52c SE TH H21 1e 18 2.1.2 Ứng dụng của luật kết hợp 25c 55c SctreEErSrreriErkrrrkrrrrrsrrerkrres 19
2.1.3 Các thuật ngữ khi sử Mung - nàn HH Hàng 19 2.1.4 Nhiệm vụ khai phá tìm luật kết hợp s- 5c cscttHHrrek 20 2.2 Thuật toán aDFÏOTÌ - - G2 TT TT TH HH HT ch TH Hà HH nh gi 20
N0 1.71 8n ố ẻ.a.anŨ 20
2.2.2 Thuật toán Apriori giảm số lượng ứng viên 5c55Sccccecterrsrrrrrseee 21
2.3.Phương pháp sinh luật kết hợp - ¿2-5 ©s+Sxt‡ExeEEEEEEEEEeEkrrkkerkrrrrerkrrrkrree 21 2.4 Vi dụ sử dụng thuật toán Apriori trong khai phá luật kết hợp 22 2.5 Kết luận - ¿5c ©Ss 2S 211211 211211711 211211 1121111111 T1 T1 T1 1g 1 1g re 23
CHUONG 3: ĐẶC TẢ VA PHAN TÍCH HE THONG 2-©+2©+++2csseze- 24
B.1.MO6 ta 16 nh 6 AHg)HA, , 24 K17 n 24
LỄ, hang nh hs e<4 ,H.AH 24 K61, ), 416,0 ố.ốốốố 24 3.1.4 Thông tin về người dùng và chức HĂngg 5s cccccvecxeerrrsrrerkrerrerrvee 26
3.2 PHAM CHW ooo cc ¬ 27
3.2.1 Mô tả nghiệp vụ CHỨC HĂH nàn TH TT TH Hàng net 27
3.2.2 Trích các lop thực thể của hệ thngg - 5-5 ccScctceEtecteerkrrrrrrrrrrrrreres 43 khiíằ.cả 8 44 CHUONG 4: THIET KE HỆ THONG 2 2 S2SSSE+EESEEEEEEEEEEEEEEEEEEEEErEerkkrrkrrkee 45
Nguyễn Thái Hoàng — B17DCCN264 2
Trang 5Dé án tốt nghiệp
4.1 Thiết kế cơ sở dữ liệu 2-2-2 ©c++SCxxSEExEEEEESEEEEEEEEEEELEEkrEEkrrkrrrrrrrkrerkvee 45 4.2 Sơ đồ khối hệ thống gợi ý bài hát 2-2255 2xSExrSrxrerkrerkrerrrrrrrrerkrerrree 46
4.3 Thiết kế chỉ tiết từng chức năng 2-2 ©2SccvzvExESExiErkrerkerkkrrrkrrrkrerkvee
4.3.1: Các chức năng chung của người dùng
4.3.2 Các chức năng của NQWOT H8Ì1€ ete ng HH HH ri 61 4.3.3 Các chức năng của QUAN EYE VỈÏÊNH «+ nh ng ngành 72
AA, KGt WAI an 78
CHUONG 5: CAI ĐẶT VÀ THU NGHIỆM HE THONG c.cccccsccsscsssessssessseesseesssessseeene 79
5.1 Công cu cai đặt, triển khai và thư viện hỗ trợ 55cccccrecrkerrrerrrrrrrree 79
%.1.1 Công CU Cù AG th HT HH HT HH Hiệp 79 5.1.2 Công cụ EEN KML oo.cccccccsccssessesssssssessessssssssssessusssecsssssssssessussssssussssesssssecsusesessseeseeesess 79 5.1.3 Thư viện NG frg 5c 5s HH HH rau 80
5.2 Cài đặt thuật toán SH HH HH HT TH TH HH TT Hàng Tưkt 81
5.2.1 Ap dụng thuật toán Apriori cho sinh luật kết hợp ocscccccccccccccee 81 5.2.2 Ap dụng luật kết hop trong gợi ý bài hiát 55c cccScxieckrerkeerrrsrkrerkrerreee 81 5.3 Kết quả cài đặt - 52s 2x xi x2 21 2211211121111 1 82
5.3.1 Chức năng của người Mung - nh HH HT th Thành 82 5.3.2 Chức năng của nguodt ngne - «kh TH TT nh HH Hành 86 5.3.3 Chức năng của QUAM UTE VIÊN - tt HH nghi 91
ca sẽ 45 95 KET LUAN 018 96
IV 1009i090979089 7.01“ 3s3đñägH , 97
Nguyễn Thái Hoàng — B17DCCN264 3
Trang 6Dé án tốt nghiệp
MỤC LUC HÌNH ANH
Hình 1 1 Giao diện website zIngøTmp3.VI - - - 5 3 11+ SEsseesrereseeree 10 Hình 1 2 Giao diện trang nhaCCuafU1.COIM 6 6 + *xEseEeEesessrserserek 10
Hình 1 3 Giao diện trang chiasenhac.VII c cv vkHngrey 11
Hình 2 1 Ví dụ tập dữ liệu mua bán trong siêu thi [ Í] -‹ s<++s+>+ 18
Hình 2 2 Mô tả cách thức hoạt động của nguyên tắc Apriori [T] 21Hinh 2 3 Ki thuat cat canh giam số lượng luật sinh ra [ [] ‹ 22
Hình 2 4 Ví dụ tập dữ liệu giao dich [3] .- - 5+ +s<s*+svssseeseeereeeeressrs 22 Hình 2 5 Quá trình thực hiện thuật toán Apriori [3] <-s-«<+<<s52 23
Hình 2 6 Sinh luật kết hợp [3] ¿2 5£ +£++£+EE+EE£+E2EE£EEerkerkrrrxrrxerkeee 23
Hình 3 1 Sơ đồ usecase tổng quan của hệ thống 2-2 52+ z+z+zscxzee 27
Hình 3 2 Sơ đồ lớp thực thé của toàn hệ thống ¿- ¿2 sz+cxz2seze: 44
Hình 4 1 Biểu đồ cơ sở dữ liệu của hệ thống -2- ¿22 5++cx+2zxzseeex 45Hình 4 2 Sơ đồ khối hệ thống gợi ý bài hát -¿- 2 x+cxzz+rxerxersee 46Hình 4 3 Biểu đồ lớp chức năng lấy lại mật khẩu -¿ ¿szz 47Hình 4 4 Biéu đồ tuần tự chức năng lấy lại mật khâu - - scs+x+cecxzxez 47Hình 4 5 Biểu đồ lớp chức năng đổi mật khẩu . - ¿222 z+‡ 48Hình 4 6 Biểu đồ tuần tự chức năng đổi mật khẩu . 2 s2 s2 s2 2+: 49Hình 4 7 Biểu đồ lớp chức năng xem danh sách bài hát - 49Hình 4 8 Biểu đồ tuần tự chức năng xem danh sách bai hát - 50Hình 4 9 Biểu đồ lớp chức năng tìm kiếm bài hát -¿5¿©5z-: 51Hình 4 10 Biéu đồ tuần tự chức năng tim kiếm bài hát - 5-5: 52Hình 4 11 Biéu đồ lớp chức năng nghe bài hát 2-2 52 5+2: 52Hình 4 12 Biéu đồ tuần tự chức năng nghe bài hát .2- ¿25555 33Hình 4 13 Biéu đồ lớp chức năng xem bảng xếp hạng 2-5-5: 54Hình 4 14 Biéu đồ tuần tự chức năng xem bang xếp hạng - 54Hình 4 15 Biểu đồ lớp chức năng yêu thích bai hát -2- 2 s25: 55Hình 4 16 Biéu đồ tuần tự chức năng yêu thích bai hát - 5-5-5: 56
Hình 4 17 Biểu đồ lớp chức năng báo lỗi bài hát ¿5-5552 sec: 56
Hình 4 18 Biéu đồ tuần tự chức năng báo lỗi bài hát 5-5 s55: 57Hình 4 19 Biéu đồ lớp chức năng bình luận bai hát 2- 5 5 s2 5+: 58Hình 4 20 Biéu đồ tuần tự chức năng bình luận bài hát -s-: 59Hình 4 21 Biểu đồ lớp chức năng tải bài hát 2 22scxccEzrerxerseee 59Hình 4 22 Biéu tuần tự chức năng tải bài hát -.2 5¿©2555++cxcczxccseees 60Hình 4 23 Biéu đồ lớp chức năng mua kim cương -¿©z2s+zscsz+: 61Hình 4 24 Biéu đồ tuần tự chức năng mua kim cương : -:-:-: 62Nguyễn Thái Hoàng — B17DCCN264
Trang 7Dé án tốt nghiệp
Hình 4
Hình 4
Hình 4
Hình 4
Hình 4
Hình 4
Hình 4
Hình 4
Hình 4
Hình 4
Hình 4
Hình 4
Hình 4
Hình 4
Hình 4
Hình 4
Hình 4
25 Biểu đồ lớp chức năng đăng ký 2-2 2+ z+xe£kerxerxerxrrssree 63 26 Biểu đồ tuần tự chức năng đăng ký 2 ¿+ xecx+rxzrszrszxee 64
27 Biéu đồ lớp chức năng quản lý danh sách phát cá nhân 65
28 Biểu đồ tuần tự chức năng quản lý danh sách phát cá nhân 66
29 Biéu đồ lớp chức năng thêm bai hát vào danh sách phát 67
30 Biểu đồ tuần tự chức năng thêm bài hát vào danh sách phát 68
31 Biểu đồ lớp chức năng xem lịch sử nghe nhạc - 68
32 Biéu dé tuần tự chức năng xem lịch sử nghe nhac 69
33 Biểu đồ lớp chức năng quản lý thông tin cá nhân - 70
34 Biểu đồ tuần tự chức năng quản lý thông tin cá nhân - 71
35 Biéu đồ lớp chức năng quản lý bài hát ¿5-52 + s+cz+se2 72 36 Biểu đồ tuần tự chức năng quản lý bài hát -2- 2-55: 73 37 Biéu đồ lớp chức năng xem thống kê lượt nghe - 74
38 Biểu đồ tuần tự chức năng xem thống kê lượt nghe - 75
39 Biểu đồ lớp chức năng thong kê thanh toán 2-5: 5: 75 40 Biểu đồ tuần tự chức năng thống kê thanh toán . - 76
41 Biéu đồ lớp chức năng chỉnh sửa danh sách bài hat trong danh sách phát " 77
42 Biểu đồ tuần tự chức năng chỉnh sửa danh sách bài hát trong danh sách 78
1 Danh sách bài hát có chứa ký tự hiện ra khi nhập 82
2 Danh sách bài hat tim được khi nhắn tìm kiếm - 82
3 Giao diện xem danh sách bài hát - << 5 5555 + +2 +<++ss 83 4 Danh sách bài hát thuộc thể loại “Nhac trẻ”” - - ¿ s+s+cesszxzxzzscxz 83 5 Giao diện trang lấy lại mật khâu ¿-2- ¿-+¿+z++zx++zx++zxe2 84 6 Email chứa mật khẩu được gửi về -2+s+s+zxezxzrerserseee 84 7 Khung yêu cầu trả phí dé tải bài hát 2-2¿- 5¿©csccxeczxesceee 85 8 Bài hát được tải xuống ¿- 2-5222 EEEEEE2211211 1111.2111 etxee 85 09 Số lượng kim cương được cập nhật - - SccSssksereserees 85 LO Danh sách Chie năng - c1 131v H g v grey 86 TỊ Giao diện thanh toán << 1x vkekeeeeeeeeeeee 87 12 Trang thanh toán của MOMO eceessceesseeseeesceceeeesneeeseeeeseeseaeeneaees 87 13 Thong báo thanh toán thành công - - «+ ++- «+ ++sesseerss 88 14 Kim cương được cộng vào tài khoản - 55s ssssesserss 88 15 Danh sách các danh sách phát cá nhân - -«+ «++<++ 89 16 Danh sách bài hát trong danh sách phát cá nhân - 89
17 Giao diện phát bài hát muốn thêm 2 ¿s2 ++zx++zx+¿ 90
18 Chọn danh sách phất - - - + +11 nh ng ni, 90 19 Bai hát được thêm vào danh sách phát -+++s=+<<++s+2 90
Nguyễn Thái Hoàng — B17DCCN264 5
Trang 8Dé án tốt nghiệp
Hình 5 20 Giao diện quản lý bài hat - 5 tt sEsksrkekrrerrrrre 91 Hình 5 21 Giao diện trang thêm bài hát - -ó- - 25 + svSskEsserseersree 91 Hình 5 22 Bai hat được thêm vào c2 c1 31332111113 11551551152 92
Hình 5 23 Thống kê lượt nghe trong 5 tháng gần nhắt - : - 92Hình 5 24 Thống kê lượt nghe theo khu vực trong tháng : -: 93Hình 5 25 Giao diện trang thống kê thanh toán -2¿ 2 +25: 93
Hình 5 26 Danh sách các lượt thanh toán trong khoảng thời gian 94
Hình 5 27 Giao diện trang quan lý danh sách phát «<< <++<c++ 94
Hình 5 28 Giao diện trang Chi tiẾt ¿- ¿5 teSxeEE2EE2EE2E2EEEEEEEEEErkrrkrrree 95
Hình 5 29 Bài hát được thêm vào danh sách phát - - - s++s>+s<++ex++ 95
Nguyễn Thái Hoàng — B17DCCN264 6
Trang 9Dé án tốt nghiệp
DANH MỤC KY HIỆU, TỪ VIET TAT
Từ viết tắt Tên day du
HTML Hypertext Markup Language
CSS Cascading Style Sheets
CD Compact Disc DVD Digital Versatile Disc
PHP Hypertext Preprocessor
OOP Object Oriented Programming API Application Programming Interface
JVM Java Virtual Machine
Nguyễn Thái Hoàng — B17DCCN264
Trang 10Dé án tốt nghiệp
LOI MỞ DAU
Am nhac là một bộ môn nghệ thuật âm thanh phản ánh cuộc sống xungquanh ta bằng các hình tượng âm thanh Cũng như các bộ môn nghệ thuật khác,với sức mạnh biểu cảm lớn lao, âm nhạc thể hiện với tất cả những gì gắn liền với
cuộc sống của con người: niềm vui và nỗi đau khổ, đấu tranh sinh tồn, niềm suy
tư thầm kín, chí hướng và ước mơ hạnh phúc
Cùng với sự phát triển của internet, 3G, 4G nhiều dịch vụ nghe nhạc trựctuyến đã ra đời Số lượng người tham gia nghe và bỏ tiền ra để nghe nhạc trựctuyến ngày càng tăng Kho nội dung phong phú cùng công nghệ hiện đại sẽ đem
lại những trải nghiệm tuyệt vời cho khách hàng Đặc biệt trong 2 năm trở lại đây,
do ảnh hưởng của dịch Covid-19 và những đợt giãn cách xã hội, nhu cầu giải trí
nghe nhạc trực tuyến ngày một tăng cao
Qua tìm hiểu về một số hệ thống nghe nhạc trực tuyến đã được phát triển,
em thấy các hệ thống có kho dit liệu âm nhạc lớn đồng thời có những chức năngđáp ứng được nhu cầu của người sử dụng Tuy nhiên việc gợi ý bài hát đối với
từng đối tượng người dùng còn chưa được tối ưu Đa phần chỉ gợi ý theo thê loại
hoặc ca sĩ mà không nhìn nhận đến khía cạnh sở thích của người nghe Bên cạnh
đó nhiều hệ thong còn sử dụng một số hình thức thanh toán cũ thay vì các loại ví
điện tử vô cùng tiện lợi trong cuộc sống ngày nay
Từ những suy nghĩ và học hỏi từ các hệ thống đã và đang hoạt động hiện
nay, em đã xây dựng được hướng phát triển cho đề tài Hệ thống cho phép gợi ý
bài hát theo sở thích của người dùng thay vì chỉ dựa trên thể loại bài hát Đồng thời
cũng tích hợp thanh toán qua ví điện tử Momo (một trong những ví điện tử khá
phô biến hiện nay) Điều này giúp trải nghiệm của người dùng trở nên thú vị và
tiện lợi hơn.
Đồ án được trình bày theo 5 chương:
Chương 1: Giới thiệu dé tài và công nghệ sử dụng
Chương 2: Khai phá luật kết hợp và thuật toán Apriori
Chương 3: Đặc tả và phân tích hệ thống
Chương 4: Thiết kế hệ thống
Chương 5: Cài đặt và thử nghiệm hệ thống
Nguyễn Thái Hoàng — B17DCCN264 8
Trang 11Âm nhạc là món ăn tỉnh thần của tất cả mọi người Nghe nhạc giúp chúng
ta giải tỏa căng thắng sau những giờ làm việc, học tập, giúp đầu óc được
"xả hơi" Âm nhạc còn được khoa học chứng minh là có khả năng chữa trị
một số bệnh Âm nhạc đóng góp vai trò không nhỏ trong các lĩnh vực như
y học, giáo dục Trong cuộc sống hiện đại ngày nay nhu cầu giải trí trở nên
vô cùng quan trọng Vì vậy đã có không ít các website, ứng dụng cung cấp
các dịch vụ như nghe nhạc, xem phim dé thỏa mãn nhu cầu đó Ở Việt Namcũng đã xuất hiện một số website nghe nhạc trực tuyến như nhaccuatui.com,
nhac.vn, zingmp3.vn.
Phần tiếp theo sẽ giới thiệu 1 số website nghe nhạc trực tuyến hiện naynhằm khảo sát chức năng và đánh giá ưu nhược điểm từ đó đưa ra hướngphát triển cho đề tài
> Khảo sát một số website nghe nhạc trực tuyến hiện nay
Zingmp3.vn
Zing MP3 xứng đáng là website nghe nhac online lớn nhất, chat lượng
nhất, đa dạng và phong phú nhất Việt Nam hiện nay Với kho nhạc mp3,video khong 16, tap hop tat ca các thé loại nhạc va cap nhật nhac mới liêntục Các mục, đề tài phong phú bao gồm có album, video, M/V, nghệ sĩ,
bảng xếp hạng, top 100, radio Việt Nam và thế giới, Zing music award
Zing MP3 hiện có ứng dụng riêng dành cho Android, iOS.
Nguyễn Thái Hoàng — B17DCCN264 9
Trang 12lượng cao Bạn cũng có thể tự tạo playlist cho mình và đồng bộ với ứng dụng trên di động Để tiếp nối sự thành công của nhaccuatui.com, Nhaccuatui đã cho ra đời website xem video online tại Việt
Nam, nhaccuatui.com được thiết kế dành riêng cho cộng đồng yêu thích
xem video clip, TV Show, phim ảnh Nhaccuatui là website nghe nhạc
miễn phi được yêu thích nhất hiện nay với cộng đồng người dùng không
lồ Tại Nhaccuatui, kho dữ liệu âm nhạc được phân chia theo rõ ràng theotừng chủ đề khác nhau Người dùng có thể tìm thấy những tuyên tập bàihát phù hợp với tâm trạng của mình nhất, hay tự mình chìm đắm trong list
CLASSICAL MUSIC Kia 4 7p
‘FOR THINKING BB CONCENTRATION }
Study Lounge Relaxation For Focus Study Music Classical PianoDọcSáhĐuối Study: TTI Pieces OF ¬
And Study Music For Thinking An Sáng Classical Music While „_ (ếThôi
Hình 1 2 Giao điện trang nhaccuatui.com
Nguyễn Thái Hoàng — B17DCCN264 10
Trang 13Về wu điểm
e Quy mô website lớn với đa dang thể loại bài bát
e Giao diện dễ dùng, dễ đăng ký và sử dụng.
Về nhược diém
e Việc gợi ý bài hát dựa theo thể loại và ca sĩ mà không theo sở thích
của người nghe.
e_ Một số website còn chưa áp dụng hình thức thanh toán qua ví điện
tử (một hình thức thanh toán vô cùng phổ biến hiện nay)
Nguyễn Thái Hoàng — B17DCCN264 11
Trang 14Dé án tốt nghiệp
Từ những ưu, nhược điêm trên đê tài sẽ phát triên các ưu điêm đồng thời khăc phục những nhược điêm còn tôn tại Phân tiệp theo sẽ làm rõ hơn vê hướng đê xuât của đê tài.
> Hướng đề xuất của đề tài
Mục đích đề tài
Mục tiêu của đê tài là phát triên một website nghe nhạc trực tuyên với các mục tiêu chính như sau:
o_ Đối với người nghe: Hỗ trợ tìm kiếm bai hát, ca si, nhạc sĩ, danh sách
phát Cho phép nghe nhạc, tải nhạc, yêu thích, bình luận bài hát Cho
phép mua kim cương dé tải được những bài nhạc bản quyền (thanh
toán qua ví điện tử Momo) Hỗ trợ xem bảng xếp hạng bài hát, xem
lịch sử nghe nhạc, tạo danh sách phát cá nhân, cập nhật thông tin tài
khoản Cho phép đăng ký tài khoản, lấy lại mật khâu, đôi mật khâu
o Đối với quản trị viên: Hỗ trợ quản lý bài hát, khu vực, thé loại, danh
sách phát, tài khoản, danh sách phản hồi lỗi từ phía người nghe Hỗtrợ xem thống kê về lượt nghe theo tháng, theo khu vực Thống kê
thanh toán từ việc mua kim cương của người nghe, quản lý tài khoản.
Cho phép thay đổi hình ảnh slide tại trang chủ Ngoài ra còn có thể
sử dụng các chức năng của người nghe (ngoại trừ một số chức năng
như: mua kim cương, tạo danh sách phát cá nhân, thêm bài hát vào danh sách phát cá nhân, cập nhật thông tin tài khoản, xem danh sách bài hát yêu thích, xem lịch sử nghe nhạc).
o Tự động gợi ý bài hát cho người dùng.
o_ Tự động cập nhật bảng xếp hạng
Như vậy hệ thống phải có các chức năng cơ bản như sau:
o Người nghe:
e Dang ky, đăng nhập, đôi mật khẩu, lay lại mật khẩu
e Tìm kiếm bài hát, ca sĩ, nhac sĩ, danh sách phát
e Xem bảng xếp hạng
e Nghe bài hát, tải bài hát, yêu thích, bình luận bài hát, nghe
nhạc theo danh sách.
e Mua kim cương (thanh toán qua ví điện tử Momo).
e Tạo danh sách phát cá nhân.
e Thêm bài hát vào danh sách phát cá nhân.
e Xem lịch sử nghe nhạc.
e Cập nhật thông tin tài khoản.
e Xem danh sách bài hát yêu thích.
Nguyễn Thái Hoàng — B17DCCN264 12
Trang 15Dé án tốt nghiệp
o Quản tri viên:
e Quan lý thông tin bai hat, ca sĩ, nhạc si, thể loại, khu vực
e Xem thống kê lượt nghe theo tháng, khu vực
e Quan lý tài khoản người nghe (khóa, mở khóa).
e Quản lý phản hồi về lỗi từ phía người nghe
e Xem thống kê thanh toán của người nghe
e Thay đổi slide trình chiếu tai trang chủ
e Tìm kiếm bai hát, ca sĩ, nhac sĩ, danh sách phát.
e Xem bảng xếp hạng.
e Nghe nhạc, tai nhạc, yêu thích, bình luận bài hát.
e Tìm kiếm bai hát, ca sĩ, nhạc sĩ, danh sách phát
e Dang nhập, lay lại mật khâu, đổi mật khẩu
o Tu động:
e Cập nhật bang xếp hạng
e Goi ý bai hat.
e Cập nhật luật kết hợp cho chức năng gợi ý bai hát
1.2 Công nghệ sử dụng
Phan này nhằm tìm hiểu một số công nghệ phổ biến xây dựng phát triển
web, từ đó, giới thiệu một số công nghệ, khái niệm sử dụng trong đề tài
12.1 Một số công nghệ phát triển website hiện nay
> Python
Python là một ngôn ngữ lập trình đa năng và được sử dụng nhiều cho
người mới bắt đầu học và hiểu về lập trình Nó động, nghĩa là một lap trình viên, bạn có thé viết và chạy mã một cách hiệu qua mà không cần trình biên dịch Python hỗ trợ khả năng đọc mã tốt (như ngôn ngữ nói
thông thường), nó cũng chỉ cần một vài dòng mã đề thê hiện một điểmhoặc khái niệm cụ thể [2]
Ưu điểm:
e Tạo và sử dụng các lớp và các đối tượng dé dàng nhờ các đặc
điểm OOP
Hỗ trợ thư viện rong rãi.
Tập trung vào khả năng đọc code.
Có khả năng mở rộng ngay cả các ứng dụng phức tạp nhất
Lý tưởng để xây dựng các nguyên mẫu và thử nghiệm ý tưởng
nhanh hơn.
Nguồn mở với sự hỗ trợ cộng đồng ngày càng phát triển
e_ Cung cấp hỗ trợ cho nhiều nền tang và hệ thống
Nguyễn Thái Hoàng — B17DCCN264 13
Trang 16Dé án tốt nghiệp
e Rấtdễ học và sử dụng
Nhược điểm:
e Khong phù hợp với điện toán di động.
e Cham hơn bởi vì là một ngôn ngữ lập trình được thông dich.
e Lớp truy cập cơ sở dữ liệu có phần chưa mạnh
> PHP
PHP là một ngôn ngữ lập trình kịch ban hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, , dùng cho mục
đích tông quát Nó là nguồn mở, vì vậy nó hoàn toàn miễn phí cùng với
nhiều môi trường phát triển Nó cũng là một ngôn ngữ lập trình có đối tượng, vì vậy các lập trình viên có thé sáng tạo hơn trong cách họ giải quyết van đề Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh,
nhỏ gọn.
Ưu điểm:
e Phần mềm miễn phí được lưu hành theo quy định của PHPe_ Sử dụng PHP dễ dàng, dễ triển khai
e Cộng đồng lớn người dùng và các nhà phát triển, các tài liệu
thiết kế web phong phú.
biến để phát triển web Là ngôn ngữ lập trình có tính hướng đối tượng
đầy đủ nhất, Java hoạt động như một nền tảng tiêu chuẩn cho rất nhiều doanh nghiệp và lập trình viên trên toàn thé gidi Vẻ đẹp tôi thượng của Java nam ở chỗ nó hoạt động tốt trên các loại nền tang khac nhau, vi du, một chương trình được viết bằng Java trên hệ điều hành Mac cũng sé
chạy trên hệ điều hành dựa trên Windows
Ưu điểm:
e Thư viện nguồn mở phong phúNguyễn Thái Hoàng — B17DCCN264 14
Trang 17Dé án tốt nghiệp
Phân bồ bộ nhớ tự động và thu gom rác
Hỗ trợ Mô hình OOP day đủ nhất
Có hệ thống phân bổ ngăn xếpMức độ độc lập nền tảng cao nhờ tính năng JVM
Độ an toàn cao do loại trừ con trỏ rõ ràng và bao gồm một
trình quản lý bảo mật chịu trách nhiệm xác định quyền truy
cập của các lớp
e Ly tưởng cho tính toán phân tan
e Cung cấp một loạt các API dé hoàn thành các nhiệm vụ khác
nhau, chăng hạn như kết nối cơ sở dữ liệu, kết nối mạng, tiện
o HTML: HyperText Markup Language : La ngôn ngữ đánh
dau siêu văn ban Nó giúp người dùng tao và cấu trúc các
thành phan trong trang web HTML không phải là ngôn ngữ
lập trình, nó không thể tạo ra các chức năng “động” mà chỉ có
thé dùng dé bố cục và định dang trang web
o CSS: Cascading Style Sheet Language : Là ngôn ngữ tao
phong cách cho trang web Nó dùng dé làm dep và tạo kiểu
cho những phần tử được viết dưới dạng ngôn ngữ đánh dấu
như HTML Nó có thể sử dụng dé điều khiến định dạng nhiều
trang web cùng lúc giúp tiết kiệm công sức cho người viết
web.
o Bootstrap: Bootstrap là 1 framework HTML, CSS, và
JavaScript cho phép người dùng dé dàng thiết kế website theo
1 chuẩn nhất định, tạo các website thân thiện với các thiết bịcầm tay như mobile, ipad, tablet,
Trang 18Dé án tốt nghiệp
o JQuery: JQuery là một thư viện JavaScript đa tinh năng, nhỏ
gọn, nhanh, được tạo bởi John Resig vào năm 2006 với một
phương châm hết sức ý nghĩa: Write less, do more - Viết íthơn, làm nhiều hơn JQuery đơn giản hóa việc duyệt tài liệuHTML, xử lý sự kiện, hoạt ảnh và tương tác AJax dé phat triénweb nhanh chóng Các phân tích web đã chi ra rang, jQuery
là thư viện JavaScript được triển khai rộng rãi nhất
> Springboot
Spring Boot [12] là một Project nằm trên tang IO Execution (Tangthực thi) của Spring IO Framework Spring Boot là một bước tiếp
theo của Spring, dé làm cho Spring dé dang hơn trong việc thiết lập
và phát triển ứng dụng Với Spring Boot các cấu hình Spring đượcgiảm thiểu tối đa Spring Boot hỗ trợ các bộ chứa nhúng (embeddedcontainers) điều này cho phép các ứng dụng web có thê chạy độc lập
mà không cần phải trên khai lên các Web Server
Cung cấp POMs starter giúp đơn giản hoá cau hình Maven
Tự động cấu hình Spring bất cứ khi nào có thể
Không tự sinh mã và không yêu cầu cấu hình XML
Cung cấp số liệu, kiểm tra và cho phép cau hình ứng dung từ
bên ngoài.
Tính năng của Spring Boot :
Phát triển web
Ứng dụng Spring
Tính năng quản tri
Cấu hình bên ngoài
Các tệp thuộc tính
Hỗ trợ yaml
Nguyễn Thái Hoàng — B17DCCN264 16
Trang 19Nội dung chương tiếp theo sẽ trình bày về nguồn gốc, khái niệm về khai phá
luật kêt hợp, ứng dung của thuật toán Apriori trong khai phá luật kêt hop.
Nguyễn Thái Hoàng — B17DCCN264 17
Trang 20Dé án tốt nghiệp
CHƯƠNG 2: KHAI PHÁ LUẬT KÉT HỢP VÀ THUẬT TOÁN APRIORINội dung chương 2 sẽ bao gồm:
- Giới thiệu về khai phá luật kết hợp
- Giới thiệu về thuật toán Apriori
- Phuong pháp sinh luật kết hợp
- Ví dụ sử dụng thuật toán Apriori
2.1 Khai phá luật kết hợp
2.1.1 Nguồn gốc
Bài toán có nguồn sốc từ việc đi mua hàng tại các siêu thi [1], thông thường
quan sát thay rằng khi một người mua mặt hàng này thì sẽ mua thêm những mặt
hàng nhất định khác đi kèm với nó Thực tế này được phát biểu thành bài toán
về luật kết hợp như sau:
Cho trước một tập các giao dịch, tìm các luật có thê tiên đoán sự xuât hiện của một mặt hàng này dựa trên sự xuât hiện của các mặt hàng khác trong giao dịch do.
Xét một ví dụ về khai phá luật kết hop: các mặt hàng mua bán trong siêu thi của
các giao dịch được thê hiện trong bang sau gôm hai cột, cột thứ nhat là mã của giao dịch, cột thứ hai là các mặt hàng mua trong lân giao dịch đó.
TID Items
Bread, Milk Bread, Diaper, Beer, Eggs
Hình 2 1 Ví dụ tập đữ liệu mua bán trong siêu thị [1].
Nguyễn Thái Hoàng — BI7DCCN264 18
Trang 21Dé án tốt nghiệp
Luật kết hợp quan sát được từ dữ liệu trong bảng bên gồm:
{Diaper} -> {Beer}, {Milk, Bread} > {Eggs, Coke},
(Beer, Bread} > {Milk}
Luật kết hop {Diaper} > {Beer} có nghĩa là nếu mua Diaper (ta giấy chotrẻ con) thì có nhiều khả năng là người đó sẽ mua thêm Beer (bia) Luật nàythể hiện sự xảy ra đồng thời cả hai sự kiện mua tã giấy và mua bia chứ
không phải là quan hệ nhân quả Bài toán đặt ra cho khai phá dữ liệu ở đây
là tìm ra tất cả những luật kết hợp kiểu như trên đối với một tập giao dịch
cho trước
2.1.2 Ứng dụng của luật kết hợp
Được sử dụng trong bán đồ điện gia dụng, trả lời câu hỏi những sản phẩm
gia dụng nao nên lưu trữ nhập kho cùng nhau?
Được sử dụng trong việc gửi kèm thư quảng cáo trực tiếp các sản phẩm kèmtheo việc bán sản phâm khác vì chúng ta biết được các sản phâm nào hay
Transaction: Transaction là một thành phần cơ sở đữ liệu mà nó bao gồm
tập hợp các item Transaction được ký hiệu là T và T © | Mot Transaction
chứa tap hợp các item T={11, iz, in} [4].
Minimum support: Minimum support (minsup) co thé duoc xem nhu 1a một điều kiện giúp loại bỏ các tap không phô biến trong bat kỳ cơ sở dit liệu Thường sử dụng Minimum support cho mô hình tỷ lệ phần trăm [4].
Frequent itemset (tập phô biến): các Itemset đáp ứng các tiêu chí điềukiện minimum support thì được gọi là tập phổ biến Nó được ký hiệu là Li
trong d6ichi i-itemset [4].
Candidate itemset (ứng viên tập pho biến): ứng viên tập phổ biến là các
item chỉ được xem xét xử lý Ứng viên tập phố biến là tất cả các kết hợp có
thé có của tập phô biến Nó thường được ký hiệu Ci trong đó i chỉ i-itemset
Tổng số lượng giao dich
Nguyễn Thái Hoàng — B17DCCN264 19
Trang 22Dé án tốt nghiệp
e Confidence: Confidence chỉ sự tin cậy của các luật Thông số này cho phép
chúng ta đếm mức độ thường xuyên một giao tác của tập phô biến phủ hợp với ý nghĩa cả phía cạnh bên trái với phía cạnh bên phải, các tập phổ biến không đáp ứng các điều kiện trên có thê được loại bỏ.
Xem xét hai item A và B Dé tính toán confidence của A>B theo công thức
sau[4]:
số lượng giao dich bao gồm cả A&B
Conf(A->B) ST ——O—eerrosrGiao dich bao gồm chì A
e Minimum Confidence: Minimum Confidence (minconf) chỉ độ tin cậy tối
thiểu.
e Minsup và minconf gọi là các giá trị ngưỡng phải được xác định trước khi
sinh các luật kết hợp [3]
2.1.4 Nhiệm vụ khai phá tìm luật kết hợp
Cho trước một tập các giao dịch T, mục tiêu của khai phá luật kết hợp là tìm
ra tat cả các luật có: độ hỗ trợ > ngưỡng minsup va độ tin cậy > ngưỡng minconf Các luật có dang X — Y trong đó X, Y là 1 tập các item.
2.2 Thuật toán apriori.
2.2.1 Nguyên tắc Apriori
Nếu một tập các mặt hàng là thường xuyên thì tất cả các tập con của nó
cũng là thường xuyên [1].
VX,Y:(XcY)>s(X)>s(Y)
Nhờ có nguyên lý này, số lượng các ứng cử viên giảm đi đáng ké khi xác
định được một tập mặt hàng nào đó không thỏa mãn là tập thường xuyên.
Hình vẽ sau mô tả nguyên lý Apriori trong đó tập mặt hang {AB} được tìm
thấy là không thường xuyên nên tất cả các tập mặt hàng mà nhận {AB} là
tập con đều được cho là không thường xuyên và được cắt bỏ toàn bộ (phần
được khoanh màu đỏ trong hình vẽ).
Nguyễn Thái Hoàng — B17DCCN264 20
Trang 23được cat bỏ đi ~~-~._ I5 ¿
Hình 2 2 Mô tả cách thức hoạt động của nguyên tắc Apriori [1].
2.2.2 Thuật toán Apriori giảm số lượng ứng viên
e Gan k=l
e Sinh ra một tap mat hang với độ dài là 1
e Lap cho tới khi không còn tập mặt hang mới nao được xác định
o Sinh ra các tập mặt hàng với (k+1) phan tử từ các tập mặt
hàng với k phần tử
o Cắt bỏ những tập mặt hàng chứa tập con có độ dài k mà không
phải là tập thường xuyên.
o_ Đếm số hỗ trợ của mỗi ứng viên bang cách quét toàn bộ cơ sở
dữ liệu.
o_ Loại bỏ những ứng viên không phải thường xuyên, chỉ dé lại
những tập mặt hàng thường xuyên [1].
2.3 Phương pháp sinh luật kết hợp
Sau khi tìm được các tập mặt hàng thường xuyên, nhiệm vụ tiếp theo là xác địnhluật kết hợp từ các tập mặt hàng thường xuyên đó Bài toán được phát biểu như
sau: Cho một tập các mặt hàng thường xuyên L, hãy tìm tất cả các tập con f không
rỗng của L sao cho f > L _ f thỏa mãn yêu cầu về độ tin cậy nhỏ nhất [1]
Ta thấy sỐ lượng luật kết hợp khá lớn (cấp lũy thừa) nên có vấn đề về độ phúc tạp
tính toán Van đề đặt ra ở đây là làm thé nào dé sinh luật kết hợp từ các tập mặt
hàng thường xuyên một cách có hiệu quả Ta thấy độ tin cậy của các luật được
sinh ra từ cùng một tập mặt hàng có thuộc tính đơn điệu.
Nguyễn Thái Hoàng — B17DCCN264 21
Trang 24Dé án tốt nghiệp
Ví dụ L={A,B,C,D}: c(ABC > D) = c(AB > CD) > c(A > BCD)
Chính vì vậy ta có thé áp dung kỹ thuật cắt cành (loại bỏ) dé giảm số lượng các
luật sinh ra thỏa mãn yêu câu về độ tin cậy.
CD=>AB BD=>AC BC=>AD \ AD=>BC AC=>BD AB=>CD
Hình 2 3 Kĩ thuật cắt cành giảm số lượng luật sinh ra [1].
2.4 Ví dụ sử dụng thuật toán Apriori trong khai phá luật kết hop
Giả sử có tập dữ liệu giao dịch như sau:
Hình 2 4 Ví dụ tập đữ liệu giao địch [3].
Nguyễn Thái Hoàng — BI7DCCN264 22
Trang 25Dé án tốt nghiệp
Thuật toán Apriori được thức hiện như hình sau:
ID min-sup=2 “—=— | L " —
Tid items litemsets| sup itemsets sup
1 A,C,D Cy, {A} 2 {A} 2
Ne itemsets litemsets| sup
\ ) | {A,B,C} |2" scan Ly , |itemsets| sup
\ {B.C.E) IBCGENH 2 [{B.C,E} 2
{A.C.E)
Hình 2 5 Quá trình thực hiện thuật toán Apriori [3].
Ta có frequent itemsets I ={B,C,E}, với minconf = 80% ta có 2 luật kết hợp
Trang 26Dé án tốt nghiệp
CHƯƠNG 3: ĐẶC TẢ VÀ PHÂN TÍCH HỆ THÓNGNội dung chương 3 bao gồm:
- Mô tả chỉ tiết hệ thống
- Phan tích hệ thống
3.1 Mô tả hệ thống
Nội dung phần này trình bày về yêu cầu hệ thống bao gồm: mục đích, phạm vi,
mô tả chung và mô tả nghiệp vụ.
3.1.1 Mục dich
Hệ thống được sử dung đê cung cấp 1 website nghe nhạc, tải nhạc trực tuyến
nhằm phục vụ cho nhu cầu giải trí Hệ thống có một số chức năng nổi bật như:
gợi ý bài hát, thanh toán trực tuyến, tự động cập nhật bảng xếp hạng
3.1.2 Phạm vi
Về đối tượng sử dụng, hệ thống cho phép các đối tượng sau được sử dụng:
e Quản trị viên: Người quản lý trang web.
e Người nghe: Người tham gia nghe nhạc trên trang web.
Chức năng hỗ trợ:
e Người nghe: Tim kiếm bài hát, ca sĩ, danh sách phát, nhạc sĩ Xem danh
sách bài hát, ca sĩ, danh sách phát, nhạc sĩ Xem bảng xếp hạng, tải nhạc,bình luận về bài hát, quản lý thông tin cá nhân, yêu thích bài hát, tạo và
thêm bài hát vào danh sách phát cá nhân, xem lịch sử nghe nhạc Mua thêm kim cương.
e Quản trị viên: Quan lý thông tin về bài hát, danh sách phát, thé loại nhạc,khu vực, ca sĩ, nhạc sĩ, tài khoản, phản hồi về lỗi của bài hát từ phía ngườinghe, thay đồi slide Xem thống kê lượt nghe của hệ thống (theo khu vực,theo tháng), thống kê thanh toán
e Hệ thống tự sinh gợi ý bài hát cho người nghe
e Hệ thống tự động cập nhật bảng xếp hạng vào ngày đầu tiên của mỗi
tháng.
e Hệ thống tự động sinh luật kết hợp phục vụ gợi ý bài hát vào thứ 2 hàng
tuân.
3.1.3 Mô ta thông tin chung
Thông tin các đối tượng được hệ thống quản lý:
© Tài khoản người dùng (đại diện cho người dùng): id, username,
password, email, trang thái tài khoản (khóa, không khóa), quyền
Nguyễn Thái Hoàng — B17DCCN264 24
Trang 27Dé án tốt nghiệp
© O GO 0 ©
©
©
(người nghe, quản trị viên), số kim cương trong tài khoản (dùng để
tải bài hát), đường dẫn ảnh đại diện, thông tin cá nhân.
Bài hat: id, tên bài hát, đường dẫn ảnh đại diện, đường dẫn google
driver, đường dẫn phát nhạc, đường dẫn tải nhạc, lời bài hát, thuộc
thể loại nào, của nhạc sĩ nào, được hát bởi ca sĩ nào, có phải là bàihát bản quyền hay không, ngày tải lên
Nhạc sĩ (người viết bài hát): id, tên nhạc sĩ, thông tin giới thiệu,
đường dẫn ảnh đại diện.
Ca sĩ (người thực hiện bài hát): id, tên ca sĩ, thông tin giới thiệu,
đường dẫn ảnh đại diện.
Thể loại nhac: id, tên thể loại, thuộc khu vực nào
Khu vực (1 quốc gia hoặc 1 khu vực trên thế giới): 1d, tên khu vực
Bảng xếp hạng: 1d, tháng, năm, của khu vực nào
Danh sách phát (chứa 1 vài bài hát): id, tên danh sách phát, đường
dẫn ảnh đại diện, người tạo, ngày tạo.
Bình luận: id, nội dung bình luận, của ai, của bai hát nào, thời gian
bình luận.
Phản hồi lỗi của người nghe: id, thông tin về lỗi, lỗi bài hát nào, thời
gian báo lỗi, thời gian xử lý, đã được xử lý hay chưa.
Lich sử thanh toán: id, ngày thanh toán, số tiền, của tài khoản nào
Lượt nghe: id, thời gian, của ai, của bài hát nào, mã khu vực cua bai
hát.
Luật kết hợp (dạng x=>y): id, vé x, về y
Thông tin về quan hệ giữa các đối tượng:
©
©
le)
©
1 khu vực có nhiều thé loại, mỗi thé loại chỉ thuộc 1 khu vực
1 khu vực có nhiều bảng xếp hạng, một bảng xếp hạng chỉ của 1 khu
vực.
1 thé loại có nhiều bài hát, mỗi bài hát chỉ có 1 thé loại
1 bảng xếp hang có nhiều bài hát, mỗi bài hát có thé thuộc nhiềubảng xếp hạng
1 bài hát có thé có nhiều tải khoản thích
1 tài khoản có thể thích nhiều bài hát
1 tài khoản có thể có nhiều danh sách phát các danh sách phát của
quản tri viên sẽ được hiển thị trên toàn hệ thống cho tất cả ngườidùng Những danh sách phát của người nghe sẽ chỉ hiền thị với người
nghe đó.
1 danh sách phát có thê có nhiều bài hát, mỗi bài hát có thể nằm trongnhiều danh sách phát
1 bài hát có thể có nhiều bình luận
1 tài khoản có thé bình luận nhiều bài hát
Nguyễn Thái Hoàng — B17DCCN264 25
Trang 28Dé án tốt nghiệp
o 1 bài hát có thể có nhiều phản hồi lỗi, mỗi phản hồi chỉ của 1 bài hát
o 1 tài khoản có thé nghe nhiều bài hát, 1 bài hát có thé được nghe bởi
nhiều tài khoản
o 1 tài khoản có thể có nhiều lịch sử thanh toán, | lịch sử thanh toán
chỉ thuộc về một tài khoản
3.1.4 Thông tin về người dùng và chức năng
o Người dùng hệ thống:
= Đăng nhập.
= Đối mật khẩu
= Lấy lại mật khâu
" Xem danh sách bai hát.
= Báo lỗi bài hát.
= Tải bài hat.
"Yêu thích bài hat.
=" Nghe bài hát.
= Nghe một danh sách phát.
o Người nghe:
= Có quyền như người dùng
" Mua thêm kim cương.
= Đăng ký tài khoản.
= Quản lý danh sách phát cá nhân.
= Thêm bài hát vào danh sách phát cá nhân.
" Quản lý bài hát yêu thích.
Trang 29Dé án tốt nghiệp
" Quản lý danh sách nhạc sĩ.
" Quản lý danh sách ca sĩ.
= Xem thống kê lượt nghe
= Quản lý tài khoản hệ thống
= Quản lý phản hồi lỗi
" Xem thong kê thanh toán
" Chỉnh sửa slide tại trang chủ.
= Chỉnh sửa danh sách bài hát trong danh sách phát.
3.2 Phân tích
Nội dung phần này sẽ trình bày phân tích của 1 số chức năng chọn lọc, các chức
năng khác làm tương tự, có 2 bước chính:
© Mô tả chỉ tiết nghiệp vụ của các chức năng
e_ Trích các lớp thực thé của hệ thống
3.2.1 Mô tả nghiệp vụ chức năng
Chức năng chung của người dùng
e Dang nhập.
e Xem bang xép hang
e Binh luan bai hat.
e Tim kiếm bài hat (các chức năng tìm kiếm ca sĩ, nhạc sĩ, danh sách phát
tương tự).
Nguyễn Thái Hoàng — B17DCCN264 27
Trang 30Tiền điều kiện Đã có tài khoản
Hậu điều kiện
Kịch bản 1 Người dùng chọn chức năng đăng nhập.
2 Trang đăng nhập hiện ra với:
- Ô nhập tài khoản-Ô nhập mật khẩu
- Nút đăng nhập
- Đường dẫn đăng kí
- Đường dẫn đổi mật khẩu
- Đường dẫn lay mật khâu
3 Người dùng nhập tài khoản, mật khẩu
4 Người dùng nhắn nút đăng nhập
5 Trang chủ của người dùng hiện ra (trang chủ với người nghe, trang quản lý với quản trị viên).
Ngoại lệ 3.Tai khoản hoặc mật khâu nhập vào không chính xác
Nguyễn Thái Hoàng — B17DCCN264 28
Trang 31Dé án tốt nghiệp
Ca sw dụng Xem bang xép hang
Tác nhân Người dùng
Tiên điều kiện
Hậu điều kiện
6 Bảng xếp hạng của tháng cần xem hiện ra
Ngoại lệ Bang không có dữ liệu hoặc thiếu bài hát do bài hát đã bị
xóa
Ca sử dụng Đồi mật khâu
Tác nhân Người dùng
Tiền điều kiện Đã có tài khoản
Hậu điều kiện
Kịch bản 1 Người dùng chọn chức năng đăng nhập.
2 Giao diện đăng nhập hiện ra với:
- Ô nhập tài khoản
- Ô nhập mật khẩu.
- Nút đăng nhập.
- Đường dẫn đăng ký.
- Đường dẫn đôi mật khâu
- Đường dẫn lấy lại mật khẩu
3 Người dùng chọn chức năng đổi mật khâu
Giao diện đổi mật khẩu hiện ra với:
- Ô nhập tên tài khoản
- Ô nhập mật khẩu cũ
-Ô nhập mật khẩu mới
- Ô nhập lại mật khâu mới
- Nút đổi mật khẩu
Trang 32Dé án tốt nghiệp
- Đường dẫn quay lại trang đăng nhập.
4 Người dùng nhập thông tin yêu cầu
5 Người dùng nhắn nút đổi mật khẩu
6 Thông báo đổi mật khẩu thành công hiện ra
Ngoại lệ 2.1 Mật khâu nhập lại không trùng khớp, thông báo “mật
khâu nhập lại không trùng khớp” hiện ra
2.2 Tài khoản mật khẩu cũ không chính xác, thông báo “tàikhoản hoặc mật khẩu không chính xác” hiện ra
Ca sử dụng Tìm kiếm bài hát
Tiên điều kiện
Hậu điều kiện
Kịch bản 1 Người dùng nhập tên bài hát vào ô tìm kiếm
2 Danh sách tên có chứa kí tự đã nhập hiện ra.
3 Người dùng chọn tên bài hát muốn tim và bam nút tìmkiếm
4 Danh sách bài hát có tên chứa các kí tự đã nhập hiện ra Ngoại lệ 4 Không có bài hát nào có tên cân tìm.
Ca sử dụng Nghe bài hát
Tác nhân Người dùng
Tiền điều kiện Đã đăng nhập
Hậu điều kiện
Kịch bản 1 Từ trang chủ người dùng chon 1 bài hát.
2 Trang phát nhạc của bài hát hiện ra với:
- Khung phát nhạc với các nút phát, tự phát lại, thanh âm lượng.
- Các nút: thích, thêm vào danh sách phát, tải xuống, báo
lỗi.
- Lời bài hát.
- Danh sách bài hát cùng ca sĩ, nhạc sĩ, thê loại
- Danh sách bài hát gợi ý.
Trang 33Dé án tốt nghiệp
Ca sw dụng Lay lai mat khau
Tiên điều kiện Đã có tài khoản
Hậu điều kiện
Kịch bản 1.Nguoi dùng chọn chức nang đăng nhập.
2.Trang đăng nhập hiện ra với:
- Đường dẫn đổi mật khẩu
3 Người dùng chọn chức năng lấy lại mật khâu
4 Trang lấy lại mật khẩu hiện ra với:
- Ô nhập tên tài khoản.
- Nút lấy lại mật khẩu.
- Đường dẫn quay lại trang đăng nhập.
5 Người dùng nhập tên tài khoản của mình vào.
6 Người dùng nhấn nút lấy lại mật khâu.
7 Thông báo thành công hiện ra, mật khẩu được gửi về
email đã đăng kí của người dùng.
Ngoai lệ 5 Người dùng nhập sai tên tài khoản thông báo tài khoản
không tôn tại hiện ra.
Ca sử dụng Xem danh sách bài hát
Tiên điều kiện
Hậu điều kiện
Kịch bản 1 Người dùng chọn chức năng bài hát ở trang chủ.
2 Trang danh sách bài hát hiện ra với:
- Danh sách thể loại
- Danh sách 10 bài hát mới nhất
- Thanh chọn trang.
3 Người dùng chọn thể loại
4 Danh sách 10 bài hát theo thể loại hiện ra
5 Người dùng chon | trang.
6 Danh sách bài hát của trang đó hiện ra Ngoại lệ Không có bài hát nào
Nguyễn Thái Hoàng — B17DCCN264 31
Trang 34Dé án tốt nghiệp
Ca sứ dụng Bình luận bài hát
Tác nhân Người dùng
Tiên điều kiện Đã đăng nhập
Hậu điều kiện
Kịch bản 1 Người dùng chon | bài hát.
2 Trang phát nhạc của bài hát đó hiện ra.
3 Người dùng nhập bình luận vào ô bình luận.
4 Người dùng nhắn nút bình luận
5 Bình luận được hién thị
Ngoại lệ 3 Người dùng không nhập bình luận, bình luận không được
thêm mới.
Ca sử dụng Thích bài hát
Tác nhân Người dùng
Tiền điều kiện Đã đăng nhập
Hậu điều kiện
Kịch bản 1 Người dùng chọn 1 bài hát.
2 Giao diện phát nhạc của bài hát hiện ra.
3 Người dùng nhân nút thích.
4 Nút thích chuyên thành nút bỏ thích
Ngoại lệ 3 Người dùng đã thích bai hát, nút bỏ thích được hiền thị
Ca sử dụng Báo lỗi bài hát
Tác nhân Người dùng
Tiên điều kiện Đã đăng nhập
Hậu điều kiện
Kịch bản 1 Người dùng chọn nghe | bài hát
2 Giao diện phát nhạc của bài hát hiện ra
3 Người dùng nhắn nút báo lỗi
4 Biéu mẫu báo lỗi hiện lên với 6 nhập thông tin lỗi, nút
báo lỗi, nút hủy.
5 Người dùng nhập thông tin về lỗi
6 Người dùng nhắn nút báo lỗi
7 Thông báo báo lỗi thành công hiện lên.
Ngoại lệ 5 Người dùng nhắn nút hủy, biểu mau đóng xuống
Nguyễn Thái Hoàng — B17DCCN264 32
Trang 35Dé án tốt nghiệp
Ca sứ dụng Tải bài hát
Tác nhân Người dùng
Tiên điều kiện Đã đăng nhập
Hậu điều kiện
Kịch bản 1 Người dùng chọn nghe 1 bai hát
2 Giao diện phát nhạc của bài hát hiện ra
3 Người dùng nhắn nút tải bai hát.
4 Hệ thống hiển thị thông báo người dùng cần một kim
cương dé tải nhạc, số lượng kim cương hiện có, cùng với
nút xác nhận tải, nút hủy.
5 Người dùng nhấn nút tải.
6 Bải hát được tải xuống.
Ngoại lệ 4.1 Người dùng hết kim cương hệ thống hiện thông báo
yêu cầu nạp thêm dé tải.
4.2 Bài hát không phải nhạc bản quyền, không phải trả phí
dé tai, bài hát được tải xuống trực tiếp.
Chức năng liên quan đến người nghe
e Mua thêm kim cương.
e Đăng ký tài khoản.
e Quản lý danh sách phát cá nhân.
e Thêm bài hát vào danh sách phát cá nhân.
e Quản lý bài hát yêu thích.
e Xem lịch sử nghe nhạc.
e Quản lý thông tin cá nhân.
Ca sử dụng Mua thêm kim cương
Tác nhân Người nghe
Tiền điều kiện Đã đăng nhập
Hậu điều kiện
Kịch bản 1 Người nghe chọn mua thêm kim cương.
2 Giao diện trang thanh toán hiện ra với loại hình thanh toán, hóa đơn thanh toán, nút thanh toán.
3 Người nghe chọn momo rồi ấn nút thanh toán
4 Giao diện chuyền tới trang quét mã QR của momo
5 Người nghe dùng ứng dụng momo quét mã QR.
6 Hiền thị thông báo thành công
7 Người nghe bị đăng xuất và trở về trang chủ
Ngoại lệ 5 Người nghe bam nút quay lại, giao diện trở về trang chủ
Nguyễn Thái Hoàng — B17DCCN264 33
Trang 36Dé án tốt nghiệp
Ca sw dụng Dang ky tai khoan
Tác nhân Người nghe
Tiền điều kiện
Hậu điều kiện
Kịch bản 1 Người nghe chọn đăng ký.
2 Giao diện đăng ký hiện ra với ô nhập tài khoản, ô nhập
mật khẩu, ô nhập email, ô nhập lại mật khâu, nút đăng ky,
đường dẫn về trang đăng nhập
3 Người nghe nhập thông tin.
4 Người nghe nhấn nút đăng ký
5 Giao diện trở về trang đăng nhập, thông báo đăng kýthành công hiện ra thông tin tài khoản gửi về email người
nghe.
Ngoại lệ 5.1 Email đã được đăng ký, hiền thị thông báo email đã tôn
tại.
5.2 Tên tài khoản đã được đăng ký, hiển thị thông báo tài
khoản đã tôn tao.
Ca sử dụng Quản lý danh sách phát cá nhân
Tác nhận Người nghe
Tiên điều kiện Đã đăng nhập
Hậu điều kiện
Kịch bản 1 Người nghe chọn tài khoản của tôi.
2 Trang quản lý tài khoản cá nhân của người nghe hiện ra.
3 Người nghe chọn quản lý danh sách phát cá nhân.
4 Các danh sách phát của người nghe hiện ra.
5 Người nghe chọn thêm danh sách phát (có thể chọn xóa
danh sách, nghe danh sách, xem bài hát trong danh sách).
6 Biểu mẫu nhập tên danh sách phát hiện lên với ô nhập
tên, nút hủy, nút thêm.
7 Người nghe nhập tên danh sách phát.
8 Người nghe nhắn nút thêm
9 Danh sách phát mới thêm được hiền thị
Ngoại lệ 7 Người nghe an nút hủy
Nguyễn Thái Hoàng — B17DCCN264 34
Trang 37Dé án tốt nghiệp
Ca sử dụng Thêm bài hát vào danh sách phát cá nhân
Tác nhân Người nghe
Tiền điều kiện Đã đăng nhập
Hậu điều kiện
Kịch bản 1 Người nghe chọn nghe 1 bài hát.
2 Giao diện phát nhạc của bài hát hiện ra.
3 Người nghe nhắn nút thêm vào
4 Biéu mẫu chọn danh sách phát thêm vào hiện ra gồm: 6
chọn danh sách phát, nút thêm vào, nút hủy.
5 Người nghe chọn danh sách phát muốn thêm vào
6 Người nghe nhân nút thêm mới
7 Giao diện chuyền tới chỉ tiết các bài hát trong danh sách
đó.
Ngoại lệ 4 Chưa có danh sách phát nào, nút thêm vào chuyền thành
nút thêm mới danh sách phát.
5 Người nghe nhân nút hủy, biểu mẫu được đóng xuống
Ca sử dụng Quản lý bài hát yêu thích
Tác nhân Người nghe
Tiền điều kiện Đã đăng nhập
Hậu điều kiện
Kịch bản 1 Người nghe chọn chức năng tài khoản của tôi.
2 Trang quản lý tài khoản cá nhân của người nghe hiện ra.
3 Người nghe chọn bài hát đã thích.
4 Trang bài hát yêu thích hiện ra với: danh sách bai hat đã
thích, ảnh bài hát tên bài hát, nút bỏ thích.
5 Người nghe có thé bỏ thích hoặc chọn nghe bài hát
Ngoại lệ Chưa có bài hát nào được thích
Nguyễn Thái Hoàng — B17DCCN264 35
Trang 38Dé án tốt nghiệp
Ca sứ dụng Xem lịch sử nghe nhạc
Tác nhân Người nghe
Tiền điều kiện Đã đăng nhập
Hậu điều kiện
Kịch bản 1 Người nghe chọn chức năng tài khoản của tôi.
2 Trang quản lý tài khoản cá nhân của người nghe hiện ra.
3 Người nghe chọn xem lịch sử nghe nhạc.
4 Danh sách 10 bài hát nghe gần nhất hiện ra với ảnh đại
diện, tên bài hát, nút phát.
5 Người nghe có thé một bài hát dé nghe lại.
Ngoại lệ 4 Người nghe chưa nghe bài hát nào không có gì dé hiển
thị.
Ca sw dụng Quan ly thông tin cá nhân
Tác nhân Người nghe
Tiên điều kiện Đã đăng nhập
Hậu điều kiện
Kịch bản 1 Người nghe chọn chức năng tài khoản của tôi.
2 Trang quản lý tài khoản cá nhân của người nghe hiện ra.
3 Người nghe chọn thông tin cá nhân.
4 Trang thông tin của người nghe hiện ra với thông tin về:
tên tài khoản, email, thông tin giới thiệu, ảnh đại diện.
5 Người nghe nhấn nút thay đôi ảnh đại diện
6 Cửa số chọn ảnh đại diện lên với nút chọn ảnh, lưu, đóng
Ngoại lệ 4 Người dùng chưa có ảnh đại diện, hiên thị ảnh mặc định
Nguyễn Thái Hoàng — B17DCCN264 3ó
Trang 39Dé án tốt nghiệp
Chức năng liên quan dén quản trị viên:
e Quản lý bài hát.
e Quản lý danh sách phát.
e Quản lý tài khoản.
e Quan lý phản hồi lỗi
e Xem thống kê lượt nghe
e Xem thống kê thanh toán
e Thay đổi slide
e Chỉnh sửa danh sách bài hát trong danh sách phát.
e Các chức năng quản lý ca sĩ, nhạc sĩ, khu vực, thê loại thực hiện tương
tự.
Ca sử dụng Quản lý bài hát
Tác nhân Quản trị viên
Tiền điều kiện | Đã đăng nhập
Hậu điều kiện
Kịch bản 1 Quản trị viên chọn chức năng quản lý bài hát.
2 Trang quản lý bài hát hiện ra với:
- Nút thêm mới.
- Bộ lọc bài hát theo thể loại, ca sĩ, nhạc sĩ
- Bảng danh sách bài hát với thông tin: số thứ tự, tên bài hát,
ca sĩ, nhạc sĩ, thể loại, bản quyền, thao tác (sửa, xóa
STT | Tên bai | Casi | Nhạc | Thể Bản
hát sĩ loại | quyền
1 Easy | Adele | Adele | Pop Có Sửa
On Me Xóa
3 Quan tri viên chọn thêm mới (chon sửa hoặc xóa nếu muốn
sửa thông tin hoặc xóa bài hát).
4 Trang thêm bài hát hiện ra với: ô nhập tên bài hát, nhập
đường dẫn bài hát, nút chọn ảnh đại diện, danh sách ca
si,danh sách nhac sĩ, 6 chon thé loại, 6 nhập lời bài hat, 6đánh dấu bản quyên
5 Quản trị viên nhập thông tin cho bài hát.
6 Quản trị viên nhắn thêm
7 Giao diện trở về bước 2, bài hát được thêm vào bảng
Ngoại lệ 5 Người dùng nhập thiểu thông tin, thông báo trường bị thiêu
hiện lên.
Nguyễn Thái Hoàng — B17DCCN264 37
Trang 40Dé án tốt nghiệp
Ca sw dụng Quan lý danh sách phat
Tác nhân Quản trị viên
Tiền điều kiện _ | Đã đăng nhập
Hậu điều kiện
Kịch bản 1 Quản trị viên chọn quản lý danh sách phát.
2 Giao diện quản lý hiện ra với nút thêm mới và bảng chứa
các danh sách phát với: số thứ tự, tên danh sách phát, ngày
tạo, thao tác.
STT Tén Ngay tao Thao tac
1 Mia hoa | 16-10-2021 | Sửa Xóa Chi Tiết
nở
3 Quản trị viên nhắn nút thêm mới
4 Giao diện trang thêm danh sách phát hiện ra với nút chọn
ảnh, ô nhập tên.
5 Người dùng nhấn nút lưu
6 Giao diện quay lại bước 2 với danh sách phát được thêm vào.
Ngoại lệ Bảng không có danh sách phát nào
Ca sw dụng Quan ly tai khoan
Tác nhân Quản trị viên
Tiền điều kiện Đã đăng nhập
Hậu điều kiện
Kịch bản 1 Quản trị viên chọn quản lý tài khoản.
2 Thanh menu hiện ra các tùy chọn: Tài khoản thường, tài
khoản khóa
3 Quản trị viên chọn tài khoản thường
4 Trang quản lý thông tin về tài khoản thường hiện ra với thông tin về: số thứ tự, tên tài khoản, số kim cương, thao tác.
STT | Tên tài Email Số kim | Thao tác
khoản cương
1 hoangnt | abc@gmail.com 111 Khéa
Nguyễn Thái Hoàng — B17DCCN264 38