Ngày nay, nghe nhạc trực tuyến đã được phổ biến rộng rãi trên thế giới. Hình thức giải trí này không chỉ giúp cho nhà sản xuất nhạc tiết kiệm được nhiều chi phí quảng cáo mà còn giúp mọi người nghe nhạc thưởng thức và cập nhập thông tin về các bài hát một cách nhanh chóng, đầy đủ, tiết kiệm chi phí … Nắm bắt được nhu cầu giải trí nghe, thưởng thức âm nhạc của mọi người ngày một tăng, em đã quyết định chọn đề tài “ Xây dựng Website nghe nhạc trực tuyến”. Em mong rằng đề tài này đáp ứng được phần nào giải trí cho mọi người. Với sự cố gắng của bản thân và sự hướng dẫn của thầy Nguyễn Thanh Cẩm em đã hoàn thành bài báo cáo của mình.
Trang 1LỜI MỞ ĐẦU
Ngày nay, nghe nhạc trực tuyến đã được phổ biến rộng rãi trên thế giới Hìnhthức giải trí này không chỉ giúp cho nhà sản xuất nhạc tiết kiệm được nhiều chi phíquảng cáo mà còn giúp mọi người nghe nhạc thưởng thức và cập nhập thông tin về cácbài hát một cách nhanh chóng, đầy đủ, tiết kiệm chi phí …
Nắm bắt được nhu cầu giải trí nghe, thưởng thức âm nhạc của mọi người ngàymột tăng, em đã quyết định chọn đề tài “ Xây dựng Website nghe nhạc trực tuyến”
Em mong rằng đề tài này đáp ứng được phần nào giải trí cho mọi người Với sự cốgắng của bản thân và sự hướng dẫn của thầy Nguyễn Thanh Cẩm em đã hoàn thànhbài báo cáo của mình
Những yếu tố thuận lợi bên trong và bên ngoài, cùng với tiềm năng phát triểnthị trường giải trí trên website ở Việt Nam chính là cơ sở để chúng em tin rằng
“Website nghe nhạc trực tuyến ” sẽ phát triển mạnh trong thời gian sau này
Tuy nhiên với việc có nhiều hạn chế cũng như kinh nghiệm thực tiển yếu, vừaphân tích thiết kế vừa nghiên cứu tìm hiểu khai thác ngôn ngữ mới, hơn nữa khả năng
am hiểu về hệ thống của em còn nhiều hạn chế nên trong quá trình khảo sát, phân tíchcòn nhiều thiếu sót Rất mong thầy cô và các bạn đóng góp thêm ý kiến cho bài báocáo của em hoàn thiện hơn
Em xin chân thành cảm ơn!
Trang 2MỤC LỤCLỜI MỞ ĐẦU i MỤC LỤC ii
DANH MỤC HÌNH ẢNH iii CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI 1 1.1 Giới thiệu Website nghe nhạc trực tuyến 1
1.2 Mục đích và yêu cầu xây dựng hệ thống 1
CHƯƠNG 2 TỔNG QUAN VỀ PHP VÀ MYSQL 3 2.1 PHP 3
3.2 Sơ đồ phân rã chức năng (BFD) 9
3.3 Mô hình hóa dữ liệu 16
3.4 Thiết kế cơ sở dữ liệu 16
CHƯƠNG 4 THIẾT KẾ HỆ THỐNG 20 4.1 Đặc tả một số tiến trình 20
CHƯƠNG 5 GIAO DIỆN WEBSITE 23 5.1 Xây dựng trang quản lý Admin 23
5.2 Giao diện trang chủ và các chức năng 26
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 32 DANH MỤC TÀI LIỆU THAM KHẢO 33
Trang 3DANH MỤC HÌNH ẢNH
Hình 1 Sơ đồ phân ra chức năng 9
Hình 2 Sơ đồ mức ngữ cảnh 10
Hình 3 Biểu đồ luồng dữ liệu mức 0 10
Hình 4 Biểu đồ luồn dữ liệu cấp 1 của chức năng qản trị hệ thống 11
Hình 5 Biểu đồ luồng dữ liệu mức 1 chức năng giao tiếp người dùng 12
Hình 6 Biểu dồ luồng dữ liệu mức 1 chức năng “Quản lý bài hát” 13
Hình 7 Biểu dồ luồng dữ liệu mức 1 chức năng “Quản lý bài hát” 13
Hình 8 Biểu dồ luồn dữ liệu mức 1 chức năng “Quản lý thành viên” 13
Hình 9 Biểu dồ luồn dữ liệu mức 1 chức năng “Quản lý liên hệ” 13
Hình 10 Biểu dồ luồn dữ liệu mức 1 chức năng “Quản lý video” 14
Hình 11 Biểu dồ luồn dữ liệu mức 1 chức năng “Quản lý ca sĩ” 14
Hình 12 Biểu đồ luồn dữ liệu mức 1 chức năng “ Nghe nhạc” 14
Hình 13 Biểu đồ luồn dữ liệu mức 1 chức năng “ Xem video” 14
Hình 14 Biểu đồ luồn dữ liệu mức 1 chức năng “ Liên hệ”: 14
Hình 15 Biểu đồ luồn dữ liệu mức 1 chức năng “ Đăng ký” 15
Hình 16 Biểu đồ luồn dữ liệu mức 1 chức năng “ đăng nhập” 15
Hình 17 Biểu đồ luồn dữ liệu mức 1 chức năng “ đăng nhập” 15
Hình 18 Biểu đồ luồn dữ liệu mức 1 chức năng “ upload bài hát” 15
Hình 19 Biểu đồ luồn dữ liệu mức 1 chức năng “ upload video” 15
Hình 20 Mô hình dữ liệu quan hệ (RDM) 16
Hình 21 Đặc tả tiến trình đăng ký 20
Hình 22 Đặc tả tiến trình đăng ký 21
Hình 23 Đặc tả tiến trình tìm kiếm 22
Hình 24 Giao diện đăng nhập trang quản trị 23
Hình 25 Giao diện trang quản trị 23
Hình 26 Giao diện quản lý bài hát 24
Hình 27 Giao diện quản lý video 24
Trang 4Hình 28 Giao diện quản lý ca sĩ 24
Hình 29 Giao diện quản lý thể loại 25
Hình 30 Giao diện quản lý ý kiến đóng góp 25
Hình 31 Giao diện quản lý thành viên 25
Hình 32 Giao diện trang chủ 26
Hình 33 Giao diện xem video 27
Hình 34 Giao diện nghe nhạc 27
Hình 35 Giao diện đăng nhập thành viên 28
Hình 36 Giao diện đăng ký thành viên 28
Hình 37 Giao diện bảng xếp hạng 29
Hình 38 Giao diện tìm kiếm 29
Hình 39 Giao diện upload nhạc 30
Hình 40 Giao diện upload video 30
Hình 41 Giao diện đóng góp ý kiến 30
Hình 42 Giao diện ca sĩ 31
Trang 5CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI1.1 Giới thiệu Website nghe nhạc trực tuyến.
Website nghe nhạc trực tuyến hiện nay đã là trang âm nhạc phổ biến và vai trò của
nó giúp cho con người giải trí, thư giãn sau những mệt nhọc của cuộc sống Websitecung cấp cho người dùng với tất cả các loại nhạc với kho tàng âm nhạc phong phú đadạng trên toàn thế giới Vì vậy người yêu cầu nghe nhạc thỏa sức tìm kiếm những bàihát mà mình yêu thích và có thể quản lý album nhạc của mình khi đã là thành viên củatrang web Điều đó thật thú vị và càng hay hơn là bạn có thể trao đổi với những ngườibạn khác trên website về cảm nhận âm nhạc, chia sẻ cho nhau qua những bình luận,đóng góp ý kiến cho website
1.2 Mục đích và yêu cầu xây dựng hệ thống.
a Mục tiêu xây dựng hệ thống:
- Hướng tới việc đáp ứng nhu cầu giải trí và chia sẻ về lĩnh vực âm nhạc
- Sử dụng chức năng download nhạc (tải nhạc)
- Sử dụng chức năng Upload nhạc, video (đăng nhạc)
- Cập nhật bài hát video, thể loại , ca sĩ, bảng xếp hạng
- Xây dựng một website thân thiện, đáp ứng phụ hợp về mặt âm nhạc cho tất cảmọi người
- Luôn chú ý quan tâm chăm sóc khách hàng và giao diện website có bố cục rõràng, hình thức gây thiện cảm cho khách thăm quan
b Yêu cầu đặt ra cho hệ thống:
- Hỗ trợ người dùng với tiêu chí sau:
+ Đăng ký là thành viên của website
+ Đăng nhập và sử dụng các chức năng sau:
- Quản lý thông tin cá nhân
- Nghe nhạc, xem video trên website
- Upload/ Download
+ Hỗ trợ cho người quản trị:
+ Hệ thống website cần được bảo mật thông tin an toàn Chính vì thế ngườiquản trị sẽ có tài khoản và có quyền được sử dụng tất cả các chức năng của
Trang 6trang web, có khả năng thâm nhập vào cơ sở dữ liệu và thao tác trên nó như:
- Quản lý thông tin cơ sở dữ liệu
- Quản lý thành viên
- Quản lý bài hát, video
- Quản lý ca sĩ
- Quản lý thể loại
Trang 7CHƯƠNG 2 TỔNG QUAN VỀ PHP VÀ MYSQL
2.1 PHP
2.1.1 Giới thiệu PHP
PHP - viết tắt hồi quy của "Hypertext Preprocessor", là một ngôn ngữ lập trình
kịch bản được chạy ở phía server nhằm sinh ra mã html trên client PHP đã trải qua rấtnhiều phiên bản và được tối ưu hóa cho các ứng dụng web, với cách viết mã rõ rãng,tốc độ nhanh, dễ học nên PHP đã trở thành một ngôn ngữ lập trình web rất phổ biến vàđược ưa chuộng
Là kịch bản cho chúng ta xây dựng ứng dụng web trên mạng internet tương tácvới cơ sở dữ liệu : Infonix, My SQL, SQL Sever, Oracle…
2.1.2 Lịch sữ phát triển
Năm 1995 phiên bản đầu tiên ra đời có tên PHP/F1 được viết với nhà phần mềmRasmus Lerdorf
PHP/F1 Hypertext Preprocessor/Forms Interperter, bao gồm một số chức năng
cơ bản như ngày nay
Năm 1997 phiên bản PHP 2.0 ra đời nhưng chỉ được công bố dưới dạng bảnbeta
Năm 1998 phiên bản PHP 3.0 được ra đời
Tháng 5/2000 phien bản PHP 4.0 với hàng loạt các tính năng bổ sung, đã chínhthức được công bố
29/6/2003 phiên bản PHP 5 beta 1 chính thức được công bố
Tháng 10.2003 phiên bản beta 2 ra mắt với sự xuất hiện của 2 tính năng mới rấtđược chờ đợi: Iterators và Reflection nhưng namespace một tính năng gây tranh cãi đã
bị loại ra khỏi mã nguồn
Ngày 22/12/2003 phiên bản PHP beta 3 được công bố
Ngày 13/7/2006 phiên bản PHP 5 chính thức ra mắt sau một chuỗi khá dài cácbản kiểm tra thử bao gồm Beta 4, RC1 RC2, RC3
Ngày 14/4/2005 phiên bản PHP Beta 3 được PHP T eam công bố đánh dấu sựchín muồi của PHP với sự có mặt của PDO
Hiện nay phiên bản tiếp theo của PHP đang được phát triển tiếp
Trang 8-Có 2 câu lẹnh dùng để hiển thị các câu text ra browser là echo và print
-Các file php phải có phần mở rộng là php Nếu phần mở rộng là html thì đoạn mã php sẽ không được thực thi
Php hỗ trợ 5 kiển dữ liệu như sau:
-Integer: sử dụng cho kiểu dữ liệu là số nguyên
-Double: sử dụng cho kiểu dữ liệu là số thực
Trang 9-String: sử dụng cho kiểu dữ liệu là chuỗi và ký tự.
-Array: sử dụng cho kiểu dữ liệu là mảng
-Integer: sử dụng cho kiểu dữ liệu là đối tượng của lớp
2.1.5 Đặc thù của PHP
PHP có xác xuất chạy ( run ) trên các nền ( platform ) hệ điều hành khác nhau:Windows, Linux, Unix, Mac OS X , …
PHP tương hợp với hồ hết các web server hiện nay: Apache, IIS, …
PHP có xác xuất làm việc được với nhiều theme wordpress cho bloger
PHP cầm cờ chạy hiệu quả trên server
PHP vừa dễ để học cách sử dụng lại vừa không có một sự hạn chế hay một trườnghợp ngoại lệ nào cả miễn phí ( có xác xuất download tại trang chủ của PHP).Điều chúng ta cần biết ngay bây chừ về PHP là, ta dễ dàng chèn và sử dụng mã phptrong các file html Sau đây là một nếu giản đơn nhất
2.2 MySQL
2.2.1 Giơi thiệu My SQL
- Là một hệ thống CSDL
- Là một hệ quản trị CSDL quan hệ
- Được phát triển, phân phối và hỗ trợ MySQL AB
- Để làm việc với MySQL cần đăng ký kết nối, tạo cơ sở dữ liệu, quản lý ngườidùng, phân quyền sử dụng, thiết kế đối tượng Table của cơ sở dữ liệu và xử lý dữ liệu
- Để quản lý và thao tác trên cơ sở dữ liệu ta có thể sử dụng giao diện đồ họa hoặcdạng Command line
2.2.2 Đặc điểm của My SQL
- Ra đời các trang nội dung động
- Thực hiện các thao tác: Taọ ( Create ), mở ( Open ), đọc ( read ), ghi ( Write ) vàđóng ( Close ) các tập tin trên sever
- Thực hiện chức năng sưu tập ( Collect dữ liệu)
- Thực hiện kết nối (connect ) vào một cơ sở dữ liệu và thực hành các thao tác cănbản trên đó ( Add, Delete, Modife, …)
- Trợ giúp việc gửi ( Send ) và nhận ( Receive ) các cookie
Trang 10- Trợ giúp mã hóa ( Encrypt ) và nhận ( Receive ) các cookie.
- Trợ giúp lập trình quản trị web: Phân quyền truy nhập của người sử dụng ( user )vào các page được chỉ định trên một website
- Một file PHP có xác xuất chứa Text; các thẻ HTML; CSS; JavaScritp và PHPscript code Code PHP được thực hành ( execute ) trên Server và kết quả trả về trênweb browser như HTML File PHP có phần mở rộng là php
2.3 MySQL và PHP
Để connect tới 1 CSDL trên MySQL Server rất đơn giản Chỉ cần sử dụnghàm:mysql_connect (host, user, password) để mở 1 kết nối tới MSQL Server với kếtquả là giá trị trả về của hàm (Giả sử là biến $dbname) Sau đó, dùng hàmmysql_select_db(dbname, $link)
VD:
<?phpdefine('sv', 'localhost');
define('dbname', 'minhcanh');
define('username', 'root');
define('pass', '');
$link=mysql_connect(sv, username, pass);
mysql_select_db("minhcanh", $link)or die("khong ket noi duoc co so du lieu)"
mysql_error());
?>
Để thực hiện một câu lệnh truy vấn, dùng hàm mysql_query(query, link) Giá trịtrả lại của hàm là kết quả của câu truy vấn Nếu bỏ qua link thì kết nối cuối cùng tớiMySQL server sẽ được thực hiện
VD:
<?phpmysql_query("insert into hang value('$mahang', '$tenhang')", $link)ordie("khong chen duoc co so du lieu" mysql_error());
?>
Trang 11Để lấy kết quả thực hiện, ta có thể dùng hàm mysql_result(),mysql_fetch_row(), mysql_fetch_array(), mysql_fetch_object()
* mysql_fetch_row():Trả về một mảng các dữ liệu lấy từ 1 dòng trong CSDL.
Nếu đã ở cuối CSDL, giá trị trả về là false Bạn phải dùng chỉ số của các trường trongCSDL nếu muốn lấy dữ liệu
VD:
<?phpmysql_select_db(dbname, $link)or die("Loi chon co so du lieu ketnoi(bangdl_hang php):" mysql_error());
$result=mysql_query("SELECT * FROM hang")or die("Loi chon co so
du lieu(bangdl php):" mysql_error());
$sohang=mysql_num_rows($result);
echo"số hãng nhập vào hiện nay là:$sohang <p>";
echo"<table width=\"100%\" boder=1>";
echo "<td width=\"50%\"><font face=arial size=1/> $thongtinvao[0]
</font></td>";
echo "<td width=\"50%\"><font face=arial size=1/><a href
=\"nhaphang php\"> $thongtinvao[1] </a></font></td>";
echo "</tr>";
}echo "</table>";
mysql_close($link);
?>
Trang 12* mysql_fetch_array(int result[, int result_type]): Trả về một mảng chứa dữ
liệu lấy từ một dòng trong CSDL Tương tự như mysql_fetch_row() nhưng bạn có thểlấy thêm trường để lấy dữ liệu
* mysql_fetch_object:Chuyển kết quả thành một đối tượng với các trường là
các trường trong cơ sở dữ liệu
Trang 13CHƯƠNG 3 PHÂN TÍCH HỆ THỐNG3.1 Phân tích hệ thống về mặt chức năng
Đối với người quản trị Admin
- Quản lý bài hát, video: Thêm, sửa, xóa bài hát, video
- Quản lý thành viên
- Cập nhật thể loại bài hát
- Duyệt các bài hát, video do thành viên đăng tải
- Phản hồi các ý kiến đóng góp của thành viên
Đối với thành viên
- Cho phép nghe và tải nhạc, xem video, tìm kiếm
- Cho phép upload bài hát và video
- Liên hệ, đóng góp ý kiến
Đối với khách
- Cho phép đăng ký thành viên
- Cho phép nghe nhạc, xem video, tìm kiếm
3.2 Sơ đồ phân rã chức năng (BFD)
HỆ THỐNG WEBSITE
Đăng nhập
Nghe nhạc
Xem video
Tìm kiếm
Upload bài hát
Upload video
Liên hệ
Đăng ký
Quản
lý video
Quản
lý ca sĩ
Trang 14- Sơ đồ mức ngữ cảnh
Hệ thống website
Người sử dụng
Thành viên Người quản trị
Yêu cầu quản lý thông tin
Trả lời thông tin
Yêu cầu dữ liệu Trả về dữ liệu
Xác nhận thông tin Đăng nhập
Hình 2 Sơ đồ mức ngữ cảnh
-Biểu đồ luồng dữ liệu mức đỉnh (mức 0):
Giao tiếp người dùng 2.0
Quản trị hệ thống 1.0
Kết quả
Lưu thông tin video Kết quả
Ca sĩ D6
Lưu thông tin ca sĩ Kết quả
Lấy thông tin liên hệ
Kết quả Lấy thông tin bài hát Kết quả
Thành viên D3
Lưu thông tin thành viên Kết quả
Lấy thông tin video Kết quả
Lấy, lưu thông tin thành viên Kết quả
Kết quả
Hình 3 Biểu đồ luồng dữ liệu mức 0
Trang 15- Biểu đồ luồn dữ liệ mức 1 chức năng hệ thống
1.5 Quản lý video
1.1 Quản lý bài hát
1.2 Quản lý thể loại
1.6 Quản lý ca sĩ
1.4 Quản lý ý kiến
1.3 Quản lý thành viên
Người quản trị Người dùng
D4 Ý kiến D3 Thành viên D2 Thể loại D1 Bài hát
Gửi thông tin thể loại
Gửi thông tin thành viên
Gửi thông tin ý kiến
Gửi thông tin video
Gửi thông tin video Kết quả
Yêu cầu nghe, tìm
Yêu cầu xử lý thành viên
Yêu cầu xử lý bài hát
Hình 4 Biểu đồ luồn dữ liệu cấp 1 của chức năng qản trị hệ thống.
Trang 16- Biểu dồ luồn dữ liệu mức 1 của chức năng giao tiếp người dùng:
Yêu cầu nghe nhạc
Kết quả
Liên hệ D3
D1
Xem video
D2 Gửi yêu cầu xem video Lấy thông tin video
Kết quả
Gửi liên hệ Hiển thị thông báo
2.4 Đăng ký
2.5 Đăng nhập
2.6 Tìm kiếm
2.7 Upload bài hát
2.8 Upload video
Thành viên D4
Thành viên D5
Bài hát D1
Bài hát D1
Video D2
Lưu thành viên Kết quả
Kết quả
Kết quả
Kết quả
Kết quả
Lấy thông tin thành viên
Lấy thông tin bài hát
Hiển thị thông báo
Hiển thị thông báo
Gửi yêu cầu đăng nhập
Gửi yêu cầu tìm kiếm
Gửi thông tin bài hát
Gửi thông tin video
Hình 5 Biểu đồ luồng dữ liệu mức 1 chức năng giao tiếp người dùng
Trang 17- Biểu đồ luồng dữ liệu mức 1 chức năng “Quản lý bài hát”
Người dùng
Người quản trị
1.1
Yêu cầu upload video
Kết quả Cập nhật bài hát
Kết quả Gửi yêu cầu
Hình 6 Biểu dồ luồng dữ liệu mức 1 chức năng “Quản lý bài hát”
- Biểu dồ luồn dữ liệu mức 1 chức năng “Quản lý thể loại”:
Kết quả Người quản trị
1.2 Quản lý thể loại D2 Thể loại
Yêu cầu xữ lý thể loại Gửi thông tin
thể loại Kết quả
Hình 7 Biểu dồ luồng dữ liệu mức 1 chức năng “Quản lý bài hát”
- Biểu dồ luồn dữ liệu mức 1 chức năng “Quản lý thành viên”:
Người dùng
Người quản trị
1.3 Quản lý thành viên D3 Thành viên
Yêu cầu đăng ký thành viên
Kết quả
Yêu câu xữ lý thành viên
Kết quả Gửi yêu cầu
Kết quả
Hình 8 Biểu dồ luồn dữ liệu mức 1 chức năng “Quản lý thành viên”
- Biểu dồ luồn dữ liệu mức 1 chức năng “Quản lý liên hệ”:
Yêu cầu xử lý ý kiến
Kết quả Gửi yêu cầu
Kết quả
Hình 9 Biểu dồ luồn dữ liệu mức 1 chức năng “Quản lý liên hệ”
Trang 18- Biểu dồ luồn dữ liệu mức 1 chức năng “Quản lý video”:
Người dùng
Người quản trị
1.5
Gửi yêu cầu upload video
Kết quả
Cật nhập video
Kết quả Gửi yêu cầu
Kết quả
Hình 10 Biểu dồ luồn dữ liệu mức 1 chức năng “Quản lý video”
- Biểu dồ luồn dữ liệu mức 1 chức năng “Quản lý ca sĩ”:
Kết quả Người quản trị
1.6
Yêu cầu xữ lý ca sĩ Gửi thông tinCa sĩ
Kết quả
Hình 11 Biểu dồ luồn dữ liệu mức 1 chức năng “Quản lý ca sĩ”
-Biểu đồ luồn dữ liệu mức 1 chức năng “ Nghe nhạc”:
Nghe nhạc
2.1
Phát bài hát
Bài hátLấy thông tin bài hát
Yêu cầu nghe nhạc
Người dùng
Hình 12 Biểu đồ luồn dữ liệu mức 1 chức năng “ Nghe nhạc”.
-Biểu đồ luồn dữ liệu mức 1 chức năng “ Xem video”:
Người dùng
Hình 13 Biểu đồ luồn dữ liệu mức 1 chức năng “ Xem video”.
-Biểu đồ luồn dữ liệu mức 1 chức năng “ Liên hệ”:
Hình 14 Biểu đồ luồn dữ liệu mức 1 chức năng “ Liên hệ”: