You are on page 1of 32

NHẬP MÔN CÔNG NGHỆ PHẦN MỀM

Lớp học phần:CNPM01


Tên đề tài: Xây dựng hệ thống quản lý chuỗi rạp chiếu phim
Tên nhóm bài tập lớn: Nhóm 01
Tên các thành viên:
• B19DCCN010 - Đặng Thị Vân Anh
• B19DCAT012 - Đào Ngọc Ánh
• B19DCCN657 – Lê Đại Thắng
• B19DCCN610 - Khổng Duy Tuấn
Tên modul cá nhân: Lên lịch chiếu phim
Yêu cầu của bài: Pha kiểm thử
1. Mô tả hệ thống bằng ngôn ngữ tự nhiên
a. Glossary list:

STT TÊN TIẾNG VIỆT TÊN TIẾNG ANH NGỮ NGHĨA

Nhóm thuật ngữ liên quan đến nhân viên

1 Nhân viên bán vé Booking clerk Nhân viên chịu trách nhiệm việc bán vé tại chỗ và
tiếp khách đã đặt vé online trước.

2 Nhân viên soát vé Ticket collector Nhân viên chịu trách nhiệm kiểm tra vé xem phim ở
cửa ra vào của phòng phim.

3 Nhân viên quản lý Showtime manager Người chịu trách nhiệm quản lý lịch chiếu của phim.
lịch chiếu

4 Nhân viên kỹ thuật Projectionist Nhân viên chịu trách nhiệm quản lý và điều khiển hệ
phòng chiếu thống máy chiếu phim tại cụm rạp theo đúng lịch
chiếu phim được sắp xếp, đảm bảo chất lượng phim
ảnh, âm thanh, ánh sáng, nhiệt độ tại phòng chiếu.

5 Nhân viên vệ sinh Trash collector Nhân viên chịu trách nhiệm vệ sinh trong rạp

6 Nhân viên quảng bá Marketing staff Chịu trách nhiệm quảng bá online qua mạng xã hội
cũng như quảng bá offline qua các hoạt động phát tờ
rơi, các event cho các bộ phim sắp và đang chiếu.

7 Nhân viên bảo trì Cinema Chịu trách nhiệm quản lý, vận hành, vệ sinh, sữa
rạp chiếu phim maintenance staff chữa và gia cố các trang thiết bị, thực hiện báo cáo
định kỳ tình trạng tài sản rạp.

8 Quản lý rạp chiếu Cinema manager Quản lý và giám sát hoạt động kinh doanh của rạp.
phim Thực hiện tổng kết báo cáo định kỳ tình trạng kinh
doanh của rạp.

9 Nhân viên thống kê Accountant Nhân viên thống kê doanh thu của rạp, làm báo cáo
doanh thu định kỳ về doanh thu rạp.
10 Nhân viên quản lý Room manager Nhân viên chịu trách nhiệm cập nhật phòng chiếu
phòng chiếu gồm thêm, sửa, xóa thông tin phòng chiếu, liệt kê
danh sách các phòng chiếu.

11 Nhân viên quản lý Film manager Nhân viên chịu trách nhiệm cập nhật phim chiếu
phim gồm thêm, sửa, xóa thông tin phim.

12 Nhân viên bán bỏng, Food salesman Nhân viên bán các đồ ăn, nước uống trong rạp như
nước bỏng ngô, nước ngọt,…

Nhóm thuật ngữ liên quan đến khách hàng

13 Khách hàng Customer Khách hàng tại rạp không có đăng ký tài khoản thành
viên.

14 Khách hàng thành Member Khách hàng có tài khoản thành viên dưới hạng Thân
viên thiết tại rạp, có điểm thưởng và một số ưu đãi nhất
định.
15 Trẻ em Kid Khách hàng dưới 12 tuổi.

16 Học sinh sinh viên Student Khách hàng dưới 22 tuổi, là học sinh, sinh viên có
mang theo thẻ học sinh hoặc thẻ sinh viên.
17 Khách hàng thân VIP Customer Khách hàng có tài khoản thành viên ở hạng Thân
thiết thiết tại rạp, nhận được nhiều ưu đãi.

Nhóm thuật ngữ liên quan đến cơ sở hạ tầng rạp chiếu phim

18 Phòng chiếu Cinema room Nơi xem phim, có hệ thống ghế ngồi và hệ thống
chống ồn.
19 Phòng chiếu đặc Special cinema Phòng chiếu có số ghế ít hơn và chất lượng ghế,
biệt room hệ thống chống ồn, chất lượng âm thanh tốt hơn.
20 Phòng điều khiển Projection booth Nơi nhân viên chiếu phim điều khiển phim,
quyết định chất lượng hình ảnh, âm thanh mà
khách hàng được xem.
21 Ghế cặp đôi Couple seat Ghế đôi dành cho hai người ngồi chung, không
có vách ngăn giữa hai người.
22 Ghế đơn Single seat Ghế đơn cho người xem phim.
23 Ghế hạng Ưu tiên VIP seat Các ghế ở vị trí chính giữa của mỗi phòng chiếu,
là vị trí đẹp nhất để xem phim.
24 Chỗ ngồi Seat Là ký hiệu gồm tên hàng ghế và số của ghế
trong hàng, quy định chỗ ngồi của khách hàng
trong phòng chiếu.
25 Hàng ghế Row Hàng ghế có trong rạp chiếu, mỗi hàng có một
ký hiệu phân biệt.
26 Bức màn hình Curtain Bức màn nơi hình ảnh phim được chiếu đến
27 Bốt chụp ảnh Phototboth Nơi chụp ảnh kỷ niệm
28 Hệ thống ánh sáng Lighting system Hệ thống chiếu sáng cho rạp như phòng chiếu,
sảnh, quầy bán vé,…
29 Hệ thống âm thanh Sound and video Là những thiết bị chính tạo nên rạp chiếu phim.
và hình ảnh system
30 Khu vệ sinh WC Nơi chỉnh trang hoặc đi vệ sinh
31 Gian soát vé Ticket booth Nơi kiểm tra vé của khách hàng trước khi vào
xem.
32 Mã phòng chiếu Cinema room ID Mã định danh để phân biệt mỗi phòng chiếu
33 Quầy lưu niệm Souvenir shop Nơi bày bán các vật phẩm đặc biệt để lưu niệm
34 Phòng kỹ thuật Technical room Phòng quản lý và theo dõi vận hành các thiết bị trong
rạp.
35 Rạp phim Cinema Nơi cung cấp dịch vụ xem phim.

Nhóm thuật ngữ liên quan đến dịch vụ bán vé xem phim và dịch vụ ăn uống

36 Đặt vé Book a ticket Việc mua vé trực tiếp hoặc online cho một hay nhiều
vé xem phim đã được xác nhận và thanh toán thành
công.

37 Ghế đã đặt Booked seat Ghế được đánh dấu là không còn trống tại một suất
chiếu vì đã có người mua vé tại ghế đó vào thời điểm
đó.

38 Hủy vé Cancel a ticket Khách hàng hoàn trả lại vé đã mua hoặc đã được đặt
trước và phải chịu chi phí phạt do rap quy định(thời
gian được tính so với giờ chiếu phim trên vé).

• Trước 48h: miễn phí


• Trước 24h: 20% giá trị của vé.
• Trước 12h: 40% giá trị của vé.
• Trước 6h: 60% giá trị của vé.
• Sau 6h: 100% giá trị của vé.
Và đối với khách hàng có tài khoản thành viên và đã
được cộng điểm khi đã mua vé trước đó, thì sau khi
trả vé sẽ mất điểm đã được cộng khi mua vé đó.
39 Giờ chiếu Showtime Giờ chiếu một bộ phim tại một phòng chiếu vào thời
gian xác định.

40 Suất chiếu sớm Sneak-show Buổi chiếu phim hạn chế người xem trước khi phát
hành chính thức.

41 Chuẩn bị phát hành Coming soon Phim chuẩn bị được phát hành tại rạp chiếu

42 Giá vé Ticket cost Số tiền phải trả khi mua vé.


43 Điểm thân thiết Member point Khách hàng được nhận điểm thưởng mỗi khi chi trả
cho dịch vụ tại rạp. Mỗi vé hay mặt hàng có số điểm
thưởng quy định, khi mua sẽ được tích điểm vào tài
khoản với tỉ lệ 30.000 đồng đã thanh toán = 1 điểm
tích luỹ.

44 Tài khoản thành Member account Là tài khoản dành cho khách hàng, khách hàng có tài
viên khoản thành viên khi mua dịch vụ tại rạp sẽ nhận lại
điểm tích luỹ.

45 Ưu đãi Discount Khách hàng có thể được giảm giá vé nếu thoả mãn
một số điều kiện.
46 Hoá đơn Bill Tổng số tiền khách hàng cần chi trả cho các dịch vụ
đã mua, sau khi áp dụng các chính sách ưu đãi và đổi
điểm thưởng.
47 Bỏng ngô Popcorn Đồ ăn được làm tử ngô, bơ và đường, được bán ở
trong rạp

