báo cáo đồ ấn tốt nghiệp nghành công nghệ thông tin.đề tài: PHÂN TÍCH, THIẾT KẾ WEBSITE XEM PHIM SỬ DỤNG MÔ HÌNH MVC.Báo cáo gồm 4 chương: Chương1: Tổng quan, Chương 2: Cơ sở lý thuyết, Chương 3: Phân tích và thiết kế hệ thống, Chương 4: Xây dựng chương trình
TỔNG QUAN
LÝ DO CHỌN ĐỀ TÀI
Ngày nay, công nghệ thông tin là một nền công nghiệp phát triển vô cùng mạnh mẽ Nhu cầu sử dụng những thiết bị thông minh đi kèm với thị trường công nghệ phần mềm trên thế giới nói chung và Việt Nam nói riêng càng ngày càng tăng trưởng mạnh.
Với sự phát triển mạnh mẽ này, chúng ta đang hướng tới việc phát triển những phần mềm đáp ứng nhu cầu ngày càng cao của con người, giúp mọi người có thể thưởng thức những bộ phim hay Nhằm đáp ứng nhu cầu thư giãn và giải trí của con người sau giờ làm việc và bắt kịp xu thế phát triển của nghành công nghiệp sản xuất phim trên thế giới Em áp dụng kiến thức đã học vào thực tế, nên trong đồ án tốt nghiệp em xin được thực hiện đề tài “PHÂN TÍCH, THIẾT KẾ WEBSITE XEM PHIM SỬ DỤNG MÔ
HÌNH MVC VÀ CẤU TRÚC WEBSERVICES” nhằm với mục đích mang lại sự thoải mái, thư giãn của con người.
MỤC TIÊU CỦA ĐỀ TÀI
Xây dựng được website bằng Framework để giúp cho người học có điều kiện học tốt hơn.
Phân tích hệ thống chương trình.
Kiểm chứng những kiến thức đã được học trên giảng đường Đại học, đồng thời trang bị những kiến thức mới, là hành trang chuẩn bị bước vào môi trường doanh nghiệp thực tế và có thêm kinh nghiệm trong cuộc sống.
GIỚI HẠN VÀ PHẠM VI CỦA ĐỀ TÀI
Khảo sát phần mềm cụ thể, phân tích thiết kế hệ thống.
Xây dựng chương trình sử dụng được trên web.
KẾT QUẢ ĐẠT ĐƯỢC
Bản báo cáo đặc tả về phân tích, thiết kế hệ thống. Đối với quản trị viên:
+ Quản lý danh sách phim.
+ Quản lý bình luận + Quản lý thể loại phim Đối với người dùng:
+ Đăng nhập, đăng ký, lấy lại mật khẩu qua email+ Xem trang thông tin cá nhân.
CƠ SỞ LÝ THUYẾT
MÔ HÌNH NVC
MVC là từ viết tắt của 'Model View Controller' Nó đại diện cho các nhà phát triển kiến trúc áp dụng khi xây dựng các ứng dụng Với kiến trúc MVC, chúng ta xem xét cấu trúc ứng dụng liên quan đến cách luồng dữ liệu của ứng dụng của chúng ta hoạt động như thế nào.
2.1.2 Thành phần của mô hình MVC
Mô hình MVC được chia làm 3 lớp xử lý gồm Model – View – Controller:
● Model: là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ quản trị cơ sở dữ liệu (mysql, mssql, v.v); nó sẽ bao gồm các class/function xử lý nhiều nghiệp vụ như kết nối database, truy vấn dữ liệu, thêm – xóa – sửa dữ liệu…
● View: là nơi chứa những giao diện như một nút bấm, khung nhập, menu, hình ảnh, v.v nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương tác với hệ thống.
● Controller: là nơi tiếp nhận những yêu cầu xử lý được gửi từ người dùng, nó sẽ gồm những class/ function xử lý nhiều nghiệp vụ logic giúp lấy đúng dữ liệu thông tin cần thiết nhờ các nghiệp vụ lớp Model cung cấp và hiển thị dữ liệu đó ra cho người dùng nhờ lớp View.
2.1.3 Sự tương tác giữa các thành phần
● Controller tương tác với qua lại với View
● Controller tương tác qua lại với Model
● Model và View không có sự tương tác với nhau mà nó tương tác với nhau thông qua Controller.
Người dùng sử dụng một Browser của trình duyệt web bất kỳ, có thể là Firefox, Chrome hay IE, v.v để gửi yêu cầu Có thể gửi kèm theo những dữ liệu nhập tới các Controller xử lý tương ứng Và yêu cầu xác định Controller xử lý cũng sẽ dựa vào bộ Routing điều hướng.
Khi Controller đã nhận được yêu cầu gửi tới từ phía người dùng, thành phần này sẽ chịu trách nhiệm kiểm tra yêu cầu xem có cần lấy dữ liệu từ Model hay không Nếu cần nó sẽ sử dụng các class/ function cần thiết có trong model và trả ra kết quả Lúc này, Controller sẽ xử lý các giá trị đó, sau đó trả ra View để hiển thị Controller lại làm công việc xác định các view tương ứng để hiển thị theo đúng yêu cầu của người dùng.
Khi đã nhận được dữ liệu từ Controller, View sẽ có trách nhiệm xây dựng các thành phần hiển thị bao gồm: thông tin dữ liệu, hình ảnh, v.v Sau đó trả về GUI Content để Controller đưa ra kết quả trên màn hình Browser Cùng với đó, Browser sẽ nhận giá trị kết quả trả về và hiển thị ra cho người dùng.
PHP VÀ LARAVEL
PHP: Hypertext Preprocessor, thường được viết tắt thành PHP là một 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 Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML.
PHP là một ngôn ngữ lập trình phía Server dùng để xây dựng các ứng dụng
Laravel là một PHP Framework mã nguồn mở miễn phí, được phát triển bởi Taylor Otwell với phiên bản đầu tiên được ra mắt vào tháng 6 năm 2011 Laravel ra đời nhằm mục đích hỗ trợ phát triển các ứng dụng web, dựa trên mô hình MVC (Model – View – Controller)
Mặc dù ra đời muộn hơn so với các đối thủ, tuy nhiên Laravel đã thật sự tạo thành một làn sóng lớn, được đánh giá tốt và sử dụng rộng rãi nhất hiện nay Laravel hiện được phát hành theo giấy phép MIT, với source code được lưu trữ tại Gitthub.
Cấu trúc MVC và lập trình hướng đối tượng OOP vẫn được giữ lại trong
Framework Laravel, giúp cung cấp tài liệu tốt hơn, và tăng hiệu suất hơn Mô hình MVC (Model – View – Controller) gồm có:
- Model: tương tác với database và truy xuất các thông tin từ đối tượng của bạn
- View: để hiển thị các trang
- Controller: xử lý các request của người dùng và truy xuất dữ liệu, bằng cách tận dụng các Model
- Ngoài ra, các route được sử dụng để ánh xạ các URL tới các hành động được chỉ định trong controller.
Những ưu điểm của Framework Laravel:
- Sử dụng các tính năng mới nhất của PHP
- Nguồn tài nguyên vô cùng lớn và sẵn có
- Tích hợp với dịch vụ mail
- Tốc độ xử lý nhanh
Chính vì những ưu điểm đó mà người thực hiện đề tài chọn PHP và Laravel
Framework làm ngôn ngữ để thực hiện đề tài tốt nghiệp
MICROSOFT SQL SERVER
SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System (RDBMS)) sử dụng câu lệnh SQL (Transact-SQL) để trao đổi dữ liệu giữa máy Client và máy cài SQL Server Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS. SQL Server được phát triển và tiếp thị bởi Microsoft.
SQL Server hoạt động độc quyền trên môi trường Windows trong hơn 20 năm. Năm 2016, Microsoft đã cung cấp phiên bản trên Linux SQL Server 2017 ra mắt vào tháng 10 năm 2016 chạy trên cả Windows và Linux, SQL Server 2019 sẽ ra mắt trong năm 2019.
SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very LargeDatabase Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user.SQL Server có thể kết hợp “ăn ý” với các server khác như Microsoft Internet InformationServer (IIS), E-Commerce Server, Proxy Serve, v.v
PHẦN MỀM XAMPP
Là phần mềm web server thuộc bản quyền của GNU General Public Licence, XAMPP do Apache Friends phân phối và phát triển Đây là chương trình tạo máy chủ Web (Web Server) được tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như phpMyAdmin
Web Server (máy phục vụ Web) là máy tính cài đặt phần mềm phục vụ Web Đôi khi người ta cũng gọi chính phần mềm đó là Web Server.
Hiểu đơn giản, XAMPP là ứng dụng dùng để tạo và điều hành máy chủ nội bộ(localhost) Được ghép của 2 chữ “local” (địa phương, ý chỉ máy tính của bạn) và “host”(máy chủ), localhost là thuật ngữ chỉ máy chủ chạy trên máy tính cá nhân.
XAMPP chính là một phần mềm cho phép bạn giả lập môi trường server hosting. Nhờ server hosting giả định này, bạn có thể chạy thử demo một website ngay trên chiếc máy vi tính của bạn không cần thiết phải mua hosting hay VPS.
XAMPP là viết tắt của X + Apache + MySQL + PHP + Perl.
Chữ X là cross (platform) diễn tả ý có thể dùng được cho cả 4 hệ điều hành khác nhau: Windows, Linux, Solaris và MAC.
XAMPP tích hợp nhiều thành phần với các tính năng:
● PHP (tạo môi trường chạy các tập tin script *.php);
● MySQL (hệ quản trị dữ liệu MySQL): Thay vì phải cài đặt từng thành phần trên, giờ đây chỉ cần cài XAMPP là chúng ta có 1 web server hoàn chỉnh.
● Tuy nhiên, XAMPP cũng có một số hạn chế nhất định Ví dụ như:
● Không được hỗ trợ cấu hình Module
● Dung lượng của XAMPP cũng tương đối nặng (dung lượng file cài đặt của XAMPP là 141Mb)
● Không có nhiều phiên bản cho từng thành phần của server như PHP, Apache,MySQL.
VSCODE
- Visual studio code là gì?
Là một trình biên tập lập trình code miễn phí dành cho Windows, Linux và macOS, Visual Studio Code được phát triển bởi Microsoft Nó được xem là một sự kết hợp hoàn hảo giữa IDE và Code Editor.
Visual Studio Code hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn Nhờ tính năng tùy chỉnh, Visual Studio Code cũng cho phép người dùng thay đổi theme, phím tắt, và các tùy chọn khác.
● Hỗ trợ nhiều ngôn ngữ lập trình
Visual Studio Code hỗ trợ nhiều ngôn ngữ lập trình như C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript, v.v Vì vậy, nó dễ dàng phát hiện và đưa ra thông báo nếu chương chương trình có lỗi.
● Hỗ trợ đa nền tảng
Các trình viết code thông thường chỉ được sử dụng hoặc cho Windows hoặc Linux hoặc Mac Systems Nhưng Visual Studio Code có thể hoạt động tốt trên cả ba nền tảng trên.
● Cung cấp kho tiện ích mở rộng
Trong trường hợp lập trình viên muốn sử dụng một ngôn ngữ lập trình không nằm trong số các ngôn ngữ Visual Studio hỗ trợ, họ có thể tải xuống tiện ích mở rộng Điều này vẫn sẽ không làm giảm hiệu năng của phần mềm, bởi vì phần mở rộng này hoạt động như một chương trình độc lập.
● Kho lưu trữ an toàn Đi kèm với sự phát triển của lập trình là nhu cầu về lưu trữ an toàn Với Visual Studio Code, người dùng có thể hoàn toàn yên tâm vì nó dễ dàng kết nối với Git hoặc bất kỳ kho lưu trữ hiện có nào.
Visual Studio Code hỗ trợ nhiều ứng dụng web Ngoài ra, nó cũng có một trình soạn thảo và thiết kế website.
● Lưu trữ dữ liệu dạng phân cấp
Phần lớn tệp lưu trữ đoạn mã đều được đặt trong các thư mục tương tự nhau Ngoài ra, Visual Studio Code còn cung cấp các thư mục cho một số tệp đặc biệt quan trọng.
Một số đoạn code có thể thay đổi chút ít để thuận tiện cho người dùng Visual Studio Code sẽ đề xuất cho lập trình viên các tùy chọn thay thế nếu có.
● Hỗ trợ thiết bị đầu cuối
Visual Studio Code có tích hợp thiết bị đầu cuối, giúp người dùng khỏi phải chuyển đổi giữa hai màn hình hoặc trở về thư mục gốc khi thực hiện các thao tác.
Người dùng Visual Studio Code có thể mở cùng lúc nhiều tệp tin và thư mục – mặc dù chúng không hề liên quan với nhau.
Visual Studio Code hỗ trợ kéo hoặc sao chép mã trực tiếp từ GitHub Mã này sau đó có thể được thay đổi và lưu lại trên phần mềm.
Việc để lại nhận xét giúp người dùng dễ dàng nhớ công việc cần hoàn thành.
SƠ LƯỢC VỀ UML VÀ PHẦN MỀM STARUML
StarUML là một mô hình nền tảng, là phần mềm hỗ trợ UML (Unified Modeling Language) Tích cực hỗ trợ các phương pháp tiếp cận MDA (Model Driven Architecture) bằng cách hỗ trợ các khái niệm hồ sơ UML StarUML vượt trội trong việc tùy biến môi trường của người dùng và có khả năng mở rộng cao trong chức năng của nó dùng StarUML, một trong các công cụ mô hình hóa phần mềm hàng đầu, sẽ đảm bảo tối đa hóa năng suất và chất lượng của các dự án phần mềm của bạn.
- Là công cụ điều chỉnh cho người dùng:
StarUML cung cấp tùy biến tối đa với môi trường của người dùng bằng cách cung cấp các biến tùy biến mà có thể được áp dụng trong phương pháp phát triển phần mềm của người sử dụng, nền tảng dự án, và ngôn ngữ.
StarUML cho phép tạo ra các mô hình nền tảng độc lập Người dùng có thể dễ dàng có được sản phẩm cuối cùng của họ thông qua tài liệu mẫu đơn giản.
- Khả năng mở rộng và linh hoạt tuyệt vời:
StarUML cung cấp khả năng mở rộng và tính linh hoạt tuyệt vời Nó cung cấp khuôn khổ cho việc mở rộng các chức năng của công cụ Add-In Nó được thiết kế để cho phép truy cập vào tất cả các chức năng của mô hình meta và công cụ thông qua COM tự động hóa, và nó cung cấp phần mở rộng của menu và các mục tùy chọn Công cụ này cũng có thể được tích hợp với bất kỳ công cụ bên ngoài.
CẤU TRÚC WEBSERVICE
Dịch vụ Web (Web Service) được coi là một công nghệ mang đến cuộc cách mạng trong cách thức hoạt động của các dịch vụ B2B (Business to Business) và B2C (Business to Customer) Giá trị cơ bản của dịch vụ Web dựa trên việc cung cấp các phương thức theo chuẩn trong việc truy nhập đối với hệ thống đóng gói và hệ thống kế thừa Các phần mềm được viết bởi những ngôn ngữ lập trình khác nhau và chạy trên những nền tảng khác nhau có thể sử dụng dịch vụ Web để chuyển đổi dữ liệu thông qua mạng Internet theo cách giao tiếp tương tự bên trong một máy tính Tuy nhiên, công nghệ xây dựng dịch vụ Web không nhất thiết phải là các công nghệ mới, nó có thể kết hợp với các công nghệ đã có như XML, SOAP, WSDL, UDDI Với sự phát triển và lớn mạnh của Internet, dịch vụ Web thật sự là một công nghệ
2.10.1.Các thành phần của webservice
WSDL – Web Service Description Language
UDDI - Universal Description, Discovery, and Integration
Một ứng dụng WS bao gồm 2 thành phần: Client và Server giao tiếp với nhau qua giao thức HTTP.
Client gửi yêu cầu qua các lời gọi hàm thông qua HTTP Request đến Server
Server gửi các kết quả được thực thi các ở hàm thông qua HTTP Request
Mô hình hoạt động của ứng dụng WebService gồm 3 thành phần chính:
UDDI register: Công cụ giúp nhà phát triển WS công bố những thông tin về WebService của mình cho cộng đồng các nhà phát triển ứng dụng Người dùng sẽ dựa vào các thông tin này để sử dụng WebService trong ứng dụng riêng của minh.
WebService: Chứa giao thức SOAP định dạng dữ liệu, tài liệu WSDL định nghĩa các hàm trong WebService, XML để xây dựng ứng dụng phân tán.
Applicantion Client: Ứng dụng phía Client sử dụng WebService xây dựng riêng cho mình
Cách thức hoạt động có thể mô tả như sau: Đầu tiên, Applicantion Client cần truy vấn các mẫu tin UDDI theo 1 thông tin nào đó(chẳng hạn tên loại) để xác định WebService cần tìm Khi đã xác định được WebService cần cho ứng dụng, Client có thế lấy thông tin về địa chỉ của tài liệu WSDL của WebService này dựa trên mẫu tin UDDI. Tài liệu WSDL sẽ mô tả cách thức liên lạc với WebService, định dạng gói tin truy vấn và phản hồi Dựa vào những thông tin này, Client có thể tạo những gói tin SOAP tương ứng để liên lạc với Service.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
KHẢO SÁT HỆ THỐNG
3.1.1 Khảo sát hiện trạng thực tế của hệ thống xem phim online Đơn vị khảo sát
Trang web khảo sát: https://xemphim.club/
Website xemphim.club chuyên cung cấp các bộ phim truyện của nhiều hãng sản xuất phim hàng đầu trong nước và quốc tế, với nhiều đầu mục phim hấp dẫn, phim chiếu rạp….Với đội ngũ chuyên nghiệp cùng nguồn phim HD chất lượng cao, phong phú, được cập nhật liên tục
Ngày nay, thời kỳ công nghệ thông tin phát triển nên ngoài nhu cầu bán đĩa phim,công ty muốn lập một website xem phim trực tuyến Yêu cầu đặt ra là cần xây dựng một website xem phim online quản lý phim, người xem, lượng tiền khách nạp vào tài khoản, quảng cáo, đăng tải phim, lượng download phim…
Nạp tiền vào tài khoản
Một website chất lượng không chỉ đẹp và còn phải dễ dùng, tương thích cao, tốc độ nhanh, dễ update… trang web chất lượng ngày nay còn cần phải tiếp cận mọi đối tượng khách hàng tiềm năng, tăng tốc SEO google….
Dựa trên mục tiêu đó, tôi xin đưa ra bảng đánh giá hệ thống cũ, đồng thời đề xuất hệ thống mới cho website như sau:
Bảng 3.1: Đánh giá hệ thống cũ và đề xuất hệ thống mới
Tiêu chí đánh giá Hệ thống cũ Hệ thống mới
Tốc độ tải website Chậm Nhanh
Tốc độ upload / download phim
Tương thích với nhiều hệ điều hành
Tương thích với nhiều trình duyệt
Giao diện Bố cục, cấu trúc các chuyên mục
Bố trí hợp lý, khoa học, hài hòa giữa nội dung và hình thức
Màu sắc Nền tối (đen) Nền sáng
Font chữ, cỡ chữ Sử dụng quá nhiều Đơn giản hóa tối font chữ, màu sắc, cỡ chữ to nhỏ… đôi khi gây rối mắt người xem đa về font chữ, màu sắc, cỡ chữ
Thuận tiện cho các thao tác của người dùng
Chưa thuận tiện Thuận tiện
Nội dung Số lượng, tính đa dạng Số lượng phim lớn, đa dạng, phong phú, đáp ứng nhu cầu của người xem
Phân loại Phân loại rõ ràng, theo chủ đề, thể loại, quốc gia,…
Phim đang hot, phim mới cập nhật
Tính công bố và tương tác Địa chỉ liên lạc rõ ràng Không Có
Cung cấp các dịch vụ trực tuyến Đăng ký, đăng nhập, thanh toán trực tuyến
Cho phép liên lạc trực tiếp với cán bộ quản trị website
Tính năng trao đổi, bình luận online
Kết nối với các trang mạng xã hội, thư điện tử….
Có kết nối facebook, Yahoo, Gmail…
Tính năng hỏi đáp offline Có Có
Tìm kiếm nhanh trên website Tìm kiếm nhanh chóng, chính xác theo yêu cầu
Các thông tin được lưu lại theo thời gian
Thống kê mức độ truy nhập
Số lượng người truy cập trung bình
Thống kê lượng view của từng phim
Xuất báo cáo doanh thu theo tuần dạng bảng.
Xuất báo cáo doanh thu theo mùa dạng đồ thị
Xuất báo cáo doanh thu theo năm dạng đồ thị
3.1.3 Chức năng của đề tài
Sản phẩm sau khi hoàn thành đề tài là một website xem phim trực tuyến với các chức năng ưu việt.
Bên cạnh những chức năng cơ bản, người dùng có thể xem phim trên website, website cung cấp nhiều server cho phép người dùng có thể tuỳ chọn server nếu như server bị hỏng hoặc kết nối chậm Bên cạnh đó người dùng có thể thêm phim mình yêu thích hoặc để xem sau vào mục tủ phim của mình.
Website còn cung cấp chức năng Ví – Mua phim, với chức năng này người dùng có thể nạp tiền vào ví của mình thông qua tài khoản ngân hàng hoặc Internet Banking, sau đó số tiền mà người dùng nạp sẽ được cộng vào ví Từ đó người dùng có thể dùng tiền trong ví để mua phim Ví của mỗi người dùng là độc lập, độ bảo mật cao.
Người dùng còn có thể bình luận, chia sẽ cảm xúc của mình ở mỗi bộ phim mà họ cảm thấy thú vị Không những thế, người dùng cũng có thể thích phim, chia sẻ phim đến trang mạng xã hội Facebook cá nhân của mình cho bạn bè, gia đình cùng biết đến.
Quản trị viên có các chức năng cơ bản như quyền quản lý danh mục phim, quản lý phim, quản lý người dùng, quản lý bình luận.
Quản trị viên có thể xem ví của người dùng, lịch sử nạp tiền của người dùng, lịch sử mua phim của người dùng nhưng không có quyền thay đổi hoặc xoá chúng Điều đó tạo nên sự riêng tư cho người dùng.
Website sẽ tự động tính toán doanh thu từ việc nạp ví và mua phim cho quản trị viên Quản trị viên có thể xem phim nào mang lại doanh thu lớn nhất cho họ và người dùng nào là người nạp tiền, công hiến nhiều nhất cho website.
Chức năng quản trị viên:
Tác động trực tiếp đến các danh mục phim, phim, người dùng
Theo dõi lịch sử nạp tiền, mua phim, bình luận.
Thao tác xem phim, tủ phim, bình luận, nạp ví, mua phim.
3.1.3.1 Yêu cầu phi chức năng
Bảng 3.2: Yêu cầu phi chức năng
STT Tên yêu cầu Mô tả yêu cầu
1 Giao diện Giao diện hệ thống phải dễ sử dụng, trực quan, thân thiện với người dùng.
2 Tốc độ xử lý Hệ thống phải xử lý nhanh chóng và chính xác.
3 Bảo mật Tính bảo mật và độ an toàn cao.
4 Tương thích Tương thích với đa phần các trình duyệt web hiện tại và điện thoại.
PHÂN TÍCH HỆ THỐNG
3.2.1 Các chức năng của hệ thống
Chức năng quản trị viên:
Đăng nhập, đăng xuất quản trị viên
Quản lý thể loại phim:
+ Xem danh sách thể loại.
Quản lý năm sản xuất:
+ Xem danh sách năm sản xuất
+ Xem danh sách quốc gia
+ Xem danh sách người dùng
+ Xem danh sách tủ phim
+ Xem danh sách bình luận
+ Xem danh sách nạp ví
+ Xem danh sách mua phim
+ Xem thống kê nạp ví
+ Xem thống kê mua phim
Đăng ký, đăng nhập, đăng xuất.
+ Xem thông tin phim, trailer.
+ Thêm phim yêu thích vào tủ phim.
+ Xoá phim khỏi tủ phim.
+ Xem số dư trong ví.
+ Nạp tiền vào ví qua cổng VNPay bằng tài khoản ngân hàng hoặc Internet Banking
+ Người dùng có thể mua những bộ phim trả phí để xem.
+ Xem, quản lý tất cả phim đã mua
+ Xem lịch sử nạp ví.
+ Xem lịch sử mua phim.
3.2.2 Các tác nhân của hệ thống
- Dựa vào phần tổng quan và chức năng của hệ thống, ta có thể xác định được các tác nhân chính của hệ thống như sau:
+ Tác nhân Quản trị viên (Admin) có các chức năng: quản lý phim, quản lý thể loại phim, quản lý năm sản xuất, quản lý người dùng, quản lý quốc gia, quản lý ngôn ngữ, quản lý ngôn ngữ, Để thực hiện chức năng này Quản trị viên phải đăng nhập.
+ Tác nhân Người dùng (User) có các chức năng: đăng ký tài khoản, đăng nhập, quản lý hồ sơ, xem phim, nạp ví, mua phim, tìm phim, quản lý tủ phim của mình
THIẾT KẾ HỆ THỐNG
3.3.1.1 Biều đồ Use Case tổng quát
Hình 3.2: Biểu đồ Use-Case tổng quát
3.3.1.2 Biểu đồ UseCase cho tác nhân Admin
Hình 3.3: Biểu đồ UseCase cho tác nhân Admin
3.3.1.3 Biều đồ UseCase cho tác nhân User
Hình 3.4: Biều đồ UseCase cho tác nhân User
3.3.1.4 Biểu đồ UseCase admin quản lý thể loại
Hình 3.5: Biểu đồ UseCase admin quản lý thể loại Bảng 3.3: Đặc tả UC admin thêm thể loại
Tên UseCase Thêm thể loại
Mục đích Thêm mới một quốc gia vào hệ thống.
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý thể loại”.
2 Hệ thống hiển thị form “Quản lý thể loại”
3 Admin chọn nút “Thêm mới”.
4 Hệ thống hiển thị form thêm mới
5 Admin nhập thông tin thêm mới người dùng bằng các thuộc tính có sẵn và bấm lưu.
6 Hệ thống kiểm tra và thêm thông tin vào cơ sở dữ liệu.
Hệ thống báo thành công.
Ngoại lệ 4.1 Admin hủy bỏ thêm thể loại– Trở về giao diện ban đầu –
6.1 Thông tin nhập không hợp lệ - Thông báo lỗi – Kết thúc use case.
Bảng 3.4: Đặc tả UC admin sửa thể loại
Tên UseCase Sửa thể loại
Mục đích Sửa quốc gia trong hệ thống.
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý thể loại”.
2 Hệ thống hiển thị form “Quản lý thể loại”
3 Admin bấm sửa thông tin quốc gia tương ứng và bấm lưu.
4 Hệ thống kiểm tra tính hợp lệ của các thông tin và cập nhật thông tin mới vào cơ sở dữ liệu.
5 Hệ thống báo thành công.
Ngoại lệ 3.1 Admin hủy bỏ chỉnh sửa thể loại– Trở về giao diện ban đầu – Kết thúc use case.
4.1 Thông tin nhập không hợp lệ - Thông báo lỗi – Kết thúc use case.
Bảng 3.5: Đặc tả UC admin xóa thể loại
Tên UseCase Xóa thể loại
Mục đích Xóa phim trong hệ thống.
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý thể loại”.
2 Hệ thống hiển thị form “Quản lý thể loại”
3 Admin chọn nút xóa người dùng tương ứng.
4 Hệ thống kiểm tra và xóa dữ liệu trong cơ sở dữ liệu
5 Hệ thống báo thành công.
Ngoại lệ 3.1 Admin hủy bỏ xóa thể loại – Trở về giao diện ban đầu –
3.3.1.5 Biểu đồ UseCase admin quản lý năm sản xuất
Hình 3.6: Biểu đồ UseCase admin quản lý năm sản xuất Bảng 3.6: Đặc tả UC admin thêm năm sản xuất
Tên UseCase Thêm năm sản xuất
Mục đích Thêm mới một quốc gia vào hệ thống.
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý năm sản xuất”.
2 Hệ thống hiển thị form “Quản lý năm sản xuất”
3 Admin chọn nút “Thêm mới”.
4 Hệ thống hiển thị form thêm mới
5 Admin nhập thông tin thêm mới người dùng bằng các thuộc tính có sẵn và bấm lưu.
6 Hệ thống kiểm tra và thêm thông tin vào cơ sở dữ liệu.
Hệ thống báo thành công.
Ngoại lệ 4.1 Admin hủy bỏ thêm năm sản xuất – Trở về giao diện ban đầu – Kết thúc use case.
6.1 Thông tin nhập không hợp lệ - Thông báo lỗi – Kết thúc use case.
Bảng 3.7: Đặc tả UC admin sửa năm sản xuất
Tên UseCase Sửa năm sản xuất
Mục đích Sửa quốc gia trong hệ thống.
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý năm sản xuất”.
2 Hệ thống hiển thị form “Quản lý năm sản xuất”
3 Admin bấm sửa thông tin quốc gia tương ứng và bấm lưu.
4 Hệ thống kiểm tra tính hợp lệ của các thông tin và cập nhật thông tin mới vào cơ sở dữ liệu.
5 Hệ thống báo thành công.
Ngoại lệ 3.1 Admin hủy bỏ chỉnh sửa năm sản xuất – Trở về giao diện ban đầu – Kết thúc use case.
4.1 Thông tin nhập không hợp lệ - Thông báo lỗi – Kết thúc use case.
Bảng 3.8: Đặc tả UC admin xóa năm sản xuất
Tên UseCase Xóa năm sản xuất
Mục đích Xóa phim trong hệ thống.
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý năm sản xuất”.
2 Hệ thống hiển thị form “Quản lý năm sản xuất”
3 Admin chọn nút xóa người dùng tương ứng.
4 Hệ thống kiểm tra và xóa dữ liệu trong cơ sở dữ liệu
5 Hệ thống báo thành công.
Ngoại lệ 3.1 Admin hủy bỏ xóa năm sản xuất – Trở về giao diện ban đầu – Kết thúc use case.
3.3.1.6 Biểu đồ UseCase admin quản lý quốc gia
Hình 3.7: Biểu đồ UseCase admin quản lý quốc gia Bảng 3.8: Đặc tả UC admin thêm quốc gia
Tên UseCase Thêm quốc gia
Mục đích Thêm mới một quốc gia vào hệ thống.
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý quốc gia”.
2 Hệ thống hiển thị form “Quản lý quốc gia”
3 Admin chọn nút “Thêm mới”.
4 Hệ thống hiển thị form thêm mới
5 Admin nhập thông tin thêm mới người dùng bằng các thuộc tính có sẵn và bấm lưu.
6 Hệ thống kiểm tra và thêm thông tin vào cơ sở dữ liệu.
Hệ thống báo thành công.
Ngoại lệ 4.1 Admin hủy bỏ thêm quốc gia – Trở về giao diện ban đầu
6.1 Thông tin nhập không hợp lệ - Thông báo lỗi – Kết thúc use case.
Bảng 3.10: Đặc tả UC admin sửa quốc gia
Tên UseCase Sửa quốc gia
Mục đích Sửa quốc gia trong hệ thống.
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý quốc gia”.
2 Hệ thống hiển thị form “Quản lý quốc gia”
3 Admin bấm sửa thông tin quốc gia tương ứng và bấm lưu.
4 Hệ thống kiểm tra tính hợp lệ của các thông tin và cập nhật thông tin mới vào cơ sở dữ liệu.
5 Hệ thống báo thành công.
Ngoại lệ 3.1 Admin hủy bỏ chỉnh sửa quốc gia – Trở về giao diện ban đầu – Kết thúc use case.
4.1 Thông tin nhập không hợp lệ - Thông báo lỗi – Kết thúc use case.
Bảng 3.11: Đặc tả UC admin xóa quốc gia
Tên UseCase Xóa quốc gia
Mục đích Xóa phim trong hệ thống.
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý quốc gia”.
2 Hệ thống hiển thị form “Quản lý quốc gia”
3 Admin chọn nút xóa người dùng tương ứng.
4 Hệ thống kiểm tra và xóa dữ liệu trong cơ sở dữ liệu
5 Hệ thống báo thành công.
Ngoại lệ 3.1 Admin hủy bỏ xóa quốc gia – Trở về giao diện ban đầu
3.3.1.7 Biểu đồ UseCase admin quản lý phim
Hình 3.8: Biểu đồ UseCase admin quản lý phim Bảng 3.12: Đặc tả UC admin thêm phim
Tên UseCase Thêm mới phim
Mục đích Thêm mới một phim vào hệ thống.
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý phim”.
2 Hệ thống hiển thị form “Quản lý phim”
3 Admin chọn nút “Thêm mới”.
4 Hệ thống hiển thị form thêm mới
5 Admin nhập thông tin thêm mới người dùng bằng các thuộc tính có sẵn và bấm lưu.
6 Hệ thống kiểm tra và thêm thông tin vào cơ sở dữ liệu.
Hệ thống báo thành công.
Ngoại lệ 4.1 Admin hủy bỏ thêm phim – Trở về giao diện ban đầu –
6.1 Thông tin nhập không hợp lệ - Thông báo lỗi – Kết thúc use case.
Bảng 3.13: Đặc tả UC admin sửa phim
Tên UseCase Sửa người dùng
Mục đích Sửa phim trong hệ thống.
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý phim”.
2 Hệ thống hiển thị form “Quản lý phim”
3 Admin bấm sửa thông tin người dùng tương ứng và bấm lưu.
4 Hệ thống kiểm tra tính hợp lệ của các thông tin và cập nhật thông tin mới vào cơ sở dữ liệu.
5 Hệ thống báo thành công.
Ngoại lệ 3.1 Admin hủy bỏ chỉnh sửa phim – Trở về giao diện ban đầu – Kết thúc use case.
4.1 Thông tin nhập không hợp lệ - Thông báo lỗi – Kết thúc use case.
Bảng 3.14: Đặc tả UC admin xóa phim
Tên UseCase Xóa người dùng
Mục đích Xóa phim trong hệ thống.
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý phim”.
2 Hệ thống hiển thị form “Quản lý phim”
3 Admin chọn nút xóa người dùng tương ứng.
4 Hệ thống kiểm tra và xóa dữ liệu trong cơ sở dữ liệu
5 Hệ thống báo thành công.
Ngoại lệ 3.1 Admin hủy bỏ xóa phim – Trở về giao diện ban đầu –
3.3.1.8 Biểu đồ UseCase admin quản lý người dùng
Hình 3.9: Biểu đồ UseCase admin quản lý người dùng Bảng 3.15: Đặc tả UC Admin thêm mới người dùng
Tên UseCase Thêm mới người dùng
Mục đích Thêm mới một người dùng vào hệ thống.
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý người dùng”.
2 Hệ thống hiển thị form “Quản lý người dùng”
3 Admin chọn nút “Thêm mới”.
4 Hệ thống hiển thị form thêm mới
5 Admin nhập thông tin thêm mới người dùng bằng các thuộc tính có sẵn và bấm lưu.
6 Hệ thống kiểm tra và thêm thông tin vào cơ sở dữ liệu.
Hệ thống báo thành công.
Ngoại lệ 4.1 Admin hủy bỏ thêm người dùng – Trở về giao diện ban đầu – Kết thúc use case.
6.1 Thông tin nhập không hợp lệ - Thông báo lỗi – Kết thúc use case.
Bảng 3.16: Đặc tả UC Admin sửa người dùng
Tên UseCase Sửa người dùng
Mục đích Sửa người dùng trong hệ thống.
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý người dùng”.
2 Hệ thống hiển thị form “Quản lý người dùng”
3 Admin bấm sửa thông tin người dùng tương ứng và bấm lưu.
4 Hệ thống kiểm tra tính hợp lệ của các thông tin và cập nhật thông tin mới vào cơ sở dữ liệu.
5 Hệ thống báo thành công.
Ngoại lệ 3.1 Admin hủy bỏ chỉnh sửa người dùng – Trở về giao diện ban đầu – Kết thúc use case.
4.1 Thông tin nhập không hợp lệ - Thông báo lỗi – Kết thúc use case.
Bảng 3.17: Đặc tả UC admin xóa người dùng
Tên UseCase Xóa người dùng
Mục đích Xóa người dùng trong hệ thống.
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý người dùng”.
2 Hệ thống hiển thị form “Quản lý người dùng”
3 Admin chọn nút xóa người dùng tương ứng.
4 Hệ thống kiểm tra và xóa dữ liệu trong cơ sở dữ liệu
5 Hệ thống báo thành công.
Ngoại lệ 3.1 Admin hủy bỏ xóa người dùng – Trở về giao diện ban đầu – Kết thúc use case.
3.3.1.9 Biểu đồ UseCase admin quản lý bình luận
Hình 3.10: Biểu đồ UseCase admin quản lý bình luận Bảng 3.18: Đặc tả UC admin xóa bình luận
Tên UseCase Xóa bình luận
Mục đích Xóa bình luận của user.
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý bình luận”.
2 Hệ thống hiển thị form “Quản lý bình luận”
3 Admin chọn nút xóa bình luận tương ứng.
4 Hệ thống kiểm tra và xóa dữ liệu trong cơ sở dữ liệu
5 Hệ thống báo thành công.
Ngoại lệ 3.1 Admin hủy bỏ xóa bình luận – Trở về giao diện ban đầu
3.3.1.10 Biểu đồ UseCase admin quản lý giao dịch
Hình 3.11: Biểu đồ UseCase admin quản lý giao dịch Bảng 3.19: Đặc tả UC admin xem danh sách nạp ví
Tên UseCase Xem danh sách nạp ví
Mục đích Xem danh sách nạp ví
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý giao dịch”.
3 Admin chọn chức năng “Nạp ví”.
4 Hệ thống truy vấn CSDL sau đó hiển thị danh sách người dùng nạp tiền
Ngoại lệ 4.1 Lỗi kết nối csdl => báo lỗi.
Bảng 3.20: Đặc tả UC admin xem danh sách mua phim
Tên UseCase Xem danh sách nạp ví
Mục đích Hiển thị chi tiết nhân viên
Tiền điều kiện Admin đã đăng nhập thành công.
Luồng sự kiện chính 1 Admin chọn chức năng “Quản lý giao dịch”.
3 Admin chọn chức năng “Mua phim”.
4 Hệ thống truy vấn CSDL sau đó hiển thị danh sách phim người dùng đã mua
Ngoại lệ 4.1 Lỗi kết nối csdl => báo lỗi.
3.3.1.11 Biểu đồ UseCase Admin đăng nhập
Bảng 3.21: Đặc tả UC admin đăng nhập
Mục đích Admin đăng nhập hệ thống
Tiền điều kiện Người dùng đã có tài khoản
1 Người sử dụng chọn chức năng “Đăng nhập”
2 Hệ thống hiển thị form “Đăng nhập”
3 Người sử dụng nhập “Username” và “Password”, gửi thông tin đến hệ thống
4 Hệ thống kiểm tra Nếu đúng thì cho phép truy cập, và sử dụng các chức năng theo đúng quyền hạn Nếu sai hệ thống thông báo lỗi và yêu cầu người dùng nhập lại thông tin
3.1: Nhập sai định dạng ký tự => báo lỗi 3.2: Không nhập => báo lỗi
4.1: Sai Username/Pass=>báo lỗi, yêu cầu người dùng nhập lại.
4.2: Đăng nhập sai quá 5 lần=> gợi ý quên mật khẩu
Hình 3.12: Biểu đồ UseCase Admin đăng nhập
3.3.1.12 Biểu đồ UseCase User quản lý hồ sơ cá nhân
Hình 3.13: Biểu đồ UseCase User quản lý hồ sơ cá nhân Bảng 3.22: Đặc tả UC user đổi tên hiển thị
Tên UseCase Đổi tên hiển thị
Mục đích Đổi tên hiển thị trên hệ thống.
Tiền điều kiện User đã đăng nhập thành công.
Luồng sự kiện chính 1 User chọn chức năng “Quản lý hồ sơ cá nhân”.
2 Hệ thống hiển thị form “hồ sơ cá nhân”
3 User chọn ô vào ô input username thay đổi lại tên đăng nhập và bấm lưu.
4 Hệ thống kiểm tra và đổi thông tin trên cơ sở dữ liệu.
Hệ thống báo thành công.
Ngoại lệ 3.1 User hủy bỏ đổi tên – Trở về giao diện ban đầu – Kết thúc use case.
6.1 Thông tin nhập không hợp lệ - Thông báo lỗi – Kết thúc use case.
Bảng 3.23: Đặc tả UC user đổi mật khẩu
Tên UseCase Đổi mật khẩu
Mục đích Đổi mật khẩu user trong hệ thống.
Tiền điều kiện User đã đăng nhập thành công.
Luồng sự kiện chính 1 User chọn chức năng “Quản lý hồ sơ cá nhân”.
2 Hệ thống hiển thị form “đổi mật khẩu”
3 User nhập mật khẩu mới và bấm lưu.
4 Hệ thống kiểm tra tính hợp lệ của các thông tin và cập nhật thông tin mới vào cơ sở dữ liệu.
5 Hệ thống báo thành công.
Ngoại lệ 3.1 User hủy bỏ đổi mật khẩu – Trở về giao diện ban đầu –
4.1 Thông tin nhập không hợp lệ - Thông báo lỗi – Kết thúc use case.
3.3.1.13 Biểu đồ UseCase User xem phim
Hình 3.14: Biểu đồ UseCase User xem phim Bảng 3.24: Đặc tả Usecase user xem thông tin phim và trailer
Tên UseCase Xem thông tin phim và trailer
Mục đích Xem thông tin chi tiết và trailer của một bộ phim
Luồng sự kiện chính 1 User vào trang chủ.
2 User bấm xem chi tiết bộ phim tương ứng.
3 Hệ thống hiển thị trang chi tiết bộ phim.
Ngoại lệ 3.1 Lỗi kết nối csdl => báo lỗi
Bảng 3.25: Đặc tả Usecase user xem phim
Luồng sự kiện chính 1 Người dùng vào trang chi tiết bộ phim.
2 Người dùng bấm xem phim.
3 Hệ thống hiển thị trang chi tiết sản phẩm.
Ngoại lệ 3.1 Lỗi kết nối csdl => báo lỗi
Bảng 3.26: Đặc tả Usecase user thích và bỏ thích phim
Tên UseCase Thích và bỏ thích phim
Mục đích Thích và bỏ thích phim
Tiền điều kiện User đăng nhập và hệ thống
Luồng sự kiện chính 1 Người dùng vào trang chi tiết phim.
2 Người dùng bấm thích hoặc bỏ thích phim.
Ngoại lệ 3.1 Lỗi kết nối csdl => báo lỗi
3.3.1.14 Biểu đồ UseCase User tủ phim
Hình 3.15: Biểu dồ UseCase User tủ phim Bảng 3.27: Đặc tả usecase user thêm phim yêu thích vào tủ phim
Tên UseCase Thêm phim yêu thích vào tủ phim
Mục đích Thêm phim yêu thích vào tủ phim
Tiền điều kiện User đăng nhập vào hệ thống
Luồng sự kiện chính 1 User vào website.
2 User bấm xem chi tiết một bộ phim.
3 User bấm thêm vào tủ phim.
4.Hệ thống lưu thông tin vào cơ sở dữ liệu và thông báo thành công.
Bảng 3.28: Đặc tả usecase user xóa phim khỏi tủ phim
Tên UseCase Xóa phim khỏi tủ phim
Mục đích Xóa phim khỏi tủ phim.
Tiền điều kiện User đã đăng nhập thành công.
Luồng sự kiện chính 1 User chọn chức năng “Quản lý tủ phim”.
2 Hệ thống hiển thị form “Quản lý tủ phim”
3 User chọn nút xóa phim tương ứng.
4 Hệ thống kiểm tra và xóa dữ liệu trong cơ sở dữ liệu
5 Hệ thống báo thành công.
Ngoại lệ 3.1 User hủy bỏ phim trong tủ phim – Trở về giao diện ban đầu – Kết thúc use case.
3.3.1.15 Biểu đồ UseCase User bình luận
Hình 3.16: Biểu đồ UseCase User bình luận Bảng 3.29: Đặc tả usecase user bình luận phim
Tên UseCase Bình luận phim
Mục đích Bình luận một bộ phim.
Tiền điều kiện User đã đăng nhập thành công.
Luồng sự kiện chính 1 User truy cập vào website
2 User bấm xem chi tiết một bộ phim
3 User nhập nội dung bình luận ở phần bình luận phim và bấm bình luận
4 Hệ thống kiểm tra và lưu vào cơ sở dữ liệu Hiển thị bình luận của user
Ngoại lệ 4.1 Admin hủy bỏ thêm bình luận – Trở về giao diện ban đầu
6.1 Thông tin nhập không hợp lệ - Thông báo lỗi – Kết thúc use case.
Bảng 3.30: Đặc tả UC user sửa bình luận
Tên UseCase Sửa bình luận
Mục đích Sửa bình luận
Tiền điều kiện User đã đăng nhập thành công.
Luồng sự kiện chính 1 User truy cập vào website
2 User bấm xem chi tiết một bộ phim mà đã bình luận
3 User bấm nút sửa và nhập nội dung bình luận mới ở phần bình luận phim và bấm bình luận
4 Hệ thống kiểm tra và lưu vào cơ sở dữ liệu Hiển thị bình luận của user
Ngoại lệ 3.1 User hủy bỏ chỉnh sửa bình luận – Trở về giao diện ban đầu – Kết thúc use case.
4.1 Thông tin nhập không hợp lệ - Thông báo lỗi – Kết thúc use case.
Bảng 3.31: Đặc tả UC user xóa bình luận
Tên UseCase Xóa bình luận
Mục đích Xóa bình luận
Tiền điều kiện User đã đăng nhập thành công.
Luồng sự kiện chính 1 User truy cập vào website
2 User bấm xem chi tiết một bộ phim mà đã bình luận
3 User bấm nút xóa bình
4 Hệ thống kiểm tra và xóa trong cơ sở dữ liệu
Ngoại lệ 3.1 User hủy bỏ xóa bình luận – Trở về giao diện ban đầu –
3.3.1.16 Biểu đồ UseCase User quản lý ví
Hình 3.17: Biểu đồ UseCase User quản lý ví
3.3.1.17 Biểu đồ UseCase User tìm kiếm
Hình 3.18: Biểu đồ UseCase User tìm kiếm Bảng 3.32: Đặc tả Usecase tìm kiếm sản phẩm theo textbox tìm kiếm
Tên UseCase Tìm kiếm sản phẩm theo textbox tìm kiếm
Mục đích Tìm kiếm phim trong hệ thống theo textbox tìm kiếm
Luồng sự kiện chính 1 User bấm vào textbox tìm kiếm.
Hình 3.19: Biểu đồ UseCase User đăng nhập
2 User nhập vào ô tìm kiếm và nhấn nút tìm kiếm.
3 Hệ thống kiểm tra thông tin và hiển thị danh sách phim.
Bảng 3.33: Đặc tả Usecase user tìm kiếm phim theo danh mục
Tên UseCase Tìm kiếm phim theo danh mục
Mục đích Tìm kiếm phim theo danh mục
Mô tả Người dùng chọn các tiêu chí theo checkbox
Luồng sự kiện chính 1 Người dùng bấm vào textbox tìm kiếm.
2 Người dùng chọn các ô checkbox theo tiêu chí cần tìm kiếm và nhấn nút tìm kiếm.
3 Hệ thống kiểm tra thông tin và hiển thị danh sách phim.
3.3.1.18 Biểu đồ UseCase User đăng nhập
Hình 3.20: Biểu đồ UseCase User đăng ký
Bảng 3.34: Đặc tả UC Đăng nhập
Mục đích User đăng nhập hệ thống
Tiền điều kiện Người dùng đã có tài khoản
1 Người sử dụng chọn chức năng “Đăng nhập”
2 Hệ thống hiển thị form “Đăng nhập”
3 Người sử dụng nhập “Username” và “Password”, gửi thông tin đến hệ thống
4 Hệ thống kiểm tra Nếu đúng thì cho phép truy cập, và sử dụng các chức năng theo đúng quyền hạn Nếu sai hệ thống thông báo lỗi và yêu cầu người dùng nhập lại thông tin
3.1: Nhập sai định dạng ký tự => báo lỗi 3.2: Không nhập => báo lỗi
4.1: Sai Email/Pass=>báo lỗi, yêu cầu người dùng nhập lại.
4.2: Đăng nhập sai quá 5 lần=> gợi ý quên mật khẩu
3.3.1.19 Biểu đồ UseCase User đăng ký
Bảng 3.35: Đặc tả UC Đăng ký
Mục đích User đăng ký hệ thống
1 Người sử dụng chọn chức năng “Đăng ký”
2 Hệ thống hiển thị form “Đăng ký”
3 Người sử dụng nhập đầy đủ thông tin vào form
4 Hệ thống kiểm tra Nếu đúng thì thông báo đăng ký thành Nếu sai hệ thống thông báo lỗi và yêu cầu người dùng nhập lại thông tin
Ngoại lệ 3.1: Nhập sai định dạng ký tự => báo lỗi
3.3.2.1 Biểu đồ trình tự admin quản lý thể loại
+ Chức năng thêm thể loại
Hình 3.21: Biểu đồ trình tự chức năng thêm thể loại
+ Chức năng sửa thể loại
Hình 3.22: Biểu đồ trình tự chức năng sửa thể loại
+ Chức năng xóa thể loại
Hình 3.23: Biểu đồ trình tự chức năng xóa thể loại
3.3.2.2 Biểu đồ trình tự admin quản lý quốc gia
+ Chức năm thêm quốc gia
Hình 3.24: Biểu đồ trình tự chức năm thêm quốc gia
+ Chức năng sửa quốc gia
Hình 3.25: Biểu đồ trình tự chức năng sửa quốc gia
+ Chức năng xóa quốc gia
Hình 3.26: Biểu đồ trình tự chức năng xóa quốc gia
3.3.2.3 Biểu đồ trình tự admin quản lý năm sản xuất
+ Chức năng thêm năm sản xuất
Hình 3.27: Biểu đồ trình tự chức năng thêm năm sản xuất
+ Chức năng sửa năm sản xuất
Hình 3.28: Biểu đồ trình tự chức năng sửanăm sản xuất
+ Chức năng xóa năm sản xuất
Hình 3.29: Biểu đồ trình tự chức năng xóanăm sản xuất 3.3.2.4 Biểu đồ trình tự admin quản lý phim
Hình 3.30: Biểu đồ trình tự chức năng thêmphim
Hình 3.31: Biểu đồ trình tự chức năng sửaphim
Hình 3.32: Biểu đồ trình tự chức năng xóa phim
3.3.2.5 Biểu đồ trình tự admin quản lý người dùng
+ Chức năng thêm người dùng
Hình 3.33: Biểu đồ trình tự chức năng thêmngười dùng
+ Chức năng sửa người dùng
Hình 3.34: Biểu đồ trình tự chức năng xóangười dùng
+ Chức năng xóa người dùng
Hình 3.35: Biểu đồ trình tự chức năng xóangười dùng 3.3.2.6 Biểu đồ trình tự admin quản lý bình luận
+ Chức năng xóa bình luận
Hình 3.36: Biểu đồ trình tự chức năng xóa bình luận
3.3.2.7 Biểu đồ trình tự admin quản lý giao dịch
+ Xem danh sách nạp ví
Hình 3.37: Biểu đồ trình tự chức năng xem danh sách nạp ví
+ Xem danh sách mua phim
Hình 3.38: Biểu đồ trình tự chức năng xem danh sách mua phim
3.3.2.8 Biểu đồ trình tự đăng nhập
Hình 3.39: Biểu đồ trình tự chức năng đăng nhập
3.3.2.9 Biểu đồ trình tự đăng ký tài khoản
Hình 3.40: Biểu đồ trình tự chức năng đăng ký tài khoản
3.3.2.10 Biểu đồ trình tự user quản lý hồ sơ cá nhân
+ Sửa thông tin cá nhân
Hình 3.41: Biểu đồ trình tự chức năng sửa thông tin cá nhân
3.3.2.11 Biểu đồ trình tự user xem phim
+ Xem chi tiết phim và trailer
Hình 3.42: Biểu đồ trình tự chức năng xem chi tiết phim và trailer
Hình 3.43: Biểu đồ trình tự chức năng xem phim
3.3.2.12 Biểu đồ trình tự user quản lý tủ phim
+ Thêm phim vào tủ phim
Hình 3.44: Biểu đồ trình tự chức năng thêmvào tủ phim
+ Xóa phim khỏi tủ phim
Hình 3.45: Biểu đồ trình tự chức năng xóa khỏi tủ phim
3.3.2.13 Biểu đồ trình tự user bình luận
Hình 3.46: Biểu đồ trình tự chức năng bình luận
Hình 3.47: Biểu đồ trình tự chức năng sửa bình luận
Hình 3.48: Biểu đồ trình tự chức năng xóa bình luận
3.3.2.14 Biểu đồ trình tự user quản lý ví
Hình 3.49: Biểu đồ trình tự chức năng nạp tiền vào ví
3.2.3.15 Biểu đồ trình tự tìm kiếm
+ Biểu đồ trình tự tìm kiếm theo textbox
Hình 3.50: Biểu đồ trình tự chức năng tìm kiếm theo textbox
+ Biểu đồ trình tự tìm kiếm theo thể loại
Hình 3.51: Biểu đồ trình tự chức năng tìm kiếm theo thể loại
3.3.3.1 Biểu đồ hoạt động admin quản lý thể loại
+ Chức năng thêm thể loại
Hình 3.52: Biểu đồ hoạt động thêm thể loại
+ Chức năng sửa thể loại
Hình 3.53: Biểu đồ hoạt động sửa thể loại
+ Chức năng xóa thể loại
Hình 3.54: Biểu đồ hoạt động xóa thể loại
3.3.3.2 Biểu đồ hoạt động admin quản lý quốc gia
+ Chức năng thêm quốc gia
Hình 3.55: Biểu đồ hoạt động thêm quốc gia
+ Chức năng sửa quốc gia
Hình 3.56: Biểu đồ hoạt động sửa quốc gia
+ Chức năng xóa quốc gia
Hình 3.57: Biểu đồ hoạt động xóa quốc gia
3.3.3.3 Biểu đồ hoạt động admin quản lý năm sản xuất
+ Chức năng thêm năm sản xuất
Hình 3.58: Biểu đồ hoạt động thêm năm sản xuất
+ Chức năng sửa năm sản xuất
Hình 3.59: Biểu đồ hoạt động sửa năm sản xuất
+ Chức năng xóa năm sản xuất
Hình 3.60: Biểu đồ hoạt động xóa năm sản xuất
3.3.3.4 Biểu đồ hoạt động admin quản lý phim
Hình 3.61: Biểu đồ hoạt động thêm phim
Hình 3.62: Biểu đồ hoạt động sửa phim
Hình 3.63: Biểu đồ hoạt động xóa phim
3.3.3.5 Biểu đồ hoạt động admin quản lý người dùng
+ Chức năng thêm người dùng
Hình 3.64: Biểu đồ hoạt động thêm người dùng
+ Chức năng sửa người dùng
Hình 3.65: Biểu đồ hoạt động sửa người dùng
+ Chức năng xóa người dùng
Hình 3.66: Biểu đồ hoạt động xóa người dùng
3.3.3.6 Biểu đồ hoạt động admin quản lý bình luận
+ Chức năng xóa bình luận
Hình 3.67: Biểu đồ hoạt động xóa bình luận
3.3.3.7 Biểu đồ hoạt động admin quản lý giao dịch
+ Chức năng xem danh sách nạp ví
Hình 3.68: Biểu đồ hoạt động xem danh sách nạp ví
+ Chức năng xem danh sách mua phim
Hình 3.69: Biểu đồ hoạt động xem danh sách mua phim
3.3.3.8 Biểu đồ hoạt động admin, user đăng nhập
Hình 3.70: Biểu đồ hoạt dộng đăng nhập
3.3.3.9 Biểu đồ hoạt động user đăng lý
Hình 3.71: Biểu đồ hoạt động đăng ký
3.3.3.10 Biểu đồ hoạt động user quản lý hồ sơ cá nhân
+ Chức năng sửa thông tin cá nhân
Hình 3.72: Biểu đồ hoạt động chỉnh sửa thông tin cá nhân
3.3.3.11 Biểu đồ hoạt động user xem phim
+ Chức năng xem chi tiết phim và trailer
Hình 3.73: Biểu đồ hoạt động xem chi tiết phim và trailer
Hình 3.74: Biểu đồ hoạt động xem phim
3.3.3.12 Biểu đồ hoạt động user bình luận
+ Chức năng thêm bình luận
Hình 3.75: Biểu đồ hoạt động bình luận
+ Chức năng sửa bình luận
Hình 3.76: Biểu đồ hoạt động sửa bình luận
+ Chức năng xóa bình luận
Hình 3.77: Biểu đồ hoạt động xóa bình luận
3.3.3.13 Biểu đồ hoạt động user quản lý ví
+ Chức năng xem số dư trong ví
Hình 3.78: Biểu đồ hoạt động xem số dư trong ví
3.3.3.14 Biểu đồ hoạt động user tìm kiếm
+ Chức năng tìm kiếm theo textbox
Hình 3.79: Biểu đồ hoạt động tìm kiếm theo textbox
+ Chức năng tìm kiếm theo danh mục
Hình 3.80: Biểu đồ hoạt động tìm kiếm theo danh mục
XÂY DỰNG CHƯƠNG TRÌNH
XÂY DỰNG CƠ SỞ DỮ LIỆU
4.1.1 Biểu đồ cơ sở dữ liệu vật lý
Hình 4.1: Biểu đồ cơ sở dữ liệu vật lý
4.1.2 Mô tả các bảng trong cơ sở dữ liệu
- Bảng Thể loại (cates): dùng để lưu dữ liệu về các thể loại phim
Bảng 4.1: Chi tiết bảng Thể loại (cates)
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Id Bigint(20) Khoá chính Mã thể loại
2 Cate_name Varchar(150) Not null Tên thể loại
- Bảng Quốc gia (nations): dùng để lưu dữ liệu về các quốc gia của phim
Bảng 4.2: Chi tiết bảng Quốc gia (nations)
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Id Bigint(20) Khoá chính Mã quốc gia
Varchar(30) Not null Tên quốc gia
- Bảng Năm sản xuất (years): dùng để lưu dữ liệu về năm sản xuất của phim
Bảng 4.3: Chi tiết bảng Năm sản xuất (years)
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Id Bigint(20) Khoá chính Mã năm sản xuất
2 Year Varchar(255) Not null Tên năm sản xuất
- Bảng Ngôn ngữ (languages): dùng để lưu dữ liệu về ngôn ngữ của phim
Bảng 4.4: Chi tiết bảng Ngôn ngữ (languages)
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Id Bigint(20) Khoá chính Mã ngôn ngữ
2 Language Varchar(30) Not null Tên ngôn ngữ
- Bảng Phim (movies): dùng để lưu dữ liệu về phim
Bảng 4.5: Chi tiết bảng Phim (movies)
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Id Bigint(20) Khoá chính Mã phim
2 Vie_name Varchar(255) Not null Tên phim bằng tiếng Việt
3 Eng_name Varchar(255) Not null Tên phim bằng tiếng Anh
4 Cate_id Bigint(20) Khoá ngoại Mã thể loại
5 Nation_id Bigint(20) Khoá ngoại Mã quốc gia
6 Language_id Bigint(20) Khoá ngoại Mã ngôn ngữ
7 Year_id Bigint(20) Khoá ngoại Mã năm sản xuất
Varchar(255) Not null Hình ảnh poster
9 Information Longtext Not null Nội dung phim
10 Trailer Varchar(255) Not null Trailer phim
11 Director Varchar(255) Not null Đạo diễn
12 Actor Varchar(255) Not null Diễn viên
13 Quality Varchar(255) Not null Chất lượng phim
14 Point Varchar(255) Not null Điểm phim
15 Time Varchar(255) Not null Thời lượng
16 Price Decimal(11,3) Not null Giá phim
- Bảng Liên kết phim (links): dùng để lưu dữ liệu về liên kết mã nhúng phim
Bảng 4.6: Chi tiết bảng Liên kết phim (links)
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Id Bigint(20) Khoá chính Mã liên kết
2 Movie_id Bigint(20) Khoá ngoại Mã phim
3 Link1 Longtext Not null Liên kết 1
4 Link2 Longtext Null Liên kết 2
5 Link3 Longtext Null Liên kết 3
6 Link4 Longtext Null Liên kết 4
7 Link5 Longtext Null Liên kết 5
8 Link6 Longtext Null Liên kết 6
- Bảng Người dùng (users): dùng để lưu dữ liệu về người dùng
Bảng 4.7: Chi tiết bảng Người dùng (users)
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Id Bigint(20) Khoá chính Mã người dùng
2 Username Varchar(20) Not null Tài khoản
3 Password Varchar(60) Not null Mật khẩu
4 Email Varchar(255) Not null Thư điện tử
5 Name Varchar(30) Not null Tên người dùng
6 Level Tinyint (4) Not null Cấp độ truy cập
- Bảng Bình luận (comments): dùng để lưu dữ liệu về bình luận
Bảng 4.8: Chi tiết bảng Bình luận (comments)
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Id Bigint(20) Khoá chính Mã bình luận
2 User_id Bigint(20) Khoá ngoại Mã người dùng
3 Movie_id Bigint(20) Khoá ngoại Mã phim
4 Comment Varchar(255) Not null Nội dung bình luận
- Bảng Tủ phim (cabinets): dùng để lưu dữ liệu về tủ phim của người dùng
Bảng 4.9: Chi tiết bảng Tủ phim (cabinets)
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Id Bigint(20) Khoá chính Mã tủ phim
2 User_id Bigint(20) Khoá ngoại Mã người dùng
3 Movie_id Bigint(20) Khoá ngoại Mã phim
- Bảng Ví (wallets): dùng để lưu dữ liệu về ví tiền của người dùng
Bảng 4.10: Chi tiết bảng Ví (wallets)
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Id Bigint(20) Khoá chính Mã ví
2 User_id Bigint(20) Khoá ngoại Mã người dùng
3 Money Decimal(11,3) Not null Tổng tiền trong ví
- Bảng Nạp ví (wallet_charges): dùng để lưu dữ liệu nạp tiền của người dùng
Bảng 4.11: Chi tiết bảng Nạp ví (wallet_charges)
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Id Bigint(20) Khoá chính Mã nạp tiền
2 User_id Bigint(20) Khoá ngoại Mã người dùng
3 Wallet_id Bigint(20) Khoá ngoại Mã ví
4 Orderid Varchar(255) Not null Số hoá đơn
5 Money Decimal(11,3) Not null Số tiền nạp
- Bảng Mua phim (payments): dùng để lưu dữ liệu mua phim của người dùng
Bảng 4.12: Chi tiết bảng Mua phim (payments)
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Id Bigint(20) Khoá chính Mã mua phim
2 User_id Bigint(20) Khoá ngoại Mã người dùng
3 Movie_id Bigint(20) Khoá ngoại Mã phim
CÀI ĐẶT HỆ THỐNG
4.2.1 Giao diện quản trị viên (Admin)
4.2.1.1 Giao diện trang đăng nhập Admin
Hình 4.2: Giao diện trang đăng nhập Admin
- Chức năng trên màn hình
+ Nút Đăng nhập dùng để đăng nhập vào trang quản trị
4.2.1.2 Giao diện trang chủ Admin
Hình 4.3: Giao diện trang chủ Admin
- Chức năng trên màn hình
+ Logo Movie dùng để mở trang người dùng
+ “TỔNG QUAN” dùng để mở trang chủ Admin
+ “Danh mục” dùng để quản lý các danh mục: Thể loại, Quốc gia, Năm sản xuất + “Phim” dùng để quản lý các mục phim: Phim, Tủ phim, Bình luận
+ “Người dùng” dùng để quản lý người dùng
+ “Giao dịch” dùng để quản lý các giao dịch: Nạp ví, Mua phim
+ “Thống kê” dùng để xem thống kế: Nạp ví, Mua phim
+ Nút “