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

Đồ án cơ sở 2 xây dựng website xem phim trực tuyến

52 0 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

Tiêu đề Đồ Án Cơ Sở 2 Xây Dựng Website Xem Phim Trực Tuyến
Tác giả Võ Quốc Khang, Hồ Thanh Lực
Người hướng dẫn ThS. Lê Viết Trương
Trường học Trường Đại Học Công Nghệ Thông Tin & Truyền Thông Việt - Hàn
Chuyên ngành Khoa Khoa Học Máy Tính
Thể loại đồ án
Năm xuất bản 2024
Thành phố Đà Nẵng
Định dạng
Số trang 52
Dung lượng 8,78 MB

Nội dung

Báo cáo đồ án này tập trung vào việc ứng dụng những kiến thức đã học, cùng với các kỹ thuật và công nghệ hiện đại, để xây dựng một hệ thống quản lý hiệu quả, đáp ứng nhu cầu thực tế của

Trang 1

i

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &

TRUYỀN THÔNG VIỆT - HÀN

Khoa Khoa Học Máy Tính

Đà Nẵng, tháng 11 năm 2024

Trang 2

ii

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &

TRUYỀN THÔNG VIỆT - HÀN

Khoa Khoa Học Máy Tính

Đà Nẵng, tháng 11 năm 2024

Trang 3

iii

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Chữ ký của giảng viên

THS.LÊ VIẾT TRƯƠNG

Trang 4

iv

LỜI CẢM ƠN

Chúng em xin gửi lời cảm ơn chân thành đến Khoa Khoa học máy tính, Trường Công nghệ thông tin và truyền thông Việt Hàn đã tạo điều kiện thuận lợi cho chúng emhọc tập và hoàn thành đề tài đồ án cơ sở 2 này Đặc biệt, chúng em xin bày tỏ lòng biết

ơn sâu sắc đến Thạc sĩ Lê Viết Trương đã hướng dẫn chúng em trong quá trình làm bài

Chúng em đã cố gắng vận dụng những kiến thức đã học được trong học kỳ qua

để hoàn thành đồ án cơ sở 2 Tuy nhiên, do kiến thức hạn chế và không có nhiều kinh nghiệm thực tiễn nên khó tránh khỏi những thiếu sót trong quá trình nghiên cứu, thực hiện và trình bày Rất kính mong sự góp ý của quý thầy cô để bài tiểu luận của chúng

em được hoàn thiện hơn Một lần nữa, chúng em xin trân trọng cảm ơn sự quan tâm giúp đỡ của thầy đã giúp đỡ chúng em trong quá trình thực hiện bài tiểu luận nàyChúng em xin trân trọng cảm ơn

Trang 5

v

MỤC LỤC

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN iii

LỜI CẢM ƠN iv

MỤC LỤC v

DANH MỤC HÌNH VẼ viii

DANH MỤC BẢNG x

MỞ ĐẦU 1

1.Giới thiệu 1

2.Mục tiêu của đề tài 1

3.Nội dung và kế hoạch thực hiện 2

4.Bố cục báo cáo 3

Chương 1 TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU 4

1.Giới thiệu về công cụ 4

1.1 Giới thiệu về Laravel Framwork 4

1.2 Ưu điểm của Laravel FrameWork 4

2.Giới thiệu ngôn ngữ 5

2.1 Giới thiệu PHP 5

2.2 PHP hoạt động như thế nào ? 6

2.3 Giới thiệu về HTML 7

2.4 Giới thiệu về Tailwind CSS 7

3.Kết thúc chương 1 8

Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 9

1.Biểu đồ ca sử dụng 9

2.Biểu đồ lớp 10

3.Thiết kế cơ sở dữ liệu 11

Trang 6

vi

3.1 Sơ đồ Mô hình Quan hệ Thực thể 11

3.2 Bảng users 11

3.3 Bảng actors 12

3.4 Bảng Films 12

3.5 Bảng episodes 13

3.6 Bảng seasons 14

3.7 Bảng watchlists 14

3.8 Bảng comments 14

3.9 Bảng ratings 15

3.10 Bảng subscriptions 15

3.11 Bảng user_subscriptions 16

3.12 Bảng genres 16

3.13 Bảng film_actors 16

3.14 Bảng film_genres 17

3.15 Bảng film_images 17

4.Biểu đồ hoạt động 18

4.1 Biểu đồ hoạt động đăng nhập 18

4.2 Biểu đồ hoạt động đăng ký 19

