Bối cảnh và vấn đề nghiên cứu

Đồ án "Trang web xem phim World of Cinema" được thực hiện trong bối cảnh công nghệ thông tin đã trở thành một phần thiết yếu của đời sống hiện đại, đặc biệt là trong lĩnh vực truyền thông và giải trí số. Với sự phát triển nhanh chóng của hạ tầng Internet cùng nhu cầu tiếp cận nội dung giải trí trực tuyến ngày càng gia tăng, thị trường giải trí trực tuyến tại các quốc gia đang phát triển như Việt Nam ghi nhận sự tăng trưởng mạnh mẽ. Việc xây dựng một nền tảng cho phép người dùng tìm kiếm, tra cứu thông tin và theo dõi các tác phẩm điện ảnh một cách thuận tiện không chỉ giải quyết nhu cầu giải trí cá nhân mà còn tạo điều kiện mở rộng hoạt động dịch vụ số.

Đề tài được nhóm sinh viên chuyên ngành Công nghệ phần mềm lựa chọn nhằm áp dụng các kiến thức đã học trong học phần Lập trình Web nâng cao vào việc thiết kế, xây dựng một hệ thống phần mềm hoàn chỉnh, đồng thời trau dồi kỹ năng thực tế trong phân tích và phát triển ứng dụng web.

Mục tiêu nghiên cứu

Đồ án xác định ba mục tiêu cụ thể:

  1. Giới thiệu và quảng bá các tác phẩm điện ảnh, cung cấp đầy đủ thông tin liên hệ, địa chỉ và các điều khoản dịch vụ khi người dùng tham gia nền tảng.
  2. Tạo điều kiện thuận lợi để người xem tìm kiếm nhanh chóng các bộ phim yêu thích hoặc phù hợp với nhu cầu giải trí cá nhân thông qua các công cụ hỗ trợ và phân loại.
  3. Tiếp nhận và xử lý các phản hồi từ khách hàng nhằm liên tục nâng cao chất lượng dịch vụ và nội dung của hệ thống.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu:
    • Người sử dụng: Toàn bộ người dùng có nhu cầu tìm kiếm, tra cứu và thưởng thức các tác phẩm điện ảnh trực tuyến.
    • Công cụ phát triển: Môi trường lập trình Microsoft Visual Studio Code và ngôn ngữ lập trình Python 3.
  • Đối tượng khảo sát: Người quản lý, nhân viên trong ngành công nghiệp điện ảnh và những người sáng tạo nội dung số.
  • Phạm vi nghiên cứu: Tập trung vào việc phân tích, thiết kế và xây dựng giao diện thân thiện cho trang web xem phim, cung cấp dữ liệu chi tiết về các bộ phim cùng hệ thống tìm kiếm hiệu quả.

Cơ sở lý thuyết và phương pháp

Đồ án vận dụng các kiến thức nền tảng về công nghệ phần mềm và lập trình web nâng cao để phân tích hệ thống hướng đối tượng thông qua ngôn ngữ mô hình hóa thống nhất (UML).

Khung lý thuyết và công nghệ

  • Ngôn ngữ và môi trường lập trình: Sử dụng ngôn ngữ lập trình Python 3 kết hợp với công cụ soạn thảo mã nguồn Microsoft Visual Studio Code.
  • Mô hình hóa hệ thống: Ứng dụng chuẩn mô hình hóa UML để xác định các tác nhân (Actors), biểu đồ trường hợp sử dụng (Use Case Diagram), đặc tả ca sử dụng (Use Case Specification), biểu đồ tuần tự (Sequence Diagram) và biểu đồ lớp (Class Diagram). Mô hình tương tác được phân tầng rành mạch giữa giao diện phía máy khách (Front-end Controller), bộ điều khiển xử lý nghiệp vụ phía máy chủ (Back-end Controller) và tầng lưu trữ dữ liệu (Cơ sở dữ liệu).

Phương pháp nghiên cứu