48 Nước ngọt Soft drink Nước ngọt được bán ở trong rạp
49 Quy đổi điểm thân Convert member Khách hàng chuyển điểm thân thiết thành dịch vụ mà
thiết points rạp cung cấp.
Điểm được đổi thành dịch vụ với tỉ giá như sau:

• 15 điểm = 1 combo bỏng + nước


• 25 điểm = 1 vé xem phim 2D
• 30 điểm = 1 vé xem phim 3D
Sau khi đổi điểm thưởng, số lượng điểm hiện có sẽ
bị trừ tương ứng.

Nhóm thuật ngữ liên quan tới phim

50 Thể loại phim Movie genre Các chủ đề mà phim hướng đến hoặc đề cập tới.

51 Phim 2D 2D movie Phim chiếu với chất lượng truyền thống

52 Phim 3D 3D movie Phim mang lại cảm giác thực hơn cho người xem
qua việc hiển thị hình ảnh ba chiều, tạo ảo giác về
chiều sâu. Người xem cần đeo kính chuyên dụng tại
rạp để có thể xem với trải nghiệm tốt nhất.

53 Kính 3D 3D glasses Là kính phân cực sử dụng ánh sang phân cực tròn để
tạo ra hình ảnh chiếu nổi. Dùng để xem phim 3D

54 Mô tả phim Movie description Mô tả ngắn về nội dung phim

55 Giới thiệu phim Movie trailer Đoạn phim ngắn hé lộ một vài chi tiết hoặc nhân vật
trong phim nhằm mục đích quảng bá phim.

56 Lịch chiếu Showtimes Là bảng thời gian biểu quy định những giờ phim
được chiếu tại các phòng chiếu trong rạp.

57 Tấm biển quảng cáo Movie poster Hình ảnh đại diện của phim, nhằm mục đích quảng
phim bá.

58 Giới hạn độ tuổi Age restriction Giới hạn độ tuổi khách hàng được phép xem tự do,
xem dưới sự giám sát của người lớn của một bộ
phim.

59 Năm sản xuất Year of production Thời gian mà phim bắt đầu được bấm máy để quay

60 Đạo diễn Director Người chịu trách nhiệm chỉ đạo quá trình thực hiện
một tác phẩm nghe nhìn, thường là điện ảnh hoặc
truyền hình

61 Diễn viên chính Main actor/actress Người nghệ sĩ biểu diễn, trình bày vai diễn chính
trong bộ phim

62 Dàn diễn viên Cast Một dàn diễn viên được tạo nên bởi quá trình tuyển
diễn viên

63 Nhân vật Character Là một người hay một đối tượng xuất hiện trong
phim
64 Nhà sản xuất phim Producer Là người giám sát sản xuất phim

65 Nhà biên kịch Scriptwritter Là người đầu tiên tạo dựng toàn bộ câu chuyện trên
phim: lựa chọn bối cảnh, nhân vật sẽ xuất hiện, cá
tính, ngôn ngữ của họ

66 Thời lượng phim Runtime Thời gian chiếu phim đó, tính bằng phút.

67 Loại phim Type Phân loại phim, là phim 2D hay phim 3D.

Nhóm thuật ngữ liên quan tới hệ thống quản lý

68 Mã ID Mã định danh của đối tượng.

Nhóm thuật ngữ liên quan tới ưu đãi

69 U22 U22 Người dưới 22 tuổi có tài khoản thân thiết tại rạp sẽ
được hưởng ưu đãi được tăng thêm 10% số điểm
thân thiết.