5.Biểu đồ tuần tự 20

5.1 Biểu đồ tuần tự đăng nhập 20

5.2 Biểu đồ tuần tự đăng ký 21

5.3 Biểu đồ tuần tự xem phim 22

5.4 Biểu đồ tuần tự thanh toán 23

5.5 Biểu đồ tuần tự thêm phim 23

5.6 Biểu đồ tuần tự xóa, sửa phim 24

Chương 3 XÂY DỰNG GIAO DIỆN 25

1.Giao diện đăng nhập đăng ký 25

Trang 7

vii

1.1 Giao diện trang đăng nhập 25

1.2 Giao diện trang đăng ký 26

2.Giao diện admin 26

2.1 Trang dashboard 26

2.2 Trang thêm phim 27

2.3 Trang thêm người dùng 28

2.4 Trang thêm gói đăng ký 29

2.5 Thêm diễn viên 29

2.6 Thêm thể loại 30

3.Giao diện người dùng 31

3.1 Trang chủ 31

3.2 Trang Play Page 35

3.3 Trang Subsciption 36

3.4 Trang thanh toán 37

KẾT LUẬN 39

1.Kết quả đạt được 39

2.Hướng nghiên cứu và phát triển trong tương lai 39

TÀI LIỆU THAM KHẢO i

PHỤ LỤC 1

Trang 8

viii

DANH MỤC HÌNH VẼ

Hình 1 Biểu đồ ca sử dụng tổng quát 9

Hình 2 Biểu đồ lớp 10

Hình 3 Sơ đồ Mô hình Quan hệ Thực thể 11

Hình 4 Biểu đồ hoạt động đăng nhập 18

Hình 5 Biểu đồ hoạt động đăng ký 19

Hình 6 Biểu đồ tuần tự đăng nhập 20

Hình 7 Biểu đồ tuần tự đăng ký 21

Hình 8 Biểu đồ tuần tự xem phim 22

Hình 9 Biểu đồ tuần tự thanh toán 23

Hình 10 Biểu đồ tuần tự thêm phim 23

Hình 11 Biểu đồ tuần tự xóa, sửa phim 24

Hình 12 Giao diện trang đăng nhập 25

Hình 13 Giao diện trang đăng ký 26

Hình 14 Giao diện trang dashboard 26

Hình 15 Giao diện trang thêm phim 27

Hình 16 Giao diện trang thêm người dùng 28

Hình 17 Giao diện trang thêm gói dăng ký 29

Hình 18 Giao diện trang thêm diễn viên 29

Hình 19 Giao diện trang thêm thể loại 30

Hình 20 Giao diện trang chủ #1 31

Hình 21 Giao diện trang chủ #2 32

Hình 22 Giao diện trang chủ #3 33

Hình 23 Giao diện trang chủ #4 34

Hình 24 Giao diện trang play page #1 35

Hình 25 Giao diện trang play page # 2 35

Hình 26 Giao diện trang Subsciption 36

Trang 9

ix

Hình 27 Giao diện trang thanh toán nội địa #1 37Hình 28 Giao diện trang thanh toán nội địa #2 38Hình 29 Giao diện trang thanh toán quốc tế 38

Trang 10

x

DANH MỤC BẢNG

Bảng 1 Bảng users 11

Bảng 2 Bảng actors 12

Bảng 3 Bảng Films 12

Bảng 4 Bảng episodes 13

Bảng 5 Bảng seasons 14

Bảng 6 Bảng watchlists 14

Bảng 7 Bảng comments 14

Bảng 8 Bảng ratings 15

Bảng 9 Bảng subscriptions 15

Bảng 10 Bảng user_subscriptions 16

Bảng 11 Bảng film_actors 16

Bảng 12 Bảng film_genres 17

Bảng 13 Bảng film_images 17

Trang 11

Công nghệ thông tin, đặc biệt là trong lĩnh vực phát triển phần mềm, đã trở

thành nền tảng không thể thiếu trong việc quản lý và vận hành các hệ thống phức tạp

Từ việc tự động hóa các quy trình sản xuất đến quản lý dữ liệu hiệu quả, công nghệ đã giúp tăng cường khả năng cạnh tranh và đáp ứng nhu cầu ngày càng cao của thị trường

Trong bối cảnh đó, việc thiết kế và triển khai các hệ thống quản lý không chỉ đòi hỏi kiến thức về chuyên môn, mà còn phải kết hợp linh hoạt với những công nghệ mới để đảm bảo hệ thống vận hành một cách tối ưu, an toàn và bền vững Báo cáo đồ