Đồ án áp dụng kết hợp ba phương pháp nghiên cứu chính:

  • Phương pháp nghiên cứu lý thuyết: Tìm hiểu tài liệu kỹ thuật về Python 3 và khảo sát cấu trúc, tính năng của các trang web xem phim hiện đại trên thị trường.
  • Phương pháp ứng dụng thực nghiệm: Vận dụng các kiến thức chuyên ngành về thiết kế kiến trúc phần mềm và lập trình web để xây dựng các biểu đồ phân tích và triển khai chức năng hệ thống.
  • Phương pháp thu thập và xử lý thông tin: Thu thập dữ liệu nghiệp vụ, quy trình vận hành và quản lý nội dung phim ảnh từ đối tượng khảo sát thực tế để hoàn thiện yêu cầu phần mềm.

Thiết kế và triển khai hệ thống

Hệ thống "World of Cinema" được thiết kế dựa trên cấu trúc phân quyền rõ ràng, phục vụ hai nhóm tác nhân chính là Quản trị viên (Admin) và Người dùng (User).

Bảng phân loại tác nhân và ca sử dụng (Use Case)

STT Tác nhân (Actor) Danh sách Ca sử dụng (Use Cases)
1 Quản trị viên (Admin) - Đăng nhập, đăng xuất, đổi mật khẩu.
- Quản lý người dùng (thêm, sửa, xóa thông tin và profile).
- Quản lý thông tin tác giả, diễn viên.
- Quản lý phim và danh mục phim (Category).
- Quản lý mã xác thực (Auth Token).
- Quản lý nhóm quyền hệ thống.
- Quản lý đơn hàng và giao dịch.
2 Người dùng (User) - Đăng ký, đăng nhập, đăng xuất tài khoản.
- Tìm kiếm phim theo nhiều tiêu chí.
- Đặt phim và thêm phim vào giỏ hàng/danh sách.
- Hủy đặt phim.
- Thanh toán đơn hàng trực tuyến.
- Xem lịch sử mua phim/vé.
- Xem thông tin chi tiết về phim, đạo diễn, diễn viên.
- Viết bình luận và đánh giá phim.
- Quản lý và chỉnh sửa thông tin cá nhân.

Phân tích biểu đồ tuần tự (Sequence Diagram) cho các chức năng của Người dùng

Đồ án đặc tả chi tiết luồng xử lý dữ liệu qua các biểu đồ tuần tự giữa ba thành phần: Giao diện người dùng/Front-end Controller (fr), Bộ điều khiển nghiệp vụ/Back-end Controller (ctr), và Cơ sở dữ liệu (Database).

[Người dùng / Giao diện] <---> [Front-end Controller (fr)] <---> [Back-end Controller (ctr)] <---> [Cơ sở dữ liệu (DB)]

1. Chức năng Đăng ký tài khoản (Thêm dịch vụ đăng ký)

  • Người dùng chọn chức năng đăng ký trên giao diện, hệ thống hiển thị biểu mẫu nhập thông tin (tên người dùng, email, mật khẩu).
  • Dữ liệu được gửi tới Front-end Controller (fr đăng ký) và chuyển tiếp sang Back-end Controller (ctr đăng ký) để kiểm tra tính hợp lệ.
  • Nếu phát hiện sai kiểu dữ liệu hoặc thiếu thông tin, hệ thống thông báo lỗi để người dùng sửa đổi. Nếu dữ liệu hợp lệ, ctr đăng ký thực hiện lưu thông tin vào cơ sở dữ liệu và thông báo đăng ký thành công trên giao diện.

2. Chức năng Thêm phim vào danh sách / giỏ hàng

  • Người dùng chọn bộ phim cần xem từ giao diện, hệ thống hiển thị chi tiết nội dung và các tùy chọn.
  • Khi người dùng bấm thêm phim, yêu cầu được chuyển tới Front-end (fr phim).
  • fr phim gửi tiếp yêu cầu sang Back-end Controller (ctr thêm phim) để ghi nhận thông tin vào cơ sở dữ liệu, sau đó trả về thông báo thêm thành công lên giao diện người dùng.

