Âm nhạc là một trong những lĩnh vực giải trí rất quan trọng. Theo sốliệu từHiệp
hội Công nghiệp Ghi âm Quốc tế(IFPI), doanh thu từviệc kinh doanh nhạc sốhợp
pháp trong sáu tháng đầu năm 2006 là 945 triệu USD, tăng 106% so với cùng kỳnăm
trước.
Trong vài năm trởlại đây, sựphát triển của CNTT nói chung và mạng Internet
nói riêng, đã mang lại sức sống mới cho nhạc số. Ngày nay việc giải trí, nghe nhạc
trực tuyến trên mạng Internet đã không còn là điều xa lạ đối với mỗi chúng ta. Hơn
nữa, Internet đã mang lại những ưu thế đáng kểtrong việc “phát hành”, “chia sẻ” . so
với các phương tiện thông tin khác. Hiện nay ởViệt Nam cũng nhưtrên thếgiới đã có
rất nhiều các website cho phép nghe nhạc, xem video trực tuyến. Trong khuôn khổ
luận văn này, chúng tôi đềcập đến một hệthống nghe nhạc, xem video clip trực tuyến
được xây dựng trên nền Joomla.
Vềphía người sửdụng thì hệthống này không khác gì so với một hệthống
website nghe nhạc thông thường. Nhưng với người phát triển, việc xây dựng hệthống
trên nền Joomla thuận tiện hơn rất nhiều so với việc xây dựng lại từ đầu 1 hệthống
nghe nhạc. Hệthống cung cấp nhạc này sẽbao gồm các chức năng cơbản nhưquản lý
nội dung vềbài hát, ca sỹ, nhạc sỹ, album.vv và tím kiếm cơbản.
Ởphiên bản tiếp theo, chúng tôi dự định sẽ đưa thêm và hệthống một chức năng
mới, đó là tìm kiếm bài hát theo một giai điệu hoặc tiết tấu có sẵn. Giai điệu này có thể
là một File dạng MIDI, hay một đoạn nhạc của bài hát, hoặc thậm chí là một đoạn
tiếng huýt sáo do người sửdụng trực tiếp ghi lại thông qua Micro.
Đểphát triển tính năng này, chúng ta cần có một module xửlý các bài hát được
tải lên và trích ra đoạn nhạc mẫu của bài hát đó. Sau đó lưu đoạn nhạc mẫu vào ngay
cơsởdữliệu của bài hát đó. Một module đểphân tích và so sánh các đoạn nhạc mẫu
với đoạn nhạc cần tìm kiếm. Cuối cùng là một module xửlý đoạn nhạc yêu cầu tìm
kiếm: đoạn nhạc này có thểlà một Filenhạc MIDI (từcác chương trình mô phỏng đàn
Piano [14] ) một đoạn âm thanh do người dùng tựthu âm, hay là cảmột bài hát.
49 trang |
Chia sẻ: ngtr9097 | Lượt xem: 2388 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Khóa luận Xây dựng hệ thống cung cấp dịch vụ nghe nhạc / xem video trực tuyến, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Vũ Thanh Tùng
XÂY DỰNG HỆ THỐNG CUNG CẤP DỊCH VỤ
NGHE NHẠC / XEM VIDEO TRỰC TUYẾN
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2007
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Vũ Thanh Tùng
XÂY DỰNG HỆ THỐNG CUNG CẤP DỊCH VỤ
NGHE NHẠC / XEM VIDEO TRỰC TUYẾN
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: TS. Nguyễn Hải Châu
HÀ NỘI - 2007
TÓM TẮT KHOÁ LUẬN
Ngành giải trí âm nhạc ngày nay không còn đơn thuần là biểu diễn nghệ thuật mà
nó đã trở thành một ngành công nghiệp với lợi nhuận khổng lồ. Trong xu hướng phát
triển của công nghệ thông tin, ngành âm nhạc đã có một bước chuyển mình mạnh mẽ,
rất nhiều các website cung cấp nhạc trực tuyến ra đời. Nó mở ra một hướng đi mới
trong việc xuất bản âm nhạc. Theo thống kê của BigChampagne, tính đến năm 2004
đã có khoảng 60.900 website nhạc trực tuyến trên toàn thế giới.
Nhờ có Internet, âm nhạc đi đến với khán giả theo một con đường mới, nhanh
chóng và hiệu quả. Hiện nay ở Việt Nam cũng đã có rất nhiều các website cho phép
nghe nhạc, xem video trực tuyến. Trong khuôn khổ luận văn này, chúng tôi đề cập đến
việc xây dựng một hệ thống cung cấp dịch vụ nghe nhạc, xem video trực tuyến, và hệ
thống này được xây dựng trên nền hệ quản trị nội dung Joomla.
Về phía người sử dụng thì hệ thống này không khác gì so với một hệ thống
website nghe nhạc thông thường. Nhưng với người phát triển, việc xây dựng hệ thống
trên nền Joomla thuận tiện hơn rất nhiều so với việc xây dựng lại từ đầu một hệ thống
nghe nhạc.
Hệ thống này sẽ có những chức năng cơ bản như hiển thị và chơi nhạc, chức
năng tìm kiếm theo dạng text. Về phía người quản trị sẽ có những chức năng chính
như: quản lý nội dung, bài hát, album, nhạc sỹ, ca sỹ. Cho phép tải ảnh, bài hát lên
máy chủ. Do thời gian có hạn nên hệ thống mà chúng tôi xây dựng mới dừng lại ở đây.
Trong tương lai, hệ thống sẽ cung cấp thêm cho người dùng chức năng tìm kiếm bài
hát theo giai điệu hoặc tiết tấu [11]. Đây là một tính năng tương đối tốt mà đa số các
website cung cấp nhạc số ở Việt Nam chưa làm được.
LỜI CẢM ƠN
Lời đầu tiên, em xin cảm ơn sự hướng dẫn, chỉ bảo tận tình của thầy giáo, TS.
Nguyễn Hải Châu. Trong suốt thời gian qua, nhờ có sự quan tâm của thầy, nhờ có
những tài liệu quý giá cũng như những lời động viên, khích lệ tinh thần của thầy, em
đã hoàn thành tốt khoá luận của mình.
Em cũng xin bày tỏ lời cảm ơn sâu sắc đến các thầy giáo, cô giáo đã giảng dạy
em trong suốt những năm học Đại Học. Những kiến thức nền tảng quý báu đó sẽ là
hành trang giúp cho em vững bước trong tương lai.
Cuối cùng, em xin gửi lời cảm ơn đến bạn bè, các anh chị đã giúp đỡ em rất
nhiều tài liệu quan trọng trong thời gian làm khoá luận, và lời cảm ơn sâu sắc đến
những người thân trong gia đình em, những người luôn quan tâm động viên khích lệ
em trong học tập cũng như trong cuộc sống.
Sinh viên thực hiện khoá luận
Vũ Thanh Tùng
MỤC LỤC
BẢNG CHÚ GIẢI THUẬT NGỮ ..................................................................................1
MỞ ĐẦU .........................................................................................................................2
Chương 1. GIỚI THIỆU VỀ JOOMLA ..........................................................................3
1.1 Giới thiệu chung: ...................................................................................................3
1.1.1 Hệ thống quản trị nội dung (CMS).................................................................3
1.1.2 Các ứng dụng chính của Joomla.....................................................................3
1.2 Các thành phần chính của Joomla .........................................................................6
1.2.1 Template .........................................................................................................6
1.2.2 Components ....................................................................................................8
1.2.3 Modules ..........................................................................................................8
1.2.4 Mambots .........................................................................................................8
CHƯƠNG 2. GIỚI THIỆU PHP & MYSQL..................................................................9
2.1 PHP........................................................................................................................9
2.1.1 Lịch sử phát triển của PHP.............................................................................9
2.1.2 Cộng đồng sử dụng và phát triển PHP tại Việt Nam....................................12
2.1.3 Cấu trúc cơ bản của mã PHP........................................................................12
2.2 MySQL ................................................................................................................14
2.2.1 Lịch sử phát triển..........................................................................................14
2.2.2 Một số từ khóa thông dụng trong SQL:........................................................16
a. Lấy dữ liệu:....................................................................................................16
b. Sửa đổi dữ liệu :.............................................................................................16
c. Giao dịch dữ liệu: ..........................................................................................17
CHƯƠNG 3. XÂY DỰNG HỆ THỐNG......................................................................18
3.1 Mô tả bài toán......................................................................................................18
3.2 Mô hình nghiệp vụ...............................................................................................18
3.2.1 Bảng phân tích xác định chức năng, tác nhân và hồ sơ................................18
3.2.2 Biểu đồ ngữ cảnh hệ thống...........................................................................19
3.2.3 Biểu đồ phân rã chức năng ...........................................................................20
3.2.4 Mô hình các chức năng cụ thể ......................................................................20
3.2.5 Lập ma trận thực thể chức năng ...................................................................21
3.3 Phân tích – Mô hình khái niệm logic ..................................................................22
3.3.1 Biểu đồ luồng dữ liệu mức 0 ........................................................................22
3.3.2 Biểu đồ luồng dữ liệu mức 1 ........................................................................23
3.3.3 Mô hình khái niệm dữ liệu: mô hình E-R ....................................................24
a. Xây dựng được các thực thể ..........................................................................24
b. Xác định mối quan hệ và thuộc tính..............................................................24
c. Vẽ biểu đồ rút gọn .........................................................................................25
3.4 Thiết kế mô hình logic.........................................................................................26
3.4.1. Chuyển mô hình ER sang mô hình quan hệ ................................................26
a. Biểu diễn các thực thể: ..................................................................................26
b. Biểu diễn các mối quan hệ.............................................................................26
c. Chuẩn hóa: .....................................................................................................26
d. Biểu đồ quan hệ của mô hình dữ liệu............................................................27
3.4.2. Thiết kế cơ sở dữ liệu vật lý ........................................................................27
3.4.2. Thiết kế cơ sở dữ liệu vật lý ........................................................................28
a. Bảng: BÀI HÁT.............................................................................................28
b. Bảng: ALBUM ..............................................................................................29
c. Bảng: CA SỸ .................................................................................................29
d. Bảng: NHẠC SỸ ...........................................................................................30
e. Bảng: BÀI HÁT_ALBUM ...........................................................................30
f. Bảng: BÀI HÁT_CA SỸ ...............................................................................30
CHƯƠNG 4: ỨNG DỤNG THỰC TIỄN.....................................................................31
4.1. Mô tả môi trường xây dựng và thử nghiệm ứng dụng .......................................31
4.1.1 Mô tả môi trường xây dựng ứng dụng: ........................................................31
4.1.2 Các ứng dụng xây dựng thử nghiệm: ...........................................................31
4.2 Giao diện của website..........................................................................................32
4.3. Đánh giá về hệ thống..........................................................................................41
4.3.1 Ưu điểm ........................................................................................................41
4.3.2 Nhược điểm ..................................................................................................41
4.4 Hướng phát triển trong tương lai.........................................................................41
TÀI LIỆU THAM KHẢO .............................................................................................43
BẢNG CHÚ GIẢI THUẬT NGỮ
Chữ viết tắt /
Ký hiệu
Tên tiếng anh Giải nghĩa
CSDL Cơ sở dữ liệu
Website Trang web
MySQL Hệ thống quản lý Cơ sở dữ liệu
quan hệ, sử dụng Ngôn ngữ
truy vấn có cấu trúc
File Tập tin (dữ liệu được lưu trữ
trên đĩa cứng)
HTML Ngôn ngữ đánh dấu siêu văn
bản
PHP Ngôn ngữ lập trình web PHP
Javascript Một dạng mã kịch bản
Framework Môi trường làm việc
CSS Cascading Style Sheets
CMS Content Management System
(Hệ quản trị nội dung)
Template Khuôn mẫu (thường dùng cho
một trang web)
Components Thành phần của Joomla
Modules Thành Phần của Joomla
Mambots Thành Phần của Joomla
Engine Một phương tiện, dụng cụ
Chương 4: Ứng dụng thực tiễn
MỞ ĐẦU
Âm nhạc là một trong những lĩnh vực giải trí rất quan trọng. Theo số liệu từ Hiệp
hội Công nghiệp Ghi âm Quốc tế (IFPI), doanh thu từ việc kinh doanh nhạc số hợp
pháp trong sáu tháng đầu năm 2006 là 945 triệu USD, tăng 106% so với cùng kỳ năm
trước.
Trong vài năm trở lại đây, sự phát triển của CNTT nói chung và mạng Internet
nói riêng, đã mang lại sức sống mới cho nhạc số. Ngày nay việc giải trí, nghe nhạc
trực tuyến trên mạng Internet đã không còn là điều xa lạ đối với mỗi chúng ta. Hơn
nữa, Internet đã mang lại những ưu thế đáng kể trong việc “phát hành”, “chia sẻ” ... so
với các phương tiện thông tin khác. Hiện nay ở Việt Nam cũng như trên thế giới đã có
rất nhiều các website cho phép nghe nhạc, xem video trực tuyến. Trong khuôn khổ
luận văn này, chúng tôi đề cập đến một hệ thống nghe nhạc, xem video clip trực tuyến
được xây dựng trên nền Joomla.
Về phía người sử dụng thì hệ thống này không khác gì so với một hệ thống
website nghe nhạc thông thường. Nhưng với người phát triển, việc xây dựng hệ thống
trên nền Joomla thuận tiện hơn rất nhiều so với việc xây dựng lại từ đầu 1 hệ thống
nghe nhạc. Hệ thống cung cấp nhạc này sẽ bao gồm các chức năng cơ bản như quản lý
nội dung về bài hát, ca sỹ, nhạc sỹ, album...vv và tím kiếm cơ bản.
Ở phiên bản tiếp theo, chúng tôi dự định sẽ đưa thêm và hệ thống một chức năng
mới, đó là tìm kiếm bài hát theo một giai điệu hoặc tiết tấu có sẵn. Giai điệu này có thể
là một File dạng MIDI, hay một đoạn nhạc của bài hát, hoặc thậm chí là một đoạn
tiếng huýt sáo do người sử dụng trực tiếp ghi lại thông qua Micro.
Để phát triển tính năng này, chúng ta cần có một module xử lý các bài hát được
tải lên và trích ra đoạn nhạc mẫu của bài hát đó. Sau đó lưu đoạn nhạc mẫu vào ngay
cơ sở dữ liệu của bài hát đó. Một module để phân tích và so sánh các đoạn nhạc mẫu
với đoạn nhạc cần tìm kiếm. Cuối cùng là một module xử lý đoạn nhạc yêu cầu tìm
kiếm: đoạn nhạc này có thể là một File nhạc MIDI (từ các chương trình mô phỏng đàn
Piano [14] ) một đoạn âm thanh do người dùng tự thu âm, hay là cả một bài hát.
Chương 1: Giới thiệu Joomla
Chương 1. GIỚI THIỆU VỀ JOOMLA
1.1 Giới thiệu chung:
1.1.1 Hệ thống quản trị nội dung (CMS)
CMS viết tắt của từ Content Management System (tạm dịch là Hệ thống quản
trị nội dung), là một hệ thống phần mềm máy tính để thiết lập, tổ chức, tạo thuận tiện
cho việc xây dựng các tài liệu hay các nội dung khác. Thông thường, CMS là một ứng
dụng web sử dụng để quản lý các website và nội dung web.
1.1.2 Các ứng dụng chính của Joomla
Joomla là một hệ thống quản trị nội dung CMS, trợ giúp rất tốt cho việc xây
dựng một websites và những ứng dụng trực tuyến khác. Ở thời điểm hiện nay, Joomla
là một trong những hệ thống quản trị nội dung CMS khá thành công. Với việc đạt
được cột mốc 100 ngàn thành viên đăng ký tại diễn đàn
Joomla trở thành CMS mã nguồn mở có số lượng thành viên rất đông đảo. Đồng thời
việc trao đổi, giúp đỡ lẫn nhau giữa các thành viên trong cộng đồng trở nên thuận tiện
và nhanh chóng hơn. Và hơn hết, Joomla là một giải pháp mã nguồn mở, nó miễn phí
cho tất cả mọi người.
Hệ thống Joomla có khả năng quản trị nội dung tương đối đa dạng, vì thế khi một
người phát triển muốn xây dựng một ứng dụng bất kỳ, thì có thể dựa trên rất nhiều thứ
có sẵn mà Joomla cung cấp. Không những cung cấp đầy đủ các công cụ quản lý nội
dung, Joomla còn rất dễ dàng mở rộng thêm thông qua việc cài đặt các module,
component, template ....
Hiện nay Joomla được sử dụng trên toàn thế giới để cung cấp mọi thứ, từ đơn
giản như các trang web cá nhân, tới những ứng dụng web phức tạp. Dưới đây là một
vài ứng dụng mà Joomla thường được sử dụng để xây dựng:
* Corporate websites or portals : Website của công ty hay cổng giao tiếp
* Online commerce : Thương mại trực tuyến
* Small business websites : Website kinh doanh nhỏ
* Non-profit and organizational websites : Website các tổ chức phi lợi nhuận
* Government applications : Các ứng dụng cho chính phủ
Chương 1: Giới thiệu Joomla
* School and church websites : Website trường học nhà thờ
* Personal or family homepages : Website cá nhân, gia đình
* Community-based portals : Cổng kết nổi cơ bản
* Magazines and newspapers : Website các tạp chí và báo điện tử
... những ví dụ trên cho thấy khả năng của Joomla không hề có giới hạn.
Gói Joomla cơ bản được thiết kế để dễ dàng cài đặt, thậm chí cho những người
không phải là lập trình viên máy tính. Phần lớn người sử dụng không gặp phải trở ngại
nào khi cài đặt và chạy hệ thống Joomla, và có rất nhiều sự hỗ trợ cho những người
mới sử dụng. Joomla có một cộng đồng năng động, đang phát triển với trên 100,000
thành viên, họ là những người sử dụng thông thường hay các nhà lập trình chuyên
nghiệp.
Một hệ thống Joomla được cài đặt và chạy, nó thậm chí đơn giản cho những
người dùng không phải là người phát triển ứng dụng web chuyên nghiệp, đều có thể
thêm hay chỉnh sửa nội dung, cập nhật ảnh, và quản lý những dữ liệu phản hồi... Bất
kỳ ai với những kỹ năng xử lý web cơ bản đều có thể dễ dàng học cách quản lý một
site Joomla.
Joomla làm công việc quản lý nội dung khá tốt, yếu tố này làm cho một site
Joomla trở nên đơn giản hơn rất nhiều trong việc quản lý. Nhưng với nhiều người, sức
mạnh thực sự của Joomla nằm trong Framework ứng dụng, nhờ nó mà hàng nghìn nhà
phát triển chuyên nghiệp trên toàn thế giới có thể tạo ra những add-ons và extensions
tương đối mạnh. Sau đây là một vài ví dụ trong hàng nghìn extension sẵn có dành cho
Joomla:
* Dynamic form builders : Xây dựng form động
* Business or organizational directories : Các danh bạ tổ chức hoặc kinh doanh
* Document management : Quản lý tài liệu
* image and multimedia galleries : Triển lãm ảnh và đa phương tiện
* E-commerce and shopping cart engines: Các máy bán hàng và thương mại điện tử
Chương 1: Giới thiệu Joomla
* Forums and chat software : Phần mềm chat và forum.
* Calendars : Quản lý thời gian biểu
* Blogging software : Phần mềm blog
* Directory services : Dịch vụ danh bạ
* Email newsletters : Thư dưới dạng tin tức mới
* Data collection and reporting tools : Các công cụ báo cáo và tập hợp dữ liệu
* Banner advertising systems : Các hệ thống banner quản cáo
* Subscription services : Các dịch vụ thuê bao
Và rất nhiều các extension khác nữa mà chúng ta có thể tìm thấy tại mục Joomla
Extension tại địa chỉ Nhưng thông thường, tại các công ty lớn
thì yêu cầu của họ xa hơn những gì được cung cấp miễn phí của Joomla, vì thế họ có
thể mua những Extension hướng tới mục đích cụ thể của họ từ các nhà phát triển web
chuyên nghiệp.
Joomla mang đến một Framework ứng dụng với đầy đủ sức mạnh để có thể làm
cho công việc tạo ra các add-on của những nhà phát triển trở nên đơn giản hơn. Những
add-on phức tạp này sử dụng sức mạnh của Joomla, gần như không có giới hạn về mặt
phương tiện.
Sử dụng lõi framework, những nhà phát triển có thể dễ dàng xây dựng:
* Integrated e-commerce systems : Hệ thống tích hợp thương mại điện tử
* Inventory control systems : Hệ thống điều khiển thống kê
* Data reporting tools : Các công cụ báo cáo dữ liệu
* Custom product catalogs : Các catalog sản phẩm
* Complex business directories : Các danh mục kinh doanh phức tạp
* Reservation systems : Hệ thống dành riêng
* Communication tools : Các công cụ kết nối
* Application bridges : Các cầu nối ứng dụng
…
Chương 1: Giới thiệu Joomla
Nếu công ty hay tổ chức thuê một nhà phát triển ứng dụng Joomla thứ ba có sử
dụng Joomla Framework, thì họ đang xây dựng trên một platform mở, nó không rằng
buộc họ với bất kỳ một nhà phát triển hay một quyền sở hữu nào.
Tất cả những thông tin cần thiết về việc phát triển trên Joomla! Framework đều
được công bố rộng rãi trên trang chủ của Joomla, hoặc trong diễn đàn chính thức của
cộng đồng Joomla Và nếu như ai đó có bất kỳ ý tưởng nào để
phát triển Joomla! Framework hay những sản phẩm đã hoàn thiện thì họ đều có thể
phân phát tới cộng đồng Joomla thông qua mạng này.
Điều cuối cùng cần nhắc lại là Joomla miễn phí, mở và sẵn sàng cho tất cả mọi
người theo giấy phép bản quyền GPL (General Public License). Những người tạo ra
Joomla không thể hứa rằng có thể đáp ứng được mọi yêu cầu trên toàn thế giới. Nhưng
với đa số những ứng dụng web, phần mềm của họ là tương đối hoàn hảo cho công
việc. Nhóm phát triển Joomla đang thêm những tính năng mới cho mỗi phiên bản phát
hành về sau này.
1.2 Các thành phần chính của Joomla
Công viêc cài đặt một bản Joomla khá đơn giản. Người sử dụng chỉ cần tải một
bản Joomla từ trang chủ của Joonla về , giải nén ra, copy vào thư mục localhost và
truy cập vào File index trên trình duyệt để bắt đầu quá trình cài đặt.
Sau khi cài đặt xong và chạy thành công Joomla, điều đầu tiên bạn cần quan tâm,
đó chính là thành phần giao diện phía người dùng của website – Templates.
1.2.1 Template
Template và những File liên quan tới nó cung cấp một cái nhìn trực quan cho
website của bạn theo kiểu “look and feel” và được duy trì tách biệt với nội dung
website. Template được lưu trữ trong một cơ sở dữ liệu MySQL
Một bản Joomla điểm hình đã được cài đặt sẽ bao gồm 2 Templates có sẵn, đó là:
madeyourweb và rhuk_solaf