- Quá trình: Người dùng tìm kiếm phim và chọn suất chiếu để đặt vé.- Mở rộng: Người dùng có thể thêm phim vào danh sách yêu thích thêm phim hoặc hủy đặt vé hủy phim.. Hiển thị form đăng
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN LẬP TRÌNH WEB NÂNG CAO
ĐỀ TÀI: Trang web xem phim World of Cinema
Sinh viên thực hiện : Vũ Minh Hiếu
: Phạm Đức Tài
Chuyên ngành : Công nghệ phần mềm Giảng viên : Phương Văn Cảnh
Hà Nội , ngày … tháng … năm 2024
Trang 2PHIẾU CHẤM ĐIỂM
Sinh viên thực hiện:
Trang 3MỤC LỤC
CHƯƠNG 1: MỞ ĐẦU 6
1 Lý do chọn đề tài 6
2 Đối tượng nghiên cứu 6
3 Đối tượng khảo sát 6
4 Giới hạn và phạm vi nghiên cứu 6
5 Mục tiêu nghiên cứu 6
6 Phương pháp nghiên cứu 6
7 Ý nghĩa lý luận và thực tiễn của đề tài 7
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 8
2.1 Xác định các Actor và Use case tổng quát của hệ thống 8
2.1.1 Actor 8
2.1.2 Biểu đồ use case tổng quát 8
2.2 Phân rã use case 10
2.2.1 Phân rã use case người quản lý 10
2.2.1.1 Biểu đồ sequence chức năng đăng nhập 10
2.2.1.2 Biểu đồ sequence chức năng thêm User 12
2.2.1.3 Biểu đồ sequence chức năng sửa User 13
2.2.1.4 Biểu đồ sequence chức năng xóa User 14
2.2.1.5 Biểu đồ sequence chức năng thêm profile User 15
2.2.1.6 Biểu đồ sequence chức năng sửa Profile User 16
2.2.1.7 Biểu đồ sequence chức năng xóa Profile User 17
2.2.1.8 Biểu đồ sequence chức năng them khóa tập 18
2.2.1.9 Biểu đồ sequence chức năng sửa khóa tập 19
2.2.1.10 Biểu đồ sequence chức năng xóa khóa tập 20
2.2.1.11 Biểu đồ sequence chức năng them lớp học 21
2.2.1.12 Biểu đồ sequence chức năng sửa khóa học 22
2.2.1.13 Biểu đồ sequence chức năng xóa khóa học 23
2.2.1.14 Biểu đồ sequence chức năng them thông tin nhân viên 24
2.2.1.15 Biểu đồ sequence chức năng sửa thông tin nhân viên 25
2.2.1.16 Biểu đồ sequence chức năng them đăng ký khóa tập 27
Trang 42.2.1.17 Biểu đồ sequence chức năng sửa đăng kí khóa học 28
2.2.1.18 Biểu đồ sequence chức năng xóa đăng kí khóa học 29
2.2.1.19 Biểu đồ sequence chức năng them thông tin khóa học 30
2.2.1.20 Biểu đồ sequence chức năng sửa thông tin khóa học 31
2.2.1.21 Biểu đồ sequence chức năng xóa thông tin khóa học 32
2.2.2 Phân rã use case người dùng 33
2.2.2.1 Biểu đồ sequence chức năng thêm dịch vụ đăng ký 35
2.2.2.2 Biểu đồ sequence chức hủy phim 36
2.2.2.3 Biểu đồ sequence chức năng thêm phim 38
2.2.2.4 Biểu đồ sequence chức năng sửa thông tin cá nhân 39
2.2.2.5 Biểu đồ sequence chức năng thanh toán 40
2.2.2.6 Biểu đồ sequence chức năng tìm kiếm 42
2.2.2.7 Biểu đồ sequence chức năng viết bình luận 43
2.3 Biểu đồ class 45
2.4 Diagram 46
Trang 5LỜI NÓI ĐẦU
Trong xã hội hiện đại, không thể phủ nhận sự quan tâm ngày càng tăng đối với nghệ thuật điện ảnh Phim không chỉ là hình thức giải trí; chúng còn là cửa sổ mở ra thế giới, làm giàu tâm hồn và kiến thức của chúng ta Một bộ phim hay không chỉ dừng lại
ở việc cung cấp giây phút thư giãn mà còn có thể thách thức suy nghĩ và tạo cảm hứng.Trong cuộc sống hối hả và đầy áp lực hiện nay, việc tìm kiếm những khoảnh khắc thư giãn với các bộ phim yêu thích trở nên quan trọng hơn bao giờ hết Tại World of Cinema, chúng tôi cung cấp một không gian lý tưởng cho bạn khám phá và thưởng thức hàng ngàn bộ phim từ khắp nơi trên thế giới, từ điện ảnh kinh điển đến những tác phẩm hiện đại đầy sáng tạo
Chúng tôi hiểu rằng mỗi người có sở thích và nhu cầu riêng biệt khi xem phim Đó là
lý do tại sao chúng tôi đã phát triển những tính năng tùy chỉnh, giúp bạn dễ dàng tìm thấy những bộ phim phù hợp với sở thích cá nhân Bạn có thể tạo danh sách phim yêu thích, theo dõi các bộ phim đang chờ xem và nhận gợi ý phim dựa trên sở thích của mình
Từ ý tưởng này, nhóm chúng tôi đã quyết định phát triển dự án "World of Cinema: Cổng Vào Thế Giới Phim Ảnh" Mục tiêu của chúng tôi là tạo ra một trải nghiệm xem phim không chỉ tiện lợi mà còn phong phú và cá nhân hóa
Hãy cùng nhau tham gia vào hành trình khám phá và tận hưởng thế giới phim ảnh đa dạng tại World of Cinema, nơi mỗi bộ phim không chỉ là giải trí mà còn là nguồn cảm hứng cho cuộc sống của chúng ta
5
Trang 6Trong bối cảnh đó, việc tạo ra một trang web cho phép người dùng truy cập, tìm hiểu
và xem các bộ phim yêu thích một cách dễ dàng và thuận tiện là vô cùng cần thiết.Điều này không chỉ giúp đáp ứng nhu cầu giải trí mà còn mở ra cơ hội kinh doanh mớicho các doanh nghiệp trong lĩnh vực này
Với những kiến thức về lập trình và thiết kế web đã học, nhóm chúng tôi quyết địnhxây dựng dự án “Trang Web Xem Phim Online” dưới sự hướng dẫn của giáo viên vànhằm mục đích cải thiện kỹ năng và kinh nghiệm trong lĩnh vực này
2 Đối tượng nghiên cứu
Người sử dụng: Là tất cả những người có nhu cầu tìm kiếm và xem phim trực tuyến.Công cụ: Microsoft Visual Studio Code, Pyhon 3.10, Django
3 Đối tượng khảo sát
Người cung cấp thông tin: Quản lý và nhân viên trong ngành công nghiệp điện ảnh,người sáng tạo nội dung
4 Giới hạn và phạm vi nghiên cứu
Mục đích nghiên cứu: Tạo ra một trang web xem phim với giao diện thân thiện, cungcấp thông tin chi tiết về các bộ phim và chức năng tìm kiếm nhanh, hiệu quả
5 Mục tiêu nghiên cứu
Giới thiệu và quảng bá các bộ phim, cung cấp thông tin liên lạc, địa chỉ và các điềukhoản khi người dùng sử dụng dịch vụ
Tạo điều kiện thuận lợi cho người xem tìm thấy bộ phim yêu thích hoặc phù hợp vớimục đích của họ
Nhận và xử lý phản hồi từ khách hàng để cải thiện chất lượng dịch vụ và nội dung
6 Phương pháp nghiên cứu
6
Trang 7Tìm hiểu về Python, và các trang web xem phim hiện đại.
Áp dụng kiến thức vào việc thiết kế và xây dựng trang web
Thu thập tài liệu và dữ liệu liên quan đến quản lý và vận hành một trang web xemphim
7 Ý nghĩa lý luận và thực tiễn của đề tài
Đề tài có ứng dụng thực tiễn cao trong việc cung cấp một nền tảng trực tuyến chongười tiêu dùng xem phim, giúp tiết kiệm thời gian và chi phí
Góp phần vào việc quảng bá và phổ biến điện ảnh, cung cấp thông tin cập nhật về các
bộ phim mới và cổ điển
Giúp người quản trị trong việc quản lý thông tin người dùng, phản hồi và tương tác vớikhách hàng
7
Trang 8CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Xác định các Actor và Use case tổng quát của hệ thống
2.1.1 Actor
- Đăng nhập, đăng xuất, đổi mật khẩu
- Chức năng quản lý người dùng
- Chức năng quản lý thông tin tác giả, diễnviên
- Chức năng quản lý phim
- Chức năng quản lý category
- Chức năng quản lý auth token
- Chức năng quản lý nhóm quyền
- Chức năng quản lý đơn hàng
- Đăng nhập,đăng xuất, đăng ký
- Chức năng tìm kiếm phim
- Chức năng đặt phim
- Chức năng xem phim
- Chức năng thanh toán
- Chức năng xem lịch sử mua phim
- Chức năng bình luận
- Chức năng xem thông tin tác giả, diễn viên
- Chức năng quản lý thông tin cá nhân
Bảng 2.1 Bảng tổng quát actor trong usecase
2.1.2 Biểu đồ use case tổng quát
8
Trang 9Hình 2.2 Biểu đồ use case tổng quát
9
Trang 102.2 Phân rã use case
2.2.1 Phân rã use case người quản lý
- Biểu đồ use case actor người quản lý:
Hình 2.3 Biểu đồ use case người quản lý
2.2.1.1 Biểu đồ sequence chức năng đăng nhập
10
Trang 11Hình 2.4 Biểu đồ use case người quản lý
11
Trang 122.2.1.2 Biểu đồ sequence chức năng thêm User
Hình 2.5 Biểu đồ sequence thêm User
12
Trang 132.2.1.3 Biểu đồ sequence chức năng sửa User
Hình 2.11 Biểu đồ sequence xóa khách hàng
13
Trang 142.2.1.4 Biểu đồ sequence chức năng xóa User
Hình 2.12 Biểu đồ sequence xóa User
14
Trang 152.2.1.5 Biểu đồ sequence chức năng thêm profile User
Hình 2.13 Biểu đồ sequence thêm profile User
15
Trang 162.2.1.6 Biểu đồ sequence chức năng sửa Profile User
Hình 2.14 Biểu đồ sequence chức năng sửa profile User
16
Trang 172.2.1.7 Biểu đồ sequence chức năng xóa Profile User
Hình 2.14 Biểu đồ sequence chức năng xóa profile User
17
Trang 182.2.1.8 Biểu đồ sequence chức năng them khóa tập
Hình 2.13 Biểu đồ sequence them khóa tập
18
Trang 192.2.1.9 Biểu đồ sequence chức năng sửa khóa tập
Hình 2.13 Biểu đồ sequence
19
Trang 202.2.1.10 Biểu đồ sequence chức năng xóa khóa tập
Hình 2.13 Biểu đồ sequence
20
Trang 212.2.1.11 Biểu đồ sequence chức năng them lớp học
Hình 2.13 Biểu đồ sequence them lớp học
21
Trang 222.2.1.12 Biểu đồ sequence chức năng sửa khóa học
Hình 2.13 Biểu đồ sequence sửa khóa học
22
Trang 232.2.1.13 Biểu đồ sequence chức năng xóa khóa học
Hình 2.13 Biểu đồ sequence xóa khách hàng
23
Trang 242.2.1.14 Biểu đồ sequence chức năng them thông tin nhân viên
Hình 2.13 Biểu đồ sequence them thông tin nhân viên
24
Trang 252.2.1.15 Biểu đồ sequence chức năng sửa thông tin nhân viên
Hình 2.13 Biểu đồ sequence sửa thông tin nhân viên
25
Trang 262.2.1.6 Biểu đồ sequence chức năng xóa thông tin nhân viên
Hình 2.13 Biểu đồ sequence xóa thông tin nhân viên
26
Trang 272.2.1.16 Biểu đồ sequence chức năng them đăng ký khóa tập
Hình 2.13 Biểu đồ sequence them đăng kí khóa học
27
Trang 282.2.1.17 Biểu đồ sequence chức năng sửa đăng kí khóa học
Hình 2.13 Biểu đồ sequence sửa đăng kí khóa học
28
Trang 292.2.1.18 Biểu đồ sequence chức năng xóa đăng kí khóa học
Hình 2.13 Biểu đồ sequence xóa đăng kí khóa học
29
Trang 302.2.1.19 Biểu đồ sequence chức năng them thông tin khóa học
Hình 2.13 Biểu đồ sequence them thông tin khóa học
30
Trang 312.2.1.20 Biểu đồ sequence chức năng sửa thông tin khóa học
Hình 2.13 Biểu đồ sequence sửa thông tin khóa học
31
Trang 322.2.1.21 Biểu đồ sequence chức năng xóa thông tin khóa học
Hình 2.13 Biểu đồ sequence xóa thông tin khóa học
32
Trang 332.2.2 Phân rã use case người dùng
- Biểu đồ use case actor User:
Hình 2.21 Biểu đồ use case User
Đặc tả Use Case:
1 Tổng Quan
Hệ thống cho phép người dùng đăng ký, quản lý thông tin cá nhân, tìm kiếm, xem thông tin phim và diễn viên, đặt vé xem phim, xem lịch sử mua vé, thực hiện thanh toán, bình luận và viết bình luận về phim
2 Đặt Phim
- Mục tiêu chính: Người dùng có thể đặt vé xem phim
33
Trang 34- Quá trình: Người dùng tìm kiếm phim và chọn suất chiếu để đặt vé.
- Mở rộng: Người dùng có thể thêm phim vào danh sách yêu thích (thêm phim) hoặc hủy đặt vé (hủy phim)
3 Thanh Toán
- Mục tiêu chính: Người dùng có thể thanh toán cho vé phim đã đặt
- Quá trình: Người dùng nhập thông tin thanh toán và xác nhận mua vé
- Bao gồm: Hệ thống tạo hóa đơn cho giao dịch thanh toán
4 Quản Lý Thông Tin Cá Nhân
- Mục tiêu chính: Người dùng có thể đăng ký và chỉnh sửa thông tin cá nhân của họ
- Quá trình: Người dùng đăng ký tài khoản mới hoặc cập nhật thông tin cá nhân sau khi đăng nhập
- Mở rộng: Người dùng có thể sửa thông tin cá nhân (sửa thông tin cá nhân)
5 Bình Luận và Viết Bình Luận
- Mục tiêu chính: Người dùng có thể thảo luận và chia sẻ ý kiến về phim
- Quá trình: Sau khi xem phim, người dùng có thể viết bình luận về trải nghiệm của họ
- Mở rộng: Hệ thống cho phép người dùng viết bình luận chi tiết hơn
6 Xem Phim và Thông Tin Liên Quan
- Mục tiêu chính: Người dùng có thể xem thông tin về phim và diễn viên
- Quá trình: Người dùng tìm kiếm và xem thông tin chi tiết của phim và diễn viên trên
hệ thống
7 Lịch Sử Mua Phim
- Mục tiêu chính: Người dùng có thể xem lại lịch sử giao dịch mua vé
- Quá trình: Hệ thống hiển thị lịch sử mua vé của người dùng
34
Trang 352.2.2.1 Bi u đ sequence ch c năng thêm d ch v đăng ký ể ồ ứ ị ụ
Hình 2.22 Biểu đồ sequence thêm dịch vụ đăng ký
Mô tả:
1 Chọn chức năng đăng ký:
- Người dùng bắt đầu quy trình bằng cách chọn chức năng đăng ký trên giao diện người dùng
2 Hiển thị form đăng ký:
- Hệ thống phản hồi bằng cách hiển thị form đăng ký để người dùng có thể nhập thông tin
3 Nhập thông tin đăng ký:
- Người dùng nhập thông tin yêu cầu vào form đăng ký, bao gồm tên người dùng, email, mật khẩu, và các thông tin khác
4 Thêm thông tin đăng ký:
- Thông tin được gửi tới front-end controller (fr đăng ký) để xử lý tiếp theo
5 Kiểm tra dữ liệu:
- Front-end controller gửi dữ liệu đến back-end controller (ctr đăng ký) để xác minh
dữ liệu
6 Sai kiểu dữ liệu:
35
Trang 36- Nếu dữ liệu không hợp lệ hoặc sai kiểu, hệ thống phản hồi bằng cách thông báo lỗi cho người dùng.
- Quy trình này có thể bao gồm việc yêu cầu người dùng nhập lại thông tin đúng đắn
7 Hiển thị thông báo lỗi:
- Lỗi được hiển thị nếu có sự cố xảy ra, và người dùng sẽ cần sửa đổi thông tin nhập vào
8 Lưu thông tin vào cơ sở dữ liệu:
- Nếu thông tin được xác nhận là hợp lệ, back-end controller sẽ lưu thông tin đăng kýcủa người dùng vào cơ sở dữ liệu
9 Lưu thành công:
- Sau khi thông tin được lưu thành công, hệ thống sẽ đánh dấu quy trình đăng ký là hoàn tất
10 Hiển thị thông báo đăng ký thành công:
- Cuối cùng, người dùng được thông báo rằng họ đã đăng ký thành công qua một thông báo trên giao diện người dùng
2.2.2.2 Biểu đồ sequence chức hủy phim
36
Trang 37Hình 2.23 Biểu đồ sequence dịch vụ hủy phim
Mô tả:
1 Chọn chức năng xem giỏ hàng:
- Người dùng lựa chọn chức năng để xem các phim hiện có trong giỏ hàng của họ
2 Hiển thị giỏ hàng:
- Hệ thống phản hồi bằng cách hiển thị danh sách các phim trong giỏ hàng của ngườidùng
3 Chọn phim cần hủy:
- Người dùng từ danh sách này chọn một bộ phim mà họ muốn hủy
4 Hiển thị giao diện xác nhận hủy phim:
- Hệ thống hiển thị một giao diện xác nhận để người dùng có thể xác nhận hủy bỏ phim đã chọn
5 Chọn xác nhận:
- Người dùng chọn "xác nhận" để tiếp tục quá trình hủy phim
6 Hủy phim:
- Yêu cầu hủy được gửi tới controller quản lý hủy phim (ctr hủy phim) để xử lý
7 Xóa khỏi cơ sở dữ liệu:
- Controller tiến hành yêu cầu xóa bộ phim khỏi cơ sở dữ liệu
8 Hủy thành công:
- Sau khi bộ phim đã được xóa khỏi cơ sở dữ liệu, hệ thống xác nhận việc hủy đã hoàn tất
9 Hiển thị thông báo hủy thành công:
- Người dùng nhận được thông báo từ hệ thống xác nhận rằng việc hủy phim đã được thực hiện thành công
37
Trang 382.2.2.3 Biểu đồ sequence chức năng thêm phim
Hình 2.24 Biểu đồ sequence thêm phim
Mô tả:
1 Chọn sản phẩm cần xem:
- Người dùng bắt đầu quy trình bằng cách chọn phim mà họ muốn xem thông tin từ giao diện người dùng
2 Hiển thị giao diện phim:
- Hệ thống phản hồi bằng cách hiển thị thông tin chi tiết của bộ phim mà người dùng
đã chọn
3 Chọn thêm phim vào giỏ hàng:
- Sau khi xem thông tin phim, người dùng quyết định thêm phim vào giỏ hàng của họ
4 Thêm phim vào giỏ hàng:
- Yêu cầu thêm phim được gửi tới front-end của hệ thống (fr phim)
5 Lưu phim vào cơ sở dữ liệu:
- Front-end gửi yêu cầu tới back-end controller (ctr thêm phim) để xử lý, sau đó thông tin được lưu vào cơ sở dữ liệu
6 Thêm thành công:
- Hệ thống xác nhận việc thêm phim vào giỏ hàng đã thành công
7 Hiển thị thông báo thêm thành công:
- Một thông báo được hiển thị cho người dùng để thông báo rằng phim đã được thêm vào giỏ hàng thành công
38
Trang 392.2.2.4 Biểu đồ sequence chức năng sửa thông tin cá nhân
Hình 2.24 Biểu đồ sequence chức năng sửa thông tin cá nhân
Mô tả:
1 Chọn chức năng thông tin cá nhân:
- Người dùng truy cập vào hệ thống và chọn chức năng để xem hoặc thay đổi thông tin cá nhân của họ
2 Hiển thị giao diện thông tin cá nhân:
- Hệ thống hiển thị giao diện chứa thông tin cá nhân của người dùng
3 Chọn chức năng hiển thị thông tin cá nhân:
- Người dùng chọn chức năng này để xem thông tin cá nhân hiện tại
4 Hiển thị form sửa thông tin cá nhân:
- Hệ thống cung cấp form cho phép người dùng nhập thông tin mới hoặc chỉnh sửa thông tin hiện có
5 Nhập thông tin cần sửa:
- Người dùng điền vào form những thông tin cá nhân mà họ muốn cập nhật hoặc sửa đổi
6 Sửa thông tin:
- Sau khi nhập thông tin, người dùng gửi yêu cầu sửa đổi tới front-end của hệ thống
39
Trang 40(fr thông tin cá nhân).
7 Kiểm tra dữ liệu:
- Front-end chuyển yêu cầu sửa đổi tới back-end controller (ctr sửa thông tin cá nhân) để xác minh dữ liệu
8 Sai kiểu dữ liệu:
- Nếu thông tin không hợp lệ hoặc sai kiểu, hệ thống phản hồi bằng cách thông báo lỗi cho người dùng
9 Hiển thị thông báo lỗi:
- Người dùng nhận được thông báo lỗi và có thể cần phải nhập lại thông tin đúng cách
10 Lưu thông tin vào cơ sở dữ liệu:
- Nếu thông tin hợp lệ, thông tin mới được lưu vào cơ sở dữ liệu
11 Sửa thành công:
- Hệ thống xác nhận thông tin đã được sửa đổi thành công
12 Hiển thị thông báo sửa thành công:
- Người dùng nhận được thông báo từ hệ thống xác nhận thông tin cá nhân đã được cập nhật thành công
2.2.2.5 Biểu đồ sequence chức năng thanh toán
Hình 2.24 Biểu đồ sequence chức năng thanh toán
40