3. Chức năng Hủy phim

  • Người dùng truy cập giao diện xem giỏ hàng để kiểm tra danh sách phim đã chọn.
  • Khi người dùng chọn phim cần xóa và bấm xác nhận trên giao diện xác nhận, yêu cầu được chuyển đến Controller quản lý hủy (ctr hủy phim).
  • Controller thực hiện lệnh xóa bản ghi tương ứng khỏi cơ sở dữ liệu, xác nhận thao tác hoàn tất và gửi phản hồi thành công về giao diện.

4. Chức năng Chỉnh sửa thông tin cá nhân

  • Người dùng truy cập form sửa thông tin cá nhân trên giao diện và thực hiện chỉnh sửa các trường dữ liệu cần cập nhật.
  • Thông tin mới được gửi qua Front-end (fr thông tin cá nhân) đến Back-end Controller (ctr sửa thông tin cá nhân).
  • Hệ thống kiểm tra tính đúng đắn của dữ liệu: nếu dữ liệu sai định dạng sẽ trả thông báo lỗi; nếu hợp lệ, thông tin cập nhật sẽ được lưu vào cơ sở dữ liệu và hiển thị thông báo thành công.

5. Chức năng Thanh toán

  • Từ giỏ hàng, người dùng chọn chức năng thanh toán, hệ thống hiển thị form nhập thông tin giao dịch (thông tin thẻ tín dụng, địa chỉ, hóa đơn).
  • Dữ liệu thanh toán được chuyển từ fr thanh toán sang ctr thanh toán để kiểm tra tính xác thực.
  • Khi dữ liệu không hợp lệ, hệ thống báo lỗi yêu cầu nhập lại; khi thông tin hợp lệ, giao dịch được ghi nhận vào cơ sở dữ liệu và hệ thống thông báo hoàn tất thanh toán.

6. Chức năng Tìm kiếm phim

  • Người dùng nhập từ khóa tìm kiếm (tên phim, đạo diễn, diễn viên, năm sản xuất) vào thanh công cụ tìm kiếm.
  • Yêu cầu được gửi từ fr tìm kiếm phim sang ctr tìm kiếm phim để truy vấn cơ sở dữ liệu.
  • Trường hợp không có dữ liệu khớp: Trả về thông báo không có kết quả phù hợp.
  • Trường hợp tìm thấy dữ liệu: Trả về danh sách phim thỏa mãn điều kiện và hiển thị đầy đủ thông tin chi tiết trên màn hình.

7. Chức năng Viết bình luận

  • Người dùng chọn phim muốn tương tác và nhập nội dung vào khung bình luận.
  • Dữ liệu bình luận được gửi qua fr phim tới ctr viết bình luận để kiểm duyệt tính hợp lệ (kiểm tra nội dung, chính sách hệ thống).
  • Nếu không hợp lệ, hệ thống trả về thông báo lỗi; nếu hợp lệ, bình luận được lưu vào cơ sở dữ liệu và cập nhật ngay vào chuỗi thảo luận của bộ phim trên màn hình.

Nội dung chính theo từng chương

Chương 1: Mở đầu

Chương 1 thiết lập nền tảng và định hướng cho toàn bộ đồ án. Tác giả trình bày chi tiết về lý do chọn đề tài dựa trên xu hướng chuyển dịch của ngành giải trí trực tuyến tại Việt Nam và tính cấp thiết của việc xây dựng nền tảng web xem phim tiện ích. Nội dung chương xác lập phạm vi, mục đích nghiên cứu, các đối tượng khảo sát (quản lý, nhân viên ngành điện ảnh, người sáng tạo nội dung), đối tượng nghiên cứu (người dùng xem phim và các công cụ Python 3, VS Code), cùng với phương pháp luận và ý nghĩa lý luận, thực tiễn của đề tài.

Chương 2: Phân tích thiết kế hệ thống

