Tải bản đầy đủ (.doc) (35 trang)

Báo cáo đề tài xây dựng website nghe nhạc trực tuyến

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.43 MB, 35 trang )

MỤC LỤC
DANH MỤC HÌNH ẢNH 3
CHƯƠNG 1. TỔNG QUAN VỀ PHP VÀ MYSQL 3
1.1. Tìm hiểu về PHP 3
1.1.1. Giới thiệu về PHP 3
1.1.2. Tại sao phải sử dụng PHP 3
1.1.3. Cú pháp PHP 4
1.1.4. Các kiểu dữ liệu PHP 4
1.1.5. Biến trong PHP 5
1.1.6. Lập trình hướng đối tượng (OOP) 5
1.2. Tìm hiểu về MYSQL 7
1.2.1. Giới thiệu về MySQL 7
1.2.2. Đặc điểm của MYSQL 8
1.2.3. Tại sao sử dụng MYSQL 8
1.2.4. Kết hợp PHP và MYSQL trong ứng dụng website 8
1.3. Cài đặt PHP, Apache, MYSQL 9
CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG 10
WEBSITE NGHE NHẠC TRỰC TUYẾN 10
2.1. Giới thiệu đề tài 10
2.1.1. Giới thiệu Website nghe nhạc trực truyến 10
2.1.2. Mục tiêu và yêu cầu xây dựng hệ thống 10
2.2. Phân tích thiết kế hệ thống 11
2.2.1. Biểu đồ phân cấp chức năng (BFD) 11
2.2.2. Biểu đồ luồng dữ liệu 12
14
2.3. Chi tiết các bảng dữ liệu 22
2.3.1. Bảng Album (album) 22
2.3.2. Bảng Bài hát (bai_hat) 22
2.3.3. Bảng ca sĩ (ca_si) 23
2.3.4. Bảng Thể loại (the_loai) 23
2.3.5 . Bảng người dùng (nguoi_dung) 24


1
2.3.6. Bảng quốc gia (quoc_gia) 24
2.3.7 . Bảng nhạc sĩ (nhac_si) 24
3.1. Trang chủ 26
3.2. Trang nghe nhạc 27
3.3. Trang đăng nhập thành viên 27
3.4. Trang đăng kí thành viên 28
3.5. Trang tìm kiếm bài hát 28
3.6. Trang Upload 29
3.7. Trang quản trị hệ thống website 29
3.7.1. Trang đăng nhập quản trị hệ thống 29
3.7.2 . Trang Quản trị hệ thống 30
3.7.4. Quản lý Album 31
3.7.5. Quản lý thể loại 32
3.7.6. Quản lý người dùng 32
3.7.7. Quản lý bài hát 33
KẾT LUẬN 34
TÀI LIỆU THAM KHẢO 35
2
DANH MỤC HÌNH ẢNH
CHƯƠNG 1. TỔNG QUAN VỀ PHP VÀ MYSQL
1.1. Tìm hiểu về PHP
1.1.1. Giới thiệu về PHP
PHP (Hypertext Preprocessor) là ngôn ngữ lập trình kịch bản 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ủ,
mã nguồn mở, dùng cho mục đích tổng quát. Mã PHP có thể thực thi trên
Webserver để tạo ra mã HTML và xuất ra trình duyệt web theo yêu cầu của
người sử dụng. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ
gọn, thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ
khác nên PHP nhanh chóng trở thành ngôn ngữ lập trình web phổ biến nhất thế

