You are on page 1of 39

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM

TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG


KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CUỐI KỲ MÔN CÔNG NGHỆ JAVA

WEB XEM PHIM ONLINE FILMO

Người hướng dẫn: Thầy NGUYỄN THANH PHONG


Người thực hiện: HUỲNH NHẬT LINH - 52100815
PHAN HOÀNG PHÚ – 52100086
NGUYỄN TRUNG DŨNG – 52100783
TRẦN LỮ VĨNH NGHI - 52000897
NHÓM : 3
Khoá : 25, 24

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2023


TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CUỐI KỲ MÔN CÔNG NGHỆ JAVA

WEB XEM PHIM ONLINE FILMO


(Bìa phụ)

Người hướng dẫn: Thầy NGUYỄN THANH PHONG


Người thực hiện: HUỲNH NHẬT LINH - 52100815
PHAN HOÀNG PHÚ – 52100086
NGUYỄN TRUNG DŨNG – 52100783
TRẦN LỮ VĨNH NGHI - 52000897
NHÓM : 3
Khoá : 25, 24

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2023


1

LỜI CẢM ƠN
Lời đầu tiên chúng em xin được phép cảm ơn quý thầy cô khoa Công nghệ
Thông Tin trường Đại học Tôn Đức Thắng đã tạo mọi điều kiện cho chúng em tạo mọi
điều kiện tốt nhất để em được học tập môn Công nghệ JAVA.
Chúng em cũng xin được gửi lời cảm ơn đến thầy Nguyễn Thanh Phong, thầy
đã nhiệt tình giảng dạy, trang bị đầy đủ kiến thức để chúng em có thể hoàn thành bài
báo cáo cho đồ án cuối kỳ này.
Cuối cùng, do hạn chế về mặt kiến thức, kính mong thầy cô có thể bỏ qua những
sai sót nhỏ và chỉ ra được những lỗi sai của chúng em trong đồ án này để những đồ án
sau của chúng em được hoàn thiện hơn.
Một lần nữa chúng em xin chân thành cảm ơn thầy Nguyễn Thanh Phong và
toàn thể quý thầy cô khoa Công Nghệ Thông Tin trường Đại học Tôn Đức Thắng.
CHÚNG EM XIN CHÂN THÀNH CẢM ƠN !
2

PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN

Phần xác nhận của GV hướng dẫn


_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________

Tp. Hồ Chí Minh, ngày tháng năm


(kí và ghi họ tên)

Phần đánh giá của GV chấm bài


_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
3

_________________________________________________________
_________________________________________________________

Tp. Hồ Chí Minh, ngày tháng năm


(kí và ghi họ tên)
Phan Hoàng Phú

Huỳnh Nhật Linh

Nguyễn Trung Dũng

Trần Lữ Vĩnh Nghi


4

MỤC LỤC
LỜI CẢM ƠN................................................................................................................1
PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN...........................................2
DANH MỤC HÌNH ẢNH..............................................................................................6
DANH MỤC BẢNG......................................................................................................8
DANH MỤC CÁC CHỮ VIẾT TẮT.............................................................................9
1. CHƯƠNG 1 – GIỚI THIỆU MÔ HÌNH MVC VÀ SPRING BOOT
FRAMEWORK............................................................................................................10
1.1. Tổng quan mô hình MVC:......................................................................10
1.2. Đặc điểm mô hình MVC.........................................................................12
1.3. Tổng quan Spring Boot Framework........................................................13
1.4. Đặc điểm của Spring Boot Framework...................................................14
1.5. Các điểm quan trọng trong xây dựng một dự án Spring boot.................15
2. CHƯƠNG 2 – PHÂN TÍCH – THIẾT KẾ WEB XEM PHIM ONLINE
FILMO........................................................................................................................ 16
2.1. Đặc tả yêu cầu:......................................................................................17
Yêu cầu chức năng:.........................................................................................17
Yêu cầu phi chức năng:...................................................................................18
2.2. Sơ đồ Use Case......................................................................................18
2.3.1 Sơ đồ Use Case tổng quát.......................................................................18
2.3.2 Sơ đồ use case đăng nhập.......................................................................19
2.3.3 Sơ đồ use case đăng kí.............................................................................19
2.3.4 Sơ đồ use case quản lý thông tin cá nhân...............................................20
2.3.5 Sơ đồ use case xem phim.........................................................................20
2.3.6 Sơ đồ use case tìm kiếm phim theo tên, thể loại......................................21
2.3.7 Sơ đồ use case lưu phim yêu thích..........................................................21
5