b. Mô tả chung
• Mục đích:
Phần mềm hỗ trợ quản lý kinh doanh trong rạp, hỗ trợ quản lý thông tin, doanh thu từng phim,
thay đổi, thêm mới lịch chiếu của từng bộ phim và từng phòng phim. Quy định giá vé cụ thể cho
từng đối tượng khách hàng khi mua vé, quản lý việc đặt và mua vé cũng như kiểm soát việc chọn
chỗ ngồi khi khách hàng mua vé của một suất chiếu cụ thể.
• Phạm vi:
o Phần mềm hỗ trợ quản lý kinh doanh chuỗi các rạp chiếu phim
o Các nhân viên được phép sử dụng hệ thống
o Quản trị rạp chiếu phim được phép quản trị hệ thống
• Hệ thống không bao gồm các chức năng sau:
o Quản lý nhân sự
o Quản lý chấm công, trả lương cho nhân viên
o Quản lý cơ sở vật chất của rạp chiếu phim
o Quản lý các chương trình quảng cáo
c. Những người được phép sử dụng hệ thống
• Nhân viên quản trị hệ thống được phép:
o Quản trị các vấn đề liên quan đến hệ thống
• Nhân viên sử dụng hệ thống được phép sử dụng tuỳ vào vị trí công việc:
o Nhân viên quản lý:
- Thực hiện thêm, sửa, xóa phòng chiếu.
- Thực hiện thêm, sửa, xóa thông tin phim.
- Thực hiện thêm, sửa, xóa các mặt hàng bán kèm và dịch vụ
- Thực hiện thêm, sửa, xóa các vé xem phim có thể quy đổi điểm, chọn số điểm đổi
được cho vé đó.
- Lên lịch chiếu phim, chọn giá vé của lịch chiếu đó.
- Thống kê doanh thu theo từng phim hoặc theo thời gian.
- Thống kê số vé đã bán ra theo thời gian.
o Nhân viên bán vé:
- Chọn tên phim và giờ chiếu
- Cho phép khách hàng chọn chỗ ngồi còn trống với suất chiếu cụ thể
- Xử lý thanh toán của khách hàng.
- Xử lý việc hoàn trả vé nếu có.
- Xử lý quy đổi điểm khách hàng thành vé nếu có yêu cầu.
- Đăng ký tài khoản thành viên cho khách hàng nếu có yêu cầu.
d. Những đối tượng được quản lý trong hệ thống
• Rạp chiếu phim:
o Mã rạp
o Tên rạp
o Địa chỉ
o Giới thiệu
• Phòng chiếu
o Mã phòng chiếu
o Số lượng ghế
o Đặc điểm phòng chiếu
• Lịch chiếu phim:
o Tên phim
o Giờ chiếu
o Phòng chiếu
• Giờ chiếu phim:
o Mã phim
o Giờ bắt đầu
o Thời lượng phim
o Phòng chiếu
o Giá vé
• Vé xem phim:
o Giờ chiếu
o Phòng chiếu
o Tên phim
o Chỗ ngồi
o Giá tiền
• Hoá đơn:
o Số vé đã mua
o Tên rạp
o Số hiệu phòng chiếu
o Ngày giờ chiếu
o Tên phim
o Giá tiền mỗi vé
o Giá tiền dịch vụ đồ ăn nhẹ nếu có
o Tổng tiền
o Mã khách hàng
o Thời gian thanh toán
• Tài khoản thành viên:
o Tên khách hàng
o Ngày tháng năm sinh khách hàng
o Số điện thoại khách hàng
o Hạng khách hàng
o Điểm thưởng hiện có
o Ưu đãi hiện có
• Doanh thu:
o Tên rạp
o Tên phim
o Mã phim
o Suất chiếu
o Số lượng vé bán ra trong suất chiếu
o Tổng số lượng vé bán ra
o Tổng danh thu
o Các hoá đơn trong suất chiếu
• Phim:
o Mã phim
o Tên phim
o Lịch chiếu
o Loại
o Năm sản xuất
o Thời lượng phim
o Giới hạn độ tuổi
• Chỗ ngồi:
o Hàng của ghế
o Cột của ghế
• Mặt hàng bán kèm:
o Mã mặt hàng bán kèm
o Tên mặt hàng bán kèm
o Giá mặt hàng bán kèm
• Mặt hàng/quà đổi điểm:
o Mã mặt hàng/quà đổi điểm
o Tên mặt hàng/quà đổi điểm
o Số điểm cần đổi thưởng
• Thông tin khách hàng thân thiết:
o Mã khách hàng thân thiết
o Tên khách hàng thân thiết
o Số điện thoại
o Địa chỉ liên hệ
e. Mối quan hệ giữa các đối tượng trong hệ thống
• Hãng có nhiều rạp chiếu phim
• Mỗi rạp chiếu phim có nhiều phòng chiếu phim
• Mỗi phim có thể được chiếu tại nhiều phòng chiếu khác nhau vào nhiều thời điểm khác nhau.
• Mỗi phòng chiếu có thể chiếu nhiều phim khác nhau tại nhiều thời điểm khác nhau.
• Một phòng chiếu không thể chiếu cùng lúc nhiều hơn một phim.
• Một phòng chiếu chỉ có một mức giá vé xác định.
• Cùng một phim, chiếu tại một phòng chiếu có thể có giá vé khác nhau nếu chiếu ở khung giờ
và ngày khác nhau.
• Một suất chiếu có nhiều ghế ngồi khác nhau.
• Một ghế ngồi được đánh dấu là đã có người tại một phòng chiếu vào một suất chiếu khi đã có
khách hàng mua vé tại ghế đó trong phòng chiếu đó vào suất chiếu đó.
• Nhân viên chỉ bán vé cho khách hàng khi phòng chiếu tại giờ chiếu khách hàng yêu cầu vẫn
còn ghế trống.
• Một hoá đơn có thể có nhiều vé được mua.
• Một khách hàng có thể có nhiều hoá đơn.
• Một hoá đơn chỉ có thể do một khách hàng đại diện thanh toán.
• Một hoá đơn có thể có nhiều vé của nhiều suất chiếu của phim khác nhau tại các phòng chiếu
khác nhau của cùng một rạp.
• Một hoá đơn không thể có nhiều vé từ nhiều hơn một rạp.
• Một hoá đơn có thể đi kèm các dịch vụ ăn uống (bỏng ngô, nước uống)
• Một hoá đơn có thể chỉ có dịch vụ mua vé
• Một hoá đơn có thể chỉ có dịch vụ ăn uống
• Một hoá đơn có thể có nhiều mặt hàng dịch vụ ăn uống.
• Khách hàng xuất trình thẻ thân thiết trước khi thanh toán hoá sẽ được tích luỹ điểm thưởng.
• Điểm thưởng có thể được quy đổi thành quà, vé hoặc dịch vụ ăn uống.
• Điểm thưởng có thể được quy đổi thành một hoặc nhiều vé xem phim, quà hoặc dịch vụ ăn
uống.
• Một hoá đơn có thể có nhiều vé, quà hoặc dịch vụ ăn uống được quy đổi từ điểm thưởng.
• Khách hàng có thể hoàn một hoặc nhiều vé.
• Không thể hoàn lại vé đã sử dụng hoặc vé đã qua giờ chiếu.
• Tuỳ vào thời gian trả vé so với lịch chiếu trên vé mà khách hàng sẽ được nhận lại một phần
hoặc toàn phần của số tiền hoặc số điểm thân thiết đã tiêu.
• Ghế ngồi trong vé đã hoàn sẽ được đánh dấu là chưa có người.
f. Mô tả nghiệp vụ chi tiết các chức năng
• Quản lý phòng chiếu
Cho phép quản lí (QL) thực hiện thêm, sửa, xóa phòng chiếu với mô tả chi tiết nghiệp vụ:
QL chọn menu quản lí phòng chiếu → trang quản lí hiện ra → QL chọn chức năng sửa thông tin
phòng chiếu → giao diện tìm phòng chiếu theo tên hiện ra → QL nhập tên phòng và click tìm kiếm
→ danh sách các phòng có tên chứa từ khóa hiện ra → QL chọn sửa một phòng → giao diện sửa
phòng hiện ra với các thông tin của phòng đã chọn → QL nhập một số thông tin thay đổi và click
cập nhật → hệ thống lưu thông tin vào CSDL và thông báo thành công.
• Quản lí phim
Cho phép quản lí (QL) thực hiện thêm, sửa, xóa thông tin phim với mô tả chi tiết nghiệp vụ:
QL chọn menu quản lí phim → trang quản lí hiện ra → QL chọn chức năng sửa thông tin phim
→ giao diện tìm phim theo tên hiện ra → QL nhập tên phim và click tìm kiếm → danh sách các
phim có tên chứa từ khóa hiện ra → QL chọn sửa một phim → giao diện sửa phim hiện ra với
các thông tin của phim đã chọn → QL nhập một số thông tin thay đổi và click cập nhật → hệ
thống lưu thông tin vào CSDL và thông báo thành công.
• Quản lí các mặt hàng và dịch vụ
Cho phép quản lí (QL) thực hiện thêm, sửa, xóa thông tin các mặt hàng và dịch vụ với mô tả chi
tiết nghiệp vụ:QL chọn menu quản lí các mặt hàng và dịch vụ → trang quản lí hiện ra → QL chọn
chức năng sửa thông tin các mặt hàng/ dịch vụ → giao diện tìm các mặt hàng/dịch vụ theo tên hiện
ra → QL nhập tên mặt hàng/dịch vụ và click tìm kiếm → danh sách các mặt hàng/dịch vụ có tên
chứa từ khóa hiện ra → QL chọn sửa một mặt hàng/dịch vụ → giao diện sửa mặt hàng/dịch vụ hiện
ra với các thông tin của mặt hàng/dịch vụ đã chọn → QL nhập một số thông tin thay đổi và click cập
nhật → hệ thống lưu thông tin vào CSDL và thông báo thành công.
• Quản lý đổi điểm
Cho phép quản lí (QL) thực hiện thêm, sửa, xóa điểm thưởng cho các vé với mô tả chi tiết
nghiệp vụ: QL chọn menu quản lí điểm thưởng → trang quản lí hiện ra → QL chọn chức năng sửa
thông tin điểm thưởng → giao diện tìm vé theo tên hoặc mã hiện ra → QL nhập tên hoặc mã vé và
click tìm kiếm → danh sách các vé có tên hoặc mã chứa từ khóa hiện ra → QL chọn sửa một vé →
giao diện sửa vé hiện ra với các thông tin của vé đã chọn → QL nhập một số thông tin thay đổi +
chọn số điểm thưởng và click cập nhật → hệ thống lưu thông tin vào CSDL và thông báo thành
công.
• Lên lịch chiếu:
Cho phép quản lí (QL) thực hiện lên lịch chiếu cho phim (phòng chiếu) với mô tả nghiệp vụ: QL
chọn menu quản lí lịch chiếu → chọn lên lịch chiếu mới → giao diện lên lịch chiếu hiện ra → QL
chọn lên phim từ danh sách sổ xuống + chọn phòng chiếu từ danh sách sổ xuống + khung giờ chiếu
và chọn giá vé từ danh sách sổ xuống + click thêm lịch chiếu → Hệ thống lưu vào CSDL và thông
báo thêm thành công
• Bán vé xem phim:
Cho phép nhân viên (NV) rạp thêm thông tin bán vé cho khách hàng với mô tả chi tiết nghiệp vụ:
NV chọn menu bán vé → trang bán vé hiện ra → NV chọn phòng chiếu hoặc tên phim trong danh
sách sổ ra (theo yêu cầu của khách) + chọn khung giờ chiếu → NV cho khách hàng chọn các ghế
còn trống trong phòng chiếu → in ra vé và hóa đơn cho khách hàng: Tên rạp, số hiệu phòng chiếu,
ngày giờ chiếu, tên phim, số lượng vé, giá tiền cho mỗi vé+tổng số tiền của hóa đơn. Nếu KH có thẻ
thân thiết và muốn đổi điểm thì sẽ được đổi số vé tối đa so với mức điểm hiện tại. Số vé còn lại
thành toán bằng tiền như thông thường. Nếu KH mới và muốn làm thẻ KHTT thì có thể thêm thông
tin KH vào hệ thống để liên kết vào hóa đơn trước khi thanh toán.
• Hủy vé xem phim:
Cho phép nhân viên (NV) rạp hủy vé cho khách hàng với mô tả chi tiết nghiệp vụ: NV chọn
menu hủy vé → trang hủy vé hiện ra → NV nhập mã hóa đơn/mã khách hàng(hoặc theo tên) + click
tìm kiếm → Hệ thống hiển thị ra danh sách hóa đơn hoặc khách hàng vừa nhập → NV chọn đúng
hóa đơn của khách hàng yêu cầu và chọn vé mà KH muốn hủy(có thể hủy một số vé hoặc toàn bộ) +
click nút hủy vé, chọn số tiền phạt nếu có và trừ điểm tích lũy + click nút thanh toán → Hệ thống
thông cập nhật vào CSDL và thông báo thành công.
• Thống kê doanh thu:
Cho phép nhân viên (NV) rạp thống kê doanh thu bán vé theo phim (hoặc theo rạp) với mô tả chi
tiết nghiệp vụ: NV chọn menu thống kê → chọn thống kê doanh thu theo phim (hoặc theo rạp) →
nhập thời gian bắt đầu và kết thúc thống kê → danh sách các phim (rạp) có hiện ra, mỗi dòng cho 1
phim: Mã, tên phim, tổng số lượng vé bán ra, tổng doanh thu thu được, sắp xếp theo chiều giảm dần
tổng doanh thu. NV click vào một dòng của phim (rạp) thì hiện lên chi tiết tổng số tiền thu được cho
từng suất chiếu của phim, mỗi dòng tương ứng: suất chiếu, số lượng vé bán ra, tổng tiền thu được.
Sắp xếp theo thứ tự thời gian của suất chiếu từ cũ đến mới. Click vào một suất chiếu thì hiện lên
bảng danh sách các hóa đơn đã bán cho suất chiếu đó, mỗi dòng tương ứng 1 hóa đơn: tên KH nếu
có, số vé, tổng tiền, thời gian thanh toán, sắp xếp theo thời gian thanh toán.
• Thống kê số vé theo ngày:
Cho phép nhân viên (NV) rạp thống kê số vé bán được theo ngày trong tuần với mô tả chi tiết
nghiệp vụ: NV chọn menu thống kê → chọn thống kê số vé theo ngày trong tuần (thứ hai, ba... CN)
→ nhập thời gian bắt đầu và kết thúc thống kê → danh sách các ngày trong tuần hiện ra theo thứ tự
thời gian, mỗi dòng cho 1 ngày: tên ngày, tổng số lượng vé bán ra, tổng doanh thu thu được. NV
click vào một dòng của một ngày thì hiện lên chi tiết tổng số vé và số tiền thu được cho từng suất
chiếu của phim trong ngày đấy. Click vào một suất chiếu thì hiện lên bảng danh sách các hóa đơn đã
bán cho suất chiếu đó, mỗi dòng tương ứng 1 hóa đơn: tên KH nếu có, số vé, tổng tiền, thời gian
thanh toán, sắp xếp theo thời gian thanh toán.