án này tập trung vào việc ứng dụng những kiến thức đã học, cùng với các kỹ thuật và công nghệ hiện đại, để xây dựng một hệ thống quản lý hiệu quả, đáp ứng nhu cầu thực

tế của người sử dụng

2 Mục tiêu của đề tài

Mục tiêu của đề tài này là nghiên cứu và phát triển một website xem phim trực tuyến, đáp ứng nhu cầu ngày càng cao của người dùng về việc tiếp cận và trải nghiệm nội dung phim chất lượng cao qua môi trường mạng Website sẽ không chỉ cung cấp các bộ phim với nhiều thể loại, mà còn được thiết kế để mang lại trải nghiệm người dùng tối ưu, dễ dàng và thuận tiện trong việc tìm kiếm, xem phim, và quản lý tài khoản cá nhân Mục tiêu của đề tài này là nghiên cứu và phát triển một website xem phim trực tuyến, đáp ứng nhu cầu ngày càng cao của người dùng về việc tiếp cận và trải nghiệm nội dung phim chất lượng cao qua môi trường mạng Website sẽ không chỉ cung cấp các bộ phim với nhiều thể loại, mà còn được thiết kế để mang lại trải nghiệm người dùng tối ưu, dễ dàng và thuận tiện trong việc tìm kiếm, xem phim, và quản lý tài khoản cá nhân

Trang 12

2

3 Nội dung và kế hoạch thực hiện

Nghiên cứu và phân tích yêu cầu (1 tuần): Phân tích nhu cầu thị trường, người dùng và các tính năng cần có của website xem phim

•Nghiên cứu các website xem phim phổ biến hiện nay để tìm hiểu các tính năng và yêu cầu người dùng

•Phỏng vấn người dùng tiềm năng (nếu có thể) để thu thập thông tin về sở thích và nhu cầu của họ

•Xác định các yêu cầu chức năng cơ bản như: tìm kiếm phim, đăng nhập, quản lý tài khoản người dùng, xem phim trực tuyến, đánh giá phim, Phân tích và thiết kế hệ thống (2 tuần): Phân tích các yêu cầu kỹ thuật, thiết kế kiến trúc phần mềm và cơ sở dữ liệu, và xây dựng giao diện người dùng phù hợp

•Phân tích yêu cầu hệ thống

•Thiết kế kiến trúc hệ thống

•Thiết kế cơ sở dữ liệu

•Thiết kế giao diện người dùng (UI)

•Kế hoạch phát triển

Triển khai và phát triển (4 tuần): Xây dựng website, bao gồm các tính năng chính như tìm kiếm phim, đăng nhập, quản lý tài khoản, xem phim, và hệ thống đánh giá …

•Phát triển frontend: Sử dụng HTML, CSS, JavaScript (với các framework như Tailwind CSS) để xây dựng giao diện người dùng

•Phát triển backend: Sử dụng PHP (Laravel) để xử lý logic phía server, quản

lý người dùng, phim và các tính năng liên quan

•Xây dựng cơ sở dữ liệu: Tạo và kết nối cơ sở dữ liệu MySQL để lưu trữ thông tin phim, người dùng, lịch sử xem, và các đánh giá

•Tích hợp các tính năng: Thực hiện các chức năng như đăng nhập, đăng ký, theo dõi lịch sử xem phim, yêu thích phim, và đánh giá phim

•Kiểm thử chức năng: Kiểm thử từng tính năng của website, đảm bảo hoạt động ổn định và không có lỗi

Kiểm thử và tối ưu hóa (2 tuần): Đảm bảo website hoạt động ổn định, không có lỗi và tối ưu hóa hiệu suất

•Kiểm thử chức năng: Thực hiện kiểm thử toàn bộ các tính năng của website để đảm bảo mọi thứ hoạt động như mong đợi

•Kiểm thử hiệu suất: Kiểm tra tốc độ tải trang, khả năng chịu tải của website khi có nhiều người dùng truy cập đồng thời

•Tối ưu hóa giao diện: Đảm bảo giao diện website hoạt động tốt trên tất cả các thiết bị và trình duyệt (responsive design)

Trang 13

3

•Sửa lỗi và cải tiến: Sửa các lỗi phát sinh trong quá trình kiểm thử và tối ưu

mã nguồn để website chạy mượt mà hơn

Triển khai và bảo trì (Liên tục)

