Quan hệ giữa các đối tượng - Rạp Chiếu Phim có nhiều Phòng Chiếu: + Một Rạp Chiếu Phim có thể có nhiều phòng chiếu.+ Mỗi Phòng Chiếu thuộc một Rạp Chiếu Phim cụ thể.. Biểu đồ UC tổng quá
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Khoa: Công nghệ thông tin
TÊN MÔN HỌC: PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN
LỚP HỌC PHẦN: 07 TÊN ĐỀ TÀI NHÓM: Hệ thống quản lý rạp chiếu phim
NHÓM BÀI TẬP LỚN: 11
DANH SÁCH THÀNH VIÊN:
1 Nguyễn Thiệu Hiếu B20DCCN256 Bán vé tại quầy
2 Ngô Trần Đức Thái B20DCCN636 Lên lịch chiếu phim
Trang 2A PHẦN VIỆC CHUNG CỦA NHÓM
I Mô tả hệ thống
1 Mục đích
Hệ thống trang web phục vụ công tác quản lí đặt mua vé trựctuyến, đổi điểm thưởng lấy quà tặng/vé, khách hàng hoàn trả vé, lên lịch chiếu phim, mua vé tại quầy
+ Cho phép người dùng đăng xuất khỏi hệ thống
- Đổi mật khẩu cá nhân:
+ Cho phép người dùng thay đổi mật khẩu của mình để bảo vệ thông tin cá nhân
- Xem thông tin phim:
+ Hiển thị thông tin về các bộ phim, lịch chiếu, vàgiá vé
● Nhân viên rạp chiếu phim:
- Quản lý thông tin phim:
+ Thêm, xóa, sửa thông tin về các bộ phim
- Báo cáo doanh thu:
+ Tạo báo cáo doanh thu cho từng bộ phim hoặc
Trang 3suất chiếu.
● Quản lý rạp chiếu phim:
- Quản lý nhân viên:
+ Thêm, xóa, sửa thông tin của nhân viên
- Thống kê doanh thu:
+ Xem các báo cáo thống kê về doanh thu, số lượng vé bán được, và các chỉ số khác
- Quản lý khuyến mãi:
+ Thêm, xóa, sửa thông tin về các chương trình khuyến mãi
- Quản lý rạp chiếu:
+ Thêm, xóa, sửa thông tin về các rạp chiếu, số lượng ghế, và các trang thiết bị khác
- Xem bảng điểm của rạp:
+ Xem bảng điểm về hiệu suất hoạt động của rạp chiếu
3 Thông tin về các đối tượng
● Nhóm các thông tin liên quan đến con người:
- Khách hàng:
+ Tài khoản: tên đăng nhập, mật khẩu+ Thông tin cá nhân: họ tên, địa chỉ, ngày sinh, email, số điện thoại
- Nhân viên:
+ Tài khoản: tên đăng nhập, mật khẩu+ Thông tin cá nhân: họ tên, địa chỉ, ngày sinh, email, số điện thoại
+ Vị trí công việc: quyền hạn (bán vé, quầy bar, quản lý rạp)
- Quản lý rạp chiếu phim:
Trang 4+ Tài khoản: tên đăng nhập, mật khẩu+ Thông tin cá nhân: họ tên, địa chỉ, ngày sinh, email, số điện thoại
+ Vị trí công việc: quản lý rạp, có quyền kiểm soát doanh số, quản lý nhân viên
- Nhân viên bán vé:
+ Tài khoản: tên đăng nhập, mật khẩu+ Thông tin cá nhân: họ tên, địa chỉ, ngày sinh, email, số điện thoại
+ Vị trí công việc: bán vé, quyền xem thông tin suất chiếu
- Nhân viên quầy:
+ Tài khoản: tên đăng nhập, mật khẩu+ Thông tin cá nhân: họ tên, địa chỉ, ngày sinh, email, số điện thoại
+ Vị trí công việc: phục vụ quầy bar, quyền xem thông tin doanh số quầy
Trang 5+ Thông tin: tên, mô tả, thời gian áp dụng
● Nhóm thông tin liên quan đến thống kê:
- Doanh số bán vé:
- Thống kê theo suất chiếu, theo phim
- Thống kê đánh giá của khách hàng:
- Đánh giá phim, dịch vụ
- Thống kê doanh thu từ quầy bar:
- Thống kê theo suất chiếu
- Thống kê lượt đặt vé online:
- Thống kê theo suất chiếu, theo ngày
- Thống kê doanh thu từ chương trình khuyến mãi:
- Thống kê theo suất chiếu, theo phim
- Thống kê số lượng khách hàng theo thời gian:
- Thống kê theo ngày, tháng, năm
- Thống kê doanh thu từ các nguồn khác nhau (vé, quầybar, khuyến mãi):
- Thống kê tổng hợp theo thời gian
4 Quan hệ giữa các đối tượng
- Rạp Chiếu Phim có nhiều Phòng Chiếu:
+ Một Rạp Chiếu Phim có thể có nhiều phòng chiếu.+ Mỗi Phòng Chiếu thuộc một Rạp Chiếu Phim cụ thể
- Mỗi Phòng Chiếu có nhiều Suất Chiếu:
+ Mỗi Phòng Chiếu có thể có nhiều suất chiếu trong mộtngày
+ Mỗi Suất Chiếu thuộc một Phòng Chiếu cụ thể
- Mỗi Suất Chiếu có nhiều Ghế Ngồi:
+ Mỗi Suất Chiếu có thể có nhiều ghế ngồi
+ Mỗi Ghế Ngồi thuộc một Suất Chiếu cụ thể
- Mỗi Suất Chiếu có nhiều Vé:
+ Mỗi Suất Chiếu có thể có nhiều vé
+ Mỗi Vé thuộc một Suất Chiếu cụ thể
- Mỗi Vé có một hoặc nhiều Mặt Hàng:
+ Mỗi Vé có thể liên kết với một hoặc nhiều mặt hàng (ví dụ: thức ăn, nước uống)
Trang 6+ Mỗi Mặt Hàng thuộc một hoặc nhiều Vé.
- Mỗi Suất Chiếu có nhiều Đánh Giá và Bình Luận:
+ Mỗi Suất Chiếu có thể có nhiều đánh giá và bình luận
từ khách hàng
+ Mỗi Đánh Giá và Bình Luận thuộc một Suất Chiếu cụ thể
II Biểu đồ UC tổng quát
Chúng ta có thể đề xuất các actor cho hệ thống quản lý rạp chiếu phim như sau: thành viên, khách hàng, nhân viên rạp chiếu phim, quản lý rạp chiếu phim, và kỹ thuật viên Tất cả đều có những chức năng cơ bản như đăng nhập và đổi mật khẩu, nhưng mỗi đối tượng sẽ có những chức năng riêng phù hợp với vai trò của họ
Các chức năng cụ thể được phân chia như sau:
● Xem lại lịch sử mua vé
Nhân viên rạp chiếu phim:
● Quản lý thông tin suất chiếu
● Kiểm tra và báo cáo vé đã bán
● Thực hiện báo cáo về doanh thu
Quản lý rạp chiếu phim:
● Quản lý thông tin phim, đạo diễn, diễn viên
● Xem và cập nhật lịch chiếu
● Quản lý giá vé và chính sách khuyến mãi
● Thống kê doanh thu theo khoảng thời gian và theo từng phim
Kỹ thuật viên:
● Quản lý và bảo dưỡng hệ thống âm thanh, hình ảnh
● Sửa chữa thiết bị kỹ thuật khi cần
Trang 7Trong số các chức năng này, việc xem lịch chiếu của khách hàng làtương tự chức năng xem lịch dạy của nhân viên rạp chiếu phim Nên hai use case này được cho kế thừa từ use case xem lịch chiếu Như vậy, biểu
đồ use case tổng quan của hệ thống được trình bày với mô tả các use casenhư sau:
Trang 8Mua vé online:
● Cung cấp khả năng mua vé trực tuyến, giúp tiện lợi cho khách hàng
Quản lý thông tin suất chiếu:
● Cho nhân viên rạp chiếu phim quản lý thông tin về các suất chiếu, bao gồm thêm, sửa, và xóa suất chiếu
Kiểm tra vé đã bán:
● Nhân viên rạp chiếu phim có thể kiểm tra thông tin về số vé
đã được bán cho mỗi suất chiếu
Thống kê doanh thu:
● Quản lý rạp chiếu phim có khả năng xem thống kê doanh thutheo khoảng thời gian và theo phim
Quản lý thông tin phim:
● Quản lý rạp chiếu phim có thể thêm, sửa, và xóa thông tin vềcác bộ phim
Xem và cập nhật lịch chiếu:
● Quản lý rạp chiếu phim có khả năng xem và điều chỉnh lịch chiếu cho các suất chiếu
Quản lý giá vé và chính sách khuyến mãi:
● Quản lý rạp chiếu phim có thể quản lý giá vé và áp dụng chính sách khuyến mãi
Quản lý thông tin nhân viên:
● Quản lý rạp chiếu phim có khả năng quản lý thông tin về nhân viên, bao gồm thêm, sửa, và xóa thông tin
Quản lý thiết bị kỹ thuật:
● Kỹ thuật viên có thể quản lý và bảo dưỡng hệ thống âm thanh, hình ảnh, và thực hiện sửa chữa khi cần
Xuất bảng điểm:
● Cho khảo thí xuất bảng điểm cho khách hàng theo yêu cầu
Xem thống kê:
Trang 9● Nhân viên quản lý có khả năng xem các loại báo cáo thống
kê về hoạt động của rạp chiếu phim
III Biểu đồ lớp thực thể ở pha phân tích
Bước 1: Mô tả hệ thống trong một đoạn văn
Hệ thống quản lý rạp chiếu phim là một ứng dụng trực tuyến được thiết kế để hỗ trợ quản lý các hoạt động liên quan đến chiếu phim trong một rạp
Trong đó, khách hàng có khả năng đặt vé xem phim theo lịch chiếu
và chọn suất chiếu mong muốn; xem thông tin chi tiết về lịch chiếu, bao gồm thời gian chiếu, phòng chiếu, và phim đang chiếu; thực hiện mua vé trực tuyến để tiết kiệm thời gian và công sức; kiểm tra số vé đã được bán và cập nhật thông tin về doanh thu
Nhân viên rạp chiếu phim có thể quản lý thông tin chi tiết về các suất chiếu, bao gồm thêm, sửa, và xóa suất chiếu; kiểm tra thông tin về số vé đã được bán và thực hiện báo cáo về doanh thu; quản
lý thông tin về các bộ phim, bao gồm thêm, sửa, và xóa thông tin
Quản lý rạp chiếu phim có khả năng thêm, sửa, và xóa thông tin về các bộ phim, đạo diễn, diễn viên; xem và cập nhật lịch chiếu cho các suất chiếu; quản lý giá vé và áp dụng chính sách khuyến mãi đểthu hút khách hàng; xem thống kê doanh thu theo khoảng thời gian
và theo từng phim
Kỹ thuật viên có thể quản lý và bảo dưỡng hệ thống âm thanh, hìnhảnh; sửa chữa thiết bị kỹ thuật khi cần
Bước 2: Trích các danh từ xuất hiện trong đoạn văn
Các danh từ liên quan đến người: khách hàng, nhân viên rạp chiếu phim, quản lý rạp chiếu phim, kỹ thuật viên
Các danh từ liên quan đến vật: rạp chiếu phim, suất chiếu, vé, doanh thu
Các danh từ liên quan đến thông tin: lịch chiếu, bộ phim, đạo diễn, diễn viên, giá vé, chính sách khuyến mãi
Bước 3: Đánh giá và lựa chọn các danh từ làm lớp thực thể hoặc thuộc tính
Trang 10Các danh từ trừu tượng: hệ thống, ứng dụng trực tuyến, thông tin.Các danh từ liên quan đến người:
● Thành viên hệ thống -> ThanhVien: tên, tên đăng nhập, mật khẩu, ngày sinh, địa chỉ, email, điện thoại
● Khách hàng -> KhachHang: kế thừa ThanhVien, mã khách hàng
● Nhân viên rạp chiếu phim -> NhanVienRap: kế thừa
ThanhVien, vị trí
● Quản lý rạp chiếu phim -> QuanLyRap: kế thừa
NhanVienRap
● Kỹ thuật viên -> KyThuatVien: kế thừa NhanVienRap
Các danh từ liên quan đến vật:
● Rạp chiếu phim -> RapChieuPhim: tên, địa chỉ, mô tả
● Suất chiếu -> SuatChieu: mã suất chiếu, thời gian chiếu
● Vé -> Ve: mã vé, giá vé
● Doanh thu -> DoanhThu: mã doanh thu, ngày thu, số vé bán được
Các danh từ liên quan đến thông tin:
● Lịch chiếu -> LichChieu: liên quan đến thời gian chiếu, suất chiếu, phim
● Phim -> Phim: tên, đạo diễn, diễn viên, mô tả
● Giá vé -> GiaVe: giá vé, chính sách khuyến mãi
Bước 4: Xác định quan hệ số lượng giữa các thực thể
● Rạp chiếu phim có nhiều suất chiếu -> RapChieuPhim - SuatChieu là 1-n, với mỗi suất chiếu được liên kết với một rạp chiếu phim cụ thể
● Suất chiếu có nhiều vé được đặt -> SuatChieu - VeDat là
1-n, với mỗi vé được đặt liên kết với một suất chiếu cụ thể
● Khách hàng có thể đặt nhiều vé cho nhiều suất chiếu -> KhachHang - VeDat là n-n -> đề xuất lớp DatVe kết nối giữaKhachHang và SuatChieu (DatVe # VeDat), mỗi DatVe biểudiễn một giao dịch đặt vé cụ thể
● Rạp chiếu phim có nhiều phim -> RapChieuPhim - Phim là 1-n, với mỗi bộ phim được liên kết với một rạp chiếu phim
cụ thể
● Một phim có thể chiếu ở nhiều suất chiếu -> Phim -
Trang 11SuatChieu là 1-n, với mỗi suất chiếu liên kết với một phim
cụ thể
● Giá vé có thể áp dụng cho nhiều suất chiếu -> GiaVe - SuatChieu là n-n -> đề xuất lớp GiaVeSuatChieu xác định duy nhất một giá vé áp dụng cho một suất chiếu cụ thể
● Nhân viên rạp chiếu phim có thể quản lý nhiều suất chiếu -> NhanVienRap - SuatChieu là 1-n, với mỗi suất chiếu được quản lý bởi một nhân viên rạp chiếu phim
● Quản lý rạp chiếu phim có thể quản lý nhiều nhân viên -> QuanLyRap - NhanVienRap là 1-n, với mỗi nhân viên rạp chiếu phim được quản lý bởi một quản lý rạp chiếu phim
● Kỹ thuật viên có thể quản lý và bảo dưỡng nhiều thiết bị kỹ thuật -> KyThuatVien - ThietBiKyThuat là 1-n, với mỗi thiết bị kỹ thuật được quản lý bởi một kỹ thuật viên
● Mỗi lịch chiếu có thể liên kết với một suất chiếu cụ thể và cónhiều buổi chiếu -> LichChieu - SuatChieu là 1-n, với mỗi suất chiếu được liên kết với một lịch chiếu cụ thể
● Ngoài ra, thông tin Họ và tên có thể tách thành một lớp thực thể riêng - HoTen, với các thuộc tính là Họ và Tên Thông tin địa chỉ cũng có thể tách thành một lớp thực thể riêng - DiaChi, với các thuộc tính là Số nhà, Đường, Quận, Thành phố Các thông tin này có thể được sử dụng lại trong nhiều đối tượng khác nhau mà không làm ảnh hưởng đến tính nhất quán và dễ bảo trì của hệ thống
Bước 5: Xác định quan hệ đối tượng giữa các thực thể
● Rạp chiếu phim là thành phần của Hệ thống Quản lý Rạp Chiếu Phim
● Suất chiếu là thành phần của Rạp chiếu phim
● Vé đặt là thành phần của Suất chiếu
● Khách hàng là thành phần của Hệ thống Quản lý Rạp Chiếu Phim
● Nhân viên rạp chiếu phim là thành phần của Hệ thống Quản
Trang 12● Bộ phim là thành phần của Hệ thống Quản lý Rạp Chiếu Phim
● Giá vé là thành phần của Hệ thống Quản lý Rạp Chiếu Phim
● Lịch chiếu là thành phần của Hệ thống Quản lý Rạp Chiếu Phim
● Lịch chiếu liên kết với Suất chiếu và Bộ phim để tạo ra lịch chiếu cụ thể
● DatVe là thành phần của Hệ thống Quản lý Rạp Chiếu Phim
● DatVe liên kết với Khách hàng và Suất chiếu để tạo ra giao dịch đặt vé cụ thể
● Thông tin địa chỉ là thành phần của Khách hàng
● Thông tin họ và tên là thành phần của Khách hàng
● Lớp thống kê liên kết với các thực thể tương ứng để tạo ra các báo cáo thống kê
Kết quả thu được biểu đồ lớp thực thể pha phân tích toàn hệ thống như trong hình
Trang 13IV Biểu đồ lớp thực thể ở pha thiết kế
Bước 1:
Các lớp được bổ sung thuộc tính id: trừ các lớp thống kê (TK), nhân viên, Rapchieuphim, Phim, Suatchieu, Nhanvien, NVQuanli, NVBanve
Trang 14Quan hệ Phim – Suatchieu -> PhimSuatchieu chuyển thành
PhimSuatchieu chứa Phim và Suatchieu
Quan hệ Suatchieu – Rapchieuphim -> Chieuphim chuyển thành Chieuphim chứa Suatchieu và Rapchieuphim
Quan hệ Rapchieuphim – NVQuanli -> Quanli chuyển thành
Quanli chứa Rapchieuphim và NVQuanli
Quan hệ Rapchieuphim – NVBanve -> Banve chuyển thành Banve chứa Rapchieuphim và NVBanve
Bước 4:
Bổ sung các thuộc tính thành phần của quan hệ hợp thành/gắn chặt,
ta thu được biểu đồ lớp thực thể pha thiết kế
Trang 15● tblRapChieu có các thuộc tính: id, tên, địa chỉ
● tblPhim: id, tên, thể loại, đạo diễn
● tblSuatChieu: id, giờ chiếu, ngày chiếu
● tblGheNgoi: id, số ghế, trạng thái (đã đặt/chưa đặt)
● tblKhachHang: id, tên, email, số điện thoại
● tblVe: id, giá vé, loại vé
● tblDatVe: id, ngày đặt, trạng thái đặt vé
● tblNhanVien: id, tên, chức vụ
● tblPhanHoi: id, nội dung, ngày phản hồi
● tblDoanhThu: id, ngày, doanh thu
● tblDienVien: id, tên, ngày sinh, quốc tịch
● tblHangPhim: id, tên, địa chỉ
● tblLoaiGhe: id, tên, mô tả
● tblPhongChieu: id, tên, số ghế
Trang 16● tblQuocGia: id, tên
● tblDaoDien: id, tên, ngày sinh, quốc tịch
● tblTheLoai: id, tên, mô tả
● tblLoaiVe: id, tên, giá vé
● tblNguoiDung: id, tên đăng nhập, mật khẩu
● tblHeThongRap: id, tên, số phòng chiếu
● tblRapChieu – n tblPhanHoi: Mỗi rạp chiếu có thể nhận nhiều phảnhồi, nhưng mỗi phản hồi chỉ thuộc một rạp chiếu
● tblSuatChieu – n tblDoanhThu: Mỗi suất chiếu có thể sinh ra nhiềudoanh thu, nhưng mỗi doanh thu chỉ thuộc một suất chiếu
● tblPhim – n tblPhanHoi: Mỗi phim có thể nhận nhiều phản hồi, nhưng mỗi phản hồi chỉ liên quan đến một phim
● tblDienVien – n tblPhim: Mỗi diễn viên có thể tham gia nhiều phim, nhưng mỗi phim chỉ có một đạo diễn
● tblHangPhim – n tblPhim: Mỗi hãng phim có thể sản xuất nhiều phim, nhưng mỗi phim chỉ thuộc một hãng phim
● tblLoaiGhe – n tblGheNgoi: Mỗi loại ghế có thể có nhiều ghế ngồi,
Trang 17nhưng mỗi ghế ngồi chỉ thuộc một loại ghế.
● tblPhongChieu – n tblGheNgoi: Mỗi phòng chiếu có thể có nhiều ghế ngồi, nhưng mỗi ghế ngồi chỉ thuộc một phòng chiếu
● tblQuocGia – n tblDaoDien: Mỗi quốc gia có thể có nhiều đạo diễn, nhưng mỗi đạo diễn chỉ thuộc một quốc gia
● tblTheLoai – n tblPhim: Mỗi thể loại có thể thuộc nhiều phim, nhưng mỗi phim chỉ thuộc một thể loại
● tblLoaiVe – n tblVe: Mỗi loại vé có thể được sử dụng cho nhiều
vé, nhưng mỗi vé chỉ thuộc một loại vé
● tblNguoiDung – n tblDatVe: Mỗi người dùng có thể đặt nhiều vé, nhưng mỗi đặt vé chỉ thuộc một người dùng
● tblHeThongRap – n tblRapChieu: Mỗi hệ thống rạp có thể có nhiềurạp chiếu, nhưng mỗi rạp chiếu chỉ thuộc một hệ thống rạp
● tblNguoiDung – n tblPhanHoi: Mỗi người dùng có thể gửi nhiều phản hồi, nhưng mỗi phản hồi chỉ thuộc một người dùng
Bước 4:
Bổ sung các thuộc tính khóa Khóa chính được thiết lập với thuộc tính id của các bảng tương ứng, trừ các bảng tblVe và tblDatVe
Khóa ngoại được thiết lập cho các bảng:
● tblRapChieu – n tblPhim -> Bảng tblPhim có khóa ngoại
Trang 18● tblLoaiVe – n tblVe -> Bảng tblVe có khóa ngoại tblLoaiVeId
● tblNguoiDung – n tblDatVe -> Bảng tblDatVe có khóa ngoại tblNguoiDungId
● tblHeThongRap – n tblRapChieu -> Bảng tblRapChieu có khóa ngoại tblHeThongRapId
● tblNguoiDung – n tblPhanHoi -> Bảng tblPhanHoi có khóa ngoại tblNguoiDungId
● tblNguoiDung – n tblVe -> Bảng tblVe có khóa ngoại
● Loại bỏ các bảng thống kê, như tblThongKeVe,
tblThongKeDatVe, tblThongKeDoanhThu, giữ lại các thông tin dẫn xuất trong bảng tblDoanhThu
● Tổng hợp số lượng vé đã đặt và đã mua trong bảng tblVe và tblDatVe
● Đưa ra thông tin về số lượng phản hồi và đánh giá từ khách
Trang 19● Tính tổng số lượng khách hàng và thông tin chi tiết từ bảng tblKhachHang.
● Tổng hợp thông tin về các rạp chiếu và các thông tin chi tiết
Trang 20B PHẦN VIỆC TỪNG CÁ NHÂN
I Sinh viên Vũ Anh Tuấn – UC : Khách hàng đặt
mua vé trực tuyến.
1 Đặc tả UC.
a Hoạt động nghiệp vụ của UC:
- Khách hàng vào hệ thống => Giao diện trang chủ hiện ra: có 1 chức năng đăng nhập
- Khách hàng click đăng nhập => Giao diện đăng nhập hiện ra có ô nhập username, password và nút login
- Khách hàng nhập username, password và click login
- Có 2 trường hợp xảy ra:
+ Nếu đăng nhập sai => Hệ thống thôngbáo sai username hoặc password =>Khách hàng click ok của thông báo =>
Hệ thống trở lại giao diện đăng nhậpchứa thông tin cũ
+ Nếu đăng nhập đúng => Giao diệnchính của khách hàng hiện ra và cóchức năng đặt mua vé trực tuyến
- Khách hàng click vào chức năng đặt mua vé
Trang 21trực tuyến => Giao diện tìm kiếm suất chiếu phim hiện ra:
+ Danh sách lựa chọn ngày chiếu(7ngày tính từ ngày hiện tại)
+ Danh sách lựa chọn khung giờchiếu trong ngày
+ Danh sách lựa chọn các phim cólịch chiếu đang chọn
+ Danh sách phòng chiếu có thôngtin đang chọn
- Khách hàng chọn 1 ngày => Giao diện hiện
ra danh sách các khung giờ chiếu trong ngày đang chọn
- Khách hàng chọn 1 khung giờ chiếu => Giao diện hiện ra danh sách các phim có lịch chiếu đang chọn
- Khách hàng chọn 1 phim => Giao diện hiện radanh sách phòng chiếu phù hợp với thông tin đang chọn
- Khách hàng click một phòng => Giao diện chọn chỗ ngồi hiện ra bao gồm:
+ Bảng tất cả các chỗ ngồi của phòng vừachọn: mỗi ô tương ứng với một chỗ.(khách hàng chỉ được chọn những chỗchưa được đặt)
+ Danh sách các vé vừa chọn, mỗi vé mộtdòng với thông tin: tên phim, ngàychiếu, giờ chiếu, tên phòng chiếu, loạiphòng chiếu, mã chỗ ngồi, giá vé, nút
Trang 22- Nếu khách hàng click áp dụng quà tặng của 1
vé => Giao diện lựa chọn quà tặng hiện ra có thông tin:
+ Danh sách các quà tặng đang có củakhách hàng có điều kiện phù hợp vớithông tin khách hàng đã chọn
+ Mỗi quà tặng ứng với một dòng vớithông tin: tên, chi tiết, điều kiện ápdụng, hạn sử dụng
+ Khách hàng chọn 1 quà tặng => Hệthống trở lại giao diện xác nhận mua vévới cập nhật quà tặng vừa lựa chọn vàtổng tiền thanh toán
+ Nếu khách hàng click thanh toán =>Giao diện thanh toán hiện ra với thôngtin thanh toán (mã QR hoặc số tàikhoản ngân hàng), tổng số tiền
- Khách hàng thực hiện thanh toán:
+ Nếu một trong các chỗ ngồi vừa chọn
đã được thanh toán bởi khách hàngkhác => Hệ thống thông báo chỗ ngồi
đã được đặt bởi khách hàng khác =>Khách hàng click ok của thông báo =>
Hệ thống trở lại giao diện chọn chỗngồi với các cập nhập về các chỗ ngồi
Trang 23đã được đặt
+ Nếu các chỗ ngồi vừa chọn chưa đượcđặt bởi khách hàng khác => Hệ thốngthông báo thanh toán thành công và lưuthông tin đặt vé vào cơ sở dữ liệu =>
Khách hàng click ok của thông báo =>
Hệ thống trở về giao diện chính củakhách hàng
b Biểu đồ UC chi tiết:
Use chi tiết của chức năng đặt mua vé trực tuyến.
Chức năng đặt mua vé trực tuyến có các giao diện tương tác với khách hàng:
+ Đăng nhập => Đề xuất usecase đăng nhập
+ Tìm kiếm phim => Đề xuất usecase tìm kiếm phim
+ Chọn phòng => Đề xuất usecase chọn phòng
+ Chọn chỗ ngồi => Đề xuất usecase chọn chỗ ngồi
+ Thanh toán => Đề xuất usecase thanh toán
+ Tích điểm thưởng => Đề xuất usecase tích điểm thưởng
+ Áp dụng quà tặng => Đề xuất usecase áp dụng quà tặng
- Các usecase đăng nhập, tìm kiếm phim, chọn phòng, chọn chỗ ngồi, thanh toán là bắt buộc mới hoàn thành được việc đặt mua vé trực tuyến
do đó usecase đặt mua vé trực tuyến include các usecase này
- Các usecase áp dụng quà tặng, tích điểm thưởng là tùy chọn từ giao diện
Trang 24thanh toán, nên usecase áp dụng quà tặng, tích điểm thưởng có quan hệ
mở rộng từ usecase thanh toán
- Như vậy biểu đồ usecase chi tiết cho chức năng đặt mua vé trực tuyến được trình bày trong hình trên Các usecase được mô tả như sau:
+ Tìm kiếm phim: cho phép khách hàng tìm kiếm phim chiếu theongày chiếu, giờ chiếu, tên phim
+ Chọn phòng chiếu: cho phép khách hàng chọn phòng chiếu để tiếnhành mua vé
+ Chọn chỗ ngồi: cho phép khách hàng chọn chỗ ngồi để tiến hànhmua vé
+ Thanh toán: cho phép khách hàng áp dụng phần quà, tích điểmthưởng và thanh toán các vé đã chọn
1 Khách hàng Trần Minh C truy cập vào hệ thống
2 Giao diện chính của hệ thống hiện ra có ít nhất 1 chức năngđăng nhập
Trang 258 Giao diện lựa chọn suất chiếu hiện ra có:
- Danh sách lựa chọn lịch chiếu tính từ ngày hiện tại.(đangchọn lịch đầu tiên ngày 24/09/2023 20:00)
- Danh sách phim có lịch chiếu 24/09/2023, khung giờ = 20:00(đang chọn phim đầu tiên)
Mã
phim phim Tên Đạo diễn Thời lượng
MV01 Oppenheimer Chirstopher Nolan 180 phút
MV02 Joker Todd Phillips 121 phút
MV03 The Usual Suspect Bryan Singer 106 phút
- Danh sách phòng chiếu có lịch chiếu và phim đang chọn
10.Giao diện chọn vị trí ngồi hiện ra với thông tin:
- Thông tin xuất chiếu vừa chọn bao gồm: mã phim = MV01,tên phim = Oppenheimer, đạo diễn = Christopher Nolan, thờilượng = 180 phút, ngày chiếu = 24/09/2023, giờ chiếu = 20:00
- Thông tin phòng vừa chọn: mã phòng = R01, tên phòng =
Trang 2611.Khách hàng tích chọn 1 chỗ ngồi có vị trí D5 và click mua
18.Hệ thống trở lại giao diện chính của khách hàng
2 Phân tích UC
a Phân tích lớp module
Bước 1: Giao diện trang chủ => Đề xuất Class Homeview, cần có subLogin
inpUsername, inpPassword, subLogin
+ input: username, password (Member) + output: boolean
+ Gán cho Class Member
ClientHomeView cần có: subBookingTicket, outUsername,
outFullname, outEmail
Trang 27SearchShowTimeView, cần có outInpTimeSlot, outInpFilm,
outSubRoom
=> đề xuất phương thức getShowTimeFromCurrentDate() + input: date
+ output: TimeSlot[]
+ Gán cho Class TimeSlot
có lịch chiếu vừa chọn => đề xuất phương thức
getFilmHaveTimeSlot()
+ input: TimeSlot
+ output: Film[]
+ Gán cho Class Film
tin Room => đề xuất phương thức getShowTimeWithRoom() + input: timeSlot, Film (ShowTime)
+ output: ShowTime[]
+ Gán cho Class ShowTime
ngồi => đề xuất Class SelectSeatView, cần có outInpAvailableSeat, outBookedSeat, subBooking, subBack
đề xuất phương thức getAvailableSeat()
+ input: ShowTime
+ output: Seat[]
+ Gán cho Class Seat
xuất phương thức getBookedSeat()
+ input: ShowTime
+ output: Seat[]
+ Gán cho Class Seat
xuất Class PaymentView: outListTicket, subApplyGift, outGift, outTotalBonusPoint, subCancel, subPayment
outSubGiftOfClient
Trang 28dụng phù hợp với vé, hóa đơn của khách hàng => Đề xuất phương thức getGiftOfClient()
+ input: clientID, Bill (Bill) + output: RedemptionGift[]
+ Gán cho Class RedemptionGift
DetailPayment: outBank, outBankNumber, outTotal
xuất phương thức saveBill() + input: Bill
+ output: boolean + gán cho class Bill
b Phân tích hoạt động UC
1 Khách hàng truy cập vào hệ thống
2 Class HomeView hiển thị cho khách hàng
3 Khách hàng click login
4 Class HomeView gọi Class LoginView
5 Class LoginView hiển thị cho khách hàng
6 Khách hàng nhập username, password, click login
7 Class LoginView gọi Class Member
8 Class Member gọi phương thức login()
Trang 299 Class Member trả kết quả cho Class LoginView
10 Class LoginView gọi Class ClientHomeView
11 Class ClientHomeView hiển thị cho người dùng
12 Khách hàng click bookingTicket
13 Class ClientHomeView gọi Class SearchShowTimeView
14 Class SearchShowTimeView gọi Class TimeSlot
15 Class TimeSlot gọi phương thức getTimeSlotFromCurrentDate()
16 Class TimeSlot trả kết quả cho Class SearchShowTimeView
17 Class SearchShowTimeView gọi Class Film
18 Class Film gọi phương thức getFilmHaveTimeSlot()
19 Class Film trả kết quả cho Class SearchShowTimeView
20 Class SearchShowTimeView gọi Class ShowTime
21 Class ShowTime gọi phương thức getShowTimeWithRoom()
22 Class ShowTime trả kết quả cho Class SearchShowTimeView
23 Class SearchShowTimeView hiển thị cho khách hàng
24 Khách hàng chọn 1 ShowTime, click next
25 Class SearchShowTimeView gọi Class SelectSeatView
26 Class SelectSeatView gọi Class Seat
27 Class Seat gọi phương thức getAvailableSeat()
28 Class Seat trả kết quả cho Class SelectSeatView
29 Class SelectSeatView gọi Class Seat
30 Class Seat gọi phương thức getBookedSeat()
31 Class Seat trả kết quả cho Class SelectSeatView
32 Class SelectSeatView hiển thị cho khách hàng
33 Khách hàng chọn 1 seat và click booking
34 Class SelectSeatView gọi ClassPaymentView
35 Class PaymentView hiển thị cho khách hàng
36 Khách hàng click payment
37 Class PaymentView gọi Class DetailPaymentView
38 Class DetailPaymentView hiển thị cho khách hàng
39 Khách hàng thanh toán
40 Class DetailPaymentView gọi Class Bill
41 Class Bill gọi phương thức saveBill()
42 Class Bill trả kết quả cho Class DetailPaymentView
43 Class DetailPaymentView hiển thị thông báo thành công
Trang 303 Thiết kế UC
a Thiết kế giao diện và đề xuất các lớp (giao diện, lớp truy xuất dữ liệu) Bước 1: Thiết kế giao diện
Trang 31● Bước 2: Đề xuất các lớp giao diện tương ứng
- Tầng giao diện có các trang jsp: HomeView.jsp, LoginView.jsp,
doLogin.jsp, ClientHomeView.jsp, preSearch.jsp,
SearchShowTimeView.jsp, SelectSeatView.jsp, DetailPaymentView.jsp, ApplyGiftView.jsp, doSaveBill.jsp
Trang 32● Bước 3: Đề xuất các lớp truy xuất dữ liệu DAO
- Tầng thao tác dữ liệu bao gồm: DAO, MemberDAO, FilmDAO,TimeSlotDAO, ShowTimeDAO, SeatDAO, RedemptionGiftDAO,BillDAO
- Tại trang doLogin.jsp cần kiểm tra đăng nhập
=> đề xuất hàm login()
+ input: username, password (Member)
+ output: boolean
+ Gán cho Class MemberDAO
- Tại trang preSearch.jsp cần lấy danh sách các TimeSlot tính từ ngày giờhiện tại
=> đề xuất hàm getTimeSlotFromCurrentDate()
+ input: date, time(Date)
+ output: List<TimeSlot>
+ Gán cho Class TimeSlotDAO
- Tại trang preSearch.jsp cần lấy danh sách các Film của một TimeSlot => đề xuất hàm getFilmHaveTimeSlot()
+ input: TimeSlot
+ output: List<Film>
+ Gán cho Class FilmDAO
- Tại trang preSearch.jsp cần lấy danh sách các ShowTime bao gồm cảthông tin Room của một TimeSlot và một Film
=> đề xuất hàm getShowTimeWithRoom()
+ input: TimeSlot, Film
+ output: List<ShowTime>
+ Gán cho Class ShowTimeDAO
- Tại trang SelectSeatView.jsp cần lấy danh sách các Seat còn của mộtShowTime
=> đề xuất hàm getAvailableSeat()
+ input: ShowTime
+ output: List<Seat>
+ Gán cho Class SeatDAO
- Tại trang SelectSeatView.jsp cần lấy danh sách các Seat đã được đặt củamột ShowTime
=> đề xuất hàm getBookedSeat()
+ input: ShowTime
+ output: List<Seat>
Trang 33+ Gán cho Class SeatDAO
- Tại trang ApplyGiftView.jsp cần lấy danh sách các RedemptionGift củakhách hàng
=> đề xuất hàm getGiftOfClient()
+ input: Bill
+ output: List<RedemptionGift>
+ Gán cho Class RedemptionGiftDAO
- Tại trang doSaveBill.jsp cần kiểm tra và lưu thông tin Bill
=> đề xuất hàm saveBill()
+ input: Bill
+ output: boolean
+ Gán cho Class BillDAO
● Bước 4: Bổ sung các lớp thực thể liên quan
Trang 34b Thiết kế động: kịch bản UC cuối và biểu đồ tuần tự cho từng modul.
Trang 355 Trang LoginView.jsp hiển thị cho khách hàng
getTimeSlotFromCurrentDate()
setFilm(), setTimeSlot()
Trang 3640 Class ShowTime trả lại kết quả cho Class ShowTimeDAO
Trang 3777 Khách hàng click ok
II Sinh viên Nguyễn Văn Tú – UC : Khách hàng đổi điểm thưởng lấy quà tặng/vé.
1 Đặc tả UC.
a Hoạt động nghiệp vụ của UC:
Khách hàng vào hệ thống => Giao diện trang chủ hiện ra: có 1 chức năng đăng nhập
- Khách hàng click đăng nhập => Giao diện đăng nhập hiện ra có ô nhập username, password và nút login
- Khách hàng nhập username, password và click login
Trang 38+ Nếu đăng nhập sai => Hệ thống thông báo sai usernamehoặc password => Khách hàng click ok của thông báo => Hệthống trở lại giao diện đăng nhập chứa thông tin cũ
+ Nếu đăng nhập đúng => Giao diện chính của khách hànghiện ra: có chức năng đổi điểm thưởng
- Khách hàng click đổi điểm thưởng => Giao diện lựa chọn phần quàhiện ra với thông tin:
+ Điểm thưởng hiện có của khách hàng
+ Bảng danh sách các quà tặng Mỗi quà tặng tương ứng vớimột dòng có các thông tin mã, tên, điều kiện áp dụng, sốđiểm cần để đổi
- Khách hàng click vào đổi quà trên một dòng:
+ Nếu tổng điểm thưởng của khách hàng đang có nhỏ hơn tổng
số điểm thưởng cần để đổi quà => Hệ thống thông báokhông đủ điều kiện đổi quà => Khách hàng click ok củathông báo => Hệ thống trở lại giao diện đổi quà
+ Nếu tổng điểm thưởng của khách hàng đang có lớn hơn hoặcbằng tổng số điểm thưởng cần để đổi quà => Hệ thống thôngbáo thành công và lưu thông tin phần quà vào cơ sở dữ liệu
=> Khách hàng click ok của thông báo thành công => Hệthống trở về giao diện đổi quà
b Biểu đồ UC chi tiết:
Use chi tiết của chức năng Khách hàng đổi điểm thưởng lấy quà tặng/vé.
Trang 39ức năng đổi điểm thưởng có các giao diện tương tác với khách hàng: + Đăng nhập => Đề xuất usecase đăng nhập
+ Chọn phần quà => Đề xuất usecase chọn phần quà
- Chọn phần quà là bắt buộc mới hoàn thành được việc đổi điểm thưởng nên usecase đổi điểm thưởng include usecase này
- Như vậy biểu đồ usecase chi tiết cho chức năng đổi điểm thưởng được trình bày trong hình trên
Trang 40Main event 1 Khách hàng Trần Minh C truy cập vào hệ thống
2 Giao diện đăng nhập hiện lên có
5 Khách hàng click đổi quà
6 Giao diện đổi quà hiện lên có thông tin:
- Thông tin khách hàng: username = nvt123, họ và tên = C, email =
nvt@xx.com, số điện thoại = 0393333333, địa chỉ = Hà Nội, tổngđiểm đang có = 9
- Danh sách các quà tặng
Mã quà Tên quà Giá trị Điều
kiện áp dụng
Điểm cần đổi
Nhập số lượng Thêm
GF01 Voucher
100% vé 2D thường
100% 2D
thường
GF02 Voucher 50% vé 3D thường
thường
GF03 Voucher 20% tổng hóa đơn
GF04 1 bỏng ngô 80000 Hóa đơn 5 [Text Box]
- Danh sách quà đang chọn(hiện trống)
Mã quà Tên quà Loại quà Điều kiện
áp dụng
Điểm cần đổi
Số lượngTổng
điểm cần
Delete
- Tổng điểm cần
- Nút đổi quà