2. Xây dựng mô tả yêu cầu hệ thống quản lý chuỗi rạp chiếu phim bằng ngôn ngữ kỹ
thuật UML
• Xác định các actor của hệ thống:
o Actor là người dùng trực tiếp: Nhân viên bán vé, nhân viên bán bỏng, nước, nhân
viên quản trị, nhân viên quản lý. Các actor này đều là nhân viên của rạp.
o Actor là người dùng gián tiếp: Khách hàng. Phải có khách hàng thì mới thực hiện
được.
• Các chức năng liên quan đến actor:
o NV quản lý: quản lý lịch chiếu phim và giá vé của mỗi suất chiếu, thực hiện cập nhật
phòng chiếu gồm thêm, sửa, xóa thông tin phòng chiếu, thông tin phim, thông tin về
việc quy đổi điểm, thông tin về các mặt hàng bán kèm và dịch vụ, thống kê doanh thu
theo phim hoặc theo rạp và thống kê số vé đã bán ra trong ngày hoặc tại một khoảng
thời điểm cụ thể.
o NV bán vé: giao dịch trực tiếp với khách hàng để bán vé và thực hiện các chính sách
ưu đãi, thực hiện thủ tục thanh toán.
o NV bán bỏng, nước: giao dịch trực tiếp với khách hàng để bán bỏng nước và thực
hiện các chính sách ưu đãi, thực hiện thủ tục thanh toán.
o Khách hàng có thể mua vé, mua bỏng, nước và thanh toán trực tiếp với nhân viên bán
vé và bỏng, nước.

Sơ đồ usecase tổng quan của hệ thống


• Mô tả chi tiết UC tổng quan
o Usecase “lên lịch chiếu phim” cho phép nhân viên quản lý lên lịch chiếu và giá của
suất chiếu cho từng phim tại mỗi phòng chiếu ở mỗi rạp trong hệ thống rạp.
o Usecase “Quản lý phim” cho phép nhân viên quản lý cập nhật phim chiếu gồm thêm,
xóa, sửa thông tin phim.
o Usecase “Quản lý phòng chiếu” cho phép nhân viên quản lý cập nhật phòng chiếu
chiếu gồm thêm, xóa, sửa thông tin phòng chiếu.
o Usecase “Quản lý đổi điểm” cho phép nhân viên quản lý cập nhật các vé xem phim
được quy đổi điểm và chọn số điểm đổi được của vé đó
o Usecase “Quản lý các mặt hàng và dịch vụ” cho phép nhân viên quản lý cập nhật các
mặt hàng bán kèm và dịch vụ trong rạp chiếu.
o Usecase “bán vé cho khách hàng” cho phép nhân viên bán vé bán vé và xử lý tích
điểm, thanh toán, đổi điểm và xuất hoá đơn cho khách hàng.
o Usecase “huỷ vé cho KH” cho phép nhân viên bán vé huỷ vé đã thanh toán của khách
hàng và thực hiện thủ tục hoàn trả cho khách hàng.
o Usecase “bán bỏng, nước cho khách hàng” cho phép nhân viên bán bỏng nước bán
bỏng, nước cho khách hàng và xử lý tích điểm, thanh toán, đổi điểm và xuất hoá đơn
cho khách hàng.
o Usecase “Quản lý tài khoản khách hàng” cho phép người quản trị hệ thống thực hiện
thêm, sửa, xoá tài khoản khách hàng.
o Usecase “Thống kê doanh thu” cho phép nhân viên quản lý thống kê doanh thu theo
phim hoặc theo rạp.
o Usecase “Thống kê số vé” cho phép nhân viên quản lý thống kê số vé đã bán ra trong
ngày hoặc tại một khoảng thời điểm cụ thể.

3. Biểu đồ UC chi tiết cho chức năng “Lên lịch chiếu phim”
• Xác định actor của hệ thống:
o Actor là người dùng trực tiếp: Nhân viên quản lý
• Các chức năng liên quan đến actor:
o Nhân viên quản lý: lên lịch chiếu phim cho rạp chiếu

Sơ đồ use case modul “Lên lịch chiếu phim”


• Mô tả chi tiết UC:
o Chọn khung giờ chiếu: cho phép nhân viên quản lý chọn khung giờ chiếu đề lên lịch
chiếu phim
o Chọn phòng chiếu: cho phép nhân viên quản lý chọn phòng chiếu trong rạp để lên
lịch chiếu phim
o Chọn phim chiếu: cho phép nhân viên quản lý chọn phim trong rạp để lên lịch chiếu
phim
o Chọn giá vé: cho phép nhân viên quản lý chọn giá vé của lịch chiếu đó để lên lịch
chiếu phim
o Xác nhận: cho phép nhân viên quản lý xác nhận thông tin để lên lịch chiếu phim cho
rạp.
• Mối quan hệ giữa các use case:
o Mối quan hệ giữa “Chọn khung giờ chiếu” và “Lên lịch chiếu” là include vì muốn
lên lịch chiếu thì phải chọn thông tin về khung giờ chiếu phim
o Mối quan hệ giữa “Chọn phòng chiếu” và “Lên lịch chiếu” là include vì muốn lên
lịch chiếu thì phải chọn thông tin về phòng chiếu phim đó
o Mối quan hệ giữa “Chọn phim” và “Lên lịch chiếu” là include vì muốn lên lịch chiếu
thì phải chọn thông tin phim muốn chiếu
o Mối quan hệ giữa “Chọn giá vé” và “Lên lịch chiếu” là include vì muốn lên lịch
chiếu thì phải chọn giá vé của lịch chiếu đó
o Mối quan hệ giữa “Xác nhận” và “Lên lịch chiếu” là include vì muốn lên lịch chiếu
hoàn tất thì phải xác nhận thêm lịch chiếu để lưu vào cơ sở dữ liệu

4. Scenario
Scenario Lên lịch chiếu phim
Actor NV quản lý
Pre-condition NV quản lý đăng nhập thành công vào hệ thống
Post-condition NV quản lý lên lịch chiếu thành công
Main events 1. NV quản lý A chọn chức năng lên lịch chiếu từ menu chính của NV quản lý
để lên lịch chiếu cho rạp.
2. Giao diện lên lịch chiếu hiện ra một form trống gồm các trường trống để lên
lịch chiếu mới.
3. NV quản lý A nhấn chọn phòng
4. Hệ thống hiển thị danh sách các phòng trống tại chi nhánh rạp tại ô chọn
phòng
Phòng Mô Tả Số ghế
P001 VIP 70 Chọn
P002 Thường 140 Chọn
P003 Thường 140 Chọn
5. NV quản lý A chọn phòng “P101”
6. Hệ thống hiển thị ô chọn ngày và các khung giờ mà rạp chiếu phục vụ tại ô
chọn khung giờ.
Chọn ngày …/…/….

9h Chọn
14h Chọn
16h Chọn
19h Chọn
7. NV quản lý A chọn ngày “1/1/2022” và chọn “19h” và nhấn chọn phim
8. Hệ thống hiển thị danh sách các phim đang còn có thể chiếu tại rạp trong
ngày “1/1/2022” ở ô chọn phim
The lost city Anh1.png Chọn
The Batman Anh2.png Chọn
No time to die Anh3.png Chọn
9. NV quản lý A nhấn chọn phim “The lost city” và nhấn chọn giá vé
10. Hệ thống hiển thị các giá vé tại ô chọn vé
60.000đ Chọn
70.000đ Chọn
80.000đ Chọn
11. NV quản lý A chọn “70.000đ”
12. Hệ thống bật sáng nút lưu
13. NV quản lý A nhấn vào nút lưu
14. Hệ thống hiện lên thông báo đã tạo lịch chiếu thành công và trở về giao diện
quản lý

5. Biểu đồ lớp thực thể phân tích