•Triển khai website: Đưa website lên server để phục vụ người dùng Đảm bảo website có thể hoạt động ổn định trên môi trường thực tế

•Cập nhật và bảo trì: Cập nhật các bộ phim mới, bảo trì hệ thống để đảm bảo an toàn và bảo mật

•Giải quyết vấn đề người dùng: Theo dõi phản hồi từ người dùng để xử lý các vấn đề và cải thiện website

4 Bố cục báo cáo

Sau phần Mở đầu, báo cáo được trình bày trong ba chương, cụ thể như sau:

Chương 1 Tổng quan về đề tài

Chương 2 Phân tích thiết kế hệ thống

Chương 3 Xây dựng giao diện

Cuối cùng là Kết luận Tài liệu tham khảo, và Phụ lục liên quan đến đề tài

Trang 14

4

Chương 1 TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU

1 Giới thiệu về công cụ

1.1 Giới thiệu về Laravel Framwork

Trong phần giới thiệu về Laravel, có thể thấy rằng nhiều người quan tâm và muốn biết tường tận chi tiết về Laravel là gì Trên thực tế, Laravel là một PHP Framework có mã nguồn mở miễn phí Chúng được phát triển và sáng lập bởi Taylor Otwell và có phiên bản đầu tiên được ra mắt vào giữa năm 2011 Mục đích của mã nguồn này là có thể hỗ trợ một cách tối đa cho các web dựa trên mô hình sáng tạo MVC

Người sử dụng Laravel sẽ thấy rằng phần mềm này được cấp phép phát hành theo MIT, và chúng có nguồn dữ liệu được lưu trữ kỹ càng tại Github Tuy là một phần mềm sinh sau đẻ muộn, có mặt trên thị trường chỉ hơn 10 năm, thế nhưng nó đã tạo được một tiếng vang lớn và khiến cho nhiều người sử dụng cảm thấy thích thú và muốn dùng thêm nữa

1.2 Ưu điểm của Laravel FrameWork

1.2.1.Phát triển d a trên nự ền tảng Symfony

Điểm khiến Laravel rất dễ sử dụng cho dù là người mới hay những nhà phát triển chuyên nghiệp là nó được xây dựng dựa trên một nền tảng PHP framework nổi tiếng có tên là Symfony Symfony là một framework PHP chuyên để phát triển web được ra mắt vào năm 2005

PHP framework Symfony đã được sử dụng chủ yếu như một người bạn đồng hành với nhà phát triển web quy mô lớn , nhưng Laravel đã kế thừa vững chắc thiết kế của khung công tác này

Do đó, mặc dù là một PHP framework hoàn toàn mới nhưng đây là một dịch vụ

sử dụng rất thoải mái, dễ dàng sử dụng không chỉ cho các nhà phát triển web chuyên nghiệp mà còn cho cả những người mới bắt đầu

1.2.2.Tính linh ho t và t do cao ạ ự

Một trong những ưu điểm của Laravel là nó có rất nhiều hàm cài sẵn so với các framework PHP từ trước đến nay Trong các framework thông thường, nhiều trường

Trang 15

Tuy nhiên, ngay từ đầu Laravel đã có nhiều tính năng tuyệt vời để giảm thiểu công sức của các kỹ sư nhiều nhất có thể Bạn sẽ không phải tốn thời gian và công sức

để chuẩn bị môi trường bổ sung sau khi cài đặt Laravel, việc phát triển website có thể được rút ngắn đáng kể Có thể nói Laravel là một PHP framework tốt và rất hiệu quả trong việc cải thiện hiệu suất chi phí

1.2.3.Cộng đồng Laravel đang phát triển rất sôi động và nhanh chóng

Một ưu thế về việc dễ sử dụng của Laravel là cộng đồng Laravel đang gia tăng rất nhanh chóng và các thắc mắc, giải pháp thường xuyên được trao đổi trực tuyến Các bài tutorial để giới thiệu và sử dụng Laravel gia tăng nhanh chóng, hầu hết mọi thắc mắc của bạn đều dễ dàng tìm thấy lời giải đáp hữu ích trên Google hoặc Youtube

Số lượng các dự án làm bằng Laravel tăng lên nhanh chóng Trong tương lai và rất có thể Laravel sẽ trở thành tiêu chuẩn cho các framework PHP trong tương lai gần 1.2.4.Framework dành cho người m i h ớ ọc lập trình web