........................................................................................................................... 21
2.3.8 Sơ đồ use case bình luận phim................................................................22
2.3.8 Sơ đồ use case xem lịch sử......................................................................22
2.3.10 Sơ đồ use case quản lý tập phim............................................................23
2.3.11 Sơ đồ use case quản lý thể loại..............................................................24
2.3.12 Sơ đồ use case quản lý ngôn ngữ..........................................................24
2.3.13 Sơ đồ use case quản lý quốc gia............................................................25
2.3.14 Sơ đồ use case quản lý diễn viên...........................................................25
2.3.15 Sơ đồ use case quản lý người dùng.......................................................26
2.3. ERD.......................................................................................................27
2.4. Sơ đồ Class Diagram............................................................................27
2.5. Sơ đồ Sequence......................................................................................27
2.5.1 Sơ đồ sequence chức năng đăng nhập...................................................27
2.5.2 Sơ đồ sequence chức năng đăng ký.......................................................28
2.5.3 Sơ đồ sequence chức năng quản lý người dùng....................................28
2.5.4 Sơ đồ sequence chức năng quản lý phim...............................................29
2.5.5 Sơ đồ sequence chức năng bình luận.....................................................30
2.5.6 Sơ đồ sequence chức năng lưu phim......................................................31
2.6 Mô tả kế hoạch xây dựng dự án................................................................31
DANH MỤC TÀI LIỆU THAM KHẢO VÀ CÁC TRÍCH DẪN...........................34
6

DANH MỤC HÌNH ẢNH

Hình 1: Hình minh họa luồng xử lý của mô hình MVC................................................12


Hình 2: Sơ đồ use case tổng quát.................................................................................18
Hình 3: Sơ đồ use case đăng nhập................................................................................19
Hình 4L Sơ đồ use case đăng kí....................................................................................19
Hình 5: Hình minh họa luồng xử lý của mô hình MVCHình 6......................................19
Hình 7: Sơ đồ use case quản lý thông tin cá nhân........................................................20
Hình 8: Sơ đồ use case xem phim.................................................................................20
Hình 9: Sơ đồ use case tìm kiếm phim theo tên, thể loại...............................................21
Hình 10: Sơ đồ use case lưu phim yêu thích.................................................................21
Hình 11: Sơ đồ usecase bình luận phim.......................................................................22
Hình 12: Sơ đồ usecase lịch sử xem phim.....................................................................22
Hình 13: Sơ đồ use case quản lý phim..........................................................................23
Hình 14: Sơ đồ use case quản lý tập phim....................................................................23
Hình 15: Sơ đồ use case quản lý thể loại......................................................................24
Hình 16: Sơ đồ use case quản lý ngôn ngữ...................................................................24
Hình 17: Sơ đồ use case quản lý quốc gia....................................................................25
Hình 18: Sơ đồ use case quản lý diễn viên...................................................................25
Hình 19: Sơ đồ use case quản lý người dùngHình 20: Sơ đồ use case quản lý diễn viên
...................................................................................................................................... 25
Hình 21: Sơ đồ class diagram......................................................................................27
Hình 22: Sơ đồ sequence chức năng quản lý người dùng.............................................29
Hình 23: Sơ đồ sequence chức năng quản lý phim.......................................................29
Hình 24: Sơ đồ sequence chức năng bình luận.............................................................30
Hình 25: Sơ đồ sequence chức năng lưu phim..............................................................31
7

Hình 26: Hình ảnh phân công công việc ở các tuần.....................................................32
Hình 27: Hình ảnh branch............................................................................................32
Hình 28: Commit 1.......................................................................................................33
Hình 29: Commit 2.......................................................................................................33
Hình 30: Commit 3.......................................................................................................34
Hình 31: Unit Test........................................................................................................34
8

DANH MỤC BẢNG


9

DANH MỤC CÁC CHỮ VIẾT TẮT


10

1. CHƯƠNG 1 – GIỚI THIỆU MÔ HÌNH MVC VÀ SPRING