giới.
Ngôn ngữ PHP ra đời năm 1994 Rasmus Lerdorf sau đó được phát triển
bởi nhiều người trải qua nhiều phiên bản. Phiên bản hiện tại là PHP 5.0 đã
được công bố 07/2004.
1.1.2. Tại sao phải sử dụng PHP
Có nhiều lý do khiến cho việc sử dụng ngôn ngữ này chiếm ưu thế, sau
đây là một số lý do cơ bản:
• Miễn phí, download dễ dàng từ Internet.
• Ngôn ngữ rất dễ học, dễ viết
• Mã nguồn mở(open sorce code)
• Mã nguồn không phải sửa lại nhiều khi viết chạy cho các hệ điều hành từ
Windows,Linnux, Unix.
• Rất đơn giản trong việc kết nối với nhiều nguồn DBMS.ví dụ như :
MySQL, Microsoft SQL Server 2000, Oracle, PostgreSQL, Adabas, dBase,
Empress, FilePro, Informix, InterBase, mSQL, Solid, Sybase, Velocis và nhiều
hệ thống CSDL thuộc Hệ Điều Hành Unix (Unix dbm) cùng bất cứ DBMS nào
3
có sự hổ trợ cơ chế ODBC (Open Database Connectivity) ví dụ như DB2 của
IBM.
1.1.3. Cú pháp PHP
Đoạn mã php luôn được bắt đầu và kết thúc bởi cặp thẻ theo cú pháp:
Cách 1 : Cú pháp chính:
<?php Mã lệnh PHP ?>
Cách 2: Cú pháp ngắn gọn
<? Mã lệnh PHP ?>
Cách 3: Cú pháp giống với ASP.
<% Mã lệnh PHP %>
Cách 4: Cú pháp bắt đầu bằng script
<script language=php>


</script>
Trong PHP để kết thúc 1 dòng lệnh chúng ta sử dụng dấu ";"
Để chú thích 1 đoạn dữ liệu nào đó trong PHP ta sử dụng dấu "//" cho từng
dòng. Hoặc dùng cặp thẻ "/*…… */" cho từng cụm mã lệnh.
Đoạn mã php có thể đặt bất kỳ đâu trong tài liệu. Thông thường một trang
php bao gồm các thẻ HTML như một trang HTML nhưng có thêm các đoạn mã
php.
1.1.4. Các kiểu dữ liệu PHP
Php hỗ trợ 5 kiểu dữ liệu như sau:
+Integer: sử dụng cho giá trị có kiểu dữ liệu là số nguyên.
+ Double: sử dụng cho giá trị có kiểu dữ liệu là số thực.
+String: sử dụng cho các giá trị có kiểu dữ liệu là chuỗi và ký tự.
+Array: sử dụng cho các giá trị có kiểu dữ liệu là mảng.
+ Object: sử dụng cho các giá trị có kiểu dữ liệu là đối tượng của lớp.
4
1.1.5. Biến trong PHP
Biến được xem là vùng nhớ dữ liệu tạm thời. Và giá trị có thể thay đổi
được. Biến được bắt đầu bằng ký hiệu "$". Và theo sau chúng là 1 từ, 1 cụm từ
nhưng phải viết liền hoặc có gạch dưới.
Biến được xem là hợp lệ khi nó thỏa các yếu tố :
+ Tên của biến phải bắt đầu bằng dấu gạch dưới và theo sau là các ký tự, số
hay dấu gạch dưới.
+ Tên của biến không được phép trùng với các từ khóa của PHP.
Trong PHP để sử dụng 1 biến chúng ta thường phải khai báo trước, tuy
nhiên đối với các lập trình viên khi sử dụng họ thường xử lý cùng một lúc các
công việc, nghĩa là vừa khái báo vừa gán dữ liệu cho biến.
Bản thân biến cũng có thể gãn cho các kiểu dữ liệu khác. Và tùy theo ý
định của người lập trình mong muốn trên chúng.
1.1.6. Lập trình hướng đối tượng (OOP)
a. Khái niệm

Lập trình hướng đối tượng (gọi tắt là OOP, từ chữ Anh ngữ object-
oriented programming), hay còn gọi là lập trình định hướng đối tượng, là kĩ
thuật lập trình hỗ trợ công nghệ đối tượng. OOP giúp tăng năng suất, đơn giản
hóa độ phức tạp khi bảo trì cũng như mở rộng phần mềm bằng cách cho phép
lập trình viên tập trung vào các đối tượng phần mềm ở bậc cao hơn. Đây là
khái niệm và là một nỗ lực nhằm giảm nhẹ các thao tác viết mã cho người lập
trình, cho phép họ tạo ra các ứng dụng mà các yếu tố bên ngoài có thể tương
tác với các chương trình đó giống như là tương tác với các đối tượng vật lý.
b. Các tính chất cơ bản
 Object: Các dữ liệu và chỉ thị được kết hợp vào một đơn vị đầy đủ tạo