Vấn đề là Laravel có thể dễ dàng sử dụng ngay cả với những người mới bắt đầu làm quen với PHP Hơn thế nữa, Laravel có thể được sử dụng trên cả Mac và Windows Các framework do Microsoft hoặc Apple hoặc Google phát triển luôn có những tối ưu riêng dành cho HĐH mà họ sở hữu Do vậy các framework này phụ thuộc vào hệ điều hành có thể có các mức độ hạn chế khác nhau tùy thuộc vào việc chúng chạy trên Mac hay Windows, nhưng với Laravel, bạn không phải lo lắng về điều đó So với các framework PHP khác, Laravel có tuổi đời khá non trẻ, việc đánh bại các lão làng khác cho thấy được ưu điểm về việc dễ sử dụng vốn là điểm nhấn của PHP nói chung được khai thác rất tốt

2 Giới thiệu ngôn ngữ

2.1 Giới thiệu PHP

2.1.5.PHP là gì ?

PHP viết tắt của từ Hypertext Preprocessor Là một ngôn ngữ lập trình kịch bản (script) mã nguồn mở, cộng đồng phát triển mạnh mẽ, có thể hỗ trợ nhanh chóng chỉ vài thao tác search đơn giản

Trang 16

6

Chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, dùng cho mục đích tổng quát Đặc biệt thích hợp cho phát triển web và có thể được nhúng vào HTML

Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới

2.2 PHP hoạt động như thế nào ?

Khi có người dùng gọi trang PHP, web máy chủ sẽ triệu gọi PHP Engine thông dịch trang PHP và trả lại kết quả cho người dùng Thông thường, khi chạy code, chúng được làm theo một quy trình thông dịch và trả kết quả mà chúng ta không nhìn thấy Dưới đây là mô tả ngôn ngữ PHP khi thực thi một đoạn code thường được trải qua 4 giai đoạn sau:

Giai đoạn 1: Lexing

Lexing (hay còn gọi là tokenizing), là quá trình chuyển một đoạn mã nguồn PHP thành một chuỗi các token có gắn giá trị PHP sử dụng re2c để tạo các lexer của

nó từ file khai báo

Giai đoạn 2: Parsing

Bộ phận tích chú Phsp (parser) được tạo qua file grammar BNF với Bison Ngôn ngữ lập trình PHP sử dụng cấu trúc LALR Ở giai đoạn này, sẽ nhận các luồng token từ lexer như các biến đầu vào Chúng thực hiện 2 công việc sau:

•Xác định tính hợp lệ của token bằng việc khớp chúng với từng quy tắc ngữ pháp định nghĩa trong tập tin ngữ pháp BNF Bước này đòi hỏi cấu trúc ngôn ngữ phải hợp lệ, theo dạng trong luồng stream

•Bộ parser tạo cây cú pháp trừu tượng AST, mã nguồn hiển thị dưới dạng cây và dùng trong giai đoạn tiếp theo

Giai đoạn 3: Compiling

Giai đoạn Compiling hay còn gọi là biên dịch, sử dụng AST phát ra các mã tác dụng bằng cách duyệt cây phương pháp đệ quy Ở giai đoạn này thực hiện một vài tối

ưu hóa, giải quyết lời gọi hàm Người dùng có thể kiểm tra đầu ra các đoạn mã được tối ưu bằng nhiều cách, thông qua VLD, PHPDBG hay OP cache Trong đó, VLD thường được sử dụng bởi nó tạo ra các mã output dễ đọc hơn cả

Giai đoạn 4: Interpreter

Trang 17

7

Đây là giai đoạn thông dịch mã tác vụ Tại đây, mã tác vụ chạy trên Zen EngineVM, với giai đoạn đầu hầu như rất ngắn, đầu ra tương tự như kết quả khi sử dụng PHPecho, var_dump,…

nó không thể thực hiện các chức năng “động”

Hiểu một cách đơn giản hơn, cũng tương tự như phần mềm Microsoft Word, HTML chỉ có tác dụng bố cục và định dạng trang web HTML khi kết hợp với CSS và JavaScript sẽ trở thành một nền tảng vững chắc cho thế giới mạng

Thông thường, một Website sẽ có nhiều HTML document (ví dụ: trang chủ, trang blog, trang liên hệ,…) và mỗi trang con như vậy sẽ có một tệp HTML riêng Mỗi tài liệu HTML bao gồm 1 bộ tag (hay còn gọi là element) Nó tạo ra một cấu trúc

2.4 Giới thiệu về Tailwind CSS

2.4.1.Tailwind CSS là gì?