BOOT FRAMEWORK
1.1. Tổng quan mô hình MVC:
Mô hình MVC (Model-View-Controller) là một kiến trúc phần mềm phổ biến
được sử dụng trong phát triển ứng dụng web và ứng dụng di động. Mô hình này giúp
tách biệt các thành phần của ứng dụng và tổ chức chúng một cách rõ ràng, từ đó tăng
tính bảo trì, mở rộng và tái sử dụng của mã nguồn.
Trong kiến trúc MVC, bộ ba Model-View-Controller được thiết kế tương ứng
cho các đối tượng mà người dùng có thể tương tác.
• Model: Model trong mô hình MVC là thành phần đại diện cho dữ liệu và thao
tác với dữ liệu. Nó có trách nhiệm lưu trữ và xử lý các dữ liệu được 2 sử dụng bởi ứng
dụng. Nói theo cách dễ hiểu thì Model tương tự như các bảng ở trong cơ sở dữ liệu vậy
Model được thiết kế để tách biệt khỏi các thành phần khác của ứng dụng, chẳng hạn
như View và Controller. Model trong mô hình MVC không chỉ là một cơ sở dữ liệu,
mà là một lớp đối tượng đại diện cho dữ liệu và các hoạt động liên quan đến dữ liệu đó.
Nó có thể bao gồm các phương thức để truy vấn, thêm, sửa đổi hoặc xóa dữ liệu, và có
thể kết nối với cơ sở dữ liệu hoặc tệp văn bản để lưu trữ dữ liệu. Ngoài ra, Model cũng
có thể xử lý các hoạt động phức tạp như tính toán và thực hiện các nghiệp vụ.
• View: Trong mô hình MVC, View là thành phần đại diện cho giao diện người
dùng. Nó đảm nhiệm hiển thị dữ liệu cho người dùng và cung cấp một cách để người
dùng tương tác với ứng dụng. View có thể là một trang web, một ứng dụng di động
hoặc bất kỳ giao diện nào khác mà người dùng có thể truy cập. View nhận dữ liệu từ
Model và hiển thị nó cho người dùng theo cách phù hợp. Nó không thực hiện bất kỳ xử
lý nào trên dữ liệu và không có trách nhiệm lưu trữ hoặc cập nhật dữ liệu. View chỉ
đơn giản là hiển thị dữ liệu theo cách mà người dùng có thể dễ dàng hiểu. View có thể
được thiết kế bằng các công nghệ khác nhau, chẳng hạn như HTML, CSS, JavaScript
11

hoặc các framework UI khác. Các tệp View thường được phân tách ra khỏi mã logic
của ứng dụng để dễ dàng bảo trì và tái sử dụng.
• Controller: Controller là thành phần đại diện cho logic điều khiển của ứng
dụng. Nó đảm nhiệm xử lý các yêu cầu của người dùng và điều khiển quá trình truy
xuất dữ liệu từ Model và hiển thị dữ liệu lên View. Controller có trách nhiệm xử lý các
yêu cầu từ người dùng và thực hiện các hoạt động tương ứng. Controller nhận yêu cầu
từ người dùng thông qua View và xử lý chúng bằng cách gọi các phương thức của
Model để truy xuất và xử lý dữ liệu. Sau khi Model trả về dữ liệu, Controller sẽ chuyển
dữ liệu này đến 3 View để hiển thị cho người dùng. Controller không thực hiện bất kỳ
thao tác nào trên dữ liệu và không có trách nhiệm lưu trữ hoặc cập nhật dữ liệu.
Controller có thể được thiết kế bằng nhiều ngôn ngữ lập trình khác nhau, chẳng hạn
như Java, PHP, Python, Ruby, C#... Nó cũng có thể được cấu trúc dưới dạng một tập
hợp các phương thức hoặc lớp điều khiển để quản lý các yêu cầu của người dùng.

Quá trình hoạt động của MVC như sau:


Khi người dùng tương tác với ứng dụng, View gửi yêu cầu đến Controller.
Controller nhận yêu cầu, thao tác với Model để lấy dữ liệu và sau đó chuyển dữ liệu
này đến View. View sẽ hiển thị dữ liệu cho người dùng. Khi có thay đổi từ người dùng,
quá trình này được lặp lại.

Minh họa luồng xử lý:


12

1.2. Đặc điểm mô hình MVC


