Nhóm thực hiện Nhóm 064 Trang 8 MỞ ĐẦUĐể phục vụ nhu cầu ngày càng cao của người dùng trong việc xemphim trực tuyến, tôi đã quyết định xây dựng một trang web xem phim với cáctính năng
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Trang 2MỤC LỤC
MỤC LỤC HÌNH VẼ i
DANH MỤC BẢNG BIỂU ii
LỜI CẢM ƠN 1
MỞ ĐẦU 2
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 4
1.1 Tổng quan về website xem phim 4
1.2 Các công cụ thiết kế website phim 5
1.2.1 NodeJS 5
1.2.2 Javascript 6
1.2.3 ReactJS 7
1.3 Kiến trúc phần mềm 9
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 10
2.1 Phân tích yêu cầu 10
2.2 Các yêu cầu phi chức năng 11
2.3 Biểu đồ use case 11
2.3.1 Biểu đồ use case tổng quan 11
2.4 Mô tả chi tiết use case 14
2.4.1 Mô tả use case Đăng nhập 14
2.4.2 Mô tả use case Đăng ký 15
2.4.3 Mô tả use case Tìm kiếm 17
2.4.4 Mô tả use case Yêu thích phim 18
2.4.5 Mô tả use case Xem Phim 19
2.4.6 Mô tả use case Xem lịch sử phim 20
Trang 32.4.7Mô tả use case Xem chi tiết phim 20
2.5 Biểu đồ trình tự 22
2.5.1 Chức năng đăng nhập 22
2.5.2 Chức năng đăng ký 23
2.5.3 Chức năng tìm kiếm 24
2.5.4 Chức năng yêu thích phim 25
2.5.5 Chức năng xem phim 26
2.5.6Chức năng xem lịch sử phim 26
2.5.7Chức năng xem chi tiết 26
2.6 Thiết kế cơ sở dữ liệu 32
2.6.1 Quan hệ giữa các bảng 32
2.6.2 Chi tiết các bảng 32
2.7 Thiết kế giao diện 35
2.7.1 Màn hình đăng nhập 35
2.7.2 Màn hình đăng ký 35
2.7.3 Màn hình tìm kiếm phim 36
2.7.4 Màn hình yêu thích phim 37
2.7.5 Màn hình xem phim 37
2.7.6 Màn hình xem lịch sử 38
2.7.7 Màn hình xem chi tiết phim CHƯƠNG 3 CÀI ĐẶT CHƯƠNG TRÌNH VÀ KIỂM THỬ HỆ THỐNG 39
3.1 Cài đặt chương trình 39
3.2 Website xem phim 40
3.2.1 Màn hình chức năng đăng nhập 40
Trang 43.2.2 Màn hình chức năng đăng ký 42
3.2.3 Màn hình chức năng tìm kiếm 44
3.2.4 Màn hình chức năng xem yêu thích 44
3.2.5 Màn hình chức năng xem phim 3.2.6 Màn hình chức nắng xem lịch sử 3.2.7 Màn hình chức năng xem chi tiết phim 3.3 Kiểm thử phần mềm khai báo y tế điện tử 46
3.3.1 Kiểm thử chức năng đăng nhập 46
3.3.2 Kiểm thử chức năng đăng ký 48
3.3.3 Kiểm thử chức năng tìm kiếm 49
3.3.4 Kiểm thử chức năng xem yêu thích 55
3.3.5 Kiểm thử chức năng xem phim 5 6 KẾT LUẬN 59
TÀI LIỆU THAM KHẢO 60
PHỤ LỤC 61
Trang 5MỤC LỤC HÌNH ẢNH
Hình 1: Biểu đồ use case tổng quan 10
Hình 2: Biểu đồ trình tự chức năng đăng nhập 17
Hình 3: Biểu đồ trình tự chức năng đăng ký 17
Hình 4: Biểu đồ trình tự chức năng tìm kiếm 18
Hình 5: Biểu đồ trình tự chức năng xem yêu thích phim 18
Hình 6: Biều đồ trình tự chức năng xem phim 19
Hình 7: Biều đồ trình tự chức xem lịch sử phim 19
Hình 8: Biều đồ trình tự chức xem chi tiết phim 20
Hình 9: Cơ sở dữ liệu 21
Hình 10: Giao diện đăng nhập 24
Hình 11: Giao diện đăng ký 24
Hình 12: Giao diện tìm kiếm 24
Hình 13: Giao diện xem yêu thích phim 25
Hình 14: Màn hình xem phim 26
Hình 15: Màn hình xem lịch sử phim 26
Hình 16: Màn hình xem chi tiết phim 27
Hình 17: Màn hình khởi chạy dự án 28
Hình 18: Mở terminal chạy chương trình 28
Hình 19: Màn hình đăng nhập 29
Hình 20: Màn hình đăng ký 30
Hình 21: Màn hình trang chủ 30
Hình 22: Màn hình hướng dẫn tìm kiếm 31
Hình 23: Màn hình xem yêu thích phim 32
Hình 24: Màn hình xem phim 32
Hình 25: Màn hình xem lịch sử phim 33
Hình 26: Màn hình xem chi tiết phim 33
Trang 6MỤC LỤC BẢNG BIỂU
Bảng 1: Các yêu cầu phi chức năng 9
Bảng 2: Chi tiết bảng Tai Khoan 21
Bảng 3: Chi tiết bảng Phim 22
Bảng 4: Chi tiết bảng The Loai Phim 22
Bảng 5: Chi tiết bảng Quang Cao Phim 23
Bảng 6: Chi tiết bảng Yeu Thich Phim 23
Bảng 7: Kiểm thử chức năng đăng nhập 34
Bảng 8: Kiểm thử chức năng đăng ký 35
Bảng 9: Kiểm thử chức năng tìm kiếm 36
Bảng 10: Kiểm thử chức năng xem yêu thích 37
Bảng 11: Kiểm thử chức năng xem phim 38
Trang 7LỜI CẢM ƠN
Là một sinh viên trường đại học Công nghiệp Hà Nội, báo cáo thực nghiệm là minh chứng cho những kiến thức đã có sau khi học môn này Trong quá trình hoàn thành báo cáo, ngoài sự cố gắng của nhóm, nhóm em cũng nhận được sự hướng dẫn tận tình của thầy cô cùng các anh chị bạn bè Qua đây, nhóm em xin chân thành cảm ơn khoa Công nghệ thông tin, trường đại học Công nghiệp Hà Nội đã trang bị kiến thức cho em trong suốt quá trình học tập và tạo cơ hội để em được làm báo cáo thực nghiệm Đặc biệt, nhóm
em cảm ơn tới thầy ThS Nguyễn Thái Cường đã luôn giúp đỡ, hướng dẫn, chỉ bảo tận tình để nhóm em hoàn thành tốt báo cáo này Nhóm em đã cố gắng hoàn thành báo cáo nhưng vẫn rất mong nhận được sự đóng góp ý của thầy
cô và các bạn để đồ án của em được hoàn thiện hơn.
Nhóm thực hiện
Nhóm 064
Trang 8
MỞ ĐẦU
Để phục vụ nhu cầu ngày càng cao của người dùng trong việc xemphim trực tuyến, tôi đã quyết định xây dựng một trang web xem phim với cáctính năng và chức năng đầy đủ và tiện ích Trang web của nhóm em có thể hỗtrợ người dùng tìm kiếm và xem các bộ phim yêu thích, đồng thời cung cấpthông tin chi tiết về các bộ phim, bao gồm đạo diễn, diễn viên, nội dung vàđánh giá của người dùng Ngoài ra, trang web còn có tính năng đề xuất các bộphim mới và nổi bật dựa trên sở thích của người dùng Trang web xem phimcủa chúng em cũng được thiết kế với giao diện đơn giản, trực quan và thânthiện với người dùng Tốc độ tải trang web cũng được tối ưu hóa để đảm bảongười dùng có thể truy cập và xem phim một cách nhanh chóng và dễ dàng.Trong quá trình xây dựng trang web xem phim này, chúng em đã sử dụng cáccông nghệ và công cụ hiện đại nhất để đảm bảo tính năng và chất lượng củatrang web Bên cạnh đó, chúng em cũng đã gặp một số thách thức trong quátrình xây dựng, nhưng đã tìm ra các giải pháp để vượt qua những thách thức
đó Hy vọng rằng báo cáo này sẽ giúp mọi người hiểu rõ hơn về quá trìnhnghiên cứu và phát triển của chúng em trong việc xây dựng trang web xemphim này Báo cáo này cũng sẽ cung cấp chi tiết về các tính năng và chứcnăng của trang web, cũng như các công nghệ và công cụ được sử dụng để xâydựng trang web này
PA
Trang 93 Mục tiêu nghiên cứu
- Tổng hợp được các kiến thức về NodeJS và ReactJS để áp dụng vàoxây dựng Website đặt phòng
- Nghiên cứu, khảo sát thực tế các ứng dụng website đặt phòng
- Phát biểu được bài toán cần xử lý cho một ứng dụng website đặt phòng
- Nghiên cứu và đưa ra hướng làm cũng như công cụ công nghệ trongviệc phát triển ứng dụng website đặt phòng
- Phân tích thiết kế cho hệ thống thông tin đặt phòng
- Cài đặt và triển khai web
4 Nội dung nghiên cứu
- Khảo sát yêu cầu và nhu cầu của người dùng
- Nghiên cứu, phân tích yêu cầu về chức năng, phi chức năng của website
Trang 10o Xây dựng các chức năng cho người dùng: đăng nhập, đăng ký, xemphim, tìm kiếm, yêu thích, bình luận,
o Xây dựng các chức năng cho Admin: Quản lý tài khoản, quản lýphim, bảo trì các chức năng của website,…
- Cài đặt website và kiểm thử các chức năng
5 Phương pháp thực hiện
- Nghiên cứu lý thuyết kết hợp cùng khảo sát thực tế một số website xemphim lớn, từ đó phân tích và thiết kế hệ thống website xem phim
- Nghiên cứu về ngôn ngữ NodeJS và ReactJS
- Phát triển ứng dụng web trong phạm vi thử nghiệm
6 Bố cục đề tài
(Nội dung chính đề tài chia thành 3 chương)
Chương 1: Cơ sở lý thuyết
Giới thiệu về các công cụ để ứng dụng vào phát triển website: NodeJS,Javascript và ReactJS
Chương 2: Phân tích thiết kế hệ thống
Phân tích tích yêu cầu, mô tả các biểu đồ use case, biểu đồ trình tự, sơ
đồ hoạt động và thiết kế giao diện của từng chức năng của website
Chương 3: Cài đặt chương trình và kiểm thử hệ thống
Mô tả cách cài đặt website, hướng dẫn sử dụng, kết quả đạt được và thửnghiệm website
Trang 11CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
1.1 Tổng quan về website xem phim
Trang web xem phim là một trang web cho phép người dùng truy cập
và xem các bộ phim và chương trình truyền hình trực tuyến Các trang webxem phim thường cung cấp cho người dùng một thư viện các bộ phim vàchương truyền hình, cho phép người dùng tìm kiếm và lựa chọn các bộ phimphù hợp với sở thích của họ
Các trang web xem phim cũng có thể cung cấp tính năng đánh giá vànhận xét phim, cho phép người dùng chia sẻ ý kiến về các bộ phim mà họ đãxem Ngoài ra, các trang web xem phim cũng có thể hỗ trợ tính năng xemphim trực tuyến, cho phép người dùng xem phim một cách thuận tiện trêntrang web
Các trang web xem phim thường được phát triển với các công nghệweb như HTML, CSS và JavaScript Nhiều trang web xem phim cũng sửdụng các framework và thư viện phát triển web như ReactJS, AngularJS vàVueJS để tạo ra các giao diện người dùng độc đáo và hiệu quả Để lưu trữ vàquản lý dữ liệu phim, các trang web xem phim thường sử dụng các cơ sở dữliệu và API của các trang web phim nổi tiếng như IMDb và TheMovieDB
Thêm vào đó, các trang web xem phim cũng có thể tích hợp các tínhnăng khác như đề xuất phim dựa trên sở thích của người dùng, tính năng tìmkiếm và lọc phim dễ dàng, tính năng tạo danh sách phim yêu thích và theo dõilịch sử xem phim của người dùng
Tuy nhiên, các trang web xem phim cũng đối mặt với những thách thứcnhư bản quyền và vi phạm luật pháp Việc đảm bảo bảo mật thông tin ngườidùng và chống lại các hoạt động lừa đảo cũng là một vấn đề quan trọng đốivới các trang web xem phim
1.2 Các công cụ thiết kế website xem phim
1.2.1 NodeJS
Trang 12Một nền tảng phát triển độc lập được xây dựng ở trên JavascriptRuntime của Chrome mà chúng ta có thể xây dựng được các ứng dụng mạngmột cách nhanh chóng và dễ dàng mở rộng là công cụ NodeJS.
NodeJS có thể được dùng để xây dựng các loại ứng dụng khác nhaunhư các ứng dụng dòng lệnh, ứng dụng web, ứng dụng trò chuyện theo thờigian thực, máy chủ REST API, Tuy nhiên, NodeJS thường được dùng chủyếu để xây dựng các chương trình mạng như máy chủ web, tương tự như PHP,Java hoặc ASP.NET
Phần Core bên dưới của Nodejs được viết hầu hết bằng C++ nên cho tốc
độ xử lý và hiệu năng khá cao
Nodejs tạo ra được các ứng dụng có tốc độ xử lý nhanh, realtime thời gian thực
Nodejs áp dụng cho các sản phẩm có lượng truy cập lớn, cần mở rộngnhanh, cần đổi mới công nghệ, hoặc tạo ra các dự án Startup nhanh nhất có
thể.NodeJS có thể tạo, mở, đọc, ghi, xóa và đóng các tệp ngay khi đang truycập trên máy chủ
Xây dựng nội dung cho các trang Web động
Thực hiện thu thập dữ liệu theo yêu cầu cụ thể
Thực hiện truy vấn, sửa, xóa, thêm các dữ liệu trong các hệ quản trị cơ
sở như: Microsoft SQL Server, MySQL, MongoDB, PostgreSQL
1.2.2 Javascript
JavaScript là một ngôn ngữ lập trình của HTML và WEB Nó là nhẹ vàđược sử dụng phổ biến nhất như là một phần của các trang web, mà sự thihành của chúng cho phép Client-Side script tương tác với người sử dụng vàtạo các trang web động Nó là một ngôn ngữ chương trình thông dịch với cáckhả năng hướng đối tượng
Nhiệm vụ của Javascript là xử lý những đối tượng HTML trên trìnhduyệt Nó có thể can thiệp với các hành động như thêm/xóa/sửa các thuộc tínhCSS và các thẻ HTML một cách dễ dàng Hay nói cách khác, Javascript là
Trang 13một ngôn ngữ lập trình trên trình duyệt ở phía client Tuy nhiên, hiện nay với
sự xuất hiện của NodeJS đã giúp cho Javascript có thể làm việc ở backend
Javascript Framework là một bộ thư viện được xây dựng dựa vào ngônngữ lập trình Javascript Mỗi framework thường được tạo ra để phục vụ chomột lĩnh vực nào đó Ví dụ với Angular và React thì chuyên xử lý frontend,NodeJS thì chuyên xử lý backend, jQuery là một thư viện rất mạnh khi xử lý DOM HTML và CSS
Ứng dụng trong lập trình website: Khi nhắc đến lập trình web người takhông thể không nhắc đến bộ 03 HTML, CSS và JavaScript Có thể nóikhông phải là tất cả, song hầu như các website đang chạy hiện nay đều sửdụng JavaScript và các Front-end framework của nó như: Bootstrap, jQueryFoundation, UIKit,… Ở đó JavaScript giúp tạo các hiệu ứng hiển thị trênwebsite, các tương tác với người dùng
Xây dựng các ứng dụng web cho máy chủ: Đây là một xu hướng côngnghệ có thể nói là rất hót hiện nay (từ 2016 đến giờ) Các doanh nghiệp hiệnnay khá hào hứng với các Frame work từ JavaScript như: Node.js, AngularJS,
… Cụ thể những cái này sẽ hỗ trợ tạo ra các ứng dụng web thiên về tương tácthời gian thực của người dùng Nếu cùng cấu hình máy chủ tương tự thì điều
đó là không thể đối với PHP, Java, Python, Net khi số lượng người dùngtương tác cùng lúc quá nhiều Máy chủ sẽ không thể nào gánh nổi, nhưng vớicác Frame work của JavaScript thì mọi chuyện sẽ hoàn toàn khác
1.2.3 ReactJS
ReactJS là một thư viện trong đó có chứa nhiều JavaScript mã nguồn
mở và cha đẻ của ReactJS đó chính là một ông lớn với cái tên ai cũng biết đóchính là Facebook Mục đích của việc tạo ra ReactJS là để tạo ra những ứngdụng website hấp dẫn với tốc độ nhanh và hiệu quả cao với những mã hóa tốithiểu Và mục đích chủ chốt của ReactJS đó chính là mỗi website khi đã sửdụng ReactJS thì phải chạy thật mượt thật nhanh và có khả năng mở rộng cao
và đơn giản thực hiện
Trang 14Thay vì làm việc trên toàn bộ ứng dụng web, ReactJS cho phépDeveloper chia nhỏ cấu trúc UI thành những component đơn giản hơn.
ReactJS thường dùng để chạy tại phía Client Nhưng nó cũng có thểchạy được trên Server nếu Server đó hiểu được Javascript, chẳng hạn nhưNodeJS Server
Trang 151.3Kiến trúc phần mềm
Website xem phim, phát triển theo mô hình MVC MVC là từ viết tắt bởi 3 từ Model – View – Controller Đây là mô hình thiết kế sử dụng trong kỹ thuật phần mềm Mô hình source code thành 3 phần, tương ứng mỗi từ Mỗi
từ tương ứng với một hoạt động tách biệt trong một mô hình
Model (M): Là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứngdụng Bộ phận này là một cầu nối giữa 2 thành phần bên dưới là View vàController Model thể hiện dưới hình thức là một cơ sở dữ liệu hoặc có khi chỉđơn giản là một file XML bình thường Model thể hiện rõ các thao tác với cơ
sở dữ liệu như cho phép xem, truy xuất, xử lý dữ liệu,…
View (V): Đây là phần giao diện (theme) dành cho người sử dụng Nơi
mà người dùng có thể lấy được thông tin dữ liệu của MVC thông qua các thaotác truy vấn như tìm kiếm hoặc sử dụng thông qua các website Thôngthường, các ứng dụng web sử dụng MVC View như một phần của hệ thống,nơi các thành phần HTML được tạo ra Bên cạnh đó, View cũng có chức năngghi nhận hoạt động của người dùng để tương tác với Controller Tuy nhiên,View không có mối quan hệ trực tiếp với Controller, cũng không được lấy dữliệu từ Controller mà chỉ hiển thị yêu cầu chuyển cho Controller mà thôi Vídụ: Nút “delete” được tạo bởi View khi người dùng nhấn vào nút đó sẽ có mộthành động trong Controller
Controller (C): Bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưađến thông qua view Từ đó, C đưa ra dữ liệu phù hợp với người dùng Bêncạnh đó, Controller còn có chức năng kết nối với model
Trang 16CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Phân tích yêu cầu
- Tính năng xem phim: Website cần cung cấp chức năng xem phim trực tuyến cho người dùng Người dùng cần có thể tìm kiếm và chọn phim, xem trailer và chọn chất lượng phim để xem
- Thiết kế giao diện: Giao diện trang web cần được thiết kế sao cho thuận tiện cho người dùng và thân thiện với mọi đối tượng khách hàng Các tínhnăng và chức năng trên trang web cần được phân bổ một cách hợp lý và hiệu quả
- Tính năng tìm kiếm: Website cần có tính năng tìm kiếm để người dùng có thể tìm kiếm các bộ phim theo tên, thể loại, diễn viên, đạo diễn, quốc gia sản xuất, năm phát hành, và các tiêu chí khác
- Tính năng phân loại và lọc phim: Website cần có tính năng phân loại và lọc phim để giúp người dùng có thể dễ dàng tìm kiếm và lựa chọn phim theo sở thích của mình
- Tính năng đánh giá và bình luận: Tính năng đánh giá và bình luận giúp người dùng có thể chia sẻ ý kiến và đánh giá về các bộ phim, đồng thời giúp trang web tạo ra một cộng đồng người dùng tích cực
- Tính năng đăng ký và đăng nhập: Tính năng đăng ký và đăng nhập giúp người dùng tạo tài khoản và truy cập vào các tính năng đặc biệt như lưu danh sách phát, nhận thông báo mới nhất, và các chức năng tương tự
- Tốc độ tải trang web: Tốc độ tải trang web là một yếu tố quan trọng để đảm bảo người dùng không phải chờ đợi quá lâu trước khi truy cập vào trang web Tốc độ tải trang web càng nhanh, người dùng càng có cảm giác
dễ chịu và tin tưởng hơn về trang web
Trang 172.2 Các yêu cầu phi chức năng
Bảng 1: Các yêu cầu phi chức năng
ST
T
- Giao diện tiếng Anh
- Cung cấp một giao diện đơn giản,gần gũi, trực quan và dễ sử
dụng đối với người dùng
2 Bảo mật - Vẫn tồn tại các lỗ hổng bảo mật
cần được vá trong tương lai
3 Tốc độ xử lý
- Tốc độ xử lý nhanh trong hầu hết các trường hợp và sẽ xử lý chậm hơn đối với vài tác vụ cần xử lý nhiều dữ liệu
4 Thời gian
hoạt động
- Có thể hoạt động hiệu quả 24/24
5 Yêu cầu thực
thi
- Người dùng có thể hoạt động đồng
thời với nhiều vai trò khác nhau
Trang 182.3 Biểu đồ use case
2.3.1 Biểu đồ use case tổng quan
Hình 1: Biểu đồ use case tổng quan
Biểu đồ use case tổng quan mô tả về website xem phim bao gồm 2 tác nhân
- Người dùng: người dùng cần đăng ký tài khoản sau đó sẽ được đăngnhập vào website Sau khi đăng nhập thành công, người dùng tìm kiếm, lựa
Trang 19chọn phim mà mình muốn xem để xem phim Ngoài ra, người dùng có thểyêu thích phim, bình luận phim và xem lịch sử phim đã xem.
- Admin: Admin sẽ đăng nhập với tài khoản đã được cấp sẵn Họ có cácchức năng như quản lý thông tin người dùng và quản lý thông tin các phim
2.4 Mô tả chi tiết use case
2.4.1 Mô tả use case Đăng nhập
Use case này cho phép người dùng đăng nhập hệ thống để thực hiệncác chức năng của mình
● Luồng sự kiện:
o Luồng cơ bản:
1) Use case này bắt đầu khi người dùng kích vào nút “Login” Hệ thống
sẽ hiển thị lên màn hình đăng nhập
2) Người dùng đăng nhập cần nhập đủ thông tin đăng nhập
3) Hệ thống kiểm tra thông tin đã hợp lệ hay chưa Tra bảng TaiKhoan trên CSDL Cho phép người dùng đăng nhập và hiển thị thông báo đăng nhập thành công lên màn hình
Use case kết thúc
1) Tại bước 3 luồng cơ bản, nếu người dùng đăng nhập thông tin khônghợp lệ, hệ thống sẽ hiển thị thông báo “không tồn tại tài khoản”,ngược lại use case sẽ tiếp tục
2) Nếu không kết nối được cơ sở dữ liệu tại bất kỳ thời điểm nào trongquá trình thực hiện use case thì hệ thống sẽ hiển thị thông báo “lỗi kếtnối” và use case kết thúc
● Các yêu cầu đặc biệt
Cần kiểm soát quyền thực hiện use case này để đảm bảo tính an toàn
và bảo mật
● Tiền điều kiện
Trang 20● Hậu điều kiện
Nếu use case này thành công thì hiển thị màn hình chính Nếu khôngtrạng thái của hệ thống sẽ không thay đổi
● Điểm mở rộng
Không có
2.4.2 Mô tả use case Đăng Ký
Use case này cho phép người đăng ký tài khoản để thực hiện các chức năng của mình
● Luồng sự kiện:
1) Use case này bắt đầu khi người dùng kích vào nút “SignUp” Hệ thống sẽ hiển thị lên màn hình đăng ký
2) Người dùng cần nhập đủ thông tin: Họ tên, email, mật khẩu
3) Người dùng ấn vào nút Register
4) Hệ thống kiểm tra thông tin đã hợp lệ hay chưa Cho phép người dùng đăng ký thành công tài khoản
Use case kết thúc
1) Tại bước 3 luồng cơ bản, nếu người dùng nhập thông tin khônghợp lệ, hệ thống sẽ hiển thị thông báo “Email đã tồn tại”, ngược lạiuse case sẽ tiếp tục
2) Nếu không kết nối được cơ sở dữ liệu tại bất kỳ thời điểm nàotrong quá trình thực hiện use case thì hệ thống sẽ hiển thị thôngbáo “lỗi kết nối” và use case kết thúc
● Các yêu cầu đặc biệt
Cần kiểm soát quyền thực hiện use case này để đảm bảo tính an toàn
và bảo mật
● Tiền điều kiện
Không có
Trang 21Nếu use case này thành công thì hiển thị màn hình chính Nếu khôngtrạng thái của hệ thống sẽ không thay đổi.
● Điểm mở rộng
Không có
2.4.3 Mô tả use case Tìm kiếm
Use case này cho phép khách hàng tìm kiếm phim theo tên
● Luồng sự kiện:
1) Use case này bắt đầu khi khách hàng kích vào “Search” hoặc
“Explore ”trên trang chủ của hệ thống
2) Khách hàng nhập dữ liệu trên thanh tìm kiếm Hệ thống sẽ kiểmtra dữ liệu về tên phim mà người dùng nhập ở bảng PHIM và sau đó
sẽ hiển thị giao diện màn hình kết quả là danh sách các phim có tênchứa dữ liệu mà người dùng đã nhập
Use case kết thúc
1) Tại bước 1 trong luồng cơ bản, nếu người dùng không nhập dữliệu vào thanh tìm kiếm mà đã kích vào biểu tượng kính lúp bêncạnh thì hệ thống sẽ chỉ hiển thị ra trang sản phẩm mặc định của
hệ thống chứ không hiện kết quả tìm kiếm và use case kết thúc
2) Tại bước 2 trong luồng cơ bản, nếu trong bảng PHIM chưa có dữliệu về tên sản phẩm giống với dữ liệu người dùng nhập thì hệ thống sẽhiển thị ra kết quả tìm kiếm là “There is no such films” và use case kếtthúc
3) Tại bất kì bước nào trong luồng cơ bản, nếu không kết nối đượcvới cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use casekết thúc
Không có
Trang 22Không có.
Nếu use case kết thúc thành công thì hệ thống sẽ hiển thị ra danh sáchcác phim mà người dùng nhập ở thanh tìm kiếm
Không có
2.4.4 Mô tả use case Yêu thích phim
Use case này cho phép người dùng thêm phim mà mình thích vào danh
2) Xem phim yêu thích
o Người dùng kích vào nút Bookmarked trên thanh menu ở màn hình
Người dùng đã đăng nhập thành công
Trang 23● Điểm mở rộng:
Không có
2.4.5 Mô tả use case Xem phim
Use case này cho phép người xem phim trên website
1) Use case này bắt đầu khi người dùng bấm vào nút Watch ởtrong trang chi tiết phim Hệ thống sẽ hiển thị ra khung xemphim đã chọn
2) Khi người dùng bấm vào icon Play ở khung xem phim Hệthống sẽ chạy phim cần xem
Use case kết thúc
1) Tại bất kỳ thời điểm nào trong quá trình thực hiện use case,nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiểnthị một thông báo lỗi và use case kết thúc
Không có
Người dân phải đăng nhập thành công hệ thống
Không có
2.4.6 Mô tả use case Xem lịch sử phim
Use case này cho phép người dùng xem lịch sử phim
Trang 24o Luồng rẽ nhánh:
1) Tại bất kỳ thời điểm nào trong quá trình thực hiện use case, nếukhông kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị mộtthông báo lỗi và use case kết thúc
2) Tại bước 2 luồng cơ bản nếu người dùng chưa xem phim nào màkích vào icon xem lịch sử, hệ thống sẽ hiển thị thông báo lỗi 404
và use case kết thúc
Không có
Người dân phải đăng nhập thành công hệ thống
Không có
Không có
2.4.7 Mô tả use case Xem chi tiết phim
Use case này cho phép người dùng xem được các thông tin của phim bao gồm các thông tin về nội dung, diễn viên, điểm đánh giá,
2) Tại bước 2 luồng cơ bản nếu người dùng kích vào thông tinmuốn xem nhưng không có kết quả nghĩa là thông tin chưa đượccập nhật, hệ thống sẽ báo lỗi và use case kết thúc
Trang 25Không có.
Người dùng đăng nhập thành công hệ thống
Thông tin chi tiết sẽ được hiển thị
Không có