Tailwind CSS là một framework CSS utility first, tương tự như Bootstrap, cung cấp một tập hợp các lớp CSS được tích hợp sẵn mà chúng ta có thể sử dụng trong ứng dụng của mình Tuy nhiên, điểm đặc biệt của Tailwind CSS là nó cung cấp một số lượng lớn các lớp CSS với các thuộc tính và quy tắc CSS khác nhau Thay vì sử dụng các lớp CSS được định nghĩa sẵn cho các thành phần cụ thể, Tailwind CSS tập trung vào việc cung cấp các lớp CSS cơ bản mà chúng ta có thể kết hợp để xây dựng giao diện

-2.4.2.Ưu nhược điểm c a Tailwind

Ưu điểm:

Trang 18

8

Tăng tốc độ code với Extension thông minh trên VS Code.Xây dựng giao diện chỉ bằng việc khai báo class trên file HTML: Với Tailwind CSS, chúng ta có thể xây dựng giao diện bằng cách sử dụng các lớp CSS được khai báo trực tiếp trên các phần

tử HTML Điều này giúp giảm đáng kể việc viết CSS tùy chỉnh và tăng tốc độ phát triển

•Xuất ra chỉ những file CSS chứa các class đã sử dụng

•Thiết lập Responsive ngay trên file HTML

•Hỗ trợ tương tác hover, focus ngay trên class HTML

•Tối ưu cấu trúc HTML và CSS có tính lặp lại

•Định nghĩa thêm class mới phối hợp với các class có sẵn trong Tailwind

•Hỗ trợ chế độ tối Dark Mode

•Dễ dàng mở rộng, chỉnh sửa và biến đổi

Nhược điểm:

•Nhược điểm lớn nhất là khi sử dụng Tailwind thì các thẻ của chúng ta cần rất nhiều class, mỗi thuộc tính là một class khi đó code cũng sẽ rất dài và rắc rối

3 Kết thúc chương 1

Như vậy chương này ta đã tìm hiểu được tổng quan hướng phát triển và các giải pháp áp dụng cần có để xây dựng ứng dụng Đây là tiền đề cho việc khảo sát và phương pháp nghiên cứu, tiếp cận bài toán trong phần sau

Trang 19

9

Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

1 Biểu đồ ca sử dụng

Hình 1 Biểu đồ ca sử dụng tổng quát

Trang 20

10

2 Biểu đồ lớp

Hình 2 Biểu đồ lớp

Trang 21

11

3 Thiết kế cơ sở dữ liệu

3.1 Sơ đồ Mô hình Quan hệ Thực thể

Hình 3 Sơ đồ Mô hình Quan hệ Th ực thể

3.2 Bảng users

Bảng 1 B ảng users

Column Name Data Type Constraints

Trang 22

12

3.3 Bảng actors

Bảng 2 B ảng actors

Column Name Data Type Attributes

3.4 Bảng Films

Bảng 3 B ảng Films

Column Name Data Type Attributes

Trang 23

13

type enum('show','movie') Not Null Default 'movie'

average_rating decimal(2,1) Not null default '0.0'

3.5 Bảng episodes

Bảng 4 B ảng episodes

Column Name Data Type Attributes

Trang 24

14

3.6 Bảng seasons

Bảng 5 B ảng seasons

Column Name Data Type Attributes

3.7 Bảng watchlists

Bảng 6 B ảng watchlists

Column Name Data Type Attributes

3.8 Bảng comments

Bảng 7 B ảng comments

Column Name Data Type Attributes

Trang 25

15

3.9 Bảng ratings

Bảng 8 B ảng ratings

Column Name Data Type Attributes

user_id Bigint Unsigned Not null, Foreign Key (users), Unique film_id Bigint Unsigned Not Null, Foreign Key (films), Unique

3.10 Bảng subscriptions

Bảng 9 Bảng subscriptions

Column Name Data Type Constraints

Increment name enum('free','basic','standard','premium') NOT NULL, Default: 'free'

duration enum('1 month','3 months','6

months','12 month')

NOT NULL

Trang 26

16

3.11 Bảng user_subscriptions

Bảng 10 B ảng user_subscriptions

Column Name Data Type Constraints

subscription_id bigint UNSIGNED NOT NULL, FOREIGN KEY (subscriptions)

3.12 Bảng genres

Column Name Data Type Constraints

UNIQUE

UNIQUE

3.13 Bảng film_actors

Bảng 11 B ảng film_actors

Column Name Data Type Attributes

Ngày đăng: 20/12/2024, 16:25

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN