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

Báo cáo thực tập chuyên ngành - Xây dựng website giải trí ứng dụng mô hình MVC

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 MB, 62 trang )

LỜI MỞ ĐẦU
Ngày nay, công nghệ thông tin đã có những bước phát triển mạnh mẽ
theo cả chiều rộng và sâu. Tin học trở thành một phần không thể thiếu trong
cuộc sống văn minh, góp phần đẩy mạnh công cuộc công nghiệp hóa – hiện
đại hóa đất nước.
Sự phát triển của tin học, các công nghệ phần mềm phần cứng, các tài
liệu tham khảo đã đưa chúng ta từng bước tiếp cận với công nghệ thông tin
trong mọi lĩnh vực nhằm đáp ứng nhu cầu của con người. Ứng dụng tin học
trong xây dựng website đã giúp cho công việc thiết kế và quản lý khoa học
hiệu quả hơn và thuận tiện hơn, đặc biệt việc quảng bá hình ảnh, thương hiệu
trong website ngày càng phát triển. Bên cạnh đó nhu cầu về giải trí,thương
mại,… cũng không thể thiếu.
Nắm bắt được những cơ hội cung cấp các sản phẩm giải trí, trong lần
thực tập này em quyết định chọn đề tài “Xây dựng website giải trí ứng dụng
mô hình MVC” , em mong rằng đề tài này sẽ đem lại cho mọi người những
giây phút thoải mái.
Với sự hướng dẫn tận tình của Cô Nguyễn Lan Oanh em đã hoàn thành
đề tài này. Tuy đã cố gắng hết sức tìm hiểu, phân tích thiết kế và cài đặt hệ
thống nhưng chắc rằng không tránh khỏi những thiếu sót. Em rất mong nhận
được sự thông cảm và góp ý của quí Thầy cô. Em xin chân thành cảm ơn!
Qua đây cho phép em bày tỏ lòng biết ơn đến sự dạy dỗ chỉ bảo của các
thầy, cô trong trường. Đặc biệt là Cô Nguyễn Lan Oanh, người đã trực tiếp
hướng dẫn, chỉ bảo và giúp đỡ em trong thời gian thực hiện đề tài thực tập
này, em chân thành cảm ơn sự hướng dẫn tận tình của Cô.
1
Mục Lục
CHƯƠNG 1. TỔNG QUAN VỀ PHP VÀ MYSQL 5
1.1. Tìm hiểu về PHP 5
1.1.1. Giới thiệu về PHP 5
1.1.2. Tại sao phải sử dụng PHP 6
1.1.3. Cú pháp PHP 6


1.1.4. Các kiểu dữ liệu PHP 7
1.1.5. Biến trong PHP 7
1.1.6. Lập trình hướng đối tượng (OOP) 8
1.2. Tìm hiểu về MYSQL 10
1.2.1. Giới thiệu về MySQL 10
1.2.2. Đặc điểm của MYSQL 10
1.2.3. Tại sao sử dụng MYSQL 10
1.2.4. Kết hợp PHP và MYSQL trong ứng dụng website 11
1.3 TỔNG QUAN MÔ HÌNH MVC 11
1.3.1 MVC là gì ? 11
1.3.2 Lịch sử MVC 12
1.3.3 Vai trò của các thành phần M-V-C 12
CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG WEBSITE GIẢI TRÍ 18
2.1 Các Actor Hệ Thống 18
2.2 Chức năng của các Actor 18
2.2.1 Người dùng 18
2.2.2 Thành viên 18
2.2.3 Người quản trị - Adim 19
2.3 Xác định các Use case 19
2.4 Phân tích hệ thống 20
2.4.1 Biểu đồ USE CASE 20
2.4.2 Đặc tả chi tiết cho từng ca sử dụng 22
2.5 Thiết kế cơ sở dữ liệu 48
CHƯƠNG 3 XÂY DỰNG WEBSITE GIẢI TRÍ 51
2
3.1 Giao diện trang đăng nhập website 51
3.2 Giao diện trang chủ website 52
3.3 Giao diện trang chơi nhạc của website 52
3.4 Giao diện trang chơi video của website 53
3.5 Giao diện trang xem ảnh của website 53

