ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO ĐỒ ÁN 1
Đề tài: Xây dựng ứng dụng xem trước và review phim
Giảng viên hướng dẫn: Trần Thị Hồng Yến
Nhóm thực hiện:
19521747 – Phan Tiến Lào
19521828 – Phan Huy Mạnh
TP. HỒ CHÍ MINH, 2022
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
……., ngày… ..... tháng……năm 2022
Người nhận xét
(Ký tên và ghi rõ họ tên)
1
LỜI CẢM ƠN
Trong quá trình học tập, nghiên cứu và phát triển đề tài “Xây dựng ứng dụng xem
trước và review phim” chúng em đã nhận được sự giúp đỡ, chỉ bảo nhiệt tình của cô để
hoàn thành đồ án này.
Nhóm em xin chân thành gửi lời cảm ơn đến cô Trần Thị Hồng Yến – Giảng viên
Trường Đại học Công nghệ thông tin, Đại học Quốc gia Thành phố Hồ Chí Minh – giảng
viên dạy hướng dẫn môn Đồ án 1, đã tận tình hướng dẫn và giúp đỡ về kiến thức, phương
pháp cho chúng em trong suốt quá trình thực hiện và hoàn thành đồ án.
Hi vọng với sự chỉ bảo và góp ý từ cô, nhóm đề tài có thể tiếp tục phát triển để ứng
dụng ngày càng được mở rộng và phục vụ được tốt hơn cho người dùng.
Mặc dù đã có nhiều cố gắng trong suốt quá trình thực hiện đề tài, song không thể tránh
khỏi những hạn chế, thiếu sót. Chúng em mong rằng sẽ nhận được những đóng góp và nhận
xét chân thành từ thầy, các bạn sinh viên và người dùng trong quá trình sử dụng phần mềm
để phần mềm ngày càng hoàn thiện hơn nữa. Mọi đóng góp xin vui lòng gửi về địa chỉ
email:
[email protected].
Mỗi ý kiến đóng góp của cô và các bạn sẽ là một nguồn động lực to lớn đối với chúng
em để chúng em có thể cải thiện phần mềm tốt hơn và xây dựng những phần mềm hữu ích
đối với người dùng hơn nữa.
Chúng em xin trân trọng cảm ơn.
Thành phố Hồ Chí Minh, ngày 10 tháng 6 năm 2022
2
Nội dung
Chương 1: GIỚI THIỆU ............................................................................................................ 5
1.1 Đặt vấn đề ............................................................................................................................. 5
1.2 Giải pháp ............................................................................................................................... 5
1.3 Mục tiêu ................................................................................................................................ 5
Chương 2: TỔNG QUAN ........................................................................................................... 6
2.1 Tổng quan về đồ án .......................................................................................................... 6
2.1.1 Tên đồ án: .............................................................................................................. 6
2.1.2 Link github quản lý source code ............................................................................. 6
2.2 Công nghệ sử dụng .......................................................................................................... 6
2.2.1 Ngôn ngữ lập trình C# ............................................................................................ 6
2.2.2 Visual Studio .......................................................................................................... 7
2.2.3 Dịch vụ GitHub ...................................................................................................... 8
2.2.4 WPF Frameword .................................................................................................... 9
Chương 3: PHÂN TÍCH, THIẾT KẾ ...................................................................................... 10
3.1 Cơ sở dữ liệu ................................................................................................................. 10
3.1.1 Sơ đồ lớp .............................................................................................................. 10
3.1.2 Chi tiết các thuộc tính ........................................................................................... 11
3.2 Yêu cầu chức năng ......................................................................................................... 13
3.2.1 Sơ đồ use case ...................................................................................................... 13
3.2.2 Mô tả tác nhân ...................................................................................................... 14
3.2.3 Mô tả use case ...................................................................................................... 15
3.3. Đặc tả use case .............................................................................................................. 16
UC1_Đăng ký ............................................................................................................... 16
UC2_Đăng nhập ........................................................................................................... 17
UC3_Đổi mật khẩu ....................................................................................................... 18
UC4_Thiết lập tài khoản ............................................................................................... 19
UC5_Tìm kiếm phim .................................................................................................... 20
3
UC6_Tìm kiếm theo thể loại ......................................................................................... 21
UC7_Thêm vào watchlist .............................................................................................. 22
UC8_Đánh giá phim ..................................................................................................... 23
UC9_Bình luận về phim ................................................................................................ 24
UC10_Thêm phim ........................................................................................................ 25
UC11_Sửa phim ........................................................................................................... 26
UC12_Xoá phim ........................................................................................................... 27
UC13_Thêm đạo diễn ................................................................................................... 28
UC14_Sửa đạo diễn ...................................................................................................... 29
UC15_Xoá đạo diễn ...................................................................................................... 30
UC16_Thêm diễn viên .................................................................................................. 31
UC17_Sửa diễn viên ..................................................................................................... 32
UC18_Xoá diễn viên ..................................................................................................... 33
UC19_Xoá tài khoản ..................................................................................................... 34
3.4 Thiết kế giao diện .......................................................................................................... 35
Chương 4: BẢNG PHÂN CÔNG CÔNG VIỆC ...................................................................... 51
Chương 5: NHẬN XÉT VÀ HƯỚNG PHÁT TRIỂN ............................................................. 53
5.1 Nhận xét ........................................................................................................................ 53
5.1.1 Kết quả đạt được .................................................................................................. 53
5.1.2 Đánh giá về ứng dụng ........................................................................................... 53
5.2 Hướng phát triển và mở rộng ......................................................................................... 53
Chương 6: YÊU CẦU CÀI ĐẶT .............................................................................................. 54
TÀI LIỆU THAM KHẢO ........................................................................................................ 55
4
Chương 1: GIỚI THIỆU
1.1 Đặt vấn đề
Ngày nay, nhu cầu giải trí của con người càng cao. Việc xem phim trực tuyến là một
hoạt động giải trí phổ biến không chỉ ở thành phố lớn và giới trẻ mà ngay cả ở nông thôn và
người lớn tuổi hơn cũng yêu thích. Nhưng hiện có quá nhiều phim được ra mắt kể từ cả
thập kỷ trước khiến người xem khó có thể chọn được cho mình bộ phim muốn xem.
1.2 Giải pháp
Nhận thấy tình hình trên, nhóm em đã lên ý tưởng xây dựng một ứng dụng xem trước và
review phim, nhằm tìm cho mọi người bộ phim vừa ý của mình.
1.3 Mục tiêu
• Xây dựng một phần mềm hỗ trợ người dùng sử dụng dễ dàng, thoải mái.
• Xây dựng giao diện phần mềm một cách trực quan, sinh động, dễ sử dụng, thẩm mỹ.
• Các xử lý thành phần hoạt động một cách mượt mà để mang đến trải nghiệm thú vị và
tiện ích cho người dùng.
5
Chương 2: TỔNG QUAN
2.1 Tổng quan về đồ án
2.1.1 Tên đồ án:
•
Tên tiếng việt: Xây dựng ứng dụng xem trước và review phim.
2.1.2 Link github quản lý source code
- Link github ứng dụng dành cho User:
https://github.com/UIT19521828/ReviewYourFilms.git
- Link github ứng dụng dành cho quản trị viên:
https://github.com/laophan74/MovieApp_Admin.git
2.2 Công nghệ sử dụng
2.2.1 Ngôn ngữ C#
C# (hay C sharp) là một ngôn ngữ lập trình đơn giản, được phát triển bởi đội ngũ kỹ sư
của Microsoft vào năm 2000. C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và được xây
dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java.
Lịch sử hình thành của C#
C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng với các
sản phẩm Turbo Pascal, Delphi, J++, WFC. Vào năm 2000, Microsoft muốn phát triển một ngôn
ngữ lập trình có thể hoạt động trong nền tảng của bộ khung .NET và họ đã thành công. Đó chính
là ngôn ngữ C#. Điều này cũng lý giải tại sao ngôn ngữ C# là chỉ chạy được trên nền Windows và
có cài .NET Framework. Tuy nhiên với những ứng dụng của nó thì nhược điểm này không phải là
một vấn đề quá lớn. Chỉ sau một thời gian cho ra mắt, ngôn ngữ này đã trở nên nổi tiếng. Và hiện
6
nay, nó được nằm trong top 10 ngôn ngữ lập trình hàng đầu trên thế giới.
Ưu nhược điểm của C#
Ưu điểm của C#
C# là loại ngôn ngữ lập trình rất an toàn và nó không cho phép việc chuyển đổi kiểu
dữ liệu để có thể giảm tránh được những vấn đề sai lệch xảy ra.
Trong C# sẽ cho kết quả trả về thuộc các hàm đa phần đều là một object. Các lỗi lập
trình phổ biến như: gõ nhầm tên, viết sai cấu trúc… đều sẽ được hệ thống cảnh báo
luôn mà không cần phải chờ đến lúc chạy.
Hiện nay, việc học #C sẽ trở nên dễ dàng hơn bởi cộng đồng #C đang rất phát triển
và rộng mở. Chính vì vậy, các nhà phát triển cũng như lập trình viên ngôn ngữ #C có
thể hỗ trợ, giúp đỡ cùng nhau phát triển kỹ năng và kinh nghiệm về #C..
Nhược điểm của C#
C# là chỉ chạy trên nền Windows và có cài . NET Framework. Nên đây được xem là
nhược điểm lớn nhất của C#. Ngoài ra, thao tác đối với phần cứng hầu hết phải dựa vào
windows.
2.2.2 Visual Studio
Tổng quan về Visual studio
Visual studio là một trong những công cụ hỗ trợ lập trình website rất nổi tiếng nhất
hiện nay của Mcrosoft và chưa có một phần mềm nào có thể thay thế được nó. Visual
Studio được viết bằng 2 ngôn ngữ đó chính là C# và VB+. Đây là 2 ngôn ngữ lập trình giúp
người dùng có thể lập trình được hệ thống một các dễ dàng và nhanh chóng nhất thông qua
Visual Studio. Visual Studio là một phần mềm lập trình hệ thống được sản xuất trực tiếp từ
Microsoft. Từ khi ra đời đến nay, Visual Studio đã có rất nhiều các phiên bản sử dụng khác
nhau. Điều đó, giúp cho người dùng có thể lựa chọn được phiên bản tương thích với dòng
máy của mình cũng như cấu hình sử dụng phù hợp nhất. Bên cạnh đó, Visual Studio còn
cho phép người dùng có thể tự chọn lựa giao diện chính cho máy của mình tùy thuộc vào
nhu cầu sử dụng.
Lịch sử hình thành của Visual studio
Visual Studio được sáng tạo bởi Microsoft. Vào năm 1997, ông lớn này đã cho ra
mắt hai phiên bản của Visual Studio là Professional và Enterprise. Trải qua nhiều lần phát
triển, đến nay, Visual Studio sở hữu nhiều phiên bản khác nhau như VS 2005, VS 2008, VS
2010, VS 2012, VS 2013. Trong đó, phiên bản mới nhất là Visual Studio 2015 được chính
7
thức phát hành vào tháng 7 năm 2015. Theo đó, với mỗi phiên bản phát hành của mình,
Visual Studio lại tích hợp thêm nhiều tính năng, công nghệ mới mẻ và hấp dẫn hơn.
Ưu điểm của Visual studio
Phát triển rất tích cực với sự hỗ trợ của Microsoft. Các tài liệu chính thức được duy trì
tốt.
Có sự hỗ trợ rất tích cực của cộng đồng với tất cả các plugin bạn cần. Nếu gửi một lỗi
trên repo GitHub, bạn thường sẽ nhận được phản hồi trong vòng 4 ngày.
Đối với một ứng dụng electron, tốc độ của VSCode rất cao, gần như tương đương với
ST3 được xây dựng nguyên bản.
Nhược điểm của Visual studio
Yêu cầu Native code.
Các phím tắt mặc định không có ý nghĩa và người dùng phải cấu hình lại gần như tất cả
chúng.
Không có git merge, điều mà nhiều người mong đợi, vì ST3 và Atom có khả năng
làm điều đó.
2.2.3 Dịch vụ GitHub
GitHub là một dịch vụ cung cấp kho lưu trữ mã nguồn Git dựa trên nền tảng web cho
các dự án phát triển phần mềm. GitHub cung cấp cả phiên bản trả tiền lẫn miễn phí cho các tài
khoản. Các dự án mã nguồn mở sẽ được cung cấp kho lưu trữ miễn phí. Tính đến tháng 4
năm 2016, GitHub có hơn 14 triệu người sử dụng với hơn 35 triệu kho mã nguồn, làm cho
nó trở thànhmáy chủ chứa mã nguồn lớn trên thế giới.
Sự phát triển của nền tảng GitHub bắt đầu vào ngày 19 tháng 10 năm 2007. Trang web
được đưa ra vào tháng 4 năm 2008 do Tom Preston-Werner, Chris Wanstrath, và PJ Hyett
thực hiện sau khi nó đã được hoàn thành một vài tháng trước đó, xem như giai đoạn beta
Github đã trở thành một yếu tố có sức ảnh hưởng trong cộng đồng phát triển mã nguồn
mở. Thậm chí nhiều nhà phát triển đã bắt đầu xem nó là một sự thay thế cho sơ yếu lý lịch và
một số nhà tuyển dụng yêu cầu các ứng viên cung cấp một liên kết đến tài khoản Github để
đánhgiá ứng viên.
Dự án trên Github có thể được truy cập và thao tác sử dụng một giao diện dòng lệnh
và làm việc với tất cả các lệnh Git tiêu chuẩn. Github cũng cho phép người dùng đăng ký và
không đăng ký để duyệt kho công cộng trên trang web. Github cũng tạo ra nhiều client và
8
plugin cho máy tính để bàn.
2.2.4 WPF Framework
Tổng quan về WPF Framework
WPF, viết tắt của Windows Presentation Foundation, là hệ thống API mới hỗ trợ việc xây
dựng giao diện đồ hoạ trên nền Windows. Được xem như thế hệ kế tiếp của WinForms, WPF tăng
cường khả năng lập trình giao diện của lập trình viên bằng cách cung cấp các API cho phép tận
dụng những lợi thế về đa phương tiện hiện đại. Là một bộ phận của .NET Framework 3.0, WPF
sẵn có trong Windows Vista và Windows Server 2008. Đồng thời, WPF cũng có thể hoạt động
trên nền Windows XP Service Pack 2 hoặc mới hơn, và cả Windows Server 2003.
Lịch sử hình thành của WPF Framework
Ngày 12/2/2002 đánh dấu một mốc quan trọng trong ngành công nghệ thông tin khi
Microsoft chính thức ra mắt nền tảng công nghệ mới có tên .NET Framework phiên bản 1.0 cùng
với Visual Studio.NET 2002. Sau hơn 1 thập kỷ phát triển, .NET đã đi được những bước dài, trở
thành một trong những nền tảng công nghệ mạnh mẽ và phổ biến nhất hiện nay.
Từ phiên bản .NET Framework 1.1, các HĐH Windows đều được cài đặt sẵn phiên bản
.NET Framework mới nhất. Windows Server 2003 tiên phong với phiên bản 1.1, sau đó là
Windows Vista với .NET 3.0, và gần đây nhất là Windows 7/Server 2008 với .NET 3.5 SP1.
.NET Framework 3.0 đã ra mắt cùng với hệ điều hành Windows Vista vào cuối năm 2006.
Ba “điểm nhấn” trong lần nâng cấp này là thành phần được kỳ vọng thay thế Winform –
Windows Presentation Foundation – WPF, Windows Communitcation Foundation – WCF,
Windows Workflow Foundation – WF, và Windows Card Space.
Ưu điểm của WPF Framework
• WPF mang đến cho việc lập trình trở nên đơn giản hơn trong việc thiết kế giao diện, xử lý
dữ liệu giúp việc lập trình dễ dàng và mạnh mẽ hơn hẳn Windows Forms.
• Tất cả các thuộc tính của đối tượng trong WPF đều có thể được xử lý để trở nên sinh động
hơn
• XAML giúp dễ dàng tạo và chỉnh sửa GUI của bạn và cho phép công việc được phân chia
giữa một nhà thiết kế (XAML) và một lập trình viên (C #, VB.NET, v.v.)
Nhược điểm của WPF Framework
Nhược điểm lớn nhất của WPF là phức tạp, khó học, khó thành thạo (nếu so với Windows
Forms)
9
Chương 3: PHÂN TÍCH, THIẾT KẾ
3.1 Cơ sở dữ liệu
3.1.1 Sơ đồ lớp
10
3.1.2 Chi tiết các thuộc tính
1.
Users
STT
Thuộc tính
Kiểu dữ liệu
Diễn giải
1
email
String
Email đăng ký tài khoản của người
dùng
2
avatar
String
Ảnh đại diện
3
name
String
Tên người dùng
4
watchlist
List
Danh sách phim xem sau
5
bio
String
Tiểu sử
6
followed
List
Theo dõi
2.
Films
STT
Thuộc tính
Kiểu dữ liệu
Diễn giải
1
name
String
Tên phim
2
poster
String
Ảnh bìa
3
category
List
Thể loại
4
country
String
Nguồn gốc
5
descript
String
Giới thiệu về phim
6
director
String
Đạo diễn
7
eps
Int
Số tập
8
genre
String
Danh mục
9
numRate
Int
Số người đánh giá phim
10
rating
Int
Mức độ đánh giá phim
11
time
Int
Thời lượng phim
12
totalPoint
Int
Số điểm đánh giá
13
trailer
String
Trailer
14
year
Int
Năm phát hành
3.
Banners
STT
Thuộc tính
Kiểu dữ liệu
Diễn giải
1
bannerUrl
String
Ảnh bìa của phim
11
4.
Reviews
STT
Thuộc tính
Kiểu dữ liệu
Diễn giải
1
content
String
Nội dung review
2
countDis
Int
Số dislike
3
countLike
Int
Số like
4
film
String
Film review
5
isDis
List
Những người dislike
6
isLike
List
Những người like
7
score
Int
Điểm của người review
8
title
String
Tiêu đề
9
user
String
Người review
5.
Actors
STT
Thuộc tính
Kiểu dữ liệu
Diễn giải
1
name
String
Tên đạo diễn
2
avatar
String
Ảnh đại diện
6.
Directors
STT
Thuộc tính
Kiểu dữ liệu
Diễn giải
1
name
String
Tên đạo diễn
2
avatar
String
Ảnh đại diện
12
3.2 Yêu cầu chức năng
3.2.1 Sơ đồ usecase
13
3.2.2 Mô tả tác nhân
STT
Mô tả
Tên tác nhân
1
User
Người sử dụng ứng dụng
2
Admin
Quản trị viên của hệ thống, xử lý phim
14
3.2.3 Mô tả usecase
STT
Tên Chức Năng
Mô tả
1
Đăng ký
Đăng ký tài khoản mới
2
Đăng nhập
Đăng nhập vào ứng dụng
3
Đổi mật khẩu
Đổi mật khẩu đăng nhập tài khoản ứng dụng
4
Quên mật khẩu
Cho phép người dùng gửi yêu cầu đặt lại mật khẩu mới
5
Thiết lập tài khoản
Người dùng cập nhật các thông tin như họ tên, ngày
sinh, ảnh đại diện
6
Tìm kiếm phim
Chức năng cho phép User, Admin tìm kiếm phim
theo tên
7
Thêm vào watchlist
Thêm phim muốn xem vào watchlist
8
Tìm kiếm phim
Chức năng cho phép User tìm kiếm phim theo thể loại
theo thể loại
9
Đánh giá phim
Chức năng cho phép người dùng đánh giá phim
10
Bình luận
Chức năng cho phép người dùng bình luận về phim
11
Thêm sửa xoá phim
Chức năng cho phép admin thêm sửa xoá phim
12
Thêm sửa xoá đạo
Chức năng cho phép admin thêm sửa xoá đạo diễn
diễn
13
Thêm sửa xoá tài
Chức năng cho phép admin thêm sửa xoá tài khoản
khoản
14
Thêm sửa xoá diễn
Chức năng cho phép admin thêm sửa xoá diễn viên
viên
15
3.3. Đặc tả use case
UC1_Đăng Ký
Tên use case
Đăng ký
Mô tả
Use case cho phép User đăng ký tài khoản ứng dụng
Tác nhân
User, Admin
Điều kiện trước
Truy cập vào ứng dụng
Điều kiện sau
Một tài khoản mới được tạo và lưu vào DB
Ngoại lệ
Không có
Các yêu cầu đặc biệt
Email phải đúng định dạng
Password có ít nhất 6 ký tự, gồm các chữ cái từ a-z,các số và
có thể chứa kí tự đặc biệt
Retype Password phải giống với Password vừa nhập
❖ Sơ đồ hoạt động:
3.3.1 Sơ đồ hoạt động Đăng ký
16
UC2_Đăng nhập
Tên use case
Đăng nhập
Mô tả
Use case cho phép người dùng đăng nhập vào ứng dụng
Tác nhân
Admin, User
Điều kiện trước
Người dùng đã có tài khoản ứng dụng
Điều kiện sau
Hiển thị màn hình “Trang chủ” tương ứng với mỗi tác nhân
Ngoại lệ
Nếu nhập sai tài khoản hoặc mật khẩu sẽ được yêu cầu nhập lại
❖
Sơ đồ hoạt động:
3.3.2 Sơ đồ hoạt động Đăng Nhập
17
UC3_Đổi mật khẩu
Tên use case
Đổi mật khẩu
Mô tả
Use case cho phép người dùng đổi mật khẩu của tài khoản ứng
dụng
Tác nhân
Admin, User
Điều kiện trước
Đã đăng nhập vào ứng dụng
Điều kiện sau
Cập nhật mật khẩu mới vào DB
Ngoại lệ
Không có
Các yêu cầu đặc biệt
Không có
Sơ đồ hoạt động:
3.3.3 Sơ đồ hoạt động Đổi mật khẩu
18
UC4_Thiết lập tài khoản
Tên use case
Thiết lập tài khoản
Mô tả
Use case cho phép người dùng thiết lập các thông tin của tài
khoản
Tác nhân
Admin, User
Điều kiện trước
Đã đăng nhập vào hệ thống
Điều kiện sau
Thông tin tài khoản được cập nhật
Ngoại lệ
Không có
Các yêu cầu đặc biệt
Không có
❖ Sơ đồ hoạt động
3.3.4 Sơ đồ hoạt động Thiết lập tài khoản
19