Mô tả hệ thống hiện tại Hoạt động website xem phim OneMovies có thể mô tả như sau: ● Trên giao diện trang chủ, phim được chia theo một số loại để người dùng dễ dàng chọn lựa theo các t
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN
TRẦN VĂN SƠN
XÂY DỰNG WEBSITE XEM PHIM
ĐỒ ÁN 5
NGƯỜI HƯỚNG DẪN NGUYỄN HỮU ĐÔNG
HƯNG YÊN - 2019
Trang 2NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Hưng Yên, ngày tháng năm 2019
(Ký và ghi rõ họ tên)
Trang 3MỤC LỤC
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN 2
MỤC LỤC 3
DANH MỤC CÁC KÝ TỰ, CÁC TỪ VIẾT TẮT 5
PHẦN 1: NỘI DUNG 6
Chương 1: Tổng quan 6
1.1 Giới thiệu đề tài 6
Mô tả hệ thống hiện tại 6
1.1.2 Tổng quan về hệ thống mới 7
1.1.3 Các mục tiêu chính của hệ thống 7
1.2 Xác định yêu cầu khách hàng 7
1.3 Phương pháp nghiên cứ và hướng giải quyết vấn đề 12
1.3.1 Công nghệ sử dụng 12
1.3.2 Phân tích thiết kế bài toán 12
Chương 2 Phân tích và thiết kế hệ thống 14
Phân tích các chức năng 14
Phân tích yêu cầu 14
Xác định các tác nhân 14
USECASE 20
2.2.1 Biểu đồ usecase tổng quát 20
1.1 2.2.2 Biểu đồ use-case tìm kiếm 21
1.2 2.2.3.Biểu đồ use-case đăng nhập 21
1.3 2.2.4.Biểu đồ use-case quản lý phim 22
1.4 2.2.5.Biểu đồ use-case quản lý thành viên 23
2.3 Biểu đồ lớp 23
2.3.1 Xác định các lớp 24
2.4 Biều đồ tuần tự 25
2.4.9 Biểu đồ tuần tự cho chức năng “Thêm User” 27
2.4.10 Biểu đồ tuần tự cho chức năng “Sửa User” 28
2.4.11 Biểu đồ tuần tự cho chức năng “Xóa User” 28
Chương 3 Thiết kế cơ sở dữ liệu cho hệ thống 28
3
Trang 43.1 Các bảng dữ liệu 28
3.2 Biểu đồ cơ sở dữ liệu 32
Chương 4: Giao diện Website 36
4.1 Giao điện Trang chủ 36
4.2 Giao diện trang Chi tiết Phim 37
4.3 Giao điện trang Đăng Nhập Người Dùng 40
4.4 Giao diện trang Admin 40
PHẦN 3: Kết Luận 43
1 Kết quả đạt được 43
Trang 5DANH MỤC CÁC KÝ TỰ, CÁC TỪ VIẾT TẮT
5
Trang 6PHẦN 1: NỘI DUNGChương 1: Tổng quan 1.1 Giới thiệu đề tài
Hiện nay, nước ta đang trong quá trình công nghiệp hóa hiện đại hóa, cuộc sống con người ngày càng nâng cao.Chính vì vậy, nhu cầu về giải trí cũng ngày càng cao với đại bộ phận người dân Với sự phát triển của Internet, những Website xem phim ra đời nhằm đáp ứng nhu cầu ngày càng lớn về giải trí.
NhâAn thBy nhu cầu xem phim online ngày càng phổ biến, em xây dựng website xem phim online để thỏa mãn nhu cầu xem phim, giải trí sau nhưng giờ làm việc mệt mỏi.
Mô tả hệ thống hiện tại
Hoạt động website xem phim OneMovies có thể mô tả như sau:
● Trên giao diện trang chủ, phim được chia theo một số loại để người dùng dễ dàng chọn lựa theo các tiêu chí như phim mới cập nhật, phim nổi bật và phim nhiều lượt xem
● Người dùng có thể tìm kiếm trực tiếp bộ phim mong muốn ngay tại trang chủ thông qua ô Search ở phía trên của Website.
● Bộ phim bao gồm những thông tin: Tên phim, tác giả, năm sản xuBt, ngày
phát hành, điểm IMDb(I MDb chính viết tắt của cụm từ Internet Movielà
Database (Cơ ở dữ liệu điện ảnh trên Internet), đây được xem thư viện điệnlà
ảnh, nơi cung cấp những thông tin về bộ phim, diễn viên, đạo diễn và nhữngchủ đề điện ảnh, truyền hình và video game IMDb nổi bật hơn cả nơi để phêlà
bình, xếp hạng phim.).
● Khi khách hàng chọn một bộ phim trong website sẽ được chuyển hướng vào view xem phim có các thông tin như trình chiếu phim, nội dung, lượt xem và các tính năng mở rộng khi người dùng đăng nhập.(Trong trạng thái đã đăng nhập)
● Khi khách hàng chọn một bộ phim trong website sẽ được chuyển hướng vào view xem phim có các thông tin như trình chiếu phim, nội dung, lượt xem ( Khi không trong trạng thái đăng nhập).
Trang 7● Người dùng có thể bình luận qua Facebook tools để comment trực tiếp trên Website hoặc tương tác với Fanpage thông qua Live Chat của Facebook để người quản trị nhanh chóng tiếp nhận được thông tin của người dùng.
1.1.2 Tổng quan về hệ thống mới
Giao diện website thiết kế hợp lý, dễ nhìn và thân thiện với người dùng.
Có các tính năng mở rộng cho người dùng sử dụng một các dễ dàng
Trang quản trị có những chức năng: quản lí phim, quản lí thành viên,…
1.1.3 Các mục tiêu chính của hệ thống
Yêu cầu về mặt giao diện:
- Giao diện trang web thân thiện, dễ sử dụng, phân chia trên các thể loại khác nhau
- Hiển thị định dạng cho các Browser phổ biến hiện nay như FireFox, Chrome, Brave…
- Tông màu chính trên Website là màu trắng mang lại trải nghệm tốt cho người dùng, dễ dàng tuỳ biến được màu nền, màu chữ của Website.
- Thay đổi phim, banner,thể loại, một cách dễ dàng với tư cách của một quản trị viên Web.
- Giao diện có tuỳ biến cho các nên tảng như Window, IOS, Android
Yêu cầu về mặt chức năng:
+ Quản lí phim : Chức năng thêm, sửa, xoá các thông tin của bộ phim + Quản lý thể loại: Chức năng thêm, sửa, xoá các thông tin thể loại của bộ phim.
+ Chức năng tìm kiếm phim.
- Chức năng tìm kiếm người dùng thông qua ô Search ở phía trên cùng của Website
- Chức năng tìm kiếm dữ liệu trong trang quản trị bằng JS.
Trang 8- Hiển thị danh sách tất cả các bộ phim được thêm và phân trang để
- Người quản trị có thể khoá tạm thời tài khoản của người dùng một
dễ dàng thông qua nút “Kích hoạt” ở ngoài danh sách
- Hiển thị danh sách tất cả các thể loại và phân trang để dễ quản lý
- Người quản trị có thể tắt bật trạng thái hiển thị của thể loại một dễdàng thông qua nút “Kích hoạt” ở ngoài danh sách
Trang 9- Cập nhật thông tin của thể loại thông qua Partial View và Ajax, dễdàng thao tác.
4 Quản Lý Quảng Cáo
Hiển thị
- Hiển thị danh sách tất cả các quảng cáo và phân trang để dễ quảnlý
- Người quản trị có thể tắt bật trạng thái hiển thị của quảng cáo một
dễ dàng thông qua nút “Kích hoạt” ở ngoài danh sách
- Hiển thị danh sách tất cả các Slide và phân trang để dễ quản lý
- Người quản trị có thể tắt bật trạng thái hiển thị của Slide một dễdàng thông qua nút “Kích hoạt” ở ngoài danh sách
- Hiển thị danh sách tất cả liên hệ và phân trang để dễ quản lý
- Người quản trị có thể tắt bật trạng thái hiển thị của liên hệ một dễdàng thông qua nút “Kích hoạt” ở ngoài danh sách
Xóa
9
Trang 10- Quản trị viên xóa liên hệ ngay trên danh sách phim.
- Hiển thị danh sách tất cả các quốc gia và phân trang để dễ quản lý
- Người quản trị có thể tắt bật trạng thái hiển thị của quốc gia một dễdàng thông qua nút “Kích hoạt” ở ngoài danh sách
- Hiển thị danh sách tất cả các tin tức và phân trang để dễ quản lý
- Người quản trị có thể tắt bật trạng thái hiển thị của tin tức một dễdàng thông qua nút “Kích hoạt” ở ngoài danh sách
Hệ thống Website Xem Phim Online OneMovies
1 Phải xác định rõ dữ liệu đầu vào, đầu ra, và quy trình xử lý
Trang 112 Với mỗi yêu cầu phức tạp, quy trình xử lý cần được minh hoạ bằnglưu đồ giải thuật.
3 Hệ thống phải được lập trình trên nền tảng Visual Studio và SQLserver
4 Ngôn ngữ lập trình C#, ASP.NET MVC 5
1.2.1 Danh sách các yêu cầu trên trang hiển thị
1 Đăng ký
Cho phép người dùng đăng ký tài khoản mới để trở thành thành viên
Thông tin đăng ký bao gồm: Họ và Tên, UserName, PassWord, ĐịaChỉ, Số điện thoại, Email(Email là bắt buộc nhập)
Người dùng sẽ phải xác nhận mã captcha khi đăng kí để tránhspammer hay Ddos Website
Khi người dùng nhập đầy đủ thông tin hợp lệ, nhập chính xác mãcaptcha và ấn đăng ký Hệ thống sẽ trả ra những thông báo cho ngườidùng như : Tên người dùng đã tồn tại, mật khẩu phải 6 ký tự trở lên,Email đã được sử dụng, mã captcha không chính xác, Yêu cầu ngườidùng nhập lại thông tin
Phim được chia theo từng tiêu chí như :
phim mới: Dựa theo ngày được thêm
phim nổi bật: ( Được xếp theo điểm Rate IMDb, giảm dần và theongày được thêm
phim phổ biến: Được xếp theo lượt xem, giảm dần và theo ngày thêm
5 Chức năng tìm kiếm phim
11
Trang 12 Người dùng có thể tìm kiếm các bộ phim bằng tên bộ phim, thể loạiphim
Kết quả tìm kiếm sẽ được hiển thị sang trang tìm kiếm cho ngườidùng dễ thao tác Trả ra một thông báo khi không tìm thấy phim củangười dùng
1.3 Phương pháp nghiên cứ và hướng giải quyết vấn đề
1.3.1 Công nghệ sử dụng
1.3.1.1 Ngôn ngữ lập trình
Có rất nhiều công nghệ có thể được sử dụng để xây dựng hệ thống phầnmềm.Trong khóa luận này để cài đặt chương trình chúng em đã sử dụng ngônngữ lập trình C# và mô hình MVC
Công nghệ sử dụng
SQL Server 2012 là một hệ thống quản trị cơ sở dữ liệu quan hệ (Relational
Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệugiữa Client computer và SQL Server computer Một RDBMS bao gồm databases,database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhautrong RDBMS
1.3.2 Phân tích thiết kế bài toán
Có nhiều cách để giải quyết vấn đề.Nhưng ở đây, chúng em chọn phântích- thiết kế hệ thống bằng ngôn ngữ UML – Unified Modeling Language đểgiải quyết vấn đề đặt ra Gồm các bước sau:
Mô hình hóa nghiệp vụ:
Dựa trên quá trình khảo sát thực trạng, chúng em sử dụng công cụ VisualParadigm thiết kế UML để mô hình hóa chức năng
Phân tích:
Trang 13Phân tích để đưa ra những mô hình tổng quát quan sát trạng thái tĩnh củacác chức năng, quy trình của mỗi chức năng và các Actor (tác nhân).
Thực hiện cài đặt các kết quả đã thiết kế trên Visual Studio.NET 2017 và
hệ quản trị cơ sở dữ liệu SQL server 2012
Thử nghiệm
Chạy chương trình nhiều lần trên hệ điều hành Windows 10 Pro
Test lỗi và hoàn thiện các chức năng của hệ thống
13
Trang 14Chương 2 Phân tích và thiết kế hệ thống
và quản lí người dùng
Xác định các tình huống sử dụng ( usecase)
STT Tác nhân chính Tên Use case
2 ADMIN Quản lí phim,thể loại, thành
viên, quảng cáo, liên hệ, …
ADMIN Quản lí thành viên
4 Người dùng Tìm kiếm phim
Trang 155 Người dùng Xem thông tin phim
6 Người dùng Xem trailer, phim
7 Người dùng Bình luận phim
UML được duy trì và phát triển bởi OMG (Object Management Group),
do Jacobson, Booch, Rumbaugh sáng lập Ngoài ra còn có hàng trăm cáctập đoàn lớn khác bảo trợ phát triển
Các biểu đồ UML cho ta cái nhìn rõ hơn về hệ thống (cái nhìn tĩnh vàđộng)
Hiện nay UML được sử dụng rất phổ biến trong các dự án phần mềm
UML thể hiện phương pháp phân tích hướng đối tượng nên không lệthuộc ngôn ngữ lập trình
Có rất nhiều công cụ phần mềm hỗ trợ phân tích thiết kế dùng UML
Nhiều công cụ có thể sinh ra mã từ UML và ngược lại
UML không phải là ngôn ngữ lập trình
UML là một ngôn ngữ dùng để:
- Trực quan hóa (Visualizing):
+ Dùng tập các ký hiệu đồ họa phong phú để biểu diễn hệ thốngđang được nghiên cứu
+ Hệ thống ký hiệu đều có ngữ nghĩa chặt chẽ, có thể hiểu bởi nhiềucông cụ khác nhau
15
Trang 16+ Giúp cho các nhà thiết kế, nhà lập trình khác biệt về ngôn ngữ đều
có thể hiểu được
- Đặc tả (Specifying):
+ UML giúp xây dựng các mô hình chính xác, đầy đủ và không nhậpnhằng
+ Tất cả các công đoạn từ phân tích, thiết kế cho đến triển khai đều
có các biểu đồ UML biểu diễn
+ Use case (dùng cho phân tích); Class, Sequence, Activity (chothiết kế); Component, Deployment (cho triển khai)
- Xây dựng (Constructing):
+ Các mô hình của UML có thể kết nối với nhiều ngôn ngữ lập trình.Tức là có thể ánh xạ các mô hình UML về một ngôn ngữ lập trình như C++, Java
+ Việc chuyển các mô hình trong UML thành Code trong ngôn ngữlập trình Forward engineering
+ Việc chuyển ngược trở lại code trong một ngôn ngữ lập trình thànhUML Reverse Engineering.
+ Cần công cụ để chuyển đổi “xuôi” & “ngược”
- Viết tài liệu (Documenting):
+ Giúp xây dựng tài liệu đặc tả - requirements
+ Tài liệu kiến trúc (architecture)
+ Tài liệu thiết kế
+ Source code
+ Tài liệu để kiểm thử - Test
+ Tài liệu mẫu - Prototype
+ Tài liệu triển khai – Deployment
Một số biểu đồ UML cơ bản
Biểu đồ Ca sử dụng Use Case Diagram
Trang 17- Use case (Use Case Diagram) cung cấp một bức tranh toàn cảnh về những gìđang xảy ra trong hệ thống hiện tại hoặc những gì sẽ xảy ra trong hệ thốngmới.
- Use case mô tả một chuỗi các hành động mà hệ thống sẽ thực hiện để đạtđược kết quả có ý nghĩa đối với một tác nhân
- Các use case được tạo ra ở giai đoạn đầu của một dự án Các use casecũng có thể được dung ở giai đoạn sau của qui trình phát triển dự án, ví dụ
để đặc tả các tình huống kiểm tra Use case đưa ra cơ sở để xác định giaotiếp người-máy đối với hệ thống Để người dùng cuối có thể hiểu được và
có thể giao tiếp với hệ thống ở mức tổng thể
- Actor là người hoặc hệ thống tương tác với các use case Thường actor làngười dùng hệ thống Trong biểu đồ use case, mỗi actor được vẽ bằng mộtbiểu tượng hình người với tên vai trò (role name) đặt bên dưới
- Khi actor là người thì tên actor là tên vai trò mà actor đảm nhiệm chứkhông phải là tên công việc
Biểu đồ lớp Class Diagram
- Biểu đồ lớp (Class Diagram) cho ta một khung nhìn tĩnh của các lớp trong
mô hình hoặc một phần của mô hình Nó chỉ cho ta thấy các thuộc tính vàcác thao tác của lớp, cũng như các loại quan hệ giữa các lớp
- Có rất nhiều kiểu lớp dùng trong biểu đồ lớp, ở đây chúng ta chỉ xét đến
và sử dụng 3 loại lớp chính là : lớp biên (phần giao diện), lớp điều khiển
Trang 18Biểu đồ tuần tự (Sequence Diagram) mô tả sự tương tác của các đối tượngtheo trình tự về thời gian.Có sự liên kết chặt chẽ với biểu đồ lớp và mô tả thứ tựcủa tương tác bằng cách đánh số thứ tự các thông điệp Mỗi biểu đồ tuần tự mô
tả một tình huống xử lý
2.1.1.4 Các ký hiệu:
Biểu diễn các Actor (tác nhân)biểu diễn người hay hệ thống kháctương tác với hệ thống hiện tại
Biểu diễn các Use Case (tìnhhuống sử dụng) biểu diễn chuỗi hànhđộng mà hệ thống thực hiện
Biểu diễn mối quan hệ giữa Actor(người dùng) và UseCase (chức năngcủa hệ thống)
Quan hệ <<Include>> thể hiện UseCase này chứa Use Case khác
Use case A được gọi là Include Bnếu trong xử lý của A có gọi đến B ítnhất 1 lần
Trang 19Quan hệ <<Extend>> thể hiện UserCase này mở rộng Use Case khác.Use case B được gọi là Exntend Anếu use case B được gọi bởi A nếu thỏamãn điều kiện nào đó.
Quan hệ tổng quát hóa (thừa kế):Use case A được gọi làGeneralization Use Case B nếu UseCase B là một trường hợp riêng của UseCase A
Biểu đồ Lớp ClassDiagram:
- Mô tả các đối tượng và mối quan
hệ của chúng trong hệ thống
- Mô tả các thuộc tính và các hành
vi (Behavior) của đối tượng
Quan hệ Generalization: Thể hiệnrằng một lớp A kế thừa từ một lớp B(Hay Class A là trường hợp riêng củaClass B; Class B là tổng quát của ClassA) Gọi là quan hệLà một Is a ( )
19
Trang 20Quan hệ Composition:
Thể hiện rằng một lớp A bao hàmlớp B Nhưng lớp B không thể tồn tạiđộc lập (tức không thuộc lớp nào) Tức
là, nếu có B thì phải suy ra được A.Biểu đồ tuần tự:
- Mô tả sự tương tác của các đốitượng theo trình tự về thời gian
- Có sự liên kết chặt chẽ với biểu
Trang 21Biểu đồ use-case tổng quát
1.1 2.2.2 Biểu đồ use-case tìm kiếm
Biểu đồ use-case tìm kiếm
Mô tả:
Khi người dùng muốn sử dụng chức năng tìm kiếm thì phải nhập thông tin cầntìm kiếm vào ô tìm kiếm, hệ thống sẽ kiểm tra thông tin mà người dùng nhập vào.Nếuthông tin khách hàng nhập vào tồn tại thì hệ thống sẽ hiển thị ra kết quả còn nếu khôngtồn tại thị hệ thống sẽ không hiển thị ra kết quả và trả ra một thông báo “Không tìmthấy bộ phim với từ khoá…”
1.2 2.2.3.Biểu đồ use-case đăng nhập
Biểu đồ use-case đăng nhập
Mô tả:
21