TÌM HIỂU VỀ BÀI TOÁN QUẢN LÝ RẠP CHIẾU PHIM
Đặt vấn đề
Công nghệ thông tin hiện nay đóng vai trò quan trọng trong việc công nghiệp hóa và hiện đại hóa các quốc gia, đặc biệt là ở Việt Nam Sự bùng nổ thông tin cùng với sự phát triển mạnh mẽ của công nghệ, bao gồm phần cứng, phần mềm và ứng dụng web, đã mang đến cho người dùng nhiều lựa chọn phong phú và đa dạng hơn bao giờ hết.
Sự bùng nổ của Internet đã biến nó thành một yếu tố thiết yếu trong mọi khía cạnh của cuộc sống hàng ngày.
Trong bối cảnh công nghệ số phát triển nhanh chóng, các lĩnh vực như thương mại, y tế và giáo dục đang chuyển mình mạnh mẽ sang ứng dụng trực tuyến Điều này giúp các tổ chức bắt kịp với xu hướng và nhu cầu ngày càng cao của xã hội.
Internet đã giúp chúng ta thực hiện công việc nhanh chóng và tiết kiệm chi phí, từ đó thúc đẩy sự phát triển mạnh mẽ của thương mại điện tử và chính phủ điện tử toàn cầu Sự chuyển mình này đã làm thay đổi đáng kể văn hóa và nâng cao chất lượng cuộc sống của con người.
Trong bối cảnh xã hội ngày càng phát triển, nhu cầu giải trí, đặc biệt là xem phim tại rạp chiếu, cũng tăng cao Sự gia tăng số lượng rạp chiếu phim đòi hỏi một hệ thống quản lý hiệu quả để phục vụ khách hàng Việc quảng bá và giới thiệu các bộ phim đang chiếu cũng như phim mới một cách kịp thời là yếu tố quyết định cho sự phát triển của rạp Do đó, việc xây dựng một website để giới thiệu thông tin về phim và lịch chiếu là rất cần thiết Đồng thời, cần có giải pháp quản lý thông tin và lịch chiếu một cách dễ dàng và hiệu quả.
Hiện trạng chung của các rạp chiếu phim
Hiện nay, hầu hết các rạp chiếu phim vẫn sử dụng phương pháp bán vé thủ công, khiến khách hàng phải trực tiếp đến rạp để mua vé Mặc dù một số rạp lớn đã áp dụng phần mềm quản lý và bán vé, nhưng vẫn chỉ hoạt động trên máy cục bộ Nhiều rạp có website riêng nhưng chỉ cung cấp thông tin giới thiệu, trong khi lịch chiếu vẫn phải tra cứu trực tiếp tại rạp, gây mất thời gian cho người xem Điều này dẫn đến việc khách hàng phải xếp hàng dài chờ đợi để mua vé mà không có lựa chọn chỗ ngồi ưng ý.
Giải pháp
Website quản lý chiếu phim của em được ra đời nhằm mang lại sự tiện lợi và hiện đại cho người dùng thông qua dịch vụ đặt chỗ trực tuyến Tuy nhiên, em nhận thức rằng việc cạnh tranh với những thương hiệu lớn như Megastar, Rạp chiếu phim quốc gia và Galaxy Cinema là một thách thức không nhỏ Để vượt qua khó khăn này và biến nó thành lợi thế cạnh tranh, em đã xác định rõ chiến lược phát triển cho website.
Website của chúng tôi nổi bật với chức năng cho phép người dùng bình luận về các bộ phim và yêu cầu phim để thu thập ý kiến khách hàng Chúng tôi thường xuyên cập nhật những bộ phim bom tấn cũng như các tác phẩm được yêu thích, nhằm phục vụ đối tượng khách hàng chủ yếu là giới trẻ.
Với kiến thức đã tích lũy, tôi quyết định phát triển một ứng dụng web thay vì phần mềm cài đặt trên máy tính Ứng dụng web cho phép tiếp cận đông đảo người dùng, đáp ứng nhu cầu sử dụng đa dạng.
Mục đích
Xây dựng một website hỗ trợ quản lý rạp phim giúp người quản lý cải thiện việc quản lý lịch chiếu, trong khi nhân viên có thể bán vé nhanh chóng và thuận tiện hơn Hệ thống cũng mang lại lợi ích cho khán giả, cho phép họ đặt chỗ và lựa chọn phim yêu thích từ xa mà không cần phải đến rạp, tránh tình trạng xếp hàng chờ đợi để mua vé.
MÔ HÌNH VÀ CÔNG CỤ GIẢI QUYẾT BÀI TOÁN
Ngôn ngữ lập trình và cài đặt
Java là một ngôn ngữ lập trình mạnh mẽ, nổi bật với khả năng giải quyết nhiều vấn đề mà các ngôn ngữ khác gặp khó khăn Được thiết kế theo mô hình hướng đối tượng, Java hiện nay rất phổ biến trong việc phát triển ứng dụng chạy trên Internet Một trong những ưu điểm lớn nhất của Java là tính bảo mật cao, cung cấp môi trường quản lý thực thi chương trình hiệu quả Java tin rằng "không có đoạn mã nào là hoàn toàn an toàn", vì vậy nó không chỉ là một ngôn ngữ lập trình đơn thuần mà còn tích hợp nhiều cấp độ kiểm soát an toàn trong quá trình thực thi.
JSP (Java Server Pages) còn được biết đến với một cái tên khác là Java
Scripting Preprocessor là công nghệ Java giúp các nhà phát triển tạo nội dung HTML, XML và các định dạng web khác một cách năng động, phản hồi yêu cầu từ trình duyệt Công nghệ này cho phép nhúng mã Java và các hành động xử lý vào nội dung tĩnh của trang Một trong những ưu điểm nổi bật của JSP là tính bảo mật cao hơn so với các ứng dụng mã nguồn mở khác, đồng thời mang lại sự tự do trong việc triển khai và phát triển ứng dụng web.
Website hoạt động dựa trên mô hình Client - Server, trong đó máy khách và máy chủ tương tác qua cơ chế “yêu cầu - đáp ứng” Ứng dụng trên máy khách gửi yêu cầu dữ liệu đến máy chủ, và máy chủ sẽ xử lý các yêu cầu này, chỉ gửi về dữ liệu mà máy khách yêu cầu Nhờ đó, các công việc được phân chia rõ ràng giữa máy khách và máy chủ.
Web Server Apache Tomcat 7.0
Apache Tomcat là một Java Servlet được phát triển bởi Apache Software Foundation Tomcat được sử dụng để thi hành các ứng dụng Java Servlet và
JavaServer Page (JSP) từ Sun Microsystems, và cung cấp một máy chủ HTTP cho ngôn ngữ Java để thực thi các lệnh viết bằng ngôn ngữ Java
Apache Tomcat cung cấp các công cụ hữu ích cho việc cấu hình và quản lý, đồng thời cho phép người dùng tùy chỉnh thông qua việc chỉnh sửa các file cấu hình.
Hệ quản trị cơ sở dữ liệu
SQL Server 2005 là hệ quản trị cơ sở dữ liệu quan hệ do Microsoft phát triển, hoạt động theo mô hình Client-Server Hệ thống này cho phép nhiều người dùng truy xuất dữ liệu đồng thời, đồng thời quản lý quyền truy cập và quyền hạn của từng người dùng trên mạng Ngôn ngữ truy vấn chính của Microsoft SQL Server đóng vai trò quan trọng trong việc quản lý và truy xuất dữ liệu hiệu quả.
Server là Transact – SQL để trao đổi dữ liệu giữa Client Computer và SQL
SQL Server 2005 được tối ưu hóa để vận hành hiệu quả trong môi trường cơ sở dữ liệu lớn lên đến Tera-Byte, đồng thời hỗ trợ hàng ngàn người dùng truy cập cùng lúc Nó cũng tương thích tốt với các máy chủ khác, mang lại khả năng tích hợp linh hoạt cho các ứng dụng.
Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy
- SQL Server 2005 được cấu tạo bởi nhiều thành phần như Relational
Cơ sở dữ liệu, Dịch vụ phân tích và Truy vấn tiếng Anh là những thành phần quan trọng, khi kết hợp với nhau, tạo ra một giải pháp toàn diện giúp đơn giản hóa quá trình lưu trữ và phân tích dữ liệu.
Lựa chọn SQL Server 2005 giúp giảm thiểu trùng lặp thông tin, đảm bảo tính nhất quán và toàn vẹn dữ liệu Hệ thống này cho phép truy cập dữ liệu theo nhiều cách khác nhau, đồng thời hỗ trợ nhiều người sử dụng cùng một cơ sở dữ liệu.
Kết nối cơ sở dữ liệu trong Java
Trong quá trình phát triển ứng dụng, việc sử dụng hệ quản trị cơ sở dữ liệu để lưu trữ và xử lý thông tin là vô cùng cần thiết Do đó, việc tạo, duy trì và thao tác trên kết nối đến cơ sở dữ liệu đóng vai trò quan trọng.
Trong đề tài này, em sử dụng JDBC (Java Database Connectivity) để kết nối tới cơ sở dữ liệu SQL Server 2005 Để viết 1 chương trình Java sử dụng
JDBC cho việc giao tiếp với cơ sở dữ liệu phải thực hiện 5 bước sau:
+ Nạp trình điều khiển kết nối:
Cú pháp: public static Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);
+ Thiết lập kết nối đến cơ sở dữ liệu thông qua Connection String
Cú pháp: jdbc:sqlserver://:;databaseName=;us er=:password=”
+ Tạo và thực thi 1 câu lệnh truy vấn SQL: Select, Insert, Update,
+ Xử lý kết quả thu về sau khi hành lệnh truy vấn thành công trên cơ sở dữ liệu
+ Đóng kết nối và giải phóng tài nguyên.
Các kiến trúc, kỹ thuật tổng quan
Hình 2.1 – Kiến trúc kỹ thuật tổng quan của hệ thống
2.5.1 Kiến trúc truyền thống (Còn gọi là mô hình 1 – Model 1)
Kiến trúc Model 1 rất đơn giản, với tất cả các chức năng được gói gọn trong Servelet hoặc JSP, bao gồm xử lý request, xác nhận dữ liệu, thực hiện business logic và tạo response Tuy nhiên, kiến trúc này không phù hợp cho các ứng dụng quy mô lớn do việc lặp lại tính năng trên các trang JSP, dẫn đến việc lặp lại code Hơn nữa, Model 1 tạo ra sự ràng buộc không cần thiết giữa business logic và presentation logic Ví dụ, khi cần thêm giao diện WML cho truy cập wireless bên cạnh giao diện HTML, Model 1 yêu cầu lặp lại business logic trên cả hai loại giao diện này.
2.5.2 Kiến trúc MVC (Còn gọi là mô hình 2 – Model 2)
Model 2 là cách gọi thông dụng ngày nay, Model – View – Controller
(MVC) ra đời đã giải quyết được nhiều vấn đề của Model 1, với việc cung cấp một sự phân tách rõ ràng trong ứng dụng
Trong kiến trúc MVC, Controller là Servlet trung tâm tiếp nhận tất cả các request của ứng dụng, xử lý chúng và làm việc với Model để chuẩn bị dữ liệu cho View Dữ liệu này sau đó được chuyển tới trang JSP, nơi JSP sử dụng để tạo ra phản hồi gửi về trình duyệt Kiến trúc này phân tách business logic và presentation logic, cho phép sử dụng nhiều giao diện khác nhau cho ứng dụng, bao gồm web, wireless và GUI Sự phân tách này cũng cải thiện khả năng tái sử dụng code.
Mặc dù kiến trúc MVC mang lại khả năng tổ chức mã nguồn hiệu quả, nhưng phát triển ứng dụng vẫn gặp phải một số thách thức nhất định.
Vì thế Struts được đưa vào Struts là một Web application framework hướng tới việc phát triển các ứng dụng Web dựa trên ngôn ngữ lập trình Java
Struts cung cấp nền tảng, hay framework, để xây dựng một ứng dụng hướng
MVC cùng với các thư viện và tiện ích giúp tăng tốc độ phát triển ứng dụng Bạn có thể dễ dàng tạo mới một Controller khi áp dụng mẫu thiết kế MVC cho Web Ngoài ra, cần xây dựng các luồng logic để chuyển và lấy dữ liệu từ Model, sau đó hướng đến View.
Để tương tác với các đối tượng Model và các tiện ích liên quan trong mẫu thiết kế MVC, bạn cần định nghĩa giao diện Tuy nhiên, thay vì thực hiện quy trình này cho mỗi ứng dụng mới, bạn có thể sử dụng Struts để tiết kiệm thời gian và công sức.
Struts cung cấp các cấu trúc và phác thảo cơ bản giúp xây dựng ứng dụng hiệu quả, cho phép bạn tập trung vào việc phát triển logic kinh doanh mà không cần lo lắng về các tầng khác trong kiến trúc ứng dụng.
Front Controller strut-c onfig xml
5: Establish bean state, t hen place in session or request object
3: Invoke mapped Act ion Bean
7: redirect to appropriate vi ew
Hình 2.3 – Các bước xử lý yêu cầu của Struts
- Các thành phần cơ bản của Struts: Struts là một tập hợp các thư viện
Java và có thể chia ra làm các nhóm sau: Framework cơ sở, thư viện thẻ
JSP, tiles plugin, validator plugin
+ Framework cơ sở: Framwork cơ sở cung cấp các tính năng MVC cốt lõi Nền tảng của Framework cơ sở là Controller Servlet: ActionServlet
The remaining part of the core framework consists of base classes that the application will inherit and utility classes Among these, the most prominent are the Action class and the ActionForm class The Action class is utilized by the ActionServlet to process specific requests, while the ActionForm class is responsible for retrieving data from HTML forms and sending it back to the View to generate responses.
Thư viện thẻ JSP trong Struts hỗ trợ lập trình logic View trong JSP, cho phép lập trình viên sử dụng các thẻ tương tự như HTML.
Html: Sử dụng để tạo các thẻ HTML form tương tác với Struts API
Bean: Sử dụng để làm việc với đối tượng Java Bean trong JSP
Logic: Thực hiện các logic điều kiện đơn giản trong JSP
Nested: Sử dụng cho phép các mức lồng nhau tùy ý
+ Tiles plugin: Tiles là một JSP Template framework giúp thuận tiện cho việc tái sử dụng mã HTML
Validator là một framework mạnh mẽ cho phép xác thực tính hợp lệ của dữ liệu trên cả server và client Để triển khai ứng dụng, người dùng có thể tận dụng các công cụ như Eclipse.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Chức năng chính của hệ thống
- Xử lý đặt chỗ trực tuyến
Đối tượng sử dụng hệ thống
Sau khi tìm hiểu và khảo sát thực tế tại các rạp chiếu phim, em đã xác định được các đối tượng chính sử dụng website bao gồm:
- Admin: Người quản lý hệ thống
- Nhân viên bán vé: Người sử dụng website để bán vé xem phim cho khách hàng
- Thành viên và khách xem, gọi chung là khách hàng: Những người sử dụng website để xem và tìm kiếm các thông tin phim, lịch chiếu và đặt chỗ.
Các chức năng dành cho người quản lý
3.3.1 Biểu đồ phân cấp chức năng
Hình 3.1 – Biểu đồ phân cấp chức năng cho người quản lý
- Người quản trị hệ thống có thể thực hiện được các chức năng của mình:
Quản lý lịch chiếu phim
3.3.2 Đặc tả các chức năng chính a) Chức năng đăng nhập
- Các chuỗi sự kiện chính:
+ Hệ thống hiển thị trang đăng nhập yêu cầu người dùng nhập thông tin
+ Người dùng nhập thông tin tài khoản và nhấn đăng nhập
+ Hệ thống kiểm tra thông tin đăng nhập và xác nhận hợp lệ
+ Hệ thống so sánh thông tin đăng nhập với cơ sở dữ liệu
Mở/ Khóa tài khoàn thành viên
Cập nhật thông tin nhân viên
Cập nhật phòng Xóa phòng
Cập nhật phim Xóa phim
+ Đăng nhập thành công và thoát khỏi trang đăng nhập
+ Hệ thống thông báo thông tin đăng nhập không hợp lệ
- Hệ thống yêu cầu người dùng nhập lại
- Người dùng đăng nhập thành công
+ Đăng nhập không thành công
- Thông tin tài khoản không tồn tại trong cơ sở dữ liệu
- Người dùng thoát khỏi chức năng đăng nhập b) Chức năng thêm phòng
- Các chuỗi sự kiện chính:
+ Hệ thống hiển thị trang thêm phòng, Admin nhập thông tin phòng
+ Admin nhập thông tin phòng và nhấn tạo mới
+ Hệ thống kiểm tra thông tin phòng và xác nhận hợp lệ
+ Hệ thống so sánh thông tin phòng với cơ sở dữ liệu
+ Hệ thống báo thêm phòng thành công
+ Admin thoát khỏi chức năng thêm phòng
+ Hệ thống báo thông tin phòng không hợp lệ
- Hệ thống yêu cầu Admin nhập lại thông tin phòng
- Admin thực hiện nhập lại thông tin phòng
+ Thêm phòng không thành công
- Thông tin phòng đã tồn tại trong cơ sở dữ liệu
- Admin thoát khỏi chức năng thêm phòng c) Chức năng xóa phòng
+ Hệ thống hiển thị trang xóa phòng
+ Admin chọn phòng cần xóa và nhấn xóa
+ Hệ thống so sánh phòng cần xóa với cơ sở dữ liệu
+ Hệ thống thông báo xóa thành công
+ Hệ thống thông báo phòng xóa không hợp lệ
+ Xóa phòng không thành công d) Chức năng cập nhật phòng
- Các chuỗi sự kiện chính:
+ Hệ thống hiển thị trang cập nhật phòng, Admin chọn phòng cần cập nhật và điền thông tin phòng vào
+ Hệ thống kiểm tra tính hợp lệ của thông tin nhập vào
+ Hệ thống thông báo cập nhật phòng thành công
+ Admin thoát khỏi chức năng cập nhật phòng
+ Hệ thống thông báo thông tin phòng mới không hợp lệ
- Hệ thống yêu cầu Admin nhập lại thông tin phòng
- Admin nhập lại thông tin phòng e) Chức năng thêm lịch chiếu
- Các chuỗi sự kiện chính:
+ Hệ thống hiển thị trang thêm lịch chiếu, Admin nhập thông tin lịch chiếu
+ Admin nhập thông tin lịch chiếu và nhấn tạo mới
+ Hệ thống kiểm tra thông tin lịch chiếu và xác nhận hợp lệ
+ Hệ thống so sánh thông tin lịch chiếu với cơ sở dữ liệu
+ Hệ thống báo thêm lịch chiếu thành công
+ Admin thoát khỏi chức năng thêm lịch chiếu
+ Hệ thống báo thông tin lịch chiếu không hợp lệ
- Hệ thống yêu cầu Admin nhập lại thông tin lịch chiếu
- Admin thực hiện nhập lại thông tin lịch chiếu
+ Thêm phòng không thành công
- Thông tin lịch chiếu đã tồn tại trong cơ sở dữ liệu
- Admin thoát khỏi chức năng thêm lịch chiếu f) Chức năng xóa lịch chiếu
- Các chuỗi sự kiện chính:
+ Hệ thống hiển thị trang xóa lịch chiếu
+ Admin chọn lịch chiếu cần xóa và nhấn xóa
+ Hệ thống so sánh lịch chiếu cần xóa với cơ sở dữ liệu
+ Hệ thống thông báo xóa thành công
+ Hệ thống thông báo lịch chiếu xóa không hợp lệ
+ Xóa lịch chiếu không thành công g) Chức năng cập nhật lịch chiếu
- Các chuỗi sự kiện chính:
+ Hệ thống hiển thị trang cập nhật lịch chiếu, Admin chọn lịch chiếu cần cập nhật và điền thông tin lịch chiếu vào
+ Hệ thống kiểm tra tính hợp lệ của thông tin nhập vào
+ Hệ thống thông báo cập nhật lịch chiếu thành công
+ Admin thoát khỏi chức năng cập nhật lịch chiếu
+ Hệ thống thông báo thông tin lịch chiếu mới không hợp lệ
- Hệ thống yêu cầu Admin nhập lại thông tin lịch chiếu
- Admin nhập lại thông tin lịch chiếu.
Các chức năng dành cho nhân viên
3.4.1 Biểu đồ phân cấp chức năng
Hình 3.2- Biểu đồ phân cấp chức năng dành cho nhân viên
- Nhân viên bán vé có thể:
Xử lý đặt chỗ trực tuyến
3.4.2 Đặc tả các chức năng chính a) Chức năng bán vé
- Các chuỗi sự kiện chính:
Xử lý đặt chỗ trực tuyến
Xem thông tin cá nhân
Cập nhật thông tin cá nhân
Hệ thống hiển thị trang bán vé cho nhân viên cho phép lựa chọn thông tin phim, ngày chiếu, xuất chiếu, loại ghế và số lượng ghế Sau khi hoàn tất các lựa chọn, nhân viên chỉ cần nhấn nút xuất vé để hoàn tất giao dịch.
+ Hệ thống cập nhật chi tiết ghế vào cơ sở dữ liệu
+ Hệ thống thông báo đã hết số lượng ghế b) Chức năng nhân viên hủy đặt chỗ trực tuyến
- Các chuỗi sự kiện chính:
+ Hệ thống hiển thị danh sách các thành viên đã đặt chỗ trực tuyến
+ Nhân viên bán vé chọn những thành viên cần hủy yêu cầu và nhấn nút hủy
+ Hệ thống thông báo đã hủy thành công
+ Hủy không thành công c) Chức năng xác nhận mã đặt chỗ
- Các chuỗi sự kiện chính:
+ Hệ thống hiển thị trang tìm kiếm khách hàng đã đặt chỗ trực tuyến
+ Nhân viên bán vé nhập mã đặt chỗ
+ Hệ thống hiển thị thông tin đặt chỗ của khách hàng, nhấn xuất vé
+ Hệ thống thông báo xuất vé thành công
+ Nhân viên nhập vào mã đặt chỗ không hợp lệ.
Module dành cho thành viên và khách xem
3.5.1 Biểu đồ phân cấp chức năng
Hình 3.2 – Biểu đồ phân cấp chức năng dành cho thành viên và khách xem
- Thành viên có thể thực hiện được các chức năng:
Xem và cập nhật các thông tin cá nhân
Hủy các chỗ đã đặt trực tuyến
Xem và tìm kiếm danh sách các phim và các thông tin liên quan đến phim
Xem thông tin lịch chiếu phim
Xem và tìm kiếm danh sách các sự kiện khuyến mãi đang và sắp có tại rạp phim
Xem các câu hỏi thường gặp và câu trả lời
3.5.2 Đặc tả các chức năng chính a) Chức năng đặt chỗ trực tuyến
- Các chuỗi sự kiện chính:
+ Hệ thống hiển thị thông tin phim và xuất chiếu mà thành viên đã chọn
Xem lịch chiếu theo ngày
Xem thong tin phim Đang chiếu
Xem lịch chiếu theo phim
F.A.Q Đặt vé Yêu cầu phim Đăng nhập Xem
+ Thành viên chọn số lượng loại vé và số lượng vé, nhấn chọn ghế
+ Thành viên chọn ghế muốn ngồi, nhấn lấy mã đặt chỗ
+ Hệ thống hiển thị thông tin đặt chỗ trực tuyến
+ Thành viên chưa chọn số lượng ghế
- Hệ thống yêu cầu thành viên chọn lại số lượng ghế
- Thành viên chọn lại số lượng ghế
+ Thành viên chưa chọn số đủ số lượng ghế đã chọn
- Hệ thống yêu cầu thành viên chọn đủ số lượng ghế
- Thành viên chọn lại số lượng ghế
+ Đặt chỗ không thành công b) Chức năng người dùng hủy đặt chỗ
- Các chuỗi sự kiện chính:
+ Hệ thống hiển thị danh sách phim mà thành viên đã đặt chỗ
+ Thành viên chọn phim cần hủy đặt chỗ và nhấn hủy
+ Hủy đặt chỗ không thành công c) Chức năng yêu cầu phim
- Các chuỗi sự kiện chính:
+ Hệ thống hiển thị trang yêu cầu phim, yêu cầu người dùng nhập thông tin phim
+ Người dùng nhập thông tin phim và nhấn yêu cầu phim
+ Gửi yêu cầu thành công
+ Người dùng nhập không đủ các trường bắt buộc
- Hệ thống yêu cầu người dùng nhập lại thông tin phim
- Người dùng nhập lại thông tin phim
+ Gửi yêu cầu không thành công d) Chức năng bình luận phim
- Các chuỗi sự kiện chính:
+ Hệ thống hiển thị thông tin chi tiết phim
+ Thành viên nhập bình luận vào và nhấn gửi bình luận
+ Gửi bình luận thành công
+ Thành viên chưa nhập nội dung bình luận
+ Gửi bình luận không thành công.
Biểu đồ luồng dữ liệu
Biểu đồ luồng dữ liệu là phương tiện diễn tả chức năng xử lý và việc trao đổi thông tin giữa các chức năng
- Các ký hiệu được dùng trong biểu đồ :
+ Luồng dữ liệu : là một tuyến truyền dẫn thông tin vào hay ra một chức năng nào đó
Ký hiệu : Tên luồng dữ liệu
+ Chức năng : là một quá trình biến đổi dữ liệu
+ Các kho dữ liệu : Là các dữ liệu được lưu lại, để có thể đươc truy cập nhiều lần về sau
+ Các tác nhân ngoài : Một đối tác là một thực thể ngoài hệ thống, có trao đổi thông tin với hệ thống
Các tác nhân trong hệ thống được xem như một chức năng hoặc hệ con, hoạt động ở một trạng thái khác trong mô hình nhưng vẫn có khả năng trao đổi thông tin với các phần tử trong trang hiện tại của mô hình.
Tên tác nhân trong Tên chức năng
3.6.1 Chức năng đặt chỗ trực tuyến
Hình 3.5 Chức năng đặt chỗ trực tuyến 3.6.2 Chức năng xử lý đặt chỗ trực tuyến
Hình 3.4 Chức năng xử lý đặt chỗ trực tuyến
Danh sách đặt chỗ trực tuyến
Số lượng ghế đã chọn
Chọn loại ghế, số lượng
Danh sách các ghế đã chọn
Danh sách các ghế đã chọn Đặt chỗ thành công
Danh sách các vé đã đặt
Xử lý đặt chỗ trực tuyến
Danh sách đặt vé trực tuyến Xác nhận
Hình 3.3 Chức năng bán vé 3.6.4 Chức năng yêu cầu phim
Hình 3.6 Chức năng yêu cầu phim 3.6.5 Chức năng bình luận phim
Hình 3.7 Chức năng bình luận phim
Danh sách ghế đã chọn
Chọn số lượng, loại vé
Danh sách bình luận Đăng nhập hệ thống
Thông tin phim yêu cầu
Gửi phản hồi Đăng nhập hệ thống
3.6.6 Chức năng thêm lịch chiếu
Hình 3.8 Chức năng thêm lịch chiếu 3.6.7 Chức năng thêm phòng
Hình 3.9 Chức năng thêm phòng
Nhập thông tin phòng Đăng nhập hệ thống
Danh sách phòng Thông báo phản hồi
Nhập thông tin lịch chiếu Đăng nhập hệ thống Xem lịch chiếu
Thực thể và các mối quan hệ
Hình 3.10 – Mô hình thực thể liên kết
Thiết kế cở sở dữ liệu
3.8.1 Chi tiết các bảng a Bảng Phim
Tên trường Kiểu dữ liệu Chú thích
MaDangPhim int Mã dạng phim
MaLoaiPhim int Mã loại phim
SoGio int Thời lượng phim
SoPhut int Thời lượng phim
QuocGia nvarchar(50) Nước sản xuất
NamSanXuat int Năm sản xuất
NgayKhoiChieu datetime Ngày khởi chiếu
AnhDaiDien nvarchar(100) Ảnh đại diện
TomTatNoiDung nvarchar(MAX) Tóm tắt nội dung b Bảng Phòng
Tên trường Kiểu dữ liệu Chú thích
TinhTrangPhong nvarchar(50) Tình trạng phòng
SoDayGhe int Số dãy ghế
SoGheMoiDay int Số ghế mỗi dãy
GhiChu nvarchar(150) Ghi chú khác c Bảng Loại Phim
Tên trường Kiểu dữ liệu Chú thích
MaLoaiPhim int Mã loại phim
TenLoaiPhim nvarchar(50) Tên loại phim d Bảng Dạng Phim
Tên trường Kiểu dữ liệu Chú thích
MaDangPhim int Mã dạng phim
TenDangPhim nvarchar(50) Tên dạng phim e Bảng Bình luận phim
Tên trường Kiểu dữ liệu Chú thích
MaBinhLuan int Mã bình luận
TenDangNhapTV varchar(50) Tên đăng nhập thành viên
NoiDungBinhLuan nvarchar(MAX) Nội dung bình luận f Bảng Chi tiết đặt ghế
Tên trường Kiểu dữ liệu Chú thích
MaXacNhan varchar(50) Mã đặt chỗ
MaSoGhe char(3) Mã số ghế g Bảng Danh sách đặt chỗ
Tên trường Kiểu dữ liệu Chú thích
MaXacNhan varchar(50) Mã đặt chỗ
TenDangNhapTV varchar(50) Tên đăng nhập thành viên
MaXuatChieu int Mã xuất chiếu
SoVeThuong int Số vé thường(STD)
SoVeVIP int Số vé VIP
TrangThaiDatVe int Trạng thái đặt chỗ h Bảng Ghế
Tên trường Kiểu dữ liệu Chú thích
MaSoGhe char(3) Mã số ghế
MaLoaiGhe int Mã loại ghế
TinhTrangGhe nvarchar(50) Tình trạng ghế i Bảng Giá
Tên trường Kiểu dữ liệu Chú thích
MaDangPhim int Mã dạng phim
MaLoaiGhe int Mã loại ghế
SoTien money Số tiền j Bảng Lịch chiếu
Tên trường Kiểu dữ liệu Chú thích
MaXuatChieu int Mã xuất chiếu
MaPhim char(5) Mã phim k Bảng Loại ghế
Tên trường Kiểu dữ liệu Chú thích
MaLoaiGhe int Mã loại ghế TenLoaiGhe nvarchar(50) Tên loại ghế l Bảng Nhân viên
Tên trường Kiểu dữ liệu Chú thích
TenDangNhapNV varchar(50) Tên đăng nhập nhân viên
MaQuyen int Mã quyền hạn m Bảng Quyền Hạn
Tên trường Kiểu dữ liệu Chú thích
TenQuyen nvarchar(50) Tên quyền n Bảng Thành Viên
Tên trường Kiểu dữ liệu Chú thích
TenDangNhapTV varchar(50) Tên đăng nhập thành viên
SoDienThoai varchar(15) Số điện thoại
TrangThai bit Lock/unlock o Bảng Vé
Tên trường Kiểu dữ liệu Chú thích
MaXuatChieu int Mã xuất chiếu
TenDangNhapNV varchar(50) Tên đăng nhập nhân viên
MaSuKien char(5) Mã sự kiện
MaSoGhe char(3) Mã số ghế p Bảng xuất chiếu
Tên trường Kiểu dữ liệu Chú thích
MaXuatChieu int Mã xuất chiếu
PhutChieu int Phút chiếu q Bảng Yêu cầu phim
Tên trường Kiểu dữ liệu Chú thích
MaYeuCau int Mã yêu cầu
TenPhimYeuCau nvarchar(50) Tên phim yêu cầu NuocSanXuat nvarchar(50) Nước sản xuất
NamSanXuat int Năm sản xuất
MoTa nvarchar(MAX) Mô tả phim r Bảng F.A.Q
Tên trường Kiểu dữ liệu Chú thích
MaCauHoi int Mã câu hỏi
NoiDungCauHoi nvarchar(MAX) Nội dung câu hỏi
TraLoi nvarchar(MAX) Câu trả lời s Bảng Sự kiện
Tên trường Kiểu dữ liệu Chú thích
MaSuKien char(5) Mã sự kiện
TenSuKien nvarchar(50) Tên sự kiện
NoiDung nvarchar(MAX) Nội dung
NgayBatDau datetime Ngày bắt đầu
NgayKetThuc datetime Ngày kết thúc
MucGiamGia int Mức giảm giá
3.8.2 Lược đồ cơ sở dữ liệu quan hệ
Dựa vào mô hình thực thể liên kết, em đã thiết kế lược đồ cơ sở dữ liệu quan hệ của website như sau:
TenPhim MaDangPhim MaLoaiPhim SoGio SoPhut DaoDien DienVien QuocGia NamSanXuat NgayKhoiChieu AnhDaiDien Trailer TomTatNoiDung
DangPhong TinhTrangPhong SoDayGhe SoGheMoiDay GhiChu
MatKhau HoTen NgaySinh GioiTinh DiaChi SoDienThoai Email TrangThai
TenDangNhapTV MaPhong NgayChieu SoVeThuong SoVeVip TongTien TrangThaiDatVe QuyenHan
TenSuKien NoiDung NgayBatDau NgayKetThuc MucGiamGia
Hình 3.11- Lược đồ cơ sở dữ liệu quan hệ
GIAO DIỆN VÀ CÀI ĐẶT
Giao diện người dùng
Giao diện nhân viên bán vé
Hình 4.15 Trang chủ nhân viên
Hình 4.17 Trang xử lý đặt chỗ trực tuyến
Hình 4.18 Trang xuất vé cho khách
Giao diện người quản lý
Hình 4.19 Trang quản lý người dùng
Hình 4.21 Trang thêm phòng chiếu
Hình 4.22 Trang sắp xếp ghế cho phòng chiếu
Hình 4.23 Trang quản lý phim