Xác nhận đặt vé: o Sau khi chọn phim, suất chiếu và chỗ ngồi, người dùng cần xác nhận lại các thông tin trước khi chuyển đến bước thanh toán.. Đối với hệ thống mua vé xem phim online,
Trang 1Đại học mỏ địa chất
Giảng viên hướng dẫn:
Nông Thị Oanh
sinh viên thực hiện:
Dương Đức Thắng MSV:2221050240
• Mục lục
• 1 Mở đầu
1 Yêu cầu hệ thống 1.1 yêu cầu chức năn 1.2 yêu cầu phi chức năng
Báo cáo bài
tập lớn môn
phân tích và
thiết kế HĐT
Đề tài phân tích
và thiết kế hệ
thống bán vé
xem phim online
Cho rạp chiếu
phim DT Cinema
Trang 2Chương 1 : Mở đầu
1 Yêu cầu chức năng
a Đăng ký/Đăng nhập người dùng
Hệ thống cần cung cấp chức năng cho phép người dùng đăng ký tài khoản mới hoặc đăng nhập bằng tài khoản đã có
Đăng ký tài khoản:
o Người dùng mới có thể tạo tài khoản bằng cách cung cấp các thông tin cần thiết như: Tên, email, mật khẩu, số điện thoại
o Hệ thống kiểm tra tính hợp lệ của email và mật khẩu
o Sau khi đăng ký, người dùng nhận được email xác nhận để kích hoạt tài khoản
Đăng nhập tài khoản:
o Người dùng đã có tài khoản có thể đăng nhập vào hệ thống bằng email/số điện thoại và mật khẩu
o Nếu thông tin đăng nhập không chính xác, hệ thống hiển thị thông báo lỗi
o Cung cấp chức năng "Quên mật khẩu" để người dùng khôi phục mật khẩu qua email
Xác thực hai yếu tố (2FA): (Tùy chọn)
o Cải thiện tính bảo mật bằng cách yêu cầu người dùng nhập mã xác thực từ SMS hoặc email khi đăng nhập từ thiết bị mới
b Tìm kiếm và xem thông tin phim
Người dùng có thể tìm kiếm thông tin về các bộ phim hiện có trong rạp chiếu phim
Tìm kiếm phim:
o Người dùng có thể tìm kiếm phim theo các tiêu chí như: tên phim, thể loại phim (hành động, lãng mạn, kinh dị, ), thời gian chiếu (theo ngày cụ thể)
Xem danh sách phim:
o Hệ thống hiển thị danh sách các bộ phim đang chiếu hoặc sắp chiếu kèm theo thông tin tóm tắt
Xem chi tiết phim:
o Người dùng có thể nhấp vào một phim để xem thông tin chi tiết như: tóm tắt nội dung phim, diễn viên, đạo diễn, thời lượng, thể loại, trailer, và các suất chiếu tại các rạp
Trang 3 Chọn suất chiếu:
o Hệ thống hiển thị danh sách các suất chiếu theo ngày và rạp cho bộ phim được chọn Người dùng có thể chọn rạp, giờ chiếu, và phòng chiếu theo ý muốn
Chọn chỗ ngồi:
o Hệ thống cung cấp sơ đồ ghế ngồi trong phòng chiếu để người dùng có thể chọn vị trí ngồi ưa thích (ghế trống được đánh dấu rõ ràng, ghế đã đặt được hiển thị là không thể chọn)
Xác nhận đặt vé:
o Sau khi chọn phim, suất chiếu và chỗ ngồi, người dùng cần xác nhận lại các thông tin trước khi chuyển đến bước thanh toán
d Thanh toán trực tuyến
Người dùng thực hiện thanh toán sau khi đã chọn xong vé và chỗ ngồi
Chọn phương thức thanh toán:
o Hỗ trợ nhiều phương thức thanh toán như thẻ tín dụng/ghi nợ, ví điện tử (Momo, ZaloPay), hoặc chuyển khoản ngân hàng
Xử lý thanh toán:
o Hệ thống tích hợp cổng thanh toán để xử lý giao dịch Hệ thống cần đảm bảo tính bảo mật cho các giao dịch, mã hóa thông tin thanh toán
Xác nhận giao dịch:
o Sau khi thanh toán thành công, người dùng nhận được thông báo xác nhận và mã vé
e Xác nhận đặt vé
Nhận mã vé:
o Sau khi thanh toán thành công, hệ thống gửi mã vé hoặc mã QR thông qua email hoặc tin nhắn SMS
o Người dùng có thể sử dụng mã vé này để check-in tại rạp phim
Thông tin vé:
o Mã vé chứa thông tin về phim, suất chiếu, số ghế và rạp chiếu
f Quản lý tài khoản
Hệ thống cung cấp tính năng quản lý tài khoản cho người dùng
Cập nhật thông tin cá nhân:
Trang 4mật khẩu.
Xem lịch sử đặt vé:
o Người dùng có thể xem lại các vé đã mua trước đây cùng với chi tiết về thời gian, phim
và chỗ ngồi
Hủy vé (nếu được phép):
o Hệ thống hỗ trợ người dùng yêu cầu hủy vé và hoàn tiền (theo chính sách rạp chiếu phim)
g Quản lý chương trình khuyến mãi và mã giảm giá
Hệ thống hỗ trợ các chương trình khuyến mãi hoặc ưu đãi cho khách hàng
Áp dụng mã giảm giá:
o Người dùng có thể nhập mã giảm giá hoặc khuyến mãi khi thanh toán để nhận được ưu đãi như giảm giá, vé tặng kèm,
Thông báo khuyến mãi:
o Hệ thống gửi thông báo về các chương trình ưu đãi, phim mới hoặc các suất chiếu đặc biệt qua email hoặc thông báo ứng dụng
2 Yêu cầu phi chức năng
a Bảo mật
Hệ thống cần đảm bảo tính bảo mật cao cho người dùng, đặc biệt liên quan đến thông tin tài khoản và thanh toán
Mã hóa: Mã hóa dữ liệu quan trọng như mật khẩu, thông tin thẻ tín dụng bằng các tiêu chuẩn
bảo mật như SSL/TLS
Xác thực người dùng: Sử dụng xác thực hai yếu tố (2FA) để tăng cường tính bảo mật khi đăng
nhập
b Hiệu suất
Hệ thống phải hoạt động ổn định, có thể xử lý đồng thời nhiều giao dịch trong giờ cao điểm
Khả năng xử lý nhiều yêu cầu: Hệ thống cần có khả năng đáp ứng hàng ngàn yêu cầu từ người
dùng cùng lúc, đặc biệt trong giờ cao điểm như cuối tuần hoặc trong các dịp lễ
c Khả năng mở rộng
Hệ thống cần thiết kế linh hoạt để dễ dàng mở rộng khi lượng người dùng tăng lên, hoặc khi hệ thống
Trang 5Hệ thống phải hoạt động liên tục và không gián đoạn, đảm bảo thời gian uptime cao (ví dụ: 99.9%).
e Tương thích thiết bị
Hệ thống phải tương thích tốt với nhiều thiết bị khác nhau, bao gồm:
Trình duyệt web: Chrome, Firefox, Safari,
Thiết bị di động: Ứng dụng hoặc giao diện web di động dễ sử dụng trên các hệ điều hành phổ
biến như Android và iOS
f Dễ sử dụng
Giao diện người dùng (UI) cần thân thiện, dễ sử dụng với người dùng, kể cả những người ít am hiểu về công nghệ Quy trình đặt vé cần được thiết kế đơn giản, trực quan và nhanh chóng
Kết luận
Yêu cầu hệ thống là bước đầu tiên và quan trọng nhất để đảm bảo thiết kế và phát triển hệ thống mua
vé xem phim online hiệu quả, đáp ứng nhu cầu của cả người dùng và nhà quản lý rạp phim
2 Phân tích hệ thống
2.1 Xác định các tác nhân (Actors)
Tác nhân (Actors) là các thực thể tương tác với hệ thống Đối với hệ thống mua vé xem phim online, các tác nhân chính bao gồm:
Người dùng (Khách hàng):
o Là người sử dụng hệ thống để tìm kiếm phim, đặt vé, thanh toán và quản lý tài khoản cá nhân
o Người dùng có thể thực hiện các thao tác như: đăng ký, đăng nhập, tìm kiếm phim, chọn suất chiếu, đặt chỗ, thanh toán, và kiểm tra lịch sử giao dịch
Quản trị viên (Admin):
o Là người quản lý và vận hành hệ thống, chịu trách nhiệm cập nhật thông tin phim, suất chiếu, xử lý các yêu cầu hủy vé, và quản lý tài khoản người dùng
Hệ thống thanh toán:
o Là dịch vụ thanh toán trực tuyến (ví điện tử, thẻ tín dụng, ngân hàng trực tuyến) để xử lý các giao dịch mua vé của khách hàng
2.2 Phân tích yêu cầu chức năng (Functional Requirements)
a Quản lý tài khoản người dùng
Đăng ký tài khoản:
Trang 6bản (họ tên, email, số điện thoại, mật khẩu).
o Hệ thống cần xác nhận email hoặc số điện thoại để đảm bảo tính hợp lệ và tránh tài khoản giả mạo
Đăng nhập tài khoản:
o Người dùng phải có thể đăng nhập bằng email/số điện thoại và mật khẩu đã đăng ký
o Hệ thống cung cấp chức năng “Quên mật khẩu” để khôi phục tài khoản khi người dùng quên mật khẩu
Quản lý tài khoản:
o Người dùng có thể cập nhật thông tin cá nhân (email, số điện thoại, mật khẩu) sau khi đăng nhập
o Cung cấp lịch sử mua vé và giao dịch để người dùng dễ dàng theo dõi
b Quản lý phim và suất chiếu
Hiển thị danh sách phim:
o Hệ thống cần cung cấp danh sách các phim đang chiếu hoặc sắp chiếu tại các rạp, kèm theo thông tin như tên phim, thể loại, tóm tắt nội dung, diễn viên, thời gian chiếu, trailer, và poster
Tìm kiếm phim:
o Người dùng có thể tìm kiếm phim theo tên, thể loại, ngày chiếu, hoặc từ khóa cụ thể
Xem chi tiết phim:
o Cung cấp chi tiết về từng phim, bao gồm tóm tắt nội dung, diễn viên chính, thời lượng, lịch chiếu tại các rạp, và sơ đồ chỗ ngồi
c Đặt vé và chọn chỗ
Chọn phim và suất chiếu:
o Người dùng có thể chọn một phim từ danh sách phim đang chiếu và chọn suất chiếu tại rạp mà họ muốn xem
Chọn chỗ ngồi:
o Hệ thống cần cung cấp sơ đồ phòng chiếu với thông tin về các ghế trống hoặc đã được đặt trước Người dùng có thể chọn chỗ ngồi theo sở thích
Xác nhận đặt vé:
o Sau khi chọn suất chiếu và chỗ ngồi, hệ thống sẽ hiển thị tóm tắt thông tin vé để người
Trang 7 Tích hợp cổng thanh toán:
o Hệ thống phải kết nối với các cổng thanh toán trực tuyến như ví điện tử (Momo, ZaloPay), thẻ tín dụng, hoặc ngân hàng trực tuyến để xử lý giao dịch mua vé
Xác nhận thanh toán:
o Sau khi thanh toán thành công, hệ thống cần gửi email hoặc tin nhắn xác nhận cho người dùng, kèm theo mã vé hoặc mã QR để check-in tại rạp
e Quản lý chương trình khuyến mãi
Áp dụng mã giảm giá:
o Hệ thống phải cho phép người dùng nhập mã khuyến mãi hoặc mã giảm giá khi thanh toán để hưởng ưu đãi
Thông báo khuyến mãi:
o Gửi thông báo qua email hoặc ứng dụng di động để thông báo các chương trình ưu đãi hoặc phim mới ra mắt
2.3 Phân tích yêu cầu phi chức năng (Non-functional Requirements)
a Hiệu suất và khả năng mở rộng
Hệ thống cần đảm bảo khả năng xử lý đồng thời nhiều giao dịch, đặc biệt vào những khung giờ cao điểm như cuối tuần hoặc dịp lễ
Cần thiết kế kiến trúc hệ thống có khả năng mở rộng (scalable) khi số lượng người dùng tăng lên, đặc biệt với các rạp phim có quy mô lớn hoặc chuỗi rạp chiếu phim
b Tính bảo mật
Mã hóa dữ liệu nhạy cảm: Thông tin người dùng và thanh toán cần được mã hóa để đảm bảo an
toàn Sử dụng giao thức bảo mật như HTTPS để bảo vệ dữ liệu truyền qua mạng
Bảo mật thông tin tài khoản: Sử dụng các biện pháp bảo mật như xác thực hai yếu tố (2FA) để
giảm nguy cơ xâm nhập trái phép
c Tính khả dụng (Availability)
Hệ thống phải đảm bảo hoạt động liên tục 24/7, với thời gian ngừng hoạt động tối thiểu
(uptime > 99.9%) Điều này giúp đảm bảo trải nghiệm người dùng không bị gián đoạn
d Tương thích với nhiều nền tảng
Hệ thống phải tương thích với nhiều loại thiết bị, bao gồm máy tính để bàn, máy tính bảng và điện thoại di động Điều này đảm bảo người dùng có thể đặt vé và sử dụng dịch vụ từ bất kỳ thiết bị nào
Trang 8nhau, bao gồm cả những người ít am hiểu công nghệ
Quy trình đặt vé và thanh toán cần được tối ưu hóa để người dùng có thể thực hiện chỉ với vài bước
2.4 Biểu đồ Use Case (Use Case Diagram)
1 Các tác nhân (Actors)
Trong hệ thống mua vé xem phim online, có một số tác nhân chính, mỗi tác nhân tương tác với hệ thống theo một cách nhất định:
Người dùng (Khách hàng): Đây là người sử dụng hệ thống để tìm kiếm phim, đặt vé, thanh toán,
và quản lý tài khoản của mình Người dùng có thể là khách hàng đã đăng ký hoặc khách hàng tiềm năng (người dùng chưa đăng ký tài khoản)
Quản trị viên (Admin): Quản trị viên chịu trách nhiệm quản lý hệ thống, cập nhật thông tin
phim, suất chiếu, quản lý tài khoản người dùng và các chức năng quản trị khác
Hệ thống thanh toán: Đây là một tác nhân bên ngoài, được tích hợp vào hệ thống để xử lý các
giao dịch thanh toán khi khách hàng mua vé
2 Các Use Case chính
Các Use Case là các tình huống mà tác nhân (actor) tương tác với hệ thống để hoàn thành một nhiệm vụ
cụ thể Dưới đây là các Use Case chính trong hệ thống:
a Đăng ký tài khoản
Mô tả: Người dùng mới cần tạo tài khoản để sử dụng các chức năng khác của hệ thống.
Actors liên quan: Người dùng
Luồng sự kiện:
1 Người dùng nhập các thông tin cần thiết (tên, email, số điện thoại, mật khẩu)
2 Hệ thống kiểm tra tính hợp lệ của thông tin (ví dụ: định dạng email)
3 Nếu hợp lệ, hệ thống lưu trữ thông tin và gửi email kích hoạt tài khoản
Mục tiêu: Đảm bảo người dùng có tài khoản để đăng nhập và sử dụng các chức năng của hệ
thống
b Đăng nhập
Mô tả: Người dùng đã đăng ký tài khoản có thể đăng nhập vào hệ thống để đặt vé và quản lý tài
khoản cá nhân
Actors liên quan: Người dùng
Luồng sự kiện:
Trang 92 Hệ thống kiểm tra tính hợp lệ của thông tin đăng nhập.
3 Nếu thông tin chính xác, người dùng được đăng nhập và truy cập vào các chức năng khác của hệ thống
Mục tiêu: Người dùng có thể truy cập vào hệ thống và sử dụng các chức năng đặt vé và thanh
toán
c Tìm kiếm phim
Mô tả: Người dùng tìm kiếm thông tin về các bộ phim đang chiếu hoặc sắp chiếu.
Actors liên quan: Người dùng
Luồng sự kiện:
1 Người dùng nhập từ khóa tìm kiếm (tên phim, thể loại, ngày chiếu)
2 Hệ thống tìm kiếm và hiển thị danh sách các bộ phim phù hợp
Mục tiêu: Giúp người dùng dễ dàng tìm thấy thông tin phim mà họ quan tâm.
d Xem chi tiết phim
Mô tả: Người dùng xem chi tiết về bộ phim, bao gồm nội dung tóm tắt, diễn viên, trailer, thời
gian chiếu và các suất chiếu
Actors liên quan: Người dùng
Luồng sự kiện:
1 Người dùng chọn một phim từ danh sách phim
2 Hệ thống hiển thị thông tin chi tiết về bộ phim đã chọn
Mục tiêu: Cung cấp thông tin đầy đủ về phim để người dùng quyết định đặt vé.
e Chọn phim và suất chiếu
Mô tả: Người dùng chọn phim và suất chiếu cụ thể (theo rạp, ngày, giờ).
Actors liên quan: Người dùng
Luồng sự kiện:
1 Người dùng chọn một phim từ danh sách phim
2 Người dùng chọn rạp, ngày chiếu và giờ chiếu phù hợp
3 Hệ thống hiển thị danh sách các suất chiếu khả dụng cho phim đã chọn
Mục tiêu: Cho phép người dùng chọn một suất chiếu phù hợp để đặt vé.
Trang 10 Actors liên quan: Người dùng
Luồng sự kiện:
1 Người dùng chọn suất chiếu
2 Hệ thống hiển thị sơ đồ chỗ ngồi trong phòng chiếu với các vị trí còn trống và đã đặt
3 Người dùng chọn chỗ ngồi mong muốn và xác nhận
Mục tiêu: Cung cấp trải nghiệm đặt chỗ ngồi trực quan để người dùng có thể chọn được vị trí
phù hợp
g Thanh toán
Mô tả: Người dùng thực hiện thanh toán cho vé đã chọn.
Actors liên quan: Người dùng, Hệ thống thanh toán
Luồng sự kiện:
1 Người dùng chọn phương thức thanh toán (thẻ tín dụng, ví điện tử, )
2 Hệ thống chuyển thông tin thanh toán đến hệ thống thanh toán
3 Hệ thống thanh toán xử lý giao dịch và gửi phản hồi (thành công/thất bại)
4 Nếu giao dịch thành công, hệ thống gửi mã vé hoặc mã QR cho người dùng
Mục tiêu: Xử lý thanh toán một cách an toàn và nhanh chóng, đảm bảo người dùng nhận được
vé sau khi thanh toán
h Nhận mã vé
Mô tả: Sau khi thanh toán thành công, người dùng nhận mã vé qua email hoặc tin nhắn.
Actors liên quan: Người dùng
Luồng sự kiện:
1 Sau khi thanh toán, hệ thống tự động gửi mã vé hoặc mã QR tới email hoặc điện thoại của người dùng
Mục tiêu: Đảm bảo người dùng nhận được vé để check-in tại rạp.
i Quản lý tài khoản
Mô tả: Người dùng có thể cập nhật thông tin cá nhân, kiểm tra lịch sử đặt vé, hoặc thay đổi mật
khẩu
Actors liên quan: Người dùng
Luồng sự kiện:
Trang 112 Người dùng có thể chỉnh sửa thông tin cá nhân (họ tên, số điện thoại, email).
3 Người dùng có thể xem lại lịch sử giao dịch và đặt vé
Mục tiêu: Đảm bảo người dùng có thể quản lý tài khoản cá nhân dễ dàng và an toàn.
j Quản lý chương trình khuyến mãi
Mô tả: Người dùng có thể sử dụng mã giảm giá khi mua vé.
Actors liên quan: Người dùng, Quản trị viên
Luồng sự kiện:
1 Quản trị viên tạo các chương trình khuyến mãi và cập nhật vào hệ thống
2 Người dùng nhập mã giảm giá trong quá trình thanh toán
3 Hệ thống kiểm tra tính hợp lệ của mã và áp dụng giảm giá vào tổng chi phí
Mục tiêu: Tạo giá trị gia tăng cho người dùng thông qua các chương trình ưu đãi, đồng thời tăng
cường tính cạnh tranh của hệ thống
3 Tương tác giữa các tác nhân và Use Case
Người dùng là tác nhân chính tương tác với các Use Case như: Đăng ký, Đăng nhập, Tìm kiếm
phim, Đặt vé, Thanh toán, và Quản lý tài khoản
Quản trị viên tương tác với hệ thống trong các Use Case liên quan đến việc quản lý phim, suất
chiếu, và khuyến mãi
Hệ thống thanh toán là một tác nhân bên ngoài, tương tác với hệ thống chính khi xử lý các giao
dịch thanh toán
3 Thiết kế cơ sở dữ liệu
Thiết kế cơ sở dữ liệu (CSDL) cho hệ thống mua vé xem phim online là một bước rất quan trọng trong việc xây dựng và phát triển hệ thống Cơ sở dữ liệu sẽ lưu trữ tất cả các thông tin liên quan đến người dùng, phim, lịch chiếu, đặt vé, thanh toán, và nhiều thành phần khác Thiết kế cơ sở dữ liệu hiệu quả sẽ đảm bảo hệ thống hoạt động tốt, truy xuất dữ liệu nhanh chóng và an toàn
3.1 Xác định các thực thể (Entities)
Trong hệ thống này, chúng ta có một số thực thể chính cần lưu trữ trong cơ sở dữ liệu Dưới đây là các thực thể chính:
Người dùng (User): Lưu trữ thông tin về người dùng, bao gồm thông tin cá nhân, thông tin đăng
nhập và lịch sử giao dịch
Phim (Movie): Lưu trữ thông tin về các bộ phim, bao gồm tiêu đề, thể loại, thời lượng, và các chi