Chương 2 là nội dung cốt lõi của tài liệu, tập trung vào việc mô hình hóa hệ thống phần mềm:

  • Xác định Actors và Use Case tổng quát: Liệt kê đầy đủ chức năng của 2 tác nhân Admin và User thông qua biểu đồ ca sử dụng tổng thể.
  • Phân rã Use Case Quản trị viên (Admin): Xây dựng các chuỗi biểu đồ tuần tự cho các chức năng quản trị hệ thống như đăng nhập, quản lý người dùng (thêm, sửa, xóa người dùng và profile), quản trị nội dung phim, phân quyền, quản lý đơn hàng.
  • Phân rã và đặc tả Use Case Người dùng (User): Mô tả chi tiết tiến trình nghiệp vụ, điều kiện biên, thông điệp phản hồi và luồng tương tác ba lớp (Front-end - Back-end - Database) cho các chức năng: đăng ký tài khoản, tìm kiếm phim, thêm phim vào giỏ/danh sách, hủy phim, thanh toán hóa đơn, chỉnh sửa hồ sơ cá nhân và gửi bình luận đánh giá.

Kết quả và đóng góp

Kết quả chính

  • Hoàn thành tài liệu phân tích và thiết kế hệ thống trang web xem phim "World of Cinema" với hai phân hệ người dùng rõ ràng (Admin và User).
  • Xây dựng hệ thống biểu đồ UML hoàn chỉnh bao gồm bảng đặc tả ca sử dụng tổng quát và hệ thống biểu đồ tuần tự (Sequence Diagram) chi tiết cho từng tác vụ của người dùng và quản trị viên.
  • Phân tách cấu trúc xử lý dữ liệu rõ ràng giữa tầng hiển thị/điều khiển giao diện (fr) và tầng xử lý nghiệp vụ/lưu trữ (ctr và cơ sở dữ liệu), giúp quy trình hóa luồng kiểm tra dữ liệu đầu vào (validation) và xử lý ngoại lệ khi thao tác với cơ sở dữ liệu.

Đóng góp thực tiễn của đề tài

  • Đối với người dùng: Cung cấp giải pháp nền tảng trực tuyến giúp người xem dễ dàng tiếp cận kho phim đa dạng, tiết kiệm thời gian và chi phí so với các hình thức giải trí truyền thống.
  • Đối với lĩnh vực điện ảnh: Góp phần quảng bá, truyền thông các tác phẩm điện ảnh kinh điển và hiện đại, tạo kênh tương tác hai chiều thông qua tính năng bình luận và đánh giá.
  • Đối với công tác quản trị: Thiết lập quy trình quản lý thông tin tập trung về phim ảnh, danh mục, tài khoản người dùng, đơn hàng và phản hồi của khách hàng.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế

  • Nội dung văn bản trích xuất chủ yếu tập trung vào giai đoạn phân tích thiết kế hệ thống (Use Case, Sequence Diagram), chưa thể hiện đầy đủ mã nguồn chi tiết của toàn bộ các tầng ứng dụng và kết quả kiểm thử tải trên môi trường thực tế.
  • Trong danh mục biểu đồ phân rã ca sử dụng của người quản trị, còn một số tên gọi biểu đồ mang tính kế thừa từ mẫu hệ thống đào tạo/quản lý (như khóa tập, lớp học, khóa học), cần được chuẩn hóa đồng bộ toàn bộ theo ngữ cảnh quản lý phim ảnh và rạp chiếu.