nên một đối tượng. Đơn vị này tương đương với một chương trình con và vì thế
các đối tượng sẽ được chia thành hai bộ phận chính: phần các phương thức
5
(method) và phần các thuộc tính (attribute). Trong thực tế, các phương thức của
đối tượng là các hàm và các thuộc tính của nó là các biến, các tham số hay
hằng nội tại của một đối tượng (hay nói cách khác tập hợp các dữ liệu nội tại
tạo thành thuộc tính của đối tượng). Các phương thức là phương tiện để sử
dụng một đối tượng trong khi các thuộc tính sẽ mô tả đối tượng có những tính
chất gì.
Các phương thức và các thuộc tính thường gắn chặt với thực tế các đặc
tính và sử dụng của một đối tượng.
Các đối tượng thường được trừu tượng hóa qua việc định nghĩa của các
lớp (class).Tập hợp các giá trị hiện có của các thuộc tính tạo nên trạng thái của
một đối tượng.
Mỗi phương thức hay mỗi dữ liệu nội tại cùng với các tính chất được
định nghĩa (bởi người lập trình) được xem là một đặc tính riêng của đối tượng.
Nếu không có gì lầm lẫn thì tập hợp các đặc tính này gọi chung là đặc tính của
đối tượng.
Lập trình hướng đối tượng là một phương pháp lập trình có các tính chất
chính sau:

• Tính trừu tượng (abstraction): Đây là khả năng của chương trình bỏ qua
hay không chú ý đến một số khía cạnh của thông tin mà nó đang trực tiếp làm
việc lên, nghĩa là nó có khả năng tập trung vào những cốt lõi cần thiết. Mỗi đối
tượng phục vụ như là một "động tử" có thể hoàn tất các công việc một cách nội
bộ, báo cáo, thay đổi trạng thái của nó và liên lạc với các đối tượng khác mà
không cần cho biết làm cách nào đối tượng tiến hành được các thao tác. Tính
chất này thường được gọi là sự trừu tượng của dữ liệu.
• Tính đóng gói (Encapsulation) và che giấu thông tin (Information
hiding): Tính chất này không cho phép người sử dụng các đối tượng thay đổi
trạng thái nội tại của một đối tượng. Chỉ có các phương thức nội tại của đối
6
tượng cho phép thay đổi trạng thái của nó. Việc cho phép môi trường bên ngoài
tác động lên các dữ liệu nội tại của một đối tượng theo cách nào là hoàn toàn
tùy thuộc vào người viết mã. Đây là tính chất đảm bảo sự toàn vẹn của đối
tượng.
• Tính đa hình (Polymorphism): Thể hiện thông qua việc gửi các thông
điệp (Message). Việc gửi các thông điệp này có thể so sánh như việc gọi các
hàm bên trong của một đối tượng. Các phương thức dùng trả lời cho một thông
điệp sẽ tùy theo đối tượng mà thông điệp đó được gửi tới sẽ có phản ứng khác
nhau. Người lập trình có thể định nghĩa một đặc tính (chẳng hạn thông qua tên
của các phương thức) cho một loạt các đối tượng gần nhau nhưng khi thi hành
thì dùng cùng một tên gọi mà sự thi hành của mỗi đối tượng sẽ tự động xảy ra
tương ứng theo đặc tính của từng đối tượng mà không bị nhầm lẫn.
• Tính kế thừa (Inheritance): Đặc tính này cho phép một đối tượng có thể
có sẵn các đặc tính mà đối tượng khác đã có thông qua kế thừa. Điều này cho
phép các đối tượng chia sẻ hay mở rộng các đặc tính sẵn có mà không phải tiến
hành định nghĩa lại. Tuy nhiên, không phải ngôn ngữ định hướng đối tượng
nào cũng có tính chất này.
1.2. Tìm hiểu về MYSQL
1.2.1. Giới thiệu về MySQL

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến trên thế giới
và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng,
được phát triển, phân phối và hỗ trợ bởi 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ười dù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ặc dạng Command line
7
1.2.2. Đặc điểm của MYSQL
MySQL cũng giống như các hệ quản trị CSDL: Access, SQL Server,
PostgreSQL, Oracle, phần mềm mã nguồn mở do đó có thể tải miễn phí từ
trang chủ.Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản
Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix,
Solaris…
MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả
chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm
tiện ích rất mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các
ứng dụng có truy cập CSDL trên internet. MySQL server hoạt động trong các
hệ thống nhúng hoặc client/server.
1.2.3. Tại sao sử dụng MYSQL
• Tính linh hoạt: linh hoạt về flatform là một đặc tính lớn của MySQL với
tất cả các phiên bản của Linux, Unix, và Windows được hỗ trợ. Tính chất mã
nguồn mở của MySQL cho phép sự tùy biến các yêu cầu thích hợp cho
database server.
• Tổng chi phí thấp nhất: MySQL miễn phí hoàn toàn cho nên bạn có thể
tải về MySQL từ trang chủ
• Nơi lưu trữ Web và Data đáng tin cậy,tính bảo mật cao.
• Dễ dàng quản lý.
• Sự phát triển ứng dụng hỗn hợp: Một trong số các lý do khiến cho
MySQL là cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới là nó cung cấp hỗ

