Màn hình Danh sách các tập phim tải xuống .... Giao diện hiện đại và thân thiện của các ứng dụng giúp tăng cường trải nghiệm người dùng, đi kèm với các chức năng tìm kiếm thông minh và k
GIỚI THIỆU ĐỀ TÀI
Mở đầu
Việc xem phim đóng vai trò quan trọng trong đời sống của con người, mang lại những lợi ích đa dạng Nó không chỉ là một hình thức giải trí và giảm stress hiệu quả mà còn tạo nguồn năng lượng tích cực và động lực Xem phim cung cấp cơ hội học hỏi và mở rộng kiến thức, giúp người xem hiểu biết về văn hóa, lịch sử và nhiều lĩnh vực khác Thông qua trải nghiệm xã hội, nó còn tạo ra những kỷ niệm đặc biệt và tăng cường kết nối xã hội
Ngoài ra, xem phim thúc đẩy sự phát triển tư duy và trí tưởng tượng, giúp người xem thách thức bản thân và khám phá những ý tưởng mới Nó cũng đóng vai trò trong việc thiết lập giá trị và triết lý cá nhân, đồng thời là một phương tiện giao tiếp nghệ thuật, mang lại trải nghiệm thị giác và sáng tạo
Việc có ứng dụng di động và trang web xem phim không chỉ mang lại sự thuận tiện và linh hoạt cao cho người xem mà còn cung cấp trải nghiệm người dùng tối ưu hóa Giao diện hiện đại và thân thiện của các ứng dụng giúp tăng cường trải nghiệm người dùng, đi kèm với các chức năng tìm kiếm thông minh và khả năng tương tác với người xem
Hiện nay theo thống kê từ movieguide.org [1], tổng số người xem phim trực tuyến trên thường xuyên lên tới hơn 70% dân số đều xem phim Trong đó, theo kết quả nghiên cứu từ GMO-Z.com RUNSYSTEM [2] cho thấy có đến hơn 67% người tham gia khảo sát có sử dụng nền tảng xem phim có bản quyền, trong đó chiếm tỉ lệ nhiều nhất là Netflix với 41.9%, và thiết bị chủ yếu khảo sát viên sử dụng rơi vào Laptop và SmartPhone
Hình 1.1 Biểu đồ tỉ lệ người xem ở các nền tảng xem phim trực tuyến
1.1.1.2 Lý do chọn đề tài
Xuất phát từ nhu cầu thực tế trong đời sống, việc xây dựng một phần mềm xem phim, cũng như xây dựng một hệ thống khuyến nghị sẽ giúp người dùng có thể tìm thấy những bộ phim mới, phù hợp với sở thích của họ Việc sử dụng hệ thống khuyến nghị có thể giúp cho người dùng tiết kiệm thời gian tìm kiếm, đồng thời cũng giúp tăng trải nghiệm xem phim cho người dùng Để giải quyết vấn đề trên, nhóm em quyết định chọn đề tài Xây dựng app và web xem phim tích hợp hệ thống khuyến nghị nhằm phát triển một ứng dụng cung cấp một lựa chọn phù hợp với người sử dụng nhất giúp cải thiện trải nghiệm người dùng và tăng khả năng giữ chân khách hàng.
1.1.2 Mục đích và phạm vi của đề tài
- Xây dựng hệ thống quản lý các bộ phim
- Lên danh sách và cập nhật các bộ phim, sắp xếp các bộ phim theo danh mục, diễn viên, đạo diễn Từ đó người dùng có thể tìm kiếm phim hiệu quả
- Xây dựng hệ thống gợi ý phim dựa thể loại phim đang coi của người dùng và cung cấp các bộ phim phù hợp nhất cho họ
1.1.2.2 Phạm vi đề tài Đề tài tập trung xây dựng ứng dụng hỗ trợ người dùng coi phim Đối với admin sẽ tương tác trực tiếp trên Database
Triển khai sản phẩm đề tài trên Mobile và phát triển sang cả môi trường Web
- Chức năng coi phim, tìm phim
- Thêm/Bỏ danh sách phim
- Quản lý danh sách xem phim
- Chức năng xem thông tin phim
- Chức năng xem thông tin diễn viên và đạo diễn và những bộ phim liên quan
- Quản lý hồ sơ cá nhân người dùng
- Thông báo về các bộ phim sắp ra mắt và các thông báo về tài khoản người dùng
- Hệ thống khuyến nghị phim theo bộ phim đang xem
- Chức năng tìm kiếm phim theo keyword
1.1.2.3 Đối tượng Đồ án này tập trung nghiên cứu:
- Mô hình hoạt động của ứng dụng xem phim
- Tìm hiểu công nghệ: Dart, Flutter, Supabase - PostgreSQL, Microsoft Azure
- Phân tích các giải pháp của các ứng dụng tương tự trên thị trường
- Thực hiện khảo sát nhu cầu, tình trạng thực tế của người dùng
- Phân tích và xác định yêu cầu
- Thiết kế cơ sở dữ liệu
- Nền tảng phát triển: Supabase - PostgreSQL
- Công cụ xây dựng ứng dụng: Visual Studio Code.
Tổng quan
1.2.1.1 Khảo sát các phần mềm hiện nay
Sau khi tìm hiểu các công nghệ và phần mềm tương tự có mặt tại Việt Nam, dưới đây là bảng so sánh của một số phần mềm tiêu biểu
Bảng 1.1 Bảng khảo sát các phần mềm hiện nay
Bắt buộc đăng nhập để sử dụng Có Có Không
Cho phép đăng nhập từ bên thứ 3 Không Không Có
Cho phép bình luận Không Không Có
Cho phép Tải xuống Có Có Có (giới hạn 10 lượt/ngày) Đề xuất phim Không Có Không
Lưu thông tin diễn viên Có Không Không
Theo dõi thời lượng đã xem mỗi tập phim
Có Có Không Đa dạng thể loại Có Có Không
Có thể xem miễn phí Không Có Có
Hầu hết các phần mềm đều quản lý số lượng lớn các bộ phim với đa dạng thể loại Trong đó vấn đề bảo mật và mức độ linh hoạt cũng được coi trọng
Dưới đây là bảng phân tích chi tiết phần mềm xem phim được đánh giá khá cao, Netflix
Bảng 1.2 Bảng phân tích các khía cạnh Netflix
Netflix sử dụng một kiến trúc phân tán để đảm bảo mức độ linh hoạt và mở rộng Cơ sở dữ liệu phải xử lý hàng triệu dữ liệu về người dùng, lịch sử xem phim, và thông tin phim Sự mở rộng đồng thời và cân nhắc kỹ thuật là quan trọng để đảm bảo trải nghiệm người dùng liền mạch
Giao diện người dùng của Netflix được thiết kế để đáp ứng tốt trên nhiều thiết bị và kích thích việc tương tác Kỹ sư phần mềm phải liên tục tối ưu hóa trải nghiệm người dùng, đồng thời sử dụng thuật toán máy học để đề xuất nội dung cá nhân hóa dựa trên lịch sử xem phim và sở thích cá nhân của người dùng
Hệ thống quản lý nội dung phải xử lý hàng nghìn, thậm chí hàng triệu tiêu đề phim, đồng thời quản lý các biến thể chất lượng video và phụ đề Công nghệ mã hóa và lưu trữ phải được tối ưu hóa để đảm bảo tải nhanh và chất lượng video cao
Bảo mật là mối quan tâm hàng đầu với Netflix vì thông tin người dùng, đặc biệt là thông tin thanh toán, phải được bảo vệ chặt chẽ Kỹ sư phần mềm cần triển khai các biện pháp bảo mật như mã hóa mạnh mẽ, kiểm soát truy cập và giám sát hệ thống liên tục
Việc tối ưu hóa hiệu suất là quan trọng để đảm bảo việc xem phim mượt mà và không gặp gián đoạn Kỹ sư phần mềm cần theo dõi hiệu suất hệ thống, tối ưu hóa mã nguồn và áp dụng các kỹ thuật caching để giảm thiểu thời gian tải
1.2.2 Những vấn đề còn tồn tại
Mặc dù các ứng dụng và trang web xem phim đã phát triển rất nhanh chóng và mang lại nhiều lợi ích cho người dùng, nhưng vẫn còn một số vấn đề cần đối mặt
- Chất lượng Video và hiệu suất: Mặc dù nhiều dịch vụ cung cấp chất lượng video cao, nhưng tùy thuộc vào kết nối internet, người dùng có thể gặp vấn đề với độ giữ kết nối và chất lượng hình ảnh
- Tương thích và Đa nền tảng:
- Tính tương thích giữa các thiết bị và hệ điều hành khác nhau có thể là một thách thức, đặc biệt là khi cập nhật hệ điều hành mới
- Tích hợp không đồng đều giữa các ứng dụng di động và trang web cũng có thể làm giảm trải nghiệm người dùng
- Chất lượng Nội dung và Sự đa dạng: Mặc dù có nhiều nội dung khổng lồ, nhưng chất lượng và sự đa dạng của nội dung vẫn là một vấn đề, đặc biệt là đối với các thể loại phim và chương trình không phổ biến
1.2.3 Vấn đề đề tài tập trung Để giải quyết một số vấn đề còn tồn đọng cũng như duy trì những thế mạnh của nền công nghiệp xem phim hiện nay, nhóm tập trung nghiên cứu:
- Vấn đề hiệu suất: đảm bảo việc xem phim được diễn ra một cách mượt mà, duy trì kết nối ổn định, đem lại trải nghiệm có thể làm hài lòng người dùng
- Tính tương thích phần mềm: Xây dựng phần mềm có thể hoạt động trên nhiều nền tảng nhất có thể và tăng tính trải nghiệm người dùng
- Cải thiện chất lượng xem phim: Có thể xây dựng hệ thống khuyến nghị các bộ phim tương tự dựa trên thể loại phim của người dùng đang xem, góp phần làm người dùng hứng thú hơn khi sử dụn0g phần mềm
NGHIÊN CỨU THỰC NGHIỆM – LÝ THUYẾT
Cơ sở lý thuyết
Flutter [3] là một khung nguồn mở do Google phát triển và hỗ trợ Các nhà phát triển frontend và fullstack sử dụng Flutter để xây dựng giao diện người dùng (UI) của ứng dụng cho nhiều nền tảng chỉ với một nền mã duy nhất
Tại thời điểm ra mắt vào năm 2018, Flutter chủ yếu hỗ trợ phát triển ứng dụng di động Hiện nay, Flutter hỗ trợ phát triển ứng dụng trên sáu nền tảng: iOS, Android, web, Windows, MacOS và Linux
Flutter sử dụng Ngôn ngữ Dart Dart là ngôn ngữ thuần OOP, nó được sử dụng để xây dựng các ứng dụng web, server, máy tính để bàn và thiết bị di động
Sự hình thành và phát triển của Flutter có thể giải quyết cho vấn đề thường gặp ở trên di động là Fast Development – phát triển nhanh và Native Performance – hiệu suất gốc Sử dụng Flutter hoàn toàn không mất phí và dùng với mã nguồn mở
Flutter thường bao gồm 2 thành phần chính quan trọng như sau:
- Một SDK (Software Development Kit): Đây là một bộ sưu tập bao gồm các công cụ có thể hỗ trợ cho người dùng có thể phát triển được các ứng dụng nền của mình Những điều này thường bao gồm các công cụ có trình để biên dịch mã thành các mã gốc dành riêng cho hệ điều hành iOS và Android
- Một Framework (UI Library based on widgets): Mỗi một tập hợp những thành phần giao diện của người dùng đều có thể thực hiện tái sử dụng vô cùng dễ dàng nên người sử dụng có thể cá nhân hóa tùy theo nhu cầu riêng của bản thân mình
Tính năng phát triển nhanh chóng các ứng dụng: Hầu hết, mọi tính năng hot reload của Flutter giúp cho người dùng có thể sử dụng thử nghiệm nhanh chóng và dễ dàng hơn rất nhiều Với khả năng xây dựng giao diện cho người dùng cộng thêm các tính năng về sửa lỗi nhanh chóng nên Flutter đang thu hút không ít người sử dụng lựa chọn Ngoài ra, các trải nghiệm về thực hiện tải lại lần thứ hai đều rất dễ dàng mà không làm mất đi trạng thái ở trên emulator, simulator và device cho cả iOS và Android.UI đẹp mắt và có tính biểu cảm: Flutter thỏa mãn người sử dụng nhờ các widget built-in vô cùng đẹp mắt dựa theo Material Design và Cupertino (iOS-flavor), thì các API sẽ thực hiện chuyển động theo nhiều hướng phong phú, scroll tự nhiên và mượt mà nên có thể tự động nhận thức được các nền tảng cần thiết
- Có hiệu ứng, hiệu suất ứng dụng cao
- Có sự giao tiếp với hệ thống gần như trực tiếp
- Sử dụng ngôn ngữ kiểu tĩnh nhưng có cú pháp hiện đại, linh động
- Có thể chạy giả lập mobile ở trên web, tiện ích cho sự phát triển Những bộ đo lường chỉ số hiệu suất giúp cho lập trình viên có thể kiểm soát hiệu suất của ứng dụng một cách hiệu quả
- Có thể dùng trong xây dựng các nền tảng gắn liền với ứng dụng thực tế nhằm tăng hiệu suất
- Bộ Render UI được nhóm phát triển hầu như là viết lại, nó không có sự liên quan đến UI của Framework native, từ đó khiến cho memory sử dụng quá nhiều Đồng thời, những UI không chung cùng OS, nó được phát triển riêng nó tương tự với Android nhưng UI của Android thì lại khác với iOS
- Để dùng Flutter thì bạn cần phải học thêm ngôn ngữ Dart Dart lại không phổ biến lắm và có thể ảnh hưởng tới sự phát triển các ứng dụng trên thiết bị
Supabase [4] là một giải pháp thay thế Firebase mã nguồn mở cung cấp Backend dưới dạng Dịch vụ cho nhiều ứng dụng khác nhau Các công cụ mà Supabase cung cấp như sau:
- Cơ sở dữ liệu Postgres được lưu trữ
- Đăng ký thời gian thực
- Xác thực và ủy quyền
- API được tạo tự động
Supabase cung cấp tất cả các tính năng phụ trợ mà bạn cần để xây dựng một sản phẩm Bạn có thể sử dụng tất cả các công cụ hoặc chỉ những công cụ bạn cần nhất, ví dụ:
- Cơ sở dữ liệu: Cơ sở dữ liệu Postgres riêng tư, có thể mở rộng
- Thẩm quyền: Quản lý người dùng với Bảo mật cấp hàng
- Lưu trữ tập tin: Lưu trữ, sắp xếp và trình bày các tệp lớn
- API được tạo tự động: Tạo ngay API cho cơ sở dữ liệu của bạn
Supabase được xây dựng trên phần mềm nguồn mở Công cụ và cộng đồng MIT, Apache 2 hoặc, nếu có sẵn theo giấy phép tương thích, họ sẽ sử dụng và quảng bá chúng
Nếu nó chưa tồn tại, họ sẽ tạo chương trình và xuất bản nó Supabase không phải là bản đồ một - một của Firebase về mặt tính năng Mục đích của họ là cung cấp cho các nhà phát triển trải nghiệm phát triển tương tự bằng cách sử dụng các công nghệ nguồn mở
Supabase là một nền tảng được lưu trữ Bạn có thể đăng ký ngay và bắt đầu sử dụng Supabase mà không cần phải cài đặt bất cứ thứ gì trên máy chủ của mình Bạn cũng có thể lưu trữ và phát triển mọi thứ tại máy tính
Nghiên cứu thực nghiệm
Tên bộ dữ liệu: TMDB 5000 Movie Dataset
Tổng quan bộ dữ liệu: Bộ dữ liệu "TMDB 5000 Movie Dataset" là một tập dữ liệu chứa thông tin về các bộ phim từ trang web The Movie Database (TMDB) Dữ liệu này cung cấp một bản tổng quan về hàng ngàn bộ phim, bao gồm thông tin về đạo diễn, diễn viên, thể loại, ngày phát hành, đánh giá, doanh thu, và nhiều thuộc tính khác
Sử dụng mô hình ranking để xếp loại các dữ liệu dựa trên các đánh giá trọng số của một thức đo đánh giá và tính lấy trung bình của các truy vấn theo mô hình List-wise models
[5]Phương pháp "listwise" là một hướng tiếp cận trong huấn luyện mô hình khuyến nghị dựa trên ranking, nơi mục tiêu là tối ưu hóa trực tiếp một hàm mất mát liên quan đến độ đo hiệu suất của toàn bộ danh sách các mục được đề xuất cho một người dùng Thay vì xem xét từng cặp mục hoặc dự đoán xác suất mỗi mục, phương pháp listwise đánh giá hiệu suất của mô hình trên toàn bộ danh sách và tối ưu hóa theo hàm mất mát liên quan đến thứ tự đúng của các mục trong danh sách
- Hàm mất mát thường được thiết kế để đo lường sự chênh lệch giữa thứ tự dự đoán của mô hình và thứ tự đúng của các mục trong danh sách
- Một ví dụ phổ biến là Normalized Discounted Cumulative Gain (NDCG), một thước đo đánh giá độ chất lượng của một danh sách dựa trên sự chênh lệch giữa thứ tự dự đoán và thứ tự đúng, với sự giảm giá được áp dụng cho các mục ở vị trí cao hơn trong danh sách
- Các thuật toán được thiết kế để tối ưu hóa hàm mất mát listwise thường đặc trưng bởi việc sử dụng các kỹ thuật học tập sâu (deep learning) hoặc học tập xếp hạng (learning to rank)
- Mô hình có thể sử dụng các kiến trúc như mạng nơ-ron, mạng nơ-ron học tập sâu, hoặc các mô hình nhúng (embedding models)
- Dữ liệu đầu vào cho phương pháp listwise thường bao gồm các cặp người dùng và danh sách các mục được đề xuất, cùng với thông tin về thứ tự đúng của các mục đó
- Mỗi điểm dữ liệu đầu vào thường biểu diễn một người dùng và một danh sách đề xuất
Sử dụng mô hình xếp hạng (ranking) top 250 bộ phim của IMDB dựa trên số lượt bình chọn, có trọng số dựa trên công thức sau:
- 𝑊 đánh giá có trọng số
- 𝑅 trung bình cho phim dưới dạng số từ 1 đến 10 (trung bình) = (Xếp hạng)
- 𝑣 số lượt bình chọn cho bộ phim = (phiếu bầu)
- m số phiếu tối thiểu bắt buộc phải được liệt kê trong Top 250 (hiện tại là 25.000)
- 𝐶 phiếu bầu trung bình trên toàn bộ báo cáo
Công thức này sử dụng xác suất hậu nghiệm Bayesian
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Yêu cầu chức năng
Bảng 3.1 Danh sách các chức năng
STT Chức năng Ghi chú
6 Hiện danh sách phim theo thể loại, hạng mục
7 Tìm kiếm phim theo từ khoá
8 Danh sách các thông báo về phim mới nhất
9 Danh sách các phim tải xuống Chỉ có trên mobile
12 Tạo danh sách phim yêu thích
13 Đánh giá phim Đánh giá bằng cách cho điểm trên thang 5
14 Danh sách phim đề xuất
16 Danh sách đội ngũ sản xuất
17 Điều chỉnh tốc độ phim
18 Khoá màn hình xem phim Chỉ có trên mobile
19 Xem và chỉnh sửa hồ sơ người dùng
Yêu cầu phi chức năng
- Giao diện người dùng thân thiện, dễ sử dụng, đáp ứng các nhu cầu của người dùng
- Hệ thống bảo mật: bảo vệ thông tin khách hàng, thông tin sản phẩm, thông tin nhân viên và dữ liệu kinh doanh khác khỏi các mối đe dọa bên ngoài
- Tính ổn định và độ tin cậy: hệ thống phải hoạt động ổn định và đáp ứng được các yêu cầu kinh doanh trong thời gian dài mà không gặp sự cố nghiêm trọng
- Hiệu suất: Hệ thống phải cho phép thao tác và xuất kết quả nhanh chóng Truy vấn cơ sở dữ liệu và hiển thị kết quả không quá 10 giây (yêu cầu Internet)
- Tính khả dụng: Thiết bị cần được kết nối Internet
Mô tả tổng thể
Hình 3.1 Sơ đồ Use Case tổng quát
3.3.1.1 Danh sách các Use Case
Bảng 3.2 Danh sách các Use Case
ID Tên use-case Tác nhân Mô tả
UC01 Đăng nhập User Người dùng đăng nhập bằng tài khoản của mình
UC02 Quên mật khẩu User Người dùng khôi phục mật khẩu của tài khoản
UC03 Đăng ký User Người dùng tạo tài khoản mới
UC04 Tìm kiếm phim User Người dùng tìm bộ phim bằng cách nhập thông tin phim
UC05 Xem phim User Người dùng muốn xem phim và các thao tác khi xem phim
UC06 Chọn tập phim User Người dùng chọn tập phim muốn xem trong giao diện xem phim UC07 Chỉnh sửa thông tin hồ sơ
User Người dùng muốn chỉnh sửa thông tin cá nhân của mình
UC08 Thêm phim vào danh sách của tôi
User Người dùng muốn thêm phim vào danh sách phim cá nhân
UC09 Tải phim User Người dùng muốn tải phim về trên thiết bị di động
UC10 Đánh giá phim User Người dùng muốn đánh giá phim
UC11 Đổi mật khẩu User Người dùng muốn đổi mật khẩu của tài khoản
UC12 Đăng xuất User Người dùng muốn đăng xuất khỏi ứng dụng
UC13 Xoá tài khoản User Người dùng muốn xoá tài khoản
3.3.2.1 Activity Diagram cho Đăng nhập
Hình 3.2 ActivityDiagram cho đăng nhập
3.3.2.2 Activity Diagram cho Quên mật khẩu
Hình 3.3 Activity Diagram cho quên mật khẩu
3.3.2.3 Activity Diagram cho Đăng ký
Hình 3.4 Activity Diagram cho đăng ký
3.3.2.4 Activity Diagram cho Tìm kiếm phim
Hình 3.5 Activity Diagram cho tìm kiếm phim
3.3.2.5 Activity Diagram cho Xem phim
Hình 3.6 Activity Diagram cho xem phim
3.3.2.6 Activity Diagram cho Điều chỉnh phim xem
Hình 3.7 Activity Diagram cho điều chỉnh phim xem
3.3.2.7 Activity Diagram cho Chọn tập phim
Hình 3.8 Activity Diagram cho chọn tập phim
3.3.2.8 Activity Diagram cho Thêm phim vào danh sách của tôi
Hình 3.9 Activity Diagram cho Thêm phim vào danh sách của tôi
3.3.2.9 Activity Diagram cho Tải phim
Hình 3.10 Activity Diagram cho Tải phim
3.3.2.10 Activity Diagram cho Chỉnh sửa thông tin hồ sơ
Hình 3.11 Activity Diagram cho chỉnh sửa thông tin hồ sơ
3.3.2.11 Activity Diagram cho Đánh giá phim
Hình 3.12 Activity Diagram cho đánh giá phim
3.3.2.12 Activity Diagram cho Đổi mật khẩu
Hình 3.13 Activity Diagram cho đổi mật khẩu
3.3.2.13 Activity Diagram cho Đăng xuất
Hình 3.14 Activity Diagram cho đăng xuất
3.3.2.14 Activity Diagram cho Xoá tài khoản
Hình 3.15 Activity Diagram cho xoá tài khoản
Đặc tả yêu cầu
Bảng 3.3 Đặc tả use case đăng nhập
Tên use case Đăng nhập
Mô tả ngắn Người dùng đăng nhập bằng tài khoản của mình
Tác nhân chính User Điều kiện kích hoạt Người dùng mở ứng dụng hoặc website và thực hiện đăng nhập
Tiền điều kiện Người dùng chưa đăng nhập và đã có tài khoản
Hậu điều kiện Người dùng sẽ được chuyển sang trang chủ
Luồng sự kiện chính 1 Người dùng nhập email và mật khẩu, sau đó bấm nút Đăng nhập
2 Hệ thống kiểm tra thông tin email và mật khẩu
3 Hệ thống xác thực thông tin tài khoản thành công và chuyển người dùng sang trang chủ
Luồng sự kiện thay thế Không
Luồng sự kiện ngoại lệ 1.1 Người dùng nhập tên đăng nhập hoặc mật khẩu không hợp lệ, hệ thống xác thực thông tin không thành công
1.2.a Người dùng hủy đăng nhập Use case kết thúc 1.2.b Người dùng nhập lại thông tin đăng nhập và bấm nút Đăng nhập Use case quay lại UC01.2 1.2.c Người dùng bấm Quên mật khẩu Use case chuyển sang UC02.1
Bảng 3.4 Đặc tả use case quên mật khẩu
Tên use case Quên mật khẩu
Mô tả ngắn Người dùng khôi phục mật khẩu của tài khoản
Tác nhân chính User Điều kiện kích hoạt Người dùng bấm chọn Quên mật khẩu ở trang Đăng nhập
Tiền điều kiện Người dùng đã có tài khoản
Hậu điều kiện Mật khẩu được thay đổi
Luồng sự kiện chính 1 Người dùng chọn Quên mật khẩu ở trang Đăng nhập
3 Người dùng bấm nút “Gửi email”
4 Hệ thống xác thực email mà người dùng vừa nhập
5 Hệ thống gửi link đổi mật khẩu đến email người dùng nhập
Luồng sự kiện thay thế Không
Luồng sự kiện ngoại lệ 2.1 Người dùng nhập email không hợp lệ, hệ thống thông báo email không đúng
2.2.a Người dùng bấm trở về trang đăng nhập Use case kết thúc
2.2.b Người dùng nhập lại email Use case tiếp tục UC02.3
Bảng 3.5 Đặc tả use case đăng ký
Tên use case Đăng ký
Mô tả ngắn Người dùng tạo tài khoản mới
Tác nhân chính User Điều kiện kích hoạt Người dùng bấm chọn Đăng ký ở trang Đăng nhập
Tiền điều kiện Người dùng chưa có tài khoản
Hậu điều kiện Người dùng sẽ được chuyển sang trang Đăng nhập
Luồng sự kiện chính 1 Người dùng nhập tên, ngày sinh, ảnh avatar (không bắt buộc), email và mật khẩu, sau đó bấm nút Đăng ký
2 Hệ thống kiểm tra thông tin email và mật khẩu
3 Hệ thống gửi email xác nhận thông qua email người dùng vừa điền
3 Người dùng xác nhận email và đăng nhập
Luồng sự kiện thay thế Không
Luồng sự kiện ngoại lệ 3.1.a Người dùng nhập email không hợp lệ, hệ thống xác thực thông tin không thành công
3.1.b Người dùng nhập mật khẩu không hợp lệ, hệ thống thông báo lỗi
3.1.c Người dùng huỷ đăng ký, bấm trở về trang Đăng nhập Use case kết thúc
Bảng 3.6 Đặc tả use case tìm kiếm phim
Tên use case Tìm kiếm phim
Mô tả ngắn Người dùng tìm bộ phim bằng cách nhập thông tin phim
Tác nhân chính User Điều kiện kích hoạt Người dùng bấm chọn biểu tượng tìm kiếm ở trang chủ
Tiền điều kiện Người dùng đã đăng nhập
Hậu điều kiện Người dùng sẽ nhận được danh sách các bộ phim khớp từ khoá tìm kiếm
Luồng sự kiện chính 1 Người dùng từ khoá cần tìm kiếm và ấn tìm
2 Hệ thống trả về danh sách các bộ phim khớp với từ khoá
Luồng sự kiện thay thế Không
Luồng sự kiện ngoại lệ 2.1 Hệ thống không tìm thấy bộ phim nào khớp từ khoá tìm kiếm
Bảng 3.7 Đặc tả use case xem phim
Tên use case Xem phim
Mô tả ngắn Người dùng muốn xem phim và các thao tác khi xem phim
Tác nhân chính User Điều kiện kích hoạt Người dùng chọn bộ phim muốn xem
Tiền điều kiện Người dùng đã đăng nhập
Hậu điều kiện Người dùng sẽ xem được bộ phim muốn coi và điều chỉnh cài đặt theo cá nhân
Luồng sự kiện chính 1 Người dùng xem bộ phim đã chọn
2 Người dùng có thể điều chỉnh âm lượng, tốc độ phát, độ sáng màn hình tuỳ theo cá nhân
3 Người dùng có thể chọn khoá màn hình để có trải nghiệm xem phim tốt hơn
Luồng sự kiện thay thế Không
Luồng sự kiện ngoại lệ Không
Bảng 3.8 Đặc tả use case chọn tập phim
Tên use case Chọn tập phim
Mô tả ngắn Người dùng chọn tập phim muốn xem
Tác nhân chính User Điều kiện kích hoạt Người dùng chọn tập phim muốn xem
Tiền điều kiện Người dùng đang xem một bộ phim
Hậu điều kiện Người dùng sẽ xem được tập phim muốn coi
Luồng sự kiện chính 1 Người dùng có thể chọn “Tập tiếp theo” trong màn hình xem phim để phát tập tiếp theo của bộ phim
2 Người dùng có thể chọn “Các tập” trong màn hình xem phim để hiện màn hình danh sách các tập phim của bộ phim
3 Người dùng tiếp tục xem với tập phim đã chọn
Luồng sự kiện thay thế 1.2 Người dùng chọn tập muốn xem ngoài trang chi tiết bộ phim phim Use case tiếp tục UC06.3
Luồng sự kiện ngoại lệ Bộ phim đang coi chỉ có một tập
3.4.9 Chỉnh sửa thông tin hồ sơ
Bảng 3.9 Đặc tả use case chỉnh sửa thông tin hồ sơ
Tên use case Chỉnh sửa thông tin hồ sơ
Mô tả ngắn Người dùng muốn chỉnh sửa thông tin cá nhân của mình
Tác nhân chính User Điều kiện kích hoạt Người dùng bấm nút “Cập nhật”
Tiền điều kiện Người dùng đang ở trang “Chỉnh sửa thông tin hồ sơ”
Hậu điều kiện Hệ thống lưu lại thông tin cập nhật
Luồng sự kiện chính 1 Người dùng chỉnh sửa các thông tin cần thay đổi
2 Người dùng bấm nút “Cập nhật”
3 Hệ thống trả về thông báo kết quả thay đổi thông tin
Luồng sự kiện thay thế 2.1 Người dùng bấm “Quay lại” để dừng hành động
Luồng sự kiện ngoại lệ Không
3.4.11 Thêm phim vào danh sách của tôi
Bảng 3.10 Đặc tả use case thêm phim vào danh sách của tôi
Tên use case Thêm phim vào danh sách của tôi
Mô tả ngắn Người dùng muốn thêm phim vào danh sách phim cá nhân
Tác nhân chính User Điều kiện kích hoạt Người dùng bấm nút “Yêu thích”
Tiền điều kiện Người dùng đang ở trang “Chi tiết phim”
Hậu điều kiện Danh sách của tôi được cập nhật
Luồng sự kiện chính 1 Người dùng bấm nút “Yêu thích” ở trang “Chi tiết phim”
2 Bộ phim đã chọn được thêm vào danh sách của tôi
Luồng sự kiện thay thế 2.1 Bộ phim đã có trong danh sách của tôi, sau khi bấm nút “Yêu thích” sẽ xoá khỏi danh sách
Luồng sự kiện ngoại lệ Không
Bảng 3.11 Đặc tả use case tải phim
Tên use case Tải phim
Mô tả ngắn Người dùng muốn tải phim về trên thiết bị di động
Tác nhân chính User Điều kiện kích hoạt Người dùng bấm nút “Tải xuống”
Tiền điều kiện Người dùng đang ở trang “Chi tiết phim”
Hậu điều kiện Phim đã tải xuống sẽ được cập nhật trong danh sách tải xuống
Luồng sự kiện chính 1 Người dùng bấm nút “Tải xuống” ở trang “Chi tiết phim”
2 Tiến trình tải xuống diễn ra
3 Hệ thống cập nhật tình trạng tải xuống của phim, dữ liệu được lưu ở thư mục trên thiết bị di động
Luồng sự kiện thay thế 2.1 Phim đã được tải xuống, sau khi bấm nút sẽ hiện ra 2 lựa chọn: “Xoá tệp tải xuống” và “Xem Nội dung tải xuống của tôi”
3.1 Người dùng chọn “Xoá tệp tải xuống”
3.2 Người dùng chọn “Xem Nội dung tải xuống của tôi”
4.1 Phim đã tải xuống sẽ bị xoá khỏi bộ nhớ máy, xoá khỏi danh sách tải xuống
4.2 Người dùng xem phim đã tải xuống ngay cả khi offline
Luồng sự kiện ngoại lệ Không
Bảng 3.12 Đặc tả use case đánh giá phim
Tên use case Đánh giá phim
Mô tả ngắn Người dùng muốn đánh giá phim
Tác nhân chính User Điều kiện kích hoạt Người dùng bấm nút “Xem chi tiết”
Tiền điều kiện Người dùng đang ở trang “Chi tiết phim”
Hậu điều kiện Đánh giá của người dùng sẽ được cập nhật trên hệ thống
Luồng sự kiện chính 1 Người dùng đánh giá bộ phim trên thang 5 điểm và gửi lên hệ thống
2 Hệ thống ghi nhận đánh giá và cập nhật lại đánh giá của người dùng nếu có
Luồng sự kiện thay thế 1.1 Người dùng bấm nút “X” để dừng hành động
Luồng sự kiện ngoại lệ Không
Bảng 3.13 Đặc tả use case đổi mật khẩu
Tên use case Đổi mật khẩu
Mô tả ngắn Người dùng muốn đổi mật khẩu của tài khoản
Tác nhân chính User Điều kiện kích hoạt Người dùng bấm nút “Đổi mật khẩu”
Tiền điều kiện Người dùng đang ở trang “Hồ sơ”
Hậu điều kiện Mật khẩu của người dùng sẽ được cập nhật
Luồng sự kiện chính 1 Người dùng nhập mật khẩu cũ và mật khẩu mới
2 Người dùng bấm nút “Đổi mật khẩu”
3 Hệ thống xác thực mật khẩu cũ và xác nhận mật khẩu mới mà người dùng vừa nhập
4 Hệ thống thông báo đổi mật khẩu thành công
Luồng sự kiện thay thế 1.1 Người dùng bấm nút quay lại để dừng hành động
Luồng sự kiện ngoại lệ 1.1 Người dùng nhập mật khẩu cũ/mã PIN không hợp lệ, hệ thống thông báo mật khẩu cũ/mã PIN không đúng
1.2.a Người dùng hủy thay đổi mật khẩu Use Case kết thúc
1.2.b Người dùng nhập lại mật khẩu cũ và mật khẩu mới Use case tiếp tục UC11.2
Bảng 3.14 Đặc tả use case đăng xuất
Tên use case Đăng xuất
Mô tả ngắn Người dùng muốn đăng xuất khỏi ứng dụng
Tác nhân chính User Điều kiện kích hoạt Người dùng bấm nút “Đăng xuất”
Tiền điều kiện Người dùng đang ở trang “Hồ sơ”
Hậu điều kiện Người dùng đăng xuất tài khoản khỏi ứng dụng
Luồng sự kiện chính 1 Người dùng đăng xuất khỏi ứng dụng
2 Hệ thống đưa người dùng quay lại Splash Screen
Luồng sự kiện thay thế Không
Luồng sự kiện ngoại lệ Không
Tên use case Xoá tài khoản
Mô tả ngắn Người dùng muốn xoá tài khoản
Tác nhân chính User Điều kiện kích hoạt Người dùng bấm nút “Xoá tài khoàn”
Tiền điều kiện Người dùng đang ở trang “Hồ sơ”
Hậu điều kiện Người dùng xoá tài khoản khỏi hệ thống
Luồng sự kiện chính 1 Hệ thống thông báo tài khoản đã xoá thành công
2 Hệ thống đưa người dùng quay lại Splash Screen
Luồng sự kiện thay thế Không
Luồng sự kiện ngoại lệ Không
Thiết kế mô hình dữ liệu quan hệ
Hình 3.16 Sơ đồ các đối tượng
3.5.2 Danh sách bảng dữ liệu
Bảng 3.15 Danh sách các bảng đối tượng
STT Tên bảng Ý nghĩa/ghi chú
1 Person Lưu thông tin người
2 Cast Lưu thông tin diễn viên
3 Crew Lưu thông tin đội ngũ sản xuất
4 Film Lưu thông tin phim
5 Gerne Lưu thông tin thể loại
6 Film_Gerne Lưu thông tin và biểu diễn quan hệ giữa phim và thể loại
7 Seasons Lưu thông tin mùa của bộ phim
8 Episodes Lưu thông tin các tập của mùa phim
9 Review Lưu thông tin đánh giá của người dùng
10 Profile Lưu thông tin hồ sơ người dùng
3.5.4 Mô tả chi tiết từng bảng
Bảng 3.16 Chi tiết bảng Person
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 id text PRIMARY KEY Mã người
2 name text NOT NULL Tên người
4 known_for_department text Nghề tạo danh tiếng
6 gender int NOT NULL Giới tính
7 popularity int NOT NULL Độ nổi tiếng
8 profile_path text Ảnh hồ sơ
Bảng 3.17 Chi tiết bảng Cast
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 film_id text PRIMARY KEY,
2 person_id text PRIMARY KEY,
3 character text Nhân vật vào vai
Bảng 3.18 Chi tiết bảng Crew
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 film_id text PRIMARY KEY,
2 person_id text PRIMARY KEY,
3 job text Công việc được phân
Bảng 3.19 Chi tiết bảng Film
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 id text PRIMARY KEY Mã phim
2 name text NOT NULL Tên phim
3 release_date date NOT NULL Ngày phim ra mắt
4 vote_average text Điểm đánh giá trung bình của phim
5 vote_count date Số lượng đánh giá phim
6 overview text Tổng quan phim
7 trailers text Link trailer phim
8 backdrop_path text NOT NULL Ảnh nền phim
9 poster_path text NOT NULL Ảnh poster phim
10 age int Độ tuổi tối thiểu để xem phim
Bảng 3.20 Chi tiết bảng Gerne
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 id text PRIMARY KEY Mã thể loại
2 name text NOT NULL Tên thể loại
Bảng 3.21 Chi tiết bảng Film_Gerne
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 film_id text PRIMARY KEY,
2 gerne_id text PRIMARY KEY,
Bảng 3.22 Chi tiết bảng Seasons
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 id text PRIMARY KEY Mã mùa phim
2 name text NOT NULL Tên mùa phim
3 film_id text FOREIGN KEY Mã phim
Bảng 3.23 Chi tiết bảng Episodes
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 id text PRIMARY KEY Mã tập phim
2 order int NOT NULL Thứ tự tập phim
3 title text NOT NULL Tiêu đề tập phim
5 link text NOT NULL Đường dẫn đến tập phim
6 runtime int NOT NULL Thời gian tập phim
7 isDownloaded bool Kiểm tra phim có được tải trên thiết bị hay không
8 season_id text FOREIGN KEY Mã mùa phim
Bảng 3.24 Chi tiết bảng Review
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 id text PRIMARY KEY Mã đánh giá
2 start int NOT NULL Đánh giá phim
3 create_at date Thời điểm đánh giá
4 film_id text FOREIGN KEY Mã phim
5 user_id text FOREIGN KEY Mã người đánh giá
Bảng 3.25 Chi tiết bảng Profile
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 id text PRIMARY KEY Mã người dùng
2 fullname int NOT NULL Tên đầy đủ
3 avatar_url date Đường dẫn ảnh đại diện
4 dob date Ngày sinh người dùng
5 my_list varray Danh sách các bộ phim yêu thích của người dùng
XÂY DỰNG PHẦN MỀM
Thiết bị di động (Mobile)
Hình 4.1 Màn hình giới thiệu Bảng 4.1 Mô tả màn hình giới thiệu
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_BatDau Button Bắt đầu ứng dụng
Hình 4.2 Màn hình Đăng nhập Bảng 4.2 Mô tả màn hình Đăng nhập
STT Tên Kiểu Xử lý/ Chức năng
1 Txt_Email Text Điền email tài khoản
2 Txt_MatKhau Text Nhập mật khẩu tài khoản
3 Btn_DangNhap Button Đăng nhập tài khoản
4 Txt_KhoiPhuc Text Chuyển đến trang khôi phục mật khẩu
5 Txt_DangKy Text Chuyển đến trang đăng ký
Hình 4.3 Màn hình Đăng ký Bảng 4.3 Mô tả màn hình Đăng ký
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_Avatar Button Thay đổi ảnh đại diện
2 Txt_Name Text Điền tên người dùng
3 Txt_Dob Text Nhập ngày sinh người dùng
4 Txt_Email Text Nhập email người dùng
5 Txt_MatKhau Text Nhập mật khẩu cho tài khoản
6 Btn_DangKy Button Đăng ký tài khoản
Hình 4.4 Màn hình Trang chủ
Bảng 4.4 Mô tả màn hình Trang chủ
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_Search Button Chuyển đến trang tìm kiếm phim
2 Txt_TvShow Text Hiện danh sách phim bộ
3 Txt_Phim Text Hiện danh sách phim lẻ
4 Txt_TheLoai Text Hiện hộp thoại thể loại
5 Btn_Phat Button Phát phim nổi bật
6 Btn_Them Button Thêm phim nổi bật vào danh sách của tôi
7 Btn_ChiTiet Button Chuyển đến chi tiết phim
8 Btn_TrangChu Button Chuyển đến trang chủ
9 Btn_MoiHot Button Chuyển đến mục mới và hot
10 Btn_TaiXuong Button Chuyển đến mục tải xuống
11 Btn_HoSo Button Chuyển đến hồ sơ người dùng
Hình 4.5 Hộp thoại Thể loại Bảng 4.5 Mô tả hộp thoại Thể loại
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_Back Button Ẩn hộp thoại thể loại
2 Txt_TheLoai Text Hiện danh sách phim thuộc thể loại chọn
4.1.6 Màn hình Chi tiết Thể loại
Hình 4.6 Màn hình Chi tiết thể loại Bảng 4.6 Mô tả màn hình Chi tiết thể loại
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_Back Button Quay lại trang trước
2 Txt_ChiTietPhim Text Chuyển đến chi tiết phim
4.1.7 Màn hình Mới và Hot
Hình 4.7 Màn hình Mới và Hot Bảng 4.7 Mô tả màn hình Mới và hot
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_ChiTietPhim Button Chuyển đến chi tiết phim
4.1.8.1 Màn hình Danh sách các phim tải xuống
Hình 4.8 Màn hình Các phim tải xuống Bảng 4.8 Mô tả màn hình Các phim tải xuống
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_TinhTrang Button Hiện lựa chọn có xóa phim tải xuống không
2 Btn_TvSeries Button Hiện danh sách các tập phim tải xuống
4.1.8.1 Màn hình Danh sách các tập phim tải xuống
Hình 4.9 Màn hình Các tập phim tải xuống Bảng 4.9 Mô tả màn hình Các tập phim tải xuống
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_TinhTrang Button Hiện lựa chọn có xóa tập phim tải xuống không
Hình 4.10 Màn hình Hồ sơ Bảng 4.10 Mô tả màn hình Hồ sơ
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_Edit Button Chỉnh sửa hồ sơ
2 Btn_Xoa Button Xóa tài khoản
3 Btn_DoiMatKhau Button Chuyển đến trang đổi mật khẩu
4 Btn_DanhSach Button Chuyển đến mục danh sách của tôi
5 Btn_CaiDat Button Chuyển đến mục cài đặt
6 Btn_ DangXuat Button Đăng xuất tài khoản
4.1.10 Màn hình Đổi mật khẩu
Hình 4.11 Màn hình Đổi mật khẩu Bảng 4.11 Mô tả màn hình Đổi mật khẩu
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_Back Button Quay lại trang trước
2 Txt_OldPass Text Nhập mật khẩu cũ
3 Txt_NewPass Text Nhập mật khẩu mới
4 Txt_Confirm Text Xác nhận mật khẩu mới
5 Btn_DoiMatKhau Button Đổi mật khẩu
4.1.11 Màn hình Danh sách của tôi
Hình 4.12 Màn hình Danh sách của tôi Bảng 4.12 Mô tả màn hình danh sách phát của tôi
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_Back Button Quay lại trang trước
2 Btn_ChiTietPhim Button Chuyển đến trang chi tiết phim
4.1.12 Màn hình Chi tiết phim
Hình 4.13 Màn hình chi tiết phim
Bảng 4.13 Mô tả màn hình chi tiết phim
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_Back Button Quay lại trang trước
2 Btn_Phat Button Phát phim
3 Btn_TaiXuong Button Tải xuống phim
4 Btn_XemChiTiet Button Xem các đánh giá phim
5 Btn_DeXuat Button Hiện mục phim đề xuất
6 Btn_DienVien Button Hiện mục diễn viên phim
7 Btn_DoiNgu Button Hiện mục đội ngũ sản xuất
4.1.12.1 Màn hình Đề xuất phim
Hình 4.14 Mục Đề xuất phim
Bảng 4.14 Mô tả mục đề xuất phim
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_ChiTietPhim Button Chuyển đến trang chi tiết phim
4.1.12.2 Màn hình Diễn viên phim
Hình 4.15 Màn hình mục diễn viên phim Bảng 4.15 Mô tả mục danh sách diễn viên phim
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_ChiTietNguoi Button Chuyển đến trang chi tiết diễn viên
4.1.12.3 Màn hình Đội ngũ phim
Hình 4.16 Màn hình mục danh sách đội ngũ phim Bảng 4.16 Mô tả mục danh sách đội ngũ
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_ChiTietNguoi Button Chuyển đến trang chi tiết đội ngũ
4.1.12.1 Màn hình Danh sách tập phim
Hình 4.17 Màn hình Danh sách tập phim Bảng 4.17 Mô tả màn hình Danh sách tập phim
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_TapPhim Button Xem tập phim
2 Btn_TaiTapPhim Button Tải tập phim
Hình 4.18 Màn hình tải phim Bảng 4.18 Mô tả màn hình tải phim
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_TaiPhim Button Xem tiến trình tải phim
4.1.12.3 Hộp thoại phim đã tải
Hình 4.19 Hộp thoại phim đã tải Bảng 4.19 Mô tả hộp thoại phim đã tải
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_Xem Button Xem phim đã tải
2 Btn_Xoa Button Xóa phim đã tải
4.1.12.4 Hộp thoại Đánh giá phim
Hình 4.20 Hộp thoại Đánh giá phim Bảng 4.20 Mô tả hộp thoại Đánh giá phim
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_Dong Button Đóng hộp thoại đánh giá phim
2 Btn_DanhGia Button Gửi đánh giá phim
4.1.13 Màn hình Tìm kiếm phim
4.1.13.1 Màn hình Tìm kiếm phim
Hình 4.21 Màn hình Tìm kiếm phim Bảng 4.21 Mô tả màn hình Tìm kiếm phim
STT Tên Kiểu Xử lý/ Chức năng
1 Txt_TimKiem Text Nhập nội dung cần tìm kiếm
4.1.13.1 Màn hình Kết quả tìm kiếm phim
Hình 4.22 Màn hình Kết quả tìm kiếm phim Bảng 4.22 Mô tả màn hình Kết quả tìm kiếm phim
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_Phim Button Chuyển đến chi tiết phim
Hình 4.23 Hộp thoại Đăng xuất Bảng 4.23 Mô tả hộp thoại đăng xuất
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_Co Button Xác nhận đăng xuất
2 Btn_Huy Button Hủy đăng xuất
Hình 4.24 Màn hình Xem phim Bảng 4.24 Mô tả màn hình xem phim
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_TocDo Button Điều chỉnh tốc độ phát
2 Btn_Khoa Button Khóa màn hình xem phim
3 Scroll_DoSang Scroll Điều chỉnh độ sáng
4 Btn_TuaLui Button Tua lùi đoạn xem phim
5 Btn_TuaLen Button Tua lên đoạn xem phim
6 Btn_TamDung Button Tạm dừng phim
Trang mạng (Website)
Hình 4.25 Màn hình Web Giới thiệu 1
Hình 4.26 Màn hình Web Giới thiệu 2
Hình 4.27 Màn hình Web Giới thiệu 3 Bảng 4.25 Mô tả màn hình trang mở đầu
STT Tên Kiểu Xử lý/ Chức năng
1 Txt_Email Text Nhập email đăng ký tài khoản
2 Btn_BatDau Button Bắt đầu đăng ký tài khoản
3 Btn_DangNhap Button Đăng nhập tài khoản
4 Btn_FAQ Button Những câu hỏi thường gặp
Hình 4.28 Màn hình Web Trang chủ 1
Hình 4.29 Màn hình Web Trang chủ 2
Bảng 4.26 Mô tả màn hình web trang chủ
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_Search Button Chuyển đến trang tìm kiếm phim
3 Btn_MoiHot Button Chuyển đến mục mới và hot
4 Btn_AmLuon Button Điều chỉnh âm lượng phim nổi bật
5 Btn_Phat Button Phát phim nổi bật
6 Btn_ThongTinKhac Button Chuyển đến chi tiết phim nổi bật
7 Btn_ChiTiet Button Chuyển đến chi tiết phim
8 Btn_TrangChu Button Chuyển đến trang chủ
9 Btn_DanhSachCuaToi Button Chuyển đến mục danh sách của tôi
10 Btn_HoSo Button Chuyển đến hồ sơ người dùng
11 Btn_MoiPhatHanh Button Chuyển đến mục phim mới
12 Btn_ChiTietPhim Button Chuyển đến trang chi tiết phim
Hình 4.30 Màn hình Web phim chi tiết 1
Hình 4.31 Màn hình Web phim chi tiết 2 Bảng 4.27 Mô tả màn hình web phim chi tiết
STT Tên Kiểu Xử lý/ Chức năng
1 Btn_Back Button Quay lại trang trước
2 Btn_ChonMua Button Chọn mùa phim
3 Btn_Phat Button Phát phim
4 Btn_XemTapPhim Button Xem tập phim
5 Btn_XemChiTiet Button Xem các đánh giá phim
6 Btn_DeXuat Button Hiện mục phim đề xuất
7 Btn_DienVien Button Hiện mục diễn viên phim
8 Btn_DoiNgu Button Hiện mục đội ngũ sản xuất