• Trích các lớp thực thể
o Mô tả modul trong một đoạn văn như sau:
Modul lên lịch chiếu của hệ thống quản lý chuỗi rạp chiếu phim. Modul cho phép người quản
lý thông tin về lịch chiếu của một chi nhánh rạp trong một chuỗi rạp chiếu. Người quản lý sẽ lên lịch
chiếu phim cho một rạp chiếu bao gồm chọn khung giờ chiếu phim, chọn phim để chiếu, chọn phòng
chiếu và chọn giá vé của lịch chiếu đó.
• Như vậy, ta có các danh từ và phân tích như sau:
o Modul: danh từ chung chung → loại
o Thông tin: danh từ chung chung → loại
o Người quản lý: Không phải là đối tượng xử lý trực tiếp của hệ thống, nhưng cũng bị
quản lý theo kiểu người dùng trực tiếp của phần mềm → đề xuất thành một lớp thực
thể: NguoiDung
o Chuỗi rạp chiếu: là đối tượng xử lý của hệ thống → là một lớp thực thể: ChuoiRap
o Lịch chiếu: là đối tượng xử lý của hệ thống → là một lớp thực thể: LichChieu
o Khung giờ chiếu: là đối tượng xử lý của hệ thống →là một lớp thực thể:
KhungGioChieu
o Phim: là đối tượng xử lý của hệ thống → là một lớp thực thể: Phim
o Phòng chiếu: là đối tượng xử lý của hệ thống → là một lớp thực thể: PhongChieu
o Vé: là đối tượng xử lý của hệ thống → là một lớp thực thể: Ve
Vậy chúng ta thu được lớp thực thể ban đầu là: ChuoiRap, NguoiDung, LichChieu, ChiNhanh,
KhungGioChieu, Phim, PhongChieu, Ve, NguoiDung.
Quan hệ giữa các lớp thực thể được xác định như sau:
• Một chuỗi rạp có nhiều phòng -> quan hệ giữa ChuoiRap và Phong là 1-n
• Một phòng có nhiều lịch chiếu vào nhiều thời điểm khác nhau -> quan hệ giữa Phong và
LichChieu là 1-n
• Một phòng có nhiều ghế -> quan hệ giữa Ghe và Phong là 1-n
• Một ghế có thể có nhiều vé ở thời điểm khác nhau -> quan hệ giữa Ghe và Ve là 1-n
• Một lịch chiếu phim có thể bán nhiều vé -> quan hệ giữa LichChieu và Ve là 1-n.
• Một phim có nhiều lịch chiếu -> quan hệ giữa Phim và LichChieu là 1-n.
• Một chuỗi rạp có nhiều lịch chiếu -> quan hệ giữa ChuoiRap và LichChieu là 1-n
• Một khung giờ chiếu có nhiều lịch chiếu khác nhau -> quan hệ giữa KhungGioChieu với
LichChieu là 1-n
• Một lịch chiếu có nhiều vé xem phim -> quan hệ giữa LichChieu với Ve là 1-n
6. Trích lớp biên và biểu đồ lớp modul phân tích
a) Trích lớp biên
• Giao diện đăng nhập → đề xuất lớp biên GDDangNhap gồm các thành phần:
o Tên tài khoản: submit + input
o Mật khẩu: submit + input
o Nút đăng nhập
 Đề xuất phương thức: KiemTraDangNhap() -> gán cho chức năng của lớp NguoiDung
• Giao diện Lên lịch chiếu cho phim hiện lên-> đề xuất lớp GDLenLichChieu cần các thành
phần:
o Ngày chiếu : submit+input
o Phim : submit + input
o Chọn khung giờ chiếu: submit + input
o Chọn phòng: submit + input
o Chọn giá vé: submit + input
o Nút lưu: submit
o Nút hủy:
• Giao diện chọn phòng chiếu-> đề xuất lớp GDChonPhong cần các thành phần:
o Bảng danh sách các phòng chiếu: vừa output vừa submit
o Để có được danh sách các phòng, ta cần xử lý dưới hệ thống: tìm danh sách các
phòng của chi nhánh đó mà chiếu phim đã chọn trong thời gian đã chọn
- input: chi nhánh, phim, khung giờ chiếu trong ngày
- output: danh sách các phòng của 1 chi nhánh nhất định, chiếu 1 phim nhất định trong 1
khung giờ trong 1 ngày nhất định
 Đề xuất phương thức getDanhSachPhong() gán cho lớp PhongChieu
• Giao diện chọn khung giờ chiếu -> đề xuất lớp GDChonKhungGioChieu cần các thành phần:
o Danh sách ngày vừa output vừa input
o Danh sách giờ bắt đầu ứng với các ngày: vừa output vừa input
o Nút chọn: submit
o Để có được danh sách các ngày, ta cần xử lý dưới hệ thống: Tìm danh sách các ngày
rạp có hoạt động
- input: không có
- output: danh sách các ngày
 Đề xuất phương thức getDanhSachNgay() gán cho lớp KhungGioChieu
o Để có được danh sách các giờ bắt đầu phim ứng với từng ngày của chi nhánh đã
chọn, ta cần xử lý dưới hệ thống:Tìm danh sách các khung giờ trong ngày tính từ thời
điểm đặt vé
- input: chi nhánh
- output: danh sách các khung giờ trong ngày tính từ thời điểm đặt vé
 Đề xuất phương thức getDSKhungGioChieu () gán cho lớp KhungGioChieu
• Giao diện chọn phim -> Đề xuất lớp GDChonPhim, cần có các thành phần:
o Bảng danh sách phim: vừa output vừa submit
o Để có được bảng danh sách các phim, ta cần xử lý dưới hệ thống:Tìm danh sách các
phim
- input: không có
- output: danh sách phim
 Đề xuất phương thức getDanhSachPhim() gán cho lớp Phim
• Giao diện chọn giá vé -> dề xuất lớp GDChonGiaVe, cần có các thành phần:
o Bảng danh sách các giá vé: vừa output vừa submit
o Để có được bảng danh sách các giá vé, ta cần xử lý dưới hệ thống: tìm danh sách các
giá vé
- Input: không có
- Output: danh sách giá vé
 Đề xuất phương thức getDSGiaVe() gán cho lớp vé
