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
Trang 1LỜ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ệutrong 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ô
Trang 2Mụ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 5
1.1.3 Cú pháp PHP 6
1.1.4 Các kiểu dữ liệu PHP 6
1.1.5 Biến trong PHP 7
1.1.6 Lập trình hướng đối tượng (OOP) 7
1.2 Tìm hiểu về MYSQL 9
1.2.1 Giới thiệu về MySQL 9
1.2.2 Đặc điểm của MYSQL 9
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 10
1.3 TỔNG QUAN MÔ HÌNH MVC 11
1.3.1 MVC là gì ? 11
1.3.2 Lịch sử MVC 11
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Í 16
2.1 Các Actor Hệ Thống 16
2.2 Chức năng của các Actor 17
2.2.1 Người dùng 17
2.2.2 Thành viên 17
2.2.3 Người quản trị - Admin 18
2.3 Xác định các Use case 18
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
Trang 32.5 Thiết kế cơ sở dữ liệu 47
CHƯƠNG 3 XÂY DỰNG WEBSITE GIẢI TRÍ 51
3.1 Giao diện trang đăng nhập website 51
3.2 Giao diện trang chủ website 51
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 52
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
Trang 4Danh mục hình ảnh
Danh mục hình ảnh 3
Hình 2.1 Biểu đồ UseCase public( UseCase diagram public)……… 21
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
Trang 5Hì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
Hình 3.2 Giao diện trang chủ website……… 51
Hình 3.3 Giao diện trang chơi nhạc của website……… 52
Hình 3.4 Giao diện trang chơi video của website……… 52
Hình 3.5 Giao diện trang xem ảnh của website……… 53
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 ……… 56
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……… 57
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
Hình 3.16 Giao diện quản lý hình ảnh………59
Trang 6CHƯƠ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ẩmtươ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ônngữ 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ởinhiề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)
Trang 7Mã 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ốngCSDL 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
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
Trang 8+ 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ưngphả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ố haydấ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 ý địnhcủ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)
như là tương tác với các đối tượng vật lý
Trang 9b 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ênmộ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 đốitượ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áchà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 đốitượ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 đốitượng) Các phương thức là phương tiện để sử dụng một đối tượng trong khi cácthuộ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 đốitượ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 địnhnghĩ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ếukhô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 đốitượ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ấtchính sau:
Tính trừu tượng (abstraction): Đây là khả năng của chương trình bỏ qua haykhô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ếtlà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
Trang 10 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ộitạ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ệunộ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êntrong 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ùytheo đối tượng mà thông điệp đó được gửi tới sẽ có phản ứng khác nhau Người lậptrì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ủatừ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 địnhnghĩ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ínhchấ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, đượcphá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ườ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ữ
Trang 11liệ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ọahoặ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ừ trangchủ.Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 chocá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 ứngdụng có truy cập CSDL trên internet MySQL server hoạt động trong các hệ thốngnhú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ợpcho 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
Trang 121 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:
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ệcbảo
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ìnhhướng đối tượng (Object Oriented Programming) cho phép lập trình viên làm việcvới những thành phần đồ họa như những đối tượng đồ họa có thuộc tính và phươngthức riêng của nó Không dừng lại ở đó, những nhà nghiên cứu ở Xerox PARC còn
Trang 13đ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êncứ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ềntả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++)
+ Front Controller Là một controller xử lý tất cả các yêu cầu người dùng chowebsite
Fron Controller có nhiệm vụ hợp nhất tất cả các xử lý yêu cầu vào mộtkê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
Trang 14Tù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ựchiệ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ịchvụ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
Trang 15nghiệ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ànhcá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ệuthành các dạng khác nhau theo yêu cầu Trong các tình huống đơn giản,Model chỉ làm vài thao tác đơn giản như lấydữ liệu từ database Trong cáctì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 ratrê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 thaotá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ácController
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
Trang 16mộ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
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 sạng dữ liệu trung gian để có thể hiển thị với cấu trúc template đang có , kiểm tratrạ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ảnthâ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áchnhiệm chuyển đổi dữ liệu hay trạng thái của Model thành cấu trúc trực quan Dovậ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 haithà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ànggiữ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 đổicủ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
Trang 17bà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ệ sinhtrangkhông gây ảnh hưởng đến ứng dụng Điều này khá quan trọng trong việc tíchhợ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ậykhi 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ànhcá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ưngcủ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ậptrì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ịutrách nhiệm tạo ra "cảm quan" cho ứng dụng Họ cần có kinh nghiệm làmviệc với HTML,CSS, JavaScript và Graphic Design
Hợp nhất (intergration):phần này tồn tại trong lớp Controller Mục đíchchí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
Trang 18CHƯƠ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 đăngnhậ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ằmquả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
Trang 192.2.3 Người quản trị - Adim
Trang 20o Xem danh sách thành viên
o Sửa thông tin thành viên
- 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 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
Trang 21Hình 2.1 Biểu đồ UseCase tổng quát
Trang 22Hì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
Trang 23Biểu đồ trình tự
Hình 2.3 Biểu đồ trình tự thành viên xem video
Trang 28Biểu đồ trình tự
Hình 2.9 Biểu đồ trình tự thành viên tìm kiếm
Trang 29Biểu đồ cộng tác
Hình 2.10 Biểu đồ cộng tác thành viên tìm kiếm
Thêm ảnh
- Mục Đích : Mô tả cách thức thêm ảnh
- Tác Nhân : Thành Viên, Admin
Mô tả chung : Tác nhân chọn thêm ảnh , nhập thông tin Hệ thống sẽ tiến hành lưu thông tin ảnh
Trang 30Biểu đồ trình tự
Hình 2.11 Biểu đồ trình tự thêm ảnh
Biểu đồ cộng tác
Hình 2.12 Biểu đồ cộng tác thêm ảnh
Trang 31 Xóa ảnh
- Mục Đích : Mô tả cách thức xóa ảnh
- Tác Nhân : Thành Viên, Admin
Mô tả chung : Tác nhân chọn ảnh cần xóa Hệ thống sẽ tiến hành xóa ảnh.Biểu đồ trình tự
Hình 2.13 Biểu đồ trình tự xóa ảnh