Ưu điểm của mô hình MVC:
+ Tách biệt logic: Mô hình MVC tách biệt logic ứng dụng thành các thành phần
riêng biệt như Model, View và Controller. Điều này giúp tăng tính tái sử dụng, bảo trì
và mở rộng của mã nguồn.
+ Tính mô đun: Các thành phần của MVC (Model, View và Controller) độc lập
với nhau và có thể được phát triển một cách độc lập. Điều này giúp tăng tính mô đun
của mã nguồn và dễ dàng thay thế, sửa đổi hoặc mở rộng một thành phần mà không
ảnh hưởng đến các thành phần khác.
+ Sự linh hoạt và khả năng kiểm thử: Do phân tách rõ ràng giữa logic ứng
dụng và giao diện người dùng, mô hình MVC giúp việc kiểm thử dễ dàng hơn. Việc
thay đổi hoặc thêm mới các thành phần của mô hình không làm ảnh hưởng đến các
thành phần khác, giúp tiết kiệm thời gian và công sức trong quá trình kiểm thử.
+ Sự phân chia công việc: Mô hình MVC phân chia công việc giữa các thành
viên trong nhóm phát triển. Developer có thể tập trung vào việc phát triển Model,
Designer có thể tập trung vào việc thiết kế giao diện View và Developer tập trung vào
việc xử lý logic trong Controller. Điều này giúp tăng hiệu suất và cải thiện quá trình
phát triển.
Nhược điểm của mô hình MVC:
13

+ Khả năng phức tạp: Mô hình MVC có thể trở nên phức tạp khi ứng dụng có
nhiều thành phần và quy mô lớn. Việc phân chia và quản lý các thành phần có thể khó
khăn đối với những dự án phức tạp, đòi hỏi sự hiểu biết sâu về kiến trúc MVC.
+ Đòi hỏi hiểu biết sâu: Để triển khai mô hình MVC hiệu quả, các nhà phát
triển cần có hiểu biết vững chắc về kiến thức lập trình và các nguyên tắc của mô hình
này.
+ Phân tách quá mức: Trong một số trường hợp, việc phân chia quá mức các
thành phần của MVC có thể dẫn đến sự phức tạp và hiệu suất giảm. Việc quá tách biệt
Model, View và Controller có thể dẫn đến việc truyền thông tin quá nhiều giữa các
thành phần, làm tăng độ phức tạp và giảm hiệu suất của ứng dụng.

1.3. Tổng quan Spring Boot Framework


Spring Boot là một dự án phát triển ứng dụng Java được phát triển bởi Pivotal
Software (hiện nay là VMware) và ra mắt lần đầu vào năm 2014. Nó là một phần mở
rộng của Spring Framework và được tạo ra với mục tiêu giúp đơn giản hóa và tăng
cường hiệu suất trong việc xây dựng ứng dụng Java.
Nguồn gốc của Spring Boot bắt đầu từ dự án Spring Framework, một
framework phát triển ứng dụng Java mạnh mẽ và phổ biến. Spring Framework được
phát triển bởi Rod Johnson vào năm 2003 nhằm giải quyết các vấn đề phức tạp trong
việc phát triển ứng dụng Java Enterprise. Spring Framework tập trung vào việc cung
cấp một mô hình lập trình nhẹ nhàng, hướng đối tượng và dễ dùng.
Tuy nhiên, việc cấu hình và triển khai ứng dụng sử dụng Spring Framework có
thể đòi hỏi nhiều công việc khá phức tạp và tốn thời gian. Đó là lý do Pivotal Software
quyết định phát triển Spring Boot, nhằm giảm bớt sự phức tạp và tăng tính hiệu quả
trong việc phát triển ứng dụng Java.
Mục đích chính của Spring Boot là đơn giản hóa việc xây dựng ứng dụng Java
bằng cách cung cấp một cấu hình mặc định thông minh, tự động cấu hình và tích hợp
14

tốt với các công nghệ và framework phổ biến khác. Nó giúp lập trình viên tập trung
vào việc phát triển logic ứng dụng chính mà không phải mất nhiều thời gian và công
sức vào việc cấu hình và triển khai.
Spring Boot cũng cung cấp các tính năng mạnh mẽ như quản lý phụ thuộc,
embedded server, monitor và quản lý ứng dụng, giúp tăng cường khả năng linh hoạt,
quản lý và mở rộng ứng dụng Java.