trợ hỗn hợp cho bất kì sự phát triển ứng dụng nào cần.
1.2.4. Kết hợp PHP và MYSQL trong ứng dụng website
1. Kết nối cơ sở dữ liệu:
mysql_connect("hostname","user","pass");
8
2. Lựa chọn cơ sở dữ liệu:
mysql_select_db("ten_CSDL");
3. Thực thi câu lệnh truy vấn:
mysql_query("Câu truy vấn ở đây");
4. Lấy dữ liệu từ bảng đưa vào mảng:
mysql_fetch_array();
5. Đóng kết nối cơ sở dữ liệu:
mysql_close();
1.3. Cài đặt PHP, Apache, MYSQL
Để cài đặt PHP&MYSQL, Chúng ta có thể cài đặt từng gói riêng lẻ :
+ PHP
+ Apache : môi trường để chạy website ứng dụng PHP
+ Mysql
Tuy nhiên, hiện nay có rất nhiều gói tích hợp rất tiện lợi: Xampp, Wamp,
Appsrv… Gói phần mềm mà tôi chọn là: appserv-win32-2.5.10 (Tên phần mềm là
Appserv, dành cho phiên bản window, phiên 2.5.10) . Sau khi cài đặt thành công
bạn gõ vào trình duyệt : http://localhost trình duyệt sẽ hiện thị như sau:
9
Hình 1.1 Cài đặt PHP, Apache, MYSQL
CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG
WEBSITE NGHE NHẠC TRỰC TUYẾN
2.1. Giới thiệu đề tài
2.1.1. Giới thiệu Website nghe nhạc trực truyến
Website nghe nhạc trực tuyế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. Website cung cấp cho người dùng kho nhạc

khổng lồ, với tất cả các thể loại nhạc. Người nghe nhạc được thỏa sức tìm kiếm
với các tùy chọn: bài hát, album, ca sĩ, tác giả, Website cập nhật tất cả những
bài hát, album mới nhất nhằm đáp ứng nhu cầu giải trí về lĩnh vực âm nhạc.
2.1.2. Mục tiêu và yêu cầ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ẽ âm nhạc.
+ Xây dựng chức năng đăng ký, đăng nhập.
+ Xây dựng chức năng upload nhạc: từ máy tính cá nhân hoặc link nhạc.
+ Thiết kế giao diện đơn giản, dễ nhìn, thân thiện, mang lại cảm giác
thoải mái cho người sử dụng
10
+ Xây dựng chức năng cập nhật bài hát, album, nhạc sĩ, ca sĩ,
2.2. Phân tích thiết kế hệ thống
2.2.1. Biểu đồ phân cấp chức năng (BFD)
• BFD là việc phân rã có thứ bậc đơn giản các chức năng của hệ thống
trong miền khảo cứu thành các chức năng nhỏ hơn, cuối cùng thu được một cây
chức năng.
• Mục tiêu:
+ Nhằm xác định phạm vi hệ thống cần phân tích
+ Tiếp cận hệ thống, chức năng được làm sáng tỏ để sửa dụng cho các
mô hình khác.
+ Làm sáng tỏ công việc và trách nhiệm của từng bộ phận trong hệ
thống, qua đó có thể loại bỏ chức năng trùng lặp, dư thừa.
0.Quản Lý Website Nghe Nhạc
1.Quản Lý Hệ
Thống
2. Quản Lý Hoạt Động Sử Dụng
1.1 Quản Lý Bài Hát
1.2 Quản Lý Ca Sĩ
1.3 Quản Lý Album