3.6 Giao diện bình luận của website 54
3.7 Giao diện trang cá nhân của thành viên 55
3.8 Giao diện phần quản lý video của từng thành viên 55
3.9 Giao diện phần quản lý nhạc của từng thành viên 56
3.10 Giao diện phần quản lý ảnh của từng cá nhân 56
3.11 Giao diện đăng nhập quản trị website 57
3.12 Giao diện quản lý website 57
Danh mục hình ảnh
Danh mục hình ảnh 3
Hình 2.1. Biểu đồ UseCase tổng quát 21
3
Hình 2.2. Biểu đồ Use Case của Admin 22
Hình 2.3. Biểu đồ trình tự thành viên xem video 23
Hình 2.4. Biểu đồ cộng tác thành viên xem video 24
Hình 2.5. Biểu đồ trình tự thành viên nghe nhạc 25
Hình 2.6. Biểu đồ cộng tác thành viên nghe nhạc 25
Hình 2.7. Biểu đồ trình tự thành viên xem ảnh 26
Hình 2.8. Biểu đồ cộng tác thành viên xem ảnh 27
Hình 2.9 Biểu đồ trình tự thành viên tìm kiếm 28
Hình 2.10 Biểu đồ cộng tác thành viên tìm kiếm 29
Hình 2.11 Biểu đồ trình tự thêm ảnh 30
Hình 2.12 Biểu đồ cộng tác thêm ảnh 30
Hình 2.13 Biểu đồ trình tự xóa ảnh 31
Hình 2.14 Biểu đồ cộng tác xóa ảnh 32
Hình 2.15 Biểu đồ trình tự thêm video 33
Hình 2.16 Biểu đồ cộng tác thêm video 34
Hình 2.17 Biểu đồ trình tự xóa video 35
Hình 2.18 Biểu đồ cộng tác xóa video 36
Hình 2.19 Biểu đồ trình tự thêm nhạc 37
Hình 2.20 Biểu đồ cộng tác thêm nhạc 38

Hình 2.21 Biểu đồ trình tự xóa nhạc 39
Hình 2.22 Biểu đồ cộng tác xóa nhạc 39
Hình 2.23 Biểu đồ trình tự thêm user 40
Hình 2.24 Biểu đồ cộng tác thêm user 41
Hình 2.25 Biểu đồ trình tự ban user 42
Hình 2.26 Biểu đồ cộng tác admin ban user 42
Hình 2.27 Biểu đồ trình tự đăng nhập hệ thống 43
Hình 2.28 Biểu đồ cộng tác đăng nhập hệ thống 44
Hình 2.29 Biểu đồ trình tự người dùng đăng ký thành viên 45
Hình 2.30 Biểu đồ cộng tác người dùng đăng ký thành viên 46
Hình 3.1 Giao diện trang đăng nhập website 51
4
Hình 3.2 Giao diện trang chủ website 52
Hình 3.3 Giao diện trang chơi nhạc của website 53
Hình 3.4 Giao diện trang chơi video của website 53
Hình 3.5 Giao diện trang xem ảnh của website 54
Hình 3.6 Giao diện bình luận của website 54
Hình 3.7 Giao diện trang cá nhân của thành viên 55
Hình 3.8 Giao diện phần quản lý video của từng thành viên 55
Hình 3.9 Giao diện phần quản lý nhạc của từng thành viên 56
Hình 3.10 Giao diện phần quản lý ảnh của từng cá nhân 57
Hình 3.11 Giao diện đăng nhập quản trị website 57
Hình 3.12 Giao diện quản lý music 58
Hình 3.13 Giao diện quản lý người dùng 58
Hình 3.14 Giao diện quản lý video 58
Hình 3.15 Giao diện quản lý comment 59
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 62
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
5
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 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>