1.4. Đặc điểm của Spring Boot Framework


+ Cấu hình mặc định: Spring Boot cung cấp một cấu hình mặc định thông
minh, tự động cấu hình các thành phần phổ biến trong ứng dụng. Điều này giúp giảm
đáng kể việc cấu hình và triển khai ứng dụng Spring, giúp lập trình viên tập trung vào
việc phát triển logic ứng dụng chính.
+ Tích hợp dễ dàng: Spring Boot tích hợp tốt với các công nghệ và framework
phổ biến như Spring Data, Spring Security, Hibernate, Thymeleaf và nhiều công nghệ
khác. Việc tích hợp này giúp lập trình viên dễ dàng sử dụng các tính năng mở rộng của
các công nghệ này trong ứng dụng của mình.
+ Tự động cấu hình: Spring Boot cung cấp khả năng tự động cấu hình dựa trên
tìm kiếm và cấu hình thông qua các điều kiện. Ví dụ, khi thêm thư viện Spring Data
JPA vào ứng dụng, Spring Boot tự động cấu hình và tạo các bean để làm việc với cơ sở
dữ liệu.
+ Embedded Server: Spring Boot đi kèm với các server nhúng như Tomcat,
Jetty hoặc Undertow, giúp triển khai và chạy ứng dụng một cách dễ dàng. Bạn không
cần phải cài đặt server bên ngoài và có thể tự động chạy ứng dụng một cách độc lập.
+ Quản lý phụ thuộc: Spring Boot hỗ trợ quản lý các phụ thuộc trong ứng dụng
thông qua công cụ Apache Maven hoặc Gradle. Nó tự động giải quyết các phụ thuộc và
đảm bảo sự tương thích giữa các phiên bản thư viện.
15

+ Monitor và quản lý ứng dụng: Spring Boot cung cấp các công cụ và thư
viện hỗ trợ cho việc monitor và quản lý ứng dụng,

1.5. Các điểm quan trọng trong xây dựng một dự án Spring boot
File cấu hình: Trong dự án Spring Boot, file cấu hình chính là
application.properties hoặc application.yml. Đây là nơi bạn cấu hình các thông số như
cổng server, cấu hình cơ sở dữ liệu, URL kết nối và các cài đặt khác của ứng dụng.
Dependency Management: Trong dự án Spring Boot, bạn sẽ sử dụng công cụ
quản lý phụ thuộc như Apache Maven hoặc Gradle để quản lý các thư viện và module.
Bạn sẽ chỉ định các dependency trong file pom.xml (đối với Maven) hoặc build.gradle
(đối với Gradle). Spring Boot đi kèm với các starter dependency, giúp bạn dễ dàng
thêm các tính năng như Spring Web, Spring Data JPA, Spring Security, và nhiều thư
viện khác.
Cấu trúc dự án: Dự án Spring Boot thường có một cấu trúc dự án chuẩn, giúp
bạn dễ dàng tổ chức và quản lý mã nguồn. Cấu trúc thư mục thông thường bao gồm các
thư mục src/main/java để lưu trữ mã nguồn Java, src/main/resources để lưu trữ các tài
nguyên như file cấu hình và tệp tin tĩnh, và src/test để lưu trữ các test cases.
Annotation và Configuration: Spring Boot sử dụng các annotation và cấu hình
để quản lý và cấu hình các thành phần của ứng dụng. Ví dụ, @SpringBootApplication
là annotation chính để đánh dấu một lớp là một Spring Boot Application. Bạn cũng có
thể sử dụng các annotation như @Controller, @RestController, @Service,
@Repository để định nghĩa các thành phần trong ứng dụng.
Testing: Spring Boot hỗ trợ một số framework testing như JUnit và Mockito để
thực hiện các test cases. Bạn có thể viết các test cases cho các thành phần của ứng dụng
như Controllers, Services và Repositories để đảm bảo tính đúng đắn và độ tin cậy.
Spring Data: Spring Boot tích hợp tốt với Spring Data, một dự án của Spring
Framework nhằm hỗ trợ tiếp cận dữ liệu trong ứng dụng. Spring Data giúp đơn giản
16