Hướng phát triển

  • Tích hợp sâu hơn các cổng thanh toán điện tử phổ biến để tự động hóa toàn bộ quy trình thanh toán vé và gói dịch vụ.
  • Phát triển các thuật toán gợi ý phim nâng cao dựa trên lịch sử xem phim và hành vi tương tác cá nhân hóa của người dùng.
  • Hoàn thiện giao diện responsive và xây dựng thêm phiên bản ứng dụng di động để nâng cao trải nghiệm người dùng trên nhiều thiết bị.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho sinh viên ngành Công nghệ phần mềm, Công nghệ thông tin và Hệ thống thông tin trong các học phần Lập trình Web, Phân tích thiết kế hệ thống và Đồ án tốt nghiệp:

  • Tham khảo mô hình phân tích UML: Cung cấp mẫu phân tích Use Case và biểu đồ tuần tự (Sequence Diagram) chuẩn mực cho các ứng dụng web dạng cổng thông tin và thương mại dịch vụ số.
  • Tham khảo thiết kế tương tác đa tầng: Cung cấp luồng xử lý chi tiết từ Front-end Controller đến Back-end Controller và Cơ sở dữ liệu, đặc biệt là cơ chế kiểm tra tính hợp lệ của dữ liệu đầu vào (data validation) và xử lý phản hồi giao diện.

Câu hỏi thường gặp

1. Đồ án "Trang web xem phim World of Cinema" do ai thực hiện và thuộc đơn vị nào?

Đồ án do nhóm sinh viên Vũ Minh Hiếu (Mã sinh viên: 21810310063) và Phạm Đức Tài (Mã sinh viên: 21810310005), lớp D16CNPM1, chuyên ngành Công nghệ phần mềm, Khoa Công nghệ thông tin - Trường Đại học Điện lực thực hiện dưới sự hướng dẫn của giảng viên Phương Văn Cảnh vào năm 2024.

2. Hệ thống "World of Cinema" phục vụ những nhóm đối tượng người dùng nào?

Hệ thống được thiết kế phục vụ hai nhóm tác nhân chính:

  • Admin (Quản trị viên): Thực hiện quản trị người dùng, quản trị phim, danh mục, nhóm quyền, mã xác thực và quản lý đơn hàng.
  • User (Người dùng): Thực hiện đăng ký/đăng nhập, tìm kiếm phim, thêm phim vào giỏ/danh sách, hủy phim, thanh toán, viết bình luận và quản lý hồ sơ cá nhân.

3. Những công cụ và ngôn ngữ nào được xác định làm đối tượng nghiên cứu trong đồ án?

Đồ án xác định công cụ nghiên cứu và phát triển chính là môi trường soạn thảo mã nguồn Microsoft Visual Studio Code và ngôn ngữ lập trình Python 3.

4. Luồng xử lý tuần tự của chức năng thanh toán diễn ra như thế nào?

Người dùng chọn thanh toán từ giỏ hàng và nhập thông tin vào form thanh toán. Giao diện gửi dữ liệu qua fr thanh toán đến ctr thanh toán để kiểm tra tính hợp lệ. Nếu dữ liệu sai, hệ thống báo lỗi; nếu hợp lệ, thông tin được lưu vào cơ sở dữ liệu, hệ thống xác nhận thanh toán thành công và thông báo hoàn tất cho người dùng.

5. Hệ thống xử lý trường hợp tìm kiếm phim không có kết quả ra sao?

Khi người dùng nhập thông tin tìm kiếm, yêu cầu được chuyển từ fr tìm kiếm phim sang ctr tìm kiếm phim để truy vấn cơ sở dữ liệu. Nếu không tìm thấy kết quả phù hợp, hệ thống đánh dấu tìm kiếm thất bại và gửi thông báo không có kết quả về giao diện người dùng.


Kết luận

Đồ án "Trang web xem phim World of Cinema" của sinh viên Vũ Minh Hiếu và Phạm Đức Tài đã hệ thống hóa đầy đủ cơ sở lý luận và quy trình phân tích thiết kế cho một nền tảng giải trí trực tuyến. Bằng việc áp dụng ngôn ngữ mô hình hóa UML cùng các công cụ phát triển hiện đại như Python 3 và Visual Studio Code, đồ án đã phân rã chi tiết các luồng nghiệp vụ giữa người dùng, hệ thống điều khiển và cơ sở dữ liệu. Đây là tài liệu học thuật có giá trị tham khảo thiết thực cho việc học tập, nghiên cứu và triển khai các dự án ứng dụng web thương mại dịch vụ và truyền thông đa phương tiện.