1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị

96 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 96
Dung lượng 6,8 MB

Cấu trúc

  • Chương 1. GIỚI THIỆU ĐỀ TÀI (13)
    • 1.1. Mở đầu (13)
      • 1.1.1. Đề tài (13)
        • 1.1.1.1. Đặt vấn đề (13)
        • 1.1.1.2. Lý do chọn đề tài (14)
      • 1.1.2. Mục đích và phạm vi của đề tài (14)
        • 1.1.2.1. Mục đích (14)
        • 1.1.2.2. Phạm vi đề tài (15)
        • 1.1.2.3. Đối tượng (15)
      • 1.1.3. Phương pháp nghiên cứu (15)
      • 1.1.4. Công nghệ sử dụng (16)
    • 1.2. Tổng quan (16)
      • 1.2.1. Khảo sát hiện trạng (16)
        • 1.2.1.1. Khảo sát các phần mềm hiện nay (16)
      • 1.2.2. Những vấn đề còn tồn tại (19)
      • 1.2.3. Vấn đề đề tài tập trung (19)
  • Chương 2. NGHIÊN CỨU THỰC NGHIỆM – LÝ THUYẾT (20)
    • 2.1. Cơ sở lý thuyết (20)
      • 2.1.1. Tổng quan về Flutter (20)
        • 2.1.1.1. Giới thiệu (20)
        • 2.1.1.2. Ưu điểm (21)
        • 2.1.1.3. Nhược điểm (22)
      • 2.1.2. Tổng quan về Supabase (22)
        • 2.1.2.1. Giới thiệu (22)
        • 2.1.2.1. Ưu điểm (23)
        • 2.1.2.2. Nhược điểm (24)
      • 2.1.3. Mô hình khuyến nghị (24)
        • 2.1.3.1. Mô hình xếp hạng (24)
        • 2.1.3.2. Xác suất hậu nghiệm (25)
    • 2.2. Nghiên cứu thực nghiệm (26)
      • 2.2.1. Bộ dữ liệu (26)
      • 2.2.2. Phương pháp huấn luyện (26)
        • 2.2.2.1. Hàm mất mát (26)
        • 2.2.2.2. Thuật toán (27)
        • 2.2.2.3. Dữ liệu đầu vào (27)
  • Chương 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG (28)
    • 3.1. Yêu cầu chức năng (28)
    • 3.2. Yêu cầu phi chức năng (29)
    • 3.3. Mô tả tổng thể (30)
      • 3.3.1. Mô hình Use Case (30)
        • 3.3.1.1. Sơ đồ tổng quát (30)
        • 3.3.1.1. Danh sách các Use Case (31)
      • 3.3.2. Mô hình Activity (32)
        • 3.3.2.1. Activity Diagram cho Đăng nhập (32)
        • 3.3.2.2. Activity Diagram cho Quên mật khẩu (33)
        • 3.3.2.3. Activity Diagram cho Đăng ký (34)
        • 3.3.2.4. Activity Diagram cho Tìm kiếm phim (35)
        • 3.3.2.5. Activity Diagram cho Xem phim (35)
        • 3.3.2.6. Activity Diagram cho Điều chỉnh phim xem (36)
        • 3.3.2.7. Activity Diagram cho Chọn tập phim (36)
        • 3.3.2.8. Activity Diagram cho Thêm phim vào danh sách của tôi (37)
        • 3.3.2.9. Activity Diagram cho Tải phim (38)
        • 3.3.2.10. Activity Diagram cho Chỉnh sửa thông tin hồ sơ (39)
        • 3.3.2.11. Activity Diagram cho Đánh giá phim (40)
        • 3.3.2.12. Activity Diagram cho Đổi mật khẩu (41)
        • 3.3.2.13. Activity Diagram cho Đăng xuất (42)
        • 3.3.2.14. Activity Diagram cho Xoá tài khoản (43)
    • 3.4. Đặc tả yêu cầu (44)
      • 3.4.1. Đăng nhập (44)
      • 3.4.2. Quên mật khẩu (45)
      • 3.4.3. Đăng ký (46)
      • 3.4.4. Tìm kiếm phim (47)
      • 3.4.5. Xem phim (48)
      • 3.4.7. Chọn tập phim (49)
      • 3.4.9. Chỉnh sửa thông tin hồ sơ (50)
      • 3.4.11. Thêm phim vào danh sách của tôi (51)
      • 3.4.13. Tải phim (52)
      • 3.4.14. Đánh giá phim (53)
      • 3.4.16. Đổi mật khẩu (54)
      • 3.4.18. Đăng xuất (55)
      • 3.4.19. Xoá tài khoản (55)
    • 3.5. Thiết kế mô hình dữ liệu quan hệ (56)
      • 3.5.1. Sơ đồ lớp (56)
      • 3.5.2. Danh sách bảng dữ liệu (57)
      • 3.5.4. Mô tả chi tiết từng bảng (58)
        • 3.5.4.1. Bảng Person (58)
        • 3.5.4.2. Bảng Cast (58)
        • 3.5.4.3. Bảng Crew (59)
        • 3.5.4.4. Bảng Film (60)
        • 3.5.4.5. Bảng Gerne (61)
        • 3.5.4.6. Bảng Film_Gerne (61)
        • 3.5.4.7. Bảng Seasons (61)
        • 3.5.4.8. Bảng Episodes (62)
        • 3.5.4.9. Bảng Review (63)
        • 3.5.4.10. Bảng Profile (63)
  • Chương 4. XÂY DỰNG PHẦN MỀM (64)
    • 4.1. Thiết bị di động (Mobile) (64)
      • 4.1.1. Màn hình Chờ (64)
      • 4.1.2. Màn hình Đăng nhập (65)
      • 4.1.3. Màn hình Đăng ký (66)
      • 4.1.4. Màn hình Trang chủ (67)
      • 4.1.5. Hộp thoại Thể loại (69)
      • 4.1.6. Màn hình Chi tiết Thể loại (70)
      • 4.1.7. Màn hình Mới và Hot (71)
      • 4.1.8. Màn hình Tải xuống (72)
        • 4.1.8.1. Màn hình Danh sách các phim tải xuống (72)
        • 4.1.8.1. Màn hình Danh sách các tập phim tải xuống (73)
      • 4.1.9. Màn hình Hồ sơ (74)
      • 4.1.10. Màn hình Đổi mật khẩu (75)
      • 4.1.11. Màn hình Danh sách của tôi (76)
      • 4.1.12. Màn hình Chi tiết phim (77)
        • 4.1.12.1. Màn hình Đề xuất phim (78)
        • 4.1.12.2. Màn hình Diễn viên phim (79)
        • 4.1.12.3. Màn hình Đội ngũ phim (80)
        • 4.1.12.1. Màn hình Danh sách tập phim (81)
        • 4.1.12.2. Màn hình Tải phim (82)
        • 4.1.12.3. Hộp thoại phim đã tải (83)
        • 4.1.12.4. Hộp thoại Đánh giá phim (84)
      • 4.1.13. Màn hình Tìm kiếm phim (85)
        • 4.1.13.1. Màn hình Tìm kiếm phim (85)
        • 4.1.13.1. Màn hình Kết quả tìm kiếm phim (86)
      • 4.1.14. Hộp thoại Đăng xuất (87)
      • 4.1.15. Màn hình Xem phim (88)
    • 4.2. Trang mạng (Website) (89)
      • 4.2.1. Trang Mở đầu (89)
      • 4.2.2. Trang chủ (91)
      • 4.2.3. Trang Chi tiết phim (92)
  • Chương 5. KẾT LUẬN (94)
    • 5.1. Kết quả đạt được (94)
    • 5.2. Nhận xét (94)
      • 5.2.1. Thuận lợi (94)
        • 5.2.1.1. Về việc tổ chức quản lý nhóm (94)
        • 5.2.1.2. Về sản phẩm (94)
      • 5.2.2. Hạn chế (95)
        • 5.2.2.1. Về việc tổ chức quản lý nhóm (95)
        • 5.2.2.2. Về sản phẩm (95)
    • 5.3. Hướng phát triển (95)
    • 5.4. Bảng phân công công việc (95)
  • TÀI LIỆU THAM KHẢO (96)