hóa việc tương tác với cơ sở dữ liệu và cung cấp các tính năng như tự động tạo câu truy
vấn, cung cấp repository và các phương thức CRUD, và hỗ trợ nhiều cơ sở dữ liệu phổ
biến như MySQL, PostgreSQL, MongoDB, và Redis.
Spring Security: Spring Boot cung cấp tích hợp với Spring Security, một
framework mạnh mẽ để xác thực và phân quyền trong ứng dụng. Spring Security cho
phép bạn bảo vệ các endpoint, quản lý đăng nhập và xác thực người dùng, và thiết lập
các quyền truy cập dựa trên vai trò. Điều này giúp bảo vệ ứng dụng khỏi các cuộc tấn
công và đảm bảo tính bảo mật của hệ thống.
Quản lý môi trường: Spring Boot cung cấp khả năng quản lý môi trường thông
qua các file cấu hình. Bạn có thể cấu hình các tài nguyên, định nghĩa các biến môi
trường và điều kiện để áp dụng cấu hình khác nhau cho từng môi trường như
Development, Production, và Testing. Điều này giúp tối ưu hoá việc triển khai và vận
hành ứng dụng trên nhiều môi trường khác nhau.

2. CHƯƠNG 2 – PHÂN TÍCH – THIẾT KẾ WEB XEM PHIM


ONLINE FILMO
Đặc tả hệ thống:
Filmo là một trang web cung cấp dịch vụ xem phim trực tuyến miễn phí cho
người dùng. Trang web này cho phép người dùng trải nghiệm các bộ phim yêu thích.
Người dùng có thể đăng kí một tài khoản mới trên Filmo để truy cập vào các chức năng
của trang web. Sau khi đăng kí thành công, người dùng có thể đăng nhập vào tài khoản
của mình. Người dùng có thể quản lý thông tin cá nhân, bao gồm cập nhật thông tin cá
nhân, thay đổi mật khẩu và thực hiện các thay đổi khác liên quan đến tài khoản của
mình. Người dùng có thể truy cập vào trang chủ của Filmo và xem các bộ phim có sẵn
trên trang web. Các bộ phim được phân loại theo thể loại và có thông tin tóm tắt về tên
phim, thể loại và nội dung tóm tắt. Người dùng có thể lưu các bộ phim yêu thích vào
17

danh sách riêng của mình. Điều này giúp người dùng dễ dàng tìm lại và tiếp tục trải
nghiệm các bộ phim mà họ thích. Filmo cung cấp chức năng tìm kiếm, cho phép người
dùng tìm kiếm phim theo tên phim hoặc thể loại phim mà họ muốn xem. Người dùng
có thể gửi bình luận và đánh giá về các bộ phim mà họ đã xem. Điều này cho phép
người dùng chia sẻ ý kiến và góp ý về các bộ phim với cộng đồng người dùng khác.
Tất cả các bộ phim mà người dùng đã xem sẽ được lưu trữ và người dùng có thể xem
lại lịch sử xem phim của mình.
2.1. Đặc tả yêu cầu:
Yêu cầu chức năng:
- Người dùng đăng kí tài khoản
- Người dùng và quản trị viên đăng nhập tài khoản
- Người dùng quản lý thông tin cá nhân.
- Người dùng xem phim trực tuyến
- Người dùng tìm kiếm phim theo tên, thể loại
- Người dùng lưu phim yêu thích
- Người dùng bình luận phim
- Người dùng xem lịch sử xem phim
- Quản trị viên quản lý phim
- Quản trị viên quản lý tập phim
- Quản trị viên quản lý thông tin về thể loại
- Quản trị viên quản lý thông tin về ngôn ngữ
- Quản trị viên quản lý thông tin về quốc gia
- Quản trị viên quản lý thông tin về diễn viên.
- Quản trị viên quản lý thông tin về người dùng
Yêu cầu phi chức năng:
- Giao diện người dùng thân thiện.
- Độ phản hồi nhanh.
18

- Bảo mật thông tin.


2.2. Sơ đồ Use Case
2.3.1 Sơ đồ Use Case tổng quát

Hình 2: Sơ đồ use case tổng quát


19

2.3.2 Sơ đồ use case đăng nhập

Hình 3: Sơ đồ 2:
Hình use case đăng nhập

2.3.3 Sơ đồ use case đăng kí

Hình 4: Sơ đồ use case đăng kí

Hình 4