b) Biểu đồ lớp chi tiết
7. Kịch bản v.2
1. Nhân viên đăng nhập vào hệ thống để lên lịch chiếu phim
2. Giao diện GDDangNhap hiện lên
3. Nhân viên nhập tên đăng nhập, mật khẩu và click đăng nhập
4. Lớp GD đăng nhập gọi đến lớp NguoiDung yêu cầu kiểm tra đăng nhập
5. Lớp NguoiDung gọi phương thức kiemTraDangNhap()
6. Lớp NguoiDung trả lại kết quả cho lớp GDDangNhap
7. Lớp GDDangNhap gọi lớp GDChinh hiển thị
8. Lớp GDChinh hiển thị cho nhân viên
9. NV click chọn menu lên lịch chiếu
10. Lớp GDChinh gọi lớp GDLenLichChieu
11. lớp GDLenLichChieu hiển thị ra các input gồm các trường (Chi nhánh, Chon khung gio
trong ngay, Chọn phim, Chọn phòng).
12. Nhân viên click Chọn Phòng
13. Lớp GDLenLichChieu gọi lớp GDChonPhong
14. Lớp GDChonPhong gọi lớp PhongChieu yêu cầu lấy danh sách phòng còn trống
15. Lớp PhongChieu gọi phương thức getDanhSachPhong()
16. Lớp PhongChieu trả lại kết quả cho lớp GDChonPhong
17. Lớp GDChonPhong hiển thị cho nhân viên
18. Nhân viên nhấn chọn phòng chiếu và nhấn chọn Khung Giờ
19. Lớp GDChonPhong gọi lớp GDChonKhungGioChieu
20. Lớp GDChonKhungGioChieu gọi lớp KhungGioChieu yêu cầu tìm danh sách các ngày tính từ ngày
lên lịch chiếu
21. Lớp KhungGioChieu gọi phương thức getDanhSachNgay() tính từ ngày lên lịch
22. Lớp KhungGioChieu trả về cho lớp GDChonKhungGioChieu
23. Lớp GDChonKhungGioChieu gọi lớp KhungGioChieu yêu cầu tìm danh sách các khung giờ
bắt đầu chiếu.
24. Lớp KhungGioChieu gọi phương thức getDSKhungGioChieu()
25. Lớp KhungGioChieu trả về kết quả cho lớp GDChonKhungGioChieu
26. Lớp GDChonKhungGioChieu hiển thị cho nhân viên
27. Nhân viên nhấn chọn 1 ngày+1 khung giờ nào đó trong ngày và nhấn Chọn Phim
28. Lớp GDChonKhungGioChieu gọi lớp GDChonPhim
29. Lớp GDChonPhim gọi lớp Phim yêu cầu tìm danh sách các phim
30. Lớp Phim gọi phương thức getDanhSachPhim()
31. Lớp Phim trả lại kết quả cho lớp GDChonPhim
32. Lớp GDChonPhim hiển thị cho nhân viên
33. Nhân viên nhấn chọn phim và nhấn Chọn Giá Vé
34. Lớp GDChonPhim gọi lớp GDChonGiaVe
35. Lớp GDChonGiaVe gọi lớp Lịch Chiếu yêu cầu danh sách các giá vé
36. Lớp Lịch Chiếu gọi phương thức getDanhSachGiaVe()
37. Lớp Lịch Chiếu trả về kết quả cho lớp GDChonGiaVe
38. Lớp GDChonGiaVe hiển thị cho nhân viên
39. Nhân viên nhấn chọn một giá vé nào đó và nhấn nút Lưu
40. Lớp GDChonGiaVe gọi lớp GDLenLichChieu
41. Lớp GDLenLichChieu gọi lớp LichChieu thực hiện lưu thông tin lịch chiếu vào CSDL
42. Lớp LichChieu lưu thông tin vào CSDL
43. Lớp LichChieu trả lại quyền điều khiển cho GDLenLichChieu
44. Lớp GDLenLichChieu hiện thông báo lưu thành công
45. Nhân viên nhấn chọn OK
46. Lớp GDLenLichChieu gọi lớp GDChinh hiển thị
47. Lớp GDChinh hiển thị cho nhân viên
8. Biểu đồ tuần tự phân tích
9. Thiết kế biểu đồ thực thể
• Bước 1: Thêm các thuộc tính ID cho các lớp không kế thừa từ lớp khác: NguoiDung, Ve,
Ghe, Phong, LichChieu, ChiNhanh, ChuoiRap, KhungGioChieu, Phim.
• Bước 2: Thuộc tính của các lớp được bổ sung thuộc tính theo kiểu của ngôn ngữ lập trình
Java.
• Bước 3: Chuyển đổi tất cả các mối quan hệ kết hợp thành các mối quan hệ tổng hợp/ thành
phần tương ứng: không có
• Bước 4: Thêm các thuộc tính đối tượng tương ứng với các mối quan hệ tổng hợp/ thành
phần:
o Chi Nhánh là một thành phần của Chuỗi Rạp, thuộc loại n-1 -> Chuỗi Rạp có danh
sách Chi Nhánh
o Phòng Chiếu là một thành phần của Chi Nhánh, thuộc loại n-1 -> Chi Nhánh có danh
sách Phòng
o Ghế là một thành phần của Phòng Chiếu, thuộc loại n-1 -> Phòng có danh sách Ghế
o Người Dùng là một thành phần của lên Lịch Chiếu, thuộc loại 1-n -> Lịch Chiếu có
Người Dùng
o Chi Nhánh là một thành phần của Lịch Chiếu, thuộc loại 1-n -> Lịch Chiếu có Chi
Nhánh
o Phòng là một thành phần của Lịch Chiếu, thuộc loại 1-n -> Lịch Chiếu có Phòng
o Khung Giờ Chiếu là một thành phần của Lịch Chiếu, thuộc loại 1-n -> Lịch Chiếu có
Khung Giờ Chiếu
o Phim là một thành phần của Lịch Chiếu, thuộc loại 1-n -> Lịch Chiếu có Phim
o Lịch Chiếu là một thành phần của Vé, thuộc loại 1-n -> Vé có Lịch Chiếu
o Ghế là một thành phần của Vé, thuộc loại 1-n -> Vé có Ghế
10. Thiết kế cơ sở dữ liệu
• Bước 1: Mỗi lớp thực thể đề xuất bảng tương ứng:
o Lớp Phim -> bảng tblPhim
o Lớp LichChieu -> bảng tblLichChieu
o Lớp Ve -> bảng tblVe
o Lớp NguoiDung -> bảng tblNguoiDung
o Lớp Ghe -> bảng tblGhe
o Lớp Phong -> bảng tblPhong
o Lớp ChiNhanh -> bảng tblChiNhanh
o Lớp ChuoiRap -> bảng tblChuoiRap
o Lớp KhungGioChieu -> bảng tblKhungGIoChieu
• Bước 2: Đưa thuộc tính không phải đối tượng của lớp thực thể thành thuộc tính bảng tương
ứng:
o tblPhim có các thuộc tính: id, ten, thoiLuongChieu, anh, ngayKhoiChieu, rated,
theLoai, ngonNgu, trailer.
o tblNguoiDung có các thuộc tính: id, tenDangNhap, matKhau, ten
o tblVe: id, moTa
o tblGhe: id, ten, hang
o tblPhong: id, ten, soGhe, moTa
o tblChiNhanh: id, ten, diaChi, moTa
o tblChuoiRap: id, ten, moTa
o tblKhungGioChieu: id, gioBatDau, moTa
o tblLichChieu: id, moTa
• Bước 3: Chuyển quan hệ số lượng giữa các lớp thực thể thành quan hệ số lượng giữa các
bảng:
o 1 tblChiNhanh - n tblPhong
o 1 tblChuoiRap – n tblChiNhanh
o 1 tblPhong – n tblGhe
o 1 tblGhe – n tblVe
o 1 tblLichChieu – n tblVe
o 1 tblPhim – n tblLichChieu
o 1 tblKhungGioChieu – n tblLichChieu
o 1 tblPhong – n tblLichChieu
o 1 tblNguoiDung – n tblLichChieu
o 1 tblChiNhanh – n tblLichChieu
• Bước 4: Bổ sung thuộc tính khóa
o 1 tblChiNhanh - n tblPhong -> bảng tblPhong có khóa ngoại là tblChiNhanhid
o 1 tblChuoiRap – n tblChiNhanh -> bảng tblChiNhanh có khóa ngoại là
tblChuoiRapid
o 1 tblPhong – n tblGhe -> bảng tblGhe có khóa ngoại là tblPhongid
o 1 tblGhe – n tblVe -> bảng tblVe có khóa ngoại là tblGheid
o 1 tblLichChieu – n tblVe -> bảng tblVe có khóa ngoại là tblLichChieuid
o 1 tblPhim – n tblLichChieu -> bảng tblLichChieu có khóa ngoại là tblPhimid
o 1 tblPhong – n tblLichChieu -> bảng tblLichChieu có khóa ngoại là tblPhongid
o 1 tblKhungGioChieu – n tblLichChieu -> bảng tblLichChieu có khóa ngoại là
tblKhungGioChieu
o 1 tblChiNhanh – n tblLichChieu -> bảng tblLichChieu có khóa ngoại là
tblChiNhanhid
o 1 tblNguoiDung – n tblLichChieu -> bảng tblLichChieu có khóa ngoại là
tblNguoiDungid
11. Thiết kế các giao diện cho modul
12. Thiết kế biểu đồ lớp chi tiết cho modul
• Các lớp giao diện:
o DangNhapFrm là giao diện để đăng nhập. Nó cần một trường văn bản để nhập tên
người dùng, một trường văn bản để nhập mật khẩu và một nút để đăng nhập.
o ChinhFrm là giao diện trang chủ cho Trình quản lý. Nó cần ít nhất một nút để chuyển
đến chức năng lên lịch chiếu.
o LenLichFrm là giao diện lên lịch chiếu phim. Nó cần các nút chọn phòng chiếu, chọn
khung giờ chiếu, chọn phim, chọn giá vé, một trường văn bản để ghi mô tả và một nút
OK để lưu lại thông tin lịch chiếu.
o ChonPhongFrm là giao diện để chọn phòng chiếu phim. Nó có một bảng để hiển thị
danh sách phòng và một nút để chuyển đến chức năng chọn khung giờ chiếu.
o ChonKhungGioFrm là giao diện để chọn khung giờ chiếu phim. Nó cần có một
comboBox để chọn ngày chiếu, một comboBox để chọn giờ bắt đầu và một nút để
chuyển đến chức năng chọn phim chiếu.
o ChonPhimFrm là giao diện để chọn phim chiếu. Nó cần có một bảng danh sách các
phim có thể chiếu và một nút để chuyển đến chức năng chọn giá vé.
o ChoGiaVeFrm là giao diện để chọn giá vé cho lịch chiếu đó. Nó cần có một
comboBox(hoặc một danh sách) để chọn giá vé và một nút lưu để trở về giao diện
lịch chiếu
• Các lớp điều khiển (DAO):
o DAO là một lớp chung của DAO. Nó chỉ có cấu trúc để kết nối với DB và cung cấp
kết nối chung cho tất cả các lớp DAO kế thừa trong hệ thống.
o NguoiDungDAO là lớp để thao tác với DB liên quan đến đối tượng
NguoiDung. Trong module này, nó cần một phương thức để xác minh thông tin đăng
nhập có đúng hay không, đó là phương thức kiemTraDangNhap().
o LichChieuDAO là lớp để thao tác với DB liên quan đến đối tượng LichChieu. Trong
modul này nó cần 2 phương thức:
- luuLichChieu(): để lưu lịch chiếu mới vào DB
- getDSGiaVe(): để lấy danh sách giá vé từ trong DB
o PhongDAO là lớp để thao tác với DB liên quan đến đối tượng Phong. Trong modul
này nó cần một phương thức getDanhSachPhong() để lấy danh sách phòng trống từ
trong DB
o KhungGioDAO là lớp để thao tác với DB liên quan đến đối tượng KhungGioChieu.
Trong modul này nó cần 2 phương thức:
- getDanhSachNgay(): để lấy danh sách ngày tính từ ngày lên lịch để lên lịch chiếu
phim
- getDangSachKhungGio(): đề lấy dánh sách các khung giờ bắt đầu chiếu phim
o PhimDAO là lớp để thao tác với DB liên quan đến đối tượng Phim. Trong modul này
nó cần một phương thức getDanhSachPhim() để lấy danh sách phim từ trong DB
• Các lớp thực thể: NguoiDung, LichChieu, Phong, Phim, KhungGioChieu
13. Kịch bản v3
1. Người quản lý nhập tên đăng nhập, mật khẩu và nhấn nút đăng nhập trên DangNhapFrm
2. Lớp DangNhapFrm gọi phương thức actionPerformed() thực hiện
3. Phương thức actionPerformed() gọi NguoiDung để tạo một đối tượng NguoiDung
4. Lớp NguoiDung đóng gói thông tin vào một đối tượng NguoiDung
5. Lớp NguoiDung trả về đối tượng NguoiDung cho phương thức actionPerformed()
6. Phương thức actionPerformed() gọi phương thức kiemTraDangNhap() của lớp NguoiDungDAO
7. Phương thức kiemTraDangNhap() kiểm tra thông tin đăng nhập
8. Phương thức kiemTraDangNhap() gọi lớp NguoiDung đặt thêm hai thuộc tính tên, chức vụ
9. Lớp NguoiDung gọi phương thức setTen(), setChucVu() của nó
10. Lớp NguoiDung trả về đối tượng NguoiDung cho phương thức kiemTraDangNhap()
11. Phương thức kiemTraDangNhap() trả về kết quả cho actionPerformed()
12. Phương thức actionPerformed() gọi lớp ChinhFrm
13. Lớp ChinhFrm gọi phương thức khởi tạo ChinhFrm()
14. Giao diện ChinhFrm của trình quản lý được hiển thị cho người quản lý
15. Người quản lý bấm vào nút lên lịch chiếu phim
16. Phương thức actionPerformed() được gọi
17. Phương thức actionPerformed() gọi lớp LichChieuFrm
18. Lớp LichChieuFrm gọi phương thức khởi tạo LichChieuFrm()
19. Giao diện LichChieuFrm được hiển thị cho người quản lý
20. Người quản lý bấm vào nút chọn phòng
21. Lớp LichChieuFrm gọi phương thức actionPerformed() thực hiện
22. Phương thức acionPerformed() gọi lớp ChonPhongFrm
23. Lớp ChonPhongFrm gọi phương thức khởi tạo ChonPhongFrm()
24. Phương thức ChonPhongFrm() gọi lớp PhongDAO
25. Lớp PhongDAO gọi phương thức getDanhSachPhong() thực hiện
26. Phương thức getDanhSachPhong() gọi lớp Phong để đóng gói
27. Lớp Phong gọi các hàm đóng gói
28. Lớp Phong trả đối tượng được đóng gói lại cho phương thức getDanhSachPhong()
29. Phương thức getDanhSachPhong() trả lại kết quả cho ChonPhongFrm()
30. Phương thức ChonPhongFrm() hiển thị kết quả cho người quản lý
31. Người quản lý chọn một phòng và click Chọn khung giờ chiếu
32. Lớp ChonPhongFrm gọi phương thức actionPerformed() thực hiện
33. Phương thức actionPerformed() gọi lớp ChonKhungGioFrm
34. Lớp ChonKhungGioFrm gọi phương thức khỏi tạo ChonKhungGioFrm()
35. Phương thức ChonKhungGioFrm() gọi lớp KhungGioDAO
36. Lớp KhungGioDAO gọi phương thức getDanhSachNgay() thực hiện
37. Phương thức getDanhSachNgay() gọi lớp KhungGio để đóng gói
38. Lớp KhungGio gọi các hàm đóng gói
39. Lớp KhungGio trả đối tượng được đóng gói lại cho phương thức getDanhSachNgay()
40. Phương thức getDanhSachNgay() trả lại kết quả cho ChonKhungGioFrm()
41. Phương thức ChonKhungGioFrm() gọi lớp KhungGioDAO
42. Lớp KhungGioDAO gọi phương thức getDanhSachKhungGio() thực hiện
43. Phương thức getDanhSachKhungGio() gọi lớp KhungGio để đóng gói
44. Lớp KhungGio gọi các hàm đóng gói
45. Lớp KhungGio trả đối tượng được đóng gói lại cho phương thức getDanhSachKhungGio()
46. Phương thức getDanhSachKhungGio() trả lại kết quả cho ChonKhungGioFrm()
47. Phương thức ChonKhungGioFrm() hiển thị kết quả cho người quản lý
48. Người quản lý chọn một ngày và một giờ bắt đầu và click Chọn Phim
49. Lớp ChonKhungGioFrm gọi phương thức actionPerformed() thực hiện
50. Phương thức acionPerformed() gọi lớp ChonPhimFrm
51. Lớp ChonPhimFrm gọi phương thức khởi tạo ChonPhimFrm ()
52. Phương thức ChonPhimFrm() gọi lớp PhimDAO
53. Lớp PhimDAO gọi phương thức getDanhSachPhim() thực hiện
54. Phương thức getDanhSachPhim() gọi lớp Phim để đóng gói
55. Lớp Phim gọi các hàm đóng gói
56. Lớp Phim trả đối tượng được đóng gói lại cho phương thức getDanhSachPhim()
57. Phương thức getDanhSachPhim() trả lại kết quả cho ChonPhimFrm()
58. Phương thức ChonPhimFrm() hiển thị kết quả cho người quản lý
59. Người quản lý chọn một phim và bấm Chọn giá vé
60. Lớp ChonPhimFrm gọi phương thức actionPerformed() thực hiện
61. Phương thức acionPerformed() gọi lớp ChonGiaVeFrm
62. Lớp ChonGiaVeFrm gọi phương thức khởi tạo ChonGiaVeFrm ()
63. Phương thức ChonGiaVeFrm() gọi lớp LichChieuDAO
64. Lớp LichChieuDAO gọi phương thức getDanhSachGiaVe() thực hiện
65. Phương thức getDanhSachGiaVe() gọi lớp LichChieuđể đóng gói
66. Lớp LichChieu gọi các hàm đóng gói
67. Lớp LichChieutrả đối tượng được đóng gói lại cho phương thức getDanhSachGiaVe ()
68. Phương thức getDanhSachGiaVe () trả lại kết quả cho ChonGiaVeFrm()
69. Phương thức ChonGiaVeFrm() hiển thị kết quả cho người quản lý
70. Người quản lý chọn một giá vé và click Lưu
71. Lớp ChonGiaVeFrm gọi phương thức actionPerformed() thực hiện
72. Phương thức acionPerformed() gọi lớp LichChieuFrm
73. Lớp LichChieuFrm gọi phương thức khởi tạo LichChieuFrm()
74. LichChieuFrm hiển thị thông tin cho người quản lý xác nhận
75. Người quản lý click OK
76. Lớp LichChieuFrm gọi phương thức actionPerformed() thực hiện
77. phương thức actionPerformed() gọi phương thức luuLichChieu() của lớp LichChieuDAO
78. Phương thức luuLichChieu() thực thi
79. Phương thức luuLichChieu() trả về LichChieuFrm
80. LichChieuFrm hiển thị thông báo thành công
81. Người quản lý bấm OK của thông báo
82. LichChieuFrm gọi lớp giao diện ChinhFrm
83. Lớp giao diện ChinhFrm hiển thị