6
</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.
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.
7
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 (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.
8
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 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.

9
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
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ủ
10
• 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");
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 TỔNG QUAN MÔ HÌNH MVC
1.3.1 MVC là gì ?
MVC là chữ viết tắt của Model-View-Controller, một mẫu kiến trúc
(architectural pattern) được tạo ra nhằm giải quyết các vấn đề phát sinh cũng như
các giải pháp tổ chức mã trong quá trình phát triển phần mềm. Khi sử dụng đúng
cách, mẫu MVC giúp cho người phát triển phần mềm cô lập các nguyên tắc
nghiệp vụ và giao diện người dùng một
cách rõ ràng hơn. Phần mềm phát triển theo mẫu MVC tạo nhiều thuận lợi cho việc
bảo
11
trì vì các nguyên tắc xử lý nghiệp vụ và giao diện ít có liên quan với nhau.
1.3.2 Lịch sử MVC
Bắt đầu vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox PARC ở
Palo Alto. Sự ra đời của giao diện đồ họa (Graphical User Interface) và lập trình
hướng đối tượng (Object Oriented Programming) cho phép lập trình viên làm việc
với những thành phần đồ họa như những đối tượng đồ họa có thuộc tính và phương
thức riêng của nó. Không dừng lại ở đó, những nhà nghiên cứu ở Xerox PARC còn

đi xa hơn khi cho ra đời cái gọi là kiến trúc MVC (viết tắt của Model –View –
Controller).Kiến trúc MVC đã được ứng dụng để xây dựng rất nhiều thư viện đồ
họa khác nhau. Tiêu biểu là bộ thư viện đồ họa
của ngôn ngữ lập trình hướng đối tượng SmallTalk (cũng do Xerox PARC nghiên
cứu và phát triển vào thập niên 70 của thế kỷ 20). Ngày nay, trong nhiều các nền
tảng lập trình chúng ta thấy sự có mặt của mô hình MVC, có thể kể đến:
+ Swing Components của Java
+ Document View Architecture trong Microsoft Visual C++ (VC++)
+ QT4(KDE)
+ Apple’s Cocoa (Core Data)
1.3.3 Vai trò của các thành phần M-V-C
a. C -Controller
Controller là các lớp điều khiển luồng ứng dụng, tiếp nhận yêu cầu người
dùngthông qua HTTP header, sau đó chuyển tiếp nó đến các lớp phụ trách trực
tiếp xử lý yêu cầu.Tùy theo cách thiết kế lớp mà chúng ta thường thấy Controller
gồm:
12
+ Front Controller. Là một controller xử lý tất cả các yêu cầu người dùng cho
website.
Fron Controller có nhiệm vụ hợp nhất tất cả các xử lý yêu cầu vào một
kênh yêu cầu thông qua một đối tượng.
+ Dispatcher: Lớp điều phối hướng các điều khiển đi mức cao hơn
+ Request: xử lý một phần dữ liệu đầu vào ở mức GET, POST
+ Session: xử lý một phần dữ liệu đầu vào ở mức SESSION
Tùy theo dữ liệu đầu vào, Controller sẽ thực hiện các phép lọc (với dịch vụ lấy từ
Model),
các tính toán lựa chọn (Action Mapping) dựa trên kiến trúc và cấu hình nhằm xác
định
thành phần lớp chính sẽ thực hiện yêu cầu của người dùng. Hiểu một cách
đơn giản, Controller là thành phần trung gian giữa View và Model. Nó nhận dữ

liệu nhập vào qua
View, sau đó gọi Model tương ứng rồi lấy kết quả trả về từ Model này. Tiếp theo,
một
View thích hợp sẽ được lựa chọn. Controller sẽ chuyển tiếp dữ liệu vào view để nó
xử lý.
Một số hoạt động thường thấycủa Controller:
• Tạo form, gửi tin nhắn đến form để yêu cầu kiểm tra dữ liệu
• Tạo các dịch vụ liên quan đến nghiệp vụ ứng dụng, yêu cầu các lớp dịch vụ
tương tác với nguồn dữ liệu để trả về hay thay đổi trạng thái dữ liệu:thực
13
hiện các thao tác chuyển đổi dữ liệu, kiểm tra quyền truy cập trên một hoạt
động cụ thể, tương tác với database, tương tác với các web services.
• Tạo đối tượng view, gán các nguồn dữ liệu lấy được từ đối tượng dịch
vụvào cho
view.
b. M -Model
Model là các lớp cung cấp dữ liệu, dịch vụ liên quan đến dữ liệu và các vấn đề xử
lý logic
nghiệp vụ. Model có thể :
• Đánh giá tính hợp lệ của dữ liệu.
• Ví dụ kiểm tra dữ liệu vàocó đúng với nguyên tắccủa hệ thống không
• Chuyển đổi dữ liệu. Ví dụ chuyển đổiđịnh dạng file, chuyển đổi tỉ giá,
chuyển đổi ngôn ngữ…
• Đưa ra quyết định về nghiệp vụ. Ví dụ đưa ra các dữ liệu, lời khuyên tư vấn
đầu tư dựa trên dữ liệu đầu vào của người dùngvà các dữ liệu đang có
• Thực hiện việc xử lý dữ liệu theo một quy trình
Do có hai vai trò tương đối tách biệt cho nên một Model thường được tách thành
các lớp có các vùngxử lý khác biệt:
• Vùng xử lý Logic nghiệp vụ:thường là xử lý rule hay policycủa nghiệp vụ
cũng như quy trình nghiệp vụ.

• Vùng xử lý dữ liệu:Cung cấp/lưu trữ dữ liệu và việc chuyển đổi dữ liệu
thành các dạng khác nhau theo yêu cầu .Trong các tình huống đơn giản,
14
Model chỉ làm vài thao tác đơn giản như lấydữ liệu từ database. Trong các
tình huống phức tạp, việc xử lý có thể là tổ hợp của hàng trăm lớp diễn ra
trênmột hoặc vài máy chủ (server)hoặc thậm chí dữ liệu hay quyết định
được đưa ra từ Model lại là tổng hợp kết quả từmột vài trung tâm dữ
liệunằm rải rác trên vài lục địa. Do vậy trong Model không chỉ có các thao
tác trên database và cócòn là file system, memory, networking I/O
Model hoạt động như là một tầng dịch vụnhằm có thể tái sử dụnggiữa các
Controller.
Khi Controller gọi Model thông qua các giao diện lập trình (API)của Model, nó
cần biết
một số ứng xửchung của Model. Ví dụ:
• Cách Model đó gửi tín hiệuvề quá trình nó xử lý yêu cầu. Có hay không có
lỗi ngoại lệ, kiểu của lỗi ngoại lệ, lỗitrong trường hợp nào.
• Kiểu trả về cần mang tính nhất quán
c. V -View
View là các lớp định nghĩa cách thức trình bày dữ liệu (không cập nhậtdữ liệu).
Trong các web framework, View gồm hai phần chính:
• Template file: định nghĩa cấu trúc và cách thức trình bày dữ liệu cho người
dùng.
Ví dụ như bố cụ, màu sắc, khung nhìn
• Phần Logic:xử lý cách áp dụng dữ liệu vào cấu trúc trình bày. Logic này có
thể
bao gồm việc kiểm tra định dạng dữ liệu, chuyển đổi định dạng dữ liệu sang một
15
sạng dữ liệu trung gian để có thể hiển thị với cấu trúc template đang có , kiểm tra
trạng thái và đặc tính của dữ liệu để lựa chọn một cấu trúc hiện thị phù hợp. Bản
thân View cũng là một tổ hợp của nhiều lớp. Và nó cũng có thể có View con để

giảm tải trênmột số lớp chính và để sử dụng lại mã. Và do vậy tính logic của View
có thể là logic của một cây phân cấp.Trong mô hình truyền thống, View có trách
nhiệm chuyển đổi dữ liệu hay trạng thái của Model thành cấu trúc trực quan. Do
vậy dữ liệu của Model cần được định nghĩa một cách hợp lý. Sự tách biệt của hai
thành phần này sẽ giúp cho người lập trình phân định được một biên giới rõ ràng
giữa cách thức lưu trữ/lấy dữ liệu và cách trình bày dữ liệu.
Do vậy tính phức tạp của quy trình lấy dữ liệu, xử lý dữ liệu cũng như (sự thay đổi
của chúng theo thời gian) trước khi trả về sẽ không làm ảnh hưởng đến việc trình
bày dữ liệu. Rõ ràng sự khác biệt về công nghệ lấy dữ liệu và công nghệ sinh
trangkhông gây ảnh hưởng đến ứng dụng. Điều này khá quan trọng trong việc tích
hợp các ứng dụng. Ngoài ra, cách làm này thực sự đảm bảo việc tách biệt vai trò
của người thiết kế giao diện với vai trò của lập trình viên thiên về dữ liệu. Như vậy
khi làm việc theo nhóm, người quản trị dự áncó thể tổ chức nhóm phát triển thành
các nhóm kĩ năng và phát triển ứng dụng song song với nhau.
Các công nghệ thường được sử dụng ở View là HTML, CSS và JavaScript.
Tóm lại, MVC chia trách nhiệm công việc thành ba phần riêng rẽ:
• Phát triển (development):Các nhà phát triển làm việc với model. Đặc trưng
của phần này là tận dụng một cách triệt để kiến thức, kỹ năng của các lập
trình viên liên quan tới thuật toán xử lý dữ liệu, quản trị cơ sở dữ liệu
• Thiết kế (design):Các nhà thiết kếlàm việc trực tiếp với lớp View, chịu
trách nhiệm tạo ra "cảm quan" cho ứng dụng. Họ cần có kinh nghiệm làm
việc với HTML,CSS, JavaScript và Graphic Design.
16
• Hợp nhất (intergration):phần này tồn tại trong lớp Controller. Mục đích
chính là gắn kết developer và designer với nhau. Người hợp nhất không cần
có nhiều kinh nghiệm làm việc với dữ liệu như lập trình viênnhưng cần nắm
rõ cách tổ chức của một ứng dụng.
17
CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG WEBSITE GIẢI TRÍ
2.1 Các Actor Hệ Thống

Có 3 actor :
• Người dùng : Đăng ký thành viên.
• Thành viên : Là người dùng đã đăng ký trở thành thành viên ,Khi đăng
nhập thành viên có thể nghe nhạc, xem video, xem ảnh, quản lý bài hát,
video , hình ảnh của cá nhân.
• Người Quản Trị (Admin) : Người quản trị đăng nhập vào hệ thống nhằm
quản lý website, có toàn quyền thao tác cơ sở dữ liệu
2.2 Chức năng của các Actor
2.2.1 Người dùng
• Đăng ký thành viên
2.2.2 Thành viên
• Nghe nhạc
• Xem video
• Xem ảnh
• Tìm kiếm
• Quản lý ảnh
• Quản lý video
• Quản lý nhạc
• Quản lý thông tin cá nhân
• Bình luận
• Đăng Nhập
• Đăng Xuất
18
2.2.3 Người quản trị - Adim
• Nghe nhạc
• Xem video
• Xem ảnh
• Tìm kiếm
• Quản lý ảnh
• Quản lý video

• Quản lý nhạc
• Quản lý thành viên
• Quản lý comment
• Bình luận
• Đăng nhập
• Đăng xuất
2.3 Xác định các Use case
• Nghe nhạc
• Xem video
• Xem ảnh
• Tìm kiếm
• Quản lý ảnh
o Thêm Ảnh
o Xóa Ảnh
o Xem danh sách ảnh
• Quản lý video
o Thêm video
o Xóa video
o Xem danh sách video
19
• Quản lý nhạc
o Thêm nhạc
o Xóa nhạc
o Xem danh sách nhạc
• Quản lý thành viên
o Thêm thành viên
o Xóa thành viên
o Cấm thành viên
o Xem danh sách thành viên
o Sửa thông tin thành viên

• Quản lý comment
o Xóa comment
o Xem danh sách comment
• Bình luận
• Đăng nhập
• Đăng ký
• Đăng Xuất
2.4 Phân tích hệ thống
2.4.1 Biểu đồ USE CASE
 Phần tổng quát
Mô tả tình huống sử dụng
- Tác nhân: Người dùng, thành viên
Người dùng có chức năng đăng kí để trở thành thành viên của hệ thống,
Admin và thành viên có chức năng đăng nhập vào hệ thống, Khi đăng
20
nhập sẽ có chức năng nghe nhạc , xem video , xem ảnh, tìm kiếm, quản lý
trang cá nhân.
Hình 2.1. Biểu đồ UseCase tổng quát
 Phần trang quản trị
Mô tả tình huống sử dụng
- Tác nhân : admin
Admin có chức năng đăng nhập hệ thống, quản lý video, quản lý nhạc,
quản lý hình ảnh, quản lý user, quản lý comment của hệ thống
21
Hình 2.2. Biểu đồ Use Case của Admin
2.4.2 Đặc tả chi tiết cho từng ca sử dụng
 Xem Video
- Mục Đích : Mô tả cách thức thành viên xem Video
- Tác Nhân : Thành Viên
- Mô tả chung : Thành viên chọn video cần xem. Hệ thống hiển thị video

thành viên cần xem.

22
Biểu đồ trình tự
Hình 2.3. Biểu đồ trình tự thành viên xem video
23
Biểu đồ cộng tác
Hình 2.4. Biểu đồ cộng tác thành viên xem video
 Nghe nhạc
- Mục Đích : Mô tả cách thức thành viên nghe nhạc
- Tác Nhân : Thành Viên
Mô tả chung : Thành viên chọn bài hát cần xem. Hệ thống sẽ chơi nhạc thành
viên cần nghe
24
Biểu đồ trình tự
Hình 2.5. Biểu đồ trình tự thành viên nghe nhạc
Biểu đồ cộng tác
Hình 2.6. Biểu đồ cộng tác thành viên nghe nhạc
25

×