Nội dung

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

Ngày đăng: 15/05/2024, 09:30

HÌNH ẢNH LIÊN QUAN

Hình 3.1. Sơ đồ Use Case tổng quát - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 3.1. Sơ đồ Use Case tổng quát (Trang 30)
Hình 3.2. ActivityDiagram cho đăng nhập - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 3.2. ActivityDiagram cho đăng nhập (Trang 32)
Hình 3.3. Activity Diagram cho quên mật khẩu - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 3.3. Activity Diagram cho quên mật khẩu (Trang 33)
Hình 3.5. Activity Diagram cho tìm kiếm phim - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 3.5. Activity Diagram cho tìm kiếm phim (Trang 35)
Hình 3.6. Activity Diagram cho xem phim - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 3.6. Activity Diagram cho xem phim (Trang 35)
Hình 3.7. Activity Diagram cho điều chỉnh phim xem - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 3.7. Activity Diagram cho điều chỉnh phim xem (Trang 36)
Hình 3.9. Activity Diagram cho Thêm phim vào danh sách của tôi - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 3.9. Activity Diagram cho Thêm phim vào danh sách của tôi (Trang 37)
Hình 3.10. Activity Diagram cho Tải phim - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 3.10. Activity Diagram cho Tải phim (Trang 38)
Hình 3.12. Activity Diagram cho đánh giá phim - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 3.12. Activity Diagram cho đánh giá phim (Trang 40)
Hình 3.13. Activity Diagram cho đổi mật khẩu - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 3.13. Activity Diagram cho đổi mật khẩu (Trang 41)
Hình 3.14. Activity Diagram cho đăng xuất - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 3.14. Activity Diagram cho đăng xuất (Trang 42)
Hình 3.15. Activity Diagram cho xoá tài khoản - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 3.15. Activity Diagram cho xoá tài khoản (Trang 43)
Hình 4.3. Màn hình Đăng ký  Bảng 4.3. Mô tả màn hình Đăng ký - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 4.3. Màn hình Đăng ký Bảng 4.3. Mô tả màn hình Đăng ký (Trang 66)
Hình 4.4. Màn hình Trang chủ - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 4.4. Màn hình Trang chủ (Trang 67)
Hình 4.5. Hộp thoại Thể loại  Bảng 4.5. Mô tả hộp thoại Thể loại - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 4.5. Hộp thoại Thể loại Bảng 4.5. Mô tả hộp thoại Thể loại (Trang 69)
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 - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
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 (Trang 70)
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 - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
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 (Trang 71)
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 - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
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 (Trang 72)
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 - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
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 (Trang 73)
Hình 4.10. Màn hình Hồ sơ  Bảng 4.10. Mô tả màn hình Hồ sơ - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 4.10. Màn hình Hồ sơ Bảng 4.10. Mô tả màn hình Hồ sơ (Trang 74)
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 - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
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 (Trang 76)
Hình 4.13. Màn hình chi tiết phim - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 4.13. Màn hình chi tiết phim (Trang 77)
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ũ - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
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ũ (Trang 80)
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 - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
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 (Trang 81)
Hình 4.19. Hộp thoại phim đã tải  Bảng 4.19. Mô tả hộp thoại phim đã tải - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 4.19. Hộp thoại phim đã tải Bảng 4.19. Mô tả hộp thoại phim đã tải (Trang 83)
Hình 4.20. Hộp thoại Đánh giá phim  Bảng 4.20. Mô tả hộp thoại Đánh giá phim - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 4.20. Hộp thoại Đánh giá phim Bảng 4.20. Mô tả hộp thoại Đánh giá phim (Trang 84)
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 - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
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 (Trang 85)
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 - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
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 (Trang 86)
Hình 4.23. Hộp thoại Đăng xuất  Bảng 4.23. Mô tả hộp thoại đăng xuất - đồ án 1 xây dựng web và app xem phim tích hợp hệ thống khuyến nghị
Hình 4.23. Hộp thoại Đăng xuất Bảng 4.23. Mô tả hộp thoại đăng xuất (Trang 87)
w