14. Biểu đồ tuần tự chi tiết


15. Test plan và các test case
15.1. Test plan

STT Module Các trường hợp kiểm thử


1 Lên lịch chiếu phim Thêm một lịch chiếu phim mới
2 Thêm một lịch chiếu phim cũ
3 Thêm liên tiếp hai lần lịch chiếu phim mới

15.2. Test case

a. CSDL trước khi test chung cho cả 3 trường hợp:

➢ tblNguoiDung:
ID Tên Tên tài khoản Mật khẩu Chức vụ

1 Nhan vien 1 quanly 123456 Quản lý

2 Nhân viên 2 banhang 654321 Bán vé

➢ tblChuoiRap:
ID Tên Địa chỉ Mô tả

1 CGV Rice Tòa Trung, Tầng 2 và 4, Ng. 15 P.


Bằng Liệt

➢ tblPhong:
ID IDChuoiRap Tên Số ghế Mô tả

1 1 P101 70 VIP

2 1 P102 70 VIP

3 1 P103 140 Thường

➢ tblPhim:
ID Tên Đạo diễn Diễn viên Thể loại Ngày phát Thời rated Ngôn ngữ
hành lượng

1 Venom: Andy Tom Hành 2021-12-10 113 C13 Tiếng


Đối Mặt Serkis Hardy, Động, anh-phụ
Tử Thù Michelle Khoa đề Việt
Williams, Học Viễn
Woody Tưởng,
Harrelson, Phiêu
Naomie Lưu,
Harris Thần
thoại

2 THÀNH Aaron Sandra Hài, 2022-03-25 112 C13 Tiếng


PHỐ MẤT Nee, Bullock, Hành anh-phụ
TÍCH Adam Nee Channing Động, đề Việt
Tatum, Phiêu
Daniel Lưu
Radcliffe,
Brad Pitt,

3 MORBIUS Daniel Jared Leto, Hành 2022-04-01 104 C16 Tiếng


Espinosa Michael Động, anh-phụ
Keaton, Phiêu đề Việt
Adria Lưu
Arjona

➢ tblKhungGioChieu:
ID Giờ bắt đầu Ngày

1 9: 30 30/4/2022

2 12:30 30/4/2022

3 17:30 30/4/2022

4 9: 30 1/5/2022

5 12:30 1/5/2022

6 17:30 1/5/2022

7 9: 30 2/5/2022

8 12:30 2/5/2022

9 17:30 2/5/2022

➢ tblLichChieu:
ID IDNguoiDung IDChuoiRap IDPhong IDPhim IDKhungGioChieu Giá vé Mô tả

1 1 1 1 1 1 60.000

2 1 1 2 1 1 70.000

3 1 1 3 1 1 80.000

b. Kịch bản thử nghiệm và kết quả mong đợi