Hình 5: Hình minh họa luồng xử lý của mô hình MVCHình 6


20

2.3.4 Sơ đồ use case quản lý thông tin cá nhân

Hình 7: Sơ đồ use case quản lý thông tin cá nhân


2.3.5 Sơ đồ use case xem phim

Hình 8: Sơ đồ use case xem phim


21

2.3.6 Sơ đồ use case tìm kiếm phim theo tên, thể loại

Hình 9: Sơ đồ use case tìm kiếm phim theo tên, thể loại
22

2.3.7 Sơ đồ use case lưu phim yêu thích

Hình 11:10:
Hình Sơ đồđồ
usecase bình luận phim
2.3.8 Sơ đồ use case bình luậnSơ
phimuse case lưu phim yêu thích

2.3.8 Sơ đồ use case xem lịch sử

Hình 12: Sơ đồ usecase lịch sử xem phim


23

2.3.9 Sơ đồ use case quản lý phim

Hình 13: Sơ đồ use case quản lý phim


24

2.3.10 Sơ đồ use case quản lý tập phim

Hình 14: Sơ đồ use case quản lý tập phim


25

2.3.11 Sơ đồ use case quản lý thể loại

Hình 15: Sơ đồ use case quản lý thể loại


26

2.3.12 Sơ đồ use case quản lý ngôn ngữ

Hình 16: Sơ đồ use case quản lý ngôn ngữ

2.3.13 Sơ đồ use case quản lý quốc gia

Hình 17: Sơ đồ use case quản lý quốc gia


27

2.3.14 Sơ đồ use case quản lý diễn viên


2.3.15 Sơ đồ use case quản lý người dùng

Hình 18: Sơ đồ use case quản lý diễn viên

Hình 19: Sơ đồ use case quản lý người dùng


28
29

2.3. ERD

Hình 20: Sơ đồ ERD

2.4. Sơ đồ Class Diagram

Hình 21: Sơ đồ class diagram


30

2.5. Sơ đồ Sequence
2.5.1 Sơ đồ sequence chức năng đăng nhập

Hình 22: Sơ đồ sequence chức năng đăng nhập

2.5.2 Sơ đồ sequence chức năng đăng ký

Hình 23: Sơ đồ sequence chức năng đăng ký


31

2.5.3 Sơ đồ sequence chức năng quản lý người dùng

Hình 22: Sơ đồ sequence chức năng quản lý người dùng

2.5.4 Sơ đồ sequence chức năng quản lý phim


32

2.5.5 Sơ đồ sequence chức năng bình luận

Hình 23: Sơ đồ sequence chức năng quản lý phim

Hình 24: Sơ đồ sequence chức năng bình luận

2.5.6 Sơ đồ sequence chức năng lưu phim

Hình 25: Sơ đồ sequence chức năng lưu phim


33

2.6 Mô tả kế hoạch xây dựng dự án


Về kế hoạch xây dựng dự án web xem phim lần này, chúng em lập kế hoạch
trong các tuần như sau:

Hình 26: Hình ảnh phân công công việc ở các tuần
Ngoài ra chúng em cũng sử dụng gitlab của trường để tổ chức, quản lý dự án, git
của chúng em được chia làm 3 branch tương đương với 3 người để dễ quản lý dự án :
34

Hình 27: Hình ảnh branch

Hình 28: Commit 1


35

Hình 29: Commit 2

Hình 30: Commit 3


36

2.7 Unit Test

Hình 31: Unit Test

2.8 Unit Test

STT MSSV Họ và tên Đánh giá


1 52100086 Phan Hoàng Phú 30%
2 52100783 Nguyễn Trung 30%
Dũng
3 52100815 Huỳnh Nhật Linh 35%
4 5200897 Trần Lữ Vĩnh Nhi 5%

DANH MỤC TÀI LIỆU THAM KHẢO VÀ CÁC TRÍCH DẪN


[Tiếng Anh]
[1] bezkoder.com, Spring Boot Token based Authentication with Spring
Security
37

& JWT, ngày truy cập: 5/4/2023


Link truy cập:
https://www.bezkoder.com/spring-boot-jwt-authentication/
[Tiếng Việt]
[1] Slide bài giảng của thầy Nguyễn Thanh Phong, Đại học Tôn Đức Thắng.

--Hết--

You might also like