1.4 Quản Lý Thể
loại
1.5 Quản Lý Quốc
Gia
2.1 Quản Lý Thành
Viên
2.2 Quản Lý Tìm
Kiếm
2.3 Quản Lý Nghe
Nhạc
2.2.1 TK Theo Ca

2.2.2 TK Theo
Bài Hát
2.2.3 TK Theo
Album
2.2.4 TK Theo
Nhạc sĩ
2.1.1 Quản Lý
Thông Tin
2.1.2Quản lý upload
1.7 Quản Lý Phân
quyền
1.6 Cập nhật thành
viên
2.3.1 Nghe theo
bài hát
2.3.2 Nghe theo
Album
11

Hình 2.1 Biểu đồ phân cấp chức năng
Giải thích chức năng:
Quản lý phân quyền: Hạn chế tối đa sự truy cập tràn lan tránh mất mát
thông tin bảo mật. Chia hệ thống thành 2 cấp bậc quản lý :
+ Người sử dụng: sử dụng giao diên, chức năng cho phép.
+ Người quản trị website: toàn quyền sử dụng website.
2.2.2. Biểu đồ luồng dữ liệu
• DFD diễn tả tập hợp các chức năng của hệ thống và mối quan hệ chuyển
giao thông tin giữa các chức năng .
• DFD là công cụ cơ bản trong tất cả các giai đoạn phân tích, thiết kế, trao
đổi và lưu trữ dữ liệu.
• Mục đích :
+ Xác định yêu cầu của người sử dụng
+ Lập kế hoạch và minh họa các phương án cho nhà phân tích và người sử
dụng xem xét.
+ Là công cụ trao đổi giữa các nhà phân tích và người sử dụng
12
+ làm tài liệu đặc tả yêu cầu hình thức và đặc tả thiết kế hệ thống.
13
Ký hiệu dùng trong biểu đồ luồng dữ liệu :

Chức năng
Luồng dữ liệu

Tên kho dữ liệu Kho dữ liệu
Tác nhân ngoài
a. Biểu đồ luồng dữ liệu mức khung cảnh


xác nhận

Yêu cầu quản lý Đăng nhập
Trả lời thông tin Xác nhận
Hình 2.2 Biểu đồ luồng dữ liệu mức khung cảnh
Tên chức năng
Tên tác nhân ngoài
Khách
Quản Lý
Website Nghe
Nhạc
Người quản trị
Thành viên
14
b. Biểu đồ luồng dữ liệu mức đỉnh
15
16
Hình 2.3 Biểu đồ luồng dữ liệu mức đỉnh
c. Biểu đồ luồng dữ liệu mức dưới đỉnh
 Biểu đồ luồng mức dưới đỉnh chức năng quản lý hệ thống
17
18
Hình 2.4 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý hệ thống
 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý thành viên
19
Hình 2.5 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý thành viên
 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý tìm kiếm
20
Hình 2.6 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý tìm kiếm
 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng Quản lý nghe nhạc
21


Hình 2.7 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý nghe nhạc
2.3. Chi tiết các bảng dữ liệu
2.3.1. Bảng Album (album)
Hình 2.8 Bảng Album (album)
2.3.2. Bảng Bài hát (bai_hat)
22
Hình 2.9 Bảng Bài hát (bai_hat)
2.3.3. Bảng ca sĩ (ca_si)
Hình 2.10 Bảng ca sĩ (ca_si)
2.3.4. Bảng Thể loại (the_loai)
23
Hình 2.11 Bảng Thể loại (the_loai)
2.3.5 . Bảng người dùng (nguoi_dung)
Hình 2.12 Bảng người dùng (nguoi_dung)
2.3.6. Bảng quốc gia (quoc_gia)
Hình 2.13 Bảng quốc gia (quoc_gia)
2.3.7 . Bảng nhạc sĩ (nhac_si)
24
Hình 2.14 Bảng nhạc sĩ (nhac_si)
25

×