Trường hợp 1: Thêm một lịch chiếu phim mới
Kịch bản Kết quả mong đợi
1. Khởi động ứng dụng Giao diện đăng nhập xuất hiện với: trường văn bản để nhập
tên người dùng, mật khẩu, nút đăng nhập
2. Nhập tên đăng nhập = quanly, Giao diện trang chủ của trình quản lý hiện ra với ba nút:
mật khẩu = 123456 - Lên lịch chiếu phim
và nhấp vào nút đăng nhập - Thống kê số vé
- Thống kê doanh thu
3. Bấm vào nút lên lịch chiếu Giao diện lên lịch chiếu hiện ra một form trống gồm các
phim trường trống để lên lịch chiếu mới.
4. Bấm vào nút chọn phòng Hệ thống hiển thị danh sách các phòng:
ID IDChuoiRap Tên Số ghế Mô tả

1 1 P101 70 VIP

2 1 P102 70 VIP

3 1 P103 140 Thường

5. Bấm chọn phòng “P102” và Hệ thống hiển thị danh sách giờ bắt đầu và ngày:
bấm nút chọn khung giờ 9:30 30/4/2022
chiếu 12:30 1/5/2022
17:30 2/5/2022
6. Bấm chọn “9:30” và Hệ thống hiển thị danh sách phim:
“1/5/2022” và bấm chọn ID Tên Thể loại Ngày Thời
phim phát hành lượng
1 Venom: Hành Động, 2021-12- 113
Đối Mặt Khoa Học 10
Tử Thù Viễn Tưởng,
Phiêu Lưu,
Thần thoại
2 THÀNH Hài, Hành 2022-03- 112
PHỐ MẤT Động, Phiêu 25
TÍCH Lưu
3 MORBIUS Hành Động, 2022-04- 104
Phiêu Lưu 01
7. Bấm chọn phim “Thành phố Hệ thống hiển thị danh sách giá vé và nút lưu:
mất tích” và bấm nút chọn 60.000
giá vé 70.000
80.000
8. Bấm chọn “60.000” và bấm Hệ thống hiển thị thông báo thêm lịch chiếu mới thành
nút lưu công
9. Bấm nút OK trên thông báo Hệ thống trả về giao diện trình quản lý
➢ CSDL sau khi test: chỉ có tblLichChieu bị thay đổi
➢ tblLichChieu:
ID IDNguoiDung IDChuoiRap IDPhong IDPhim IDKhungGioChieu Giá vé Mô tả
1 1 1 1 1 1 60.000
2 1 1 2 1 1 70.000
3 1 1 3 1 1 80.000
4 1 1 2 2 4 60.000

Trường hợp 2: Thêm một lịch chiếu phim cũ


Kịch bản Kết quả mong đợi
1. Khởi động ứng dụng Giao diện đăng nhập xuất hiện với: trường văn bản để nhập tên
người dùng, mật khẩu, nút đăng nhập
2. Nhập tên đăng nhập = quanly, Giao diện trang chủ của trình quản lý hiện ra với ba nút:
mật khẩu = 123456 - Lên lịch chiếu phim
và nhấp vào nút đăng nhập - Thống kê số vé
- Thống kê doanh thu
3. Bấm vào nút lên lịch chiếu Giao diện lên lịch chiếu hiện ra một form trống gồm các trường
phim trống để lên lịch chiếu mới.
4. Bấm vào nút chọn phòng Hệ thống hiển thị danh sách các phòng:
ID IDChuoiRap Tên Số ghế Mô tả

1 1 P101 70 VIP
2 1 P102 70 VIP

3 1 P103 140 Thường

5. Bấm chọn phòng “P101” và Hệ thống hiển thị danh sách giờ bắt đầu và ngày:
bấm nút chọn khung giờ chiếu 9:30 30/4/2022
12:30 1/5/2022
17:30 2/5/2022
6. Bấm chọn “9:30” và Hệ thống hiển thị danh sách phim:
“30/4/2022” và bấm chọn ID Tên Thể loại Ngày phát Thời
phim hành lượng

1 Venom: Hành Động, 2021-12-10 113


Đối Mặt Khoa Học Viễn
Tử Thù Tưởng, Phiêu
Lưu, Thần thoại

2 THÀNH Hài, Hành 2022-03-25 112


PHỐ MẤT Động, Phiêu
TÍCH Lưu

3 MORBIUS Hành Động, 2022-04-01 104


Phiêu Lưu

7. Bấm chọn phim “Venom: Đối Hệ thống hiển thị danh sách giá vé và nút lưu:
Mặt Tử Thù” và bấm nút chọn 60.000
giá vé 70.000
80.000
8. Bấm chọn “60.000” và bấm Hệ thống hiển thị thông báo đã tồn tại lịch chiếu tại phòng
nút lưu “P101” vào “9:30 30/4/2022”
9. Bấm nút OK trên thông báo Hệ thống trả về giao diện trình quản lý

➢ CSDL sau khi test: Không có bảng nào bị thay đổi

Trường hợp 3: Thêm liên tiếp hai lần một lịch chiếu mới
Kịch bản Kết quả mong đợi
1. Khởi động ứng dụng Giao diện đăng nhập xuất hiện với: trường văn bản để nhập tên
người dùng, mật khẩu, nút đăng nhập
2. Nhập tên đăng nhập = quanly, Giao diện trang chủ của trình quản lý hiện ra với ba nút:
mật khẩu = 123456 - Lên lịch chiếu phim
và nhấp vào nút đăng nhập - Thống kê số vé
- Thống kê doanh thu
3. Bấm vào nút lên lịch chiếu Giao diện lên lịch chiếu hiện ra một form trống gồm các trường
phim trống để lên lịch chiếu mới.
4. Bấm vào nút chọn phòng Hệ thống hiển thị danh sách các phòng:
ID IDChuoiRap Tên Số ghế Mô tả

1 1 P101 70 VIP

2 1 P102 70 VIP

3 1 P103 140 Thường

5. Bấm chọn phòng “P103” và Hệ thống hiển thị danh sách giờ bắt đầu và ngày:
bấm nút chọn khung giờ chiếu 9:30 30/4/2022
12:30 1/5/2022
17:30 2/5/2022
6. Bấm chọn “9:30” và Hệ thống hiển thị danh sách phim:
“2/5/2022” và bấm chọn phim ID Tên Thể loại Ngày phát Thời
hành lượng

1 Venom: Hành Động, 2021-12-10 113


Đối Mặt Khoa Học Viễn
Tử Thù Tưởng, Phiêu
Lưu, Thần thoại
2 THÀNH Hài, Hành 2022-03-25 112
PHỐ MẤT Động, Phiêu
TÍCH Lưu

3 MORBIUS Hành Động, 2022-04-01 104


Phiêu Lưu

7. Bấm chọn phim “MORBIUS” Hệ thống hiển thị danh sách giá vé và nút lưu:
và bấm nút chọn giá vé 60.000
70.000
80.000
8. Bấm chọn “60.000” và bấm Hệ thống hiển thị thông báo thêm lịch chiếu mới thành công
nút lưu
9. Bấm nút OK trên thông báo Hệ thống trả về giao diện trình quản lý
10. Bấm vào nút lên lịch chiếu Giao diện lên lịch chiếu hiện ra một form trống gồm các trường
phim trống để lên lịch chiếu mới.
11. Bấm vào nút chọn phòng Hệ thống hiển thị danh sách các phòng:
ID IDChuoiRap Tên Số ghế Mô tả

1 1 P101 70 VIP

2 1 P102 70 VIP

3 1 P103 140 Thường

12. Bấm chọn phòng “P103” và Hệ thống hiển thị danh sách giờ bắt đầu và ngày:
bấm nút chọn khung giờ chiếu 9:30 30/4/2022
12:30 1/5/2022
17:30 2/5/2022
13. Bấm chọn “9:30” và Hệ thống hiển thị danh sách phim:
“2/5/2022” và bấm chọn phim ID Tên Thể loại Ngày phát Thời
hành lượng

1 Venom: Hành Động, 2021-12-10 113


Đối Mặt Khoa Học Viễn
Tử Thù Tưởng, Phiêu
Lưu, Thần thoại

2 THÀNH Hài, Hành 2022-03-25 112


PHỐ MẤT Động, Phiêu
TÍCH Lưu

3 MORBIUS Hành Động, 2022-04-01 104


Phiêu Lưu

14. Bấm chọn phim “MORBIUS” Hệ thống hiển thị danh sách giá vé và nút lưu:
và bấm nút chọn giá vé 60.000
70.000
80.000
15. Bấm chọn “60.000” và bấm Hệ thống hiển thị thông báo đã tồn tại lịch chiếu tại phòng
nút lưu “P103” vào “9:30 2/5/2022”
16. Bấm nút OK trên thông báo Hệ thống trả về giao diện trình quản lý

➢ CSDL sau khi test: chỉ có tblLichChieu bị thay đổi


ID IDNguoiDung IDChuoiRap IDPhong IDPhim IDKhungGioChieu Giá vé Mô tả
1 1 1 1 1 1 60.000
2 1 1 2 1 1 70.000
3 1 1 3 1 1 80.000
4 1 1 3 3 7 60.000

You might also like