Professional Documents
Culture Documents
Nguyen-Van-Son-tong Hop
Nguyen-Van-Son-tong Hop
- Sửa thông tin phim: Cho phép quản lý sửa các trường thông tin của phim.
- Tìm kiếm phim: Cho phép Quản lý tìm phim để sửa nên UC quản lý.
- Đăng nhập -> Cùng theo Use Case đăng nhập trên.
- Lên lịch chiếu phim -> Đề xuất Use Case lên lịch chiếu
phim Mô tả các Use Case:
- Lên lịch chiếu phim: Use case cho phép quản lý lên lịch chiếu.
c. bán vé tại quầy cho khách
- Đăng nhập tài khoản nhân viên-> Use Case chung đăng nhập
- Nhân viên chọn khung giờ khách hàng yêu cầu-> Đề xuất Use Case chọn khung giờ theoyêu cầu.
- Nhân viên chọn phim khách hàng yêu cầu -> Đề xuất Use Case chọn phim theo yêu cầu.
- Nhân viên chọn chỗ ngồi khách hàng yêu cầu-> Đề xuất Use Case chọn chỗ ngồi theoyêu cầu
- Nhân viên Nhập xuất hóa đơn/vé cho khách -> Đề xuất Use Case Nhân viên Nhập
xuấthóa đơn/vé cho khách.
- Muốn bán vé nhân viên phải đăng nhập, chọn khung giờ, Chọn phim chọn chỗ nên
Usecase bán vé tại quầy sẽ include những use case này.
Mô tả các Use Case:
- Nhân viên chọn khung giờ khách hàng yêu cầu: Để chọn ra khung giờ có các suất
chiếutương ứng.
- Nhân viên chọn phim khách hàng yêu cầu: Bước tiếp theo để chọn các phim tương ứng .
- Nhân viên chọn chỗ ngồi khách hàng yêu cầu: Nhân viên chọn theo yêu cầu
khách hàngcác chỗ ngồi nếu còn khả dụng.
- Nhân viên Nhập xuất hóa đơn/vé cho khách: Nhân viên nhập thông tin xuất vé
đưa chokhách, thanh toán tiền.
- Nhân viên bán đồ ăn kèm cho khách: Nhân viên hỏi và thêm đồ ăn kèm theo yêu
cầu.
Actor Quản lý
Pre-condition Quản lý có tài khoản thành viên được phân quyền quản lý + Đang mở
quản lý thông tin phim
Post-Condition Quản lý chọn một phim để tiến hành các chức năng quản lý
Manager1
+ Mật
khẩu:
1234
Rồi click đăng nhập
Actor Quản lý
Pre-condition Quản lý có tài khoản thành viên được phân quyền quản lý + Đang mở
lên lịch chiếu phim
Post-Condition Quản lý chọn được 1 phim, 1 khung giờ và 1 phòng chiếu để lên lịch
chiếu.
Manager1
+ Mật
khẩu:
1234
Rồi click đăng nhập
4. Hệ thống hiển thị giao diện quản lý: có lên lịch chiếu
phim.
5. Quản lý click lên lịch chiếu phim:
6. Giao diện lên lịch chiếu phim hiện lên gồm:
- Các trường danh sách có sẵn: Phim, Khung giờ,
Phòng chiếu khả dụng.
- Ô nhập giá vé
- Nút submit.
7. Quản lý chọn phim: Mùa cỏ cháy, Khung giờ: 21-
22h30, Phòng chiếu: 301. Giá vé: 70000 và bấm submit.
8. Hệ thống thông báo thêm suất chiếu thành công và lưu
vào CSDL.
9. Quản lý click ok ở thông báo.
10. Hệ thống điều hướng làm mới lại giao diện thêm suất
chiếu.
Pre-condition Nhân viên có tài khoản thành viên được phân quyền nhân viên bán vé +
khách hàng yêu cầu mua vé
Post- Khách hàng chọn được 1 phim, một khung giờ chiếu và ghế.
Condition
Main Event 1. Đến ca làm nhân viên A click đăng nhập trên giao diện chính vào
tài khoản của mình vào hệ thống.
2. Hệ thống hiển thị giao diện đăng nhập gồm: Trường nhập tài
khoản, trường nhập mật khẩu và nút đăng nhập.
3. Nhân viên A nhập:
- Tài khoản: NVA
- Mật khẩu: abc
Rồi click đăng nhập
4. Hệ thống hiển thị giao diện nhân viên có nút bán vé, nút đăng xuất.
5. Khách hàng B yêu cầu nhân viên bán vé.
6. Nhân viên A click bán vé.
7. Hệ thống hiển thị giao diện danh sách phim đang chiếu:
STT Tên phim Quốc Thể loại Thời lượng
gia
1 No way Mỹ Siêu anh 120 phút
home hùng
2 Time skip Mỹ Khoa học 123 phút
viễn tưởng
3 Mùa cỏ Việt Lịch sử 139 phút
cháy Nam
B-1 2 3 4 5 6 7
C-1 2 3 4 5 6 7
16. Nhân viên A hỏi lựa chọn của khách hàng.
17. Khách hàng B chọn ghế B-4.
18. Nhân viên A chọn ghế theo yêu cầu rồi click tiếp theo.
19. Hệ thống hiển thị giao diện chọn đồ ăn.
20. Nhân viên A hỏi khách hàng B lựa chọn đồ ăn.
21. Khách hàng B lựa chọn 1 bỏng với giá 20000đ.
22. Nhân viên A chọn bỏng với số lượng là 1 rồi click tiếp theo.
23. Hệ thống hiển thị giao diện hóa đơn gồm:
- Số lượng vé: 1.
- Tên phim: No way home.
- Phòng chiếu: 301-A.
- Thời gian: 14h : 16h.
- Giá tiền mõi vé: 70000đ
- 1 bỏng: 20000đ.
- Tổng tiền: 90000đ
nút in hóa đơn/vé.
24. Nhân viên A thông báo, yêu cầu thanh toán từ khách hàng.
25. Khách hàng B thanh toán tiền.
III. Trí
26. Nhân viên A nhận tiền và click in hóa đơn vé.
27. Hệ thống in hóa đơn/ vé và lưu vào CSDL, cập nhật lại trạng thái
ch
ghế.
lớp
28. Nhân viên A giao vé và hóa đơn cho khách hàng B.
thực thể:
a. Mô tả: Theo kịch bản bản chuẩn + Ngoại lệ của 3 modul Quản lý thông tin phim, Lên
lịch chiếu phim, Bán vé tại quầy cho khách ta trích xuất được danh từ.
c. Đánh giá và lựa chọn các danh từ làm lớp thực thể hoặc thuộc tính
o Các danh từ trừu tượng: hệ thống => loại bỏ.
o Các danh từ liên quan đến thông tin:
+ Phim -> Lớp Phim: Tên phim, quốc gia, thể loại, thời lượng, trạng thái.
+ Suất chiếu -> Lớp Suatchieu: Tên suất chiếu, giá, khung giờ chiếu.
+ Hóa đơn -> lớp Hoadontong: tổng tiền.
+ Vé -> lớp Ve: Thời gian mua, tên ghế, tên phòng.
+ Khung giờ chiếu -> Khunggiochieu: thời gian bắt đầu, thời gian kết thúc.
+ Thẻ tích điềm -> Mã thẻ, số điểm.
o Các danh từ liên quan đến vật:
+ Rạp -> lớp Rap: tên, địa chỉ
+ Phòng chiếu -> lớp Phongchieu: tên, số ghế.
+ Chỗ ngồi -> lớp Ghe: tên ghế, trạng thái.
+ Đồ ăn -> lớp DoAn: Tên, giá.
o Các danh từ liên quan đến người:
+ Thành viên -> Thanhvien (trừu tượng): tài khoản, mật khẩu, họ tên, địa chỉ, số điện
thoại.
+ Nhân viên -> lớp NhanVien: Kế thừa lớp Thành viên, vị trí.
+ Quản lý -> lớp Quanly: Kế thừa lớp Nhân viên.
+ Nhân viên bán vé -> lớp Nhanvienbanve: kế thừa lớp Nhân viên.
d. Xác định quan hệ số lượng giữa các thực thể:
o Rạp có nhiều phòng chiếu -> Quan hệ giữa Rap và Phongchieu là 1-n
o Một phim có thể có nhiều suất chiếu -> Quan hệ giữa Phim và Suatchieu là 1-n.
o Một phòng chiếu có thể có nhiều suất chiếu trong các thời điểm -> Quan hệ giữa
Phongchieu và Suatchieu là 1-n.
o Suất chiếu có thể có nhiều vé -> Quan hệ giữa suất chiếu và vé là 1-n.
o Một hóa đơn có nhiều đồ ăn -> quan hệ giữa hóa đơn và đồ ăn là 1-n.
o Một phòng chiếu có nhiều ghế -> Quan hệ giữa phòng chiếu và ghế là 1-n.
o Quan hệ giữa Hóa đơn tổng và đồ ăn là quan hệ n-n -> Đề xuất lớp Doanchon.
o Họ tên, địa chỉ tách thành lớp thực thể riêng.
- Xác định quan hệ đối tượng giữa các thực thể:
+ Phòng chiếu là thành phần của Rạp.
+ Ghế là thành phần của phòng chiếu.
+ Phim và phòng chiếu là thành phần của Suất chiếu.
+ Đồ ăn là thành phần của hóa đơn tổng.
+ Thông tin nhân viên bán vé nằm trong hóa đơn bán vé.
+ Họ tên nằm trong thông tin thành viên.
+ Quản lý và nhân viên bán vé kế thừa lớp nhân viên.
+ Nhân viên kế thừa thành viên.
+ Phòng chiếu là thành phần của suất
chiếu.
+ Suất chiếu là thành phần của vé.
Kết quả thu được hệ thống như sau:
IV. Biểu đồ trạng thái:
a. Modul quản lý thông tin phim:
- Từ giao diện chính chọn chức năng quản lý sẽ chuyển sang giao diện đăng nhập.
- Từ giao diện đăng nhập nhập tài khoản mật khẩu chọn đăng nhập:
+ Nếu thành công sẽ chuyển sang giao diện chính quản lý.
+ Nếu thất bại sẽ hiện thị thông báo sai tài khoản hoặc mật khẩu, Click ok sẽ chuyển vể trang
đăng nhập.
- Từ giao diện chính quản lý nếu chọn quản lý thông tin phim sẽ chuyển sang giao diện quản lý
thông tin phim.
- Từ giao diện quản lý thông tin phim nếu chọn sửa thông tin phim sẽ chuyển sang giao diện
tìm kiếm phim.
- Từ giao diện quản lý phim click chọn một phim sẽ chuyển sang giao diện sửa thông tin
phim.
- Từ giao diện sửa thông tin phim nếu chọn lưu sẽ hiện thông báo thành công.
- Chọn ok từ thông báo thành công hệ thống sẽ cập nhật thông tin phim và kết thúc.
b. Modul lên lịch chiếu phim.
- Từ giao diện chính chọn chức năng quản lý sẽ chuyển sang giao diện đăng nhập.
- Từ giao diện đăng nhập nhập tài khoản mật khẩu chọn đăng nhập:
+ Nếu thành công sẽ chuyển sang giao diện chính quản lý.
+ Nếu thất bại sẽ hiện thị thông báo sai tài khoản hoặc mật khẩu. Click ok sẽ chuyển vể trang
đăng nhập.
- Từ giao diện chính quản lý nếu chọn lên lịch chiếu phim sẽ chuyển sang giao diện lên lịch
chiếu phim.
- Quản lý chọn các thông tin suất chiếu rồi chọn lưu:
+ Thành công sẽ hiện thông báo thành công, chọn ok hệ thống sẽ lưu và kết thúc.
+ Thất bại thông báo trùng khung giờ/phòng, chọn ok sẽ chuyển lại giao diện lên lịch chiếu.
- Nhập tên đăng nhập - mật khẩu -> hệ thống phải kiểm tra -> cần phương thức:
- Bước 2: Giao diện chính quản lý -> Đề xuất lớp biên GDChinhQL cần:
+ Chọn quản lý phim: kiểu submit.
- Bước 3: Giao diện quản lý phim -> Đề xuất lớp GDQuanlyphim cần:
+ Chọn sửa phim: kiểu submit.
- Bước 4: Chọn sửa phim giao diện tìm kiếm hiện ra -> Đề xuất lớp: GDPhim gồm:
+ Một input nhập từ khóa: kiểu input.
+ Một nút tìm kiếm: kiểu submit.
+ Một bảng danh sách tìm kiếm: outsubDSPhim.
- Nhập từ khóa click tìm kiếm -> Cần tìm kiếm theo từ khóa cần phương thức:
+ tên phương thức: timPhim().
+ input: từ khóa nhập.
+ output: Danh sách phim.
+ gán cho lớp: Phim.
- Danh sách phim hiện ra trong GDPhim.
- Click vào phim cần sửa -> GD sửa phim hiện ra -> Đề xuất lớp: GDSuaphim:
+ Tên phim: Đọc và sửa -> inoutTen.
+ Quốc gia: Đọc và sửa -> inoutQuocgia.
+ Thể loại: Đọc và sửa -> inoutTheloai.
+ Thời lượng: Đọc và sửa -> inuotThoiluong.
+ Trạng thái: Đọc và sửa -> inoutTrangthai.
+ Nút lưu: kiểu submit -> subLuu.
- Sau khi nhấn nút lưu-> Cần cần phương thức:
+ tên phương thức: capnhatPhim().
+ input: Đối tượng phim.
+ gán cho lớp: Phim.
- Hệ thống điều hướng lại trang GDQuanlyphim
b. Phân tích tĩnh modul lên lịch chiếu phim:
- Ban đầu: giao diện đăng nhập -> Đề xuất lớp biên GDDangnhap cần:
+ Nhập tên tài khoản: Kiểu input.
+ Nhập mật khẩu: Kiểu input.
+ Đăng nhập: kiểu submit.
- Nhập tên đăng nhập - mật khẩu -> hệ thống phải kiểm tra -> cần phương thức:
- Bước 2: Giao diện chính quản lý -> Đề xuất lớp biên GDChinhQL cần:
+ Chọn lên lịch chiếu: kiểu submit
- Bước 3: Giao diện lên lịch chiếu hiện lên -> Đề xuất lớp biên GDLenlichchieu gồm:
+ Danh sách chọn phim: outsubDSphim.
+ Danh sách chọn phòng chiếu: outsubDSphong.
+ Nhập khung giờ: inKhunggio.
+ Nhập giá: inGiatien.
+ Nút lưu: kiểu submit -> subLuu.
- Để lên lịch chiếu cần lấy danh sách những phim đang chiếu -> đề xuất phương thức:
+ tên phương thức getPhim().
+ output: Danh sách phim: danh sách phim.
+ gán cho lớp Phim.
- Để lên lịch chiếu cần lấy danh sách để chọn phòng chiếu -> đề xuất phương thức:
- Cần lấy danh sách khung giờ của các suất chiếu -> Đề xuất phương thức:
+ Tên phương thức: getKhunggiochieu();
+ Output: danh sách khung giờ chiếu.
+ Gán cho lớp Suatchieu.
- Cần chọn ghế cho khách hàng -> đề xuất lớp biên GDChonghe:
+ danh sách chọn ghế outsubDSghe.
+ Tiếp theo: kiểu submit.
+ Quay lại: kiểu submit.
1. Biểu đồ hoạt
XI. Thiết kế biểu đồ tuần tự:
a. Modul quản lý thông tin phim:
1. Quản lý đăng nhập tài khoản mật khẩu chọn đăng nhập
2. Lớp login.jsp gọi dologin.jsp để xử lý kiểm tra đăng nhập.
3. Lớp dologin gọi MemberDAO
4. Lớp MemberDAO đóng gói một member.
5. MemberDAO trả về đối tượng cho dologin.jsp.
6. Lớp dologin.jsp gọi lớp MemberDAO để check login.
7. Lớp MemberDAO gọi hàm CheckLogin().
8. Lớp MemberDAO gọi lớp Member.
9. Lớp Member thực hiện Setname()/ Setposition().
10. MemberDAO trả về đối tượng member cho dologin.jsp.
11. Lớp dologin.jsp gọi lớp Manager.jsp.
12. Lớp Manager.jsp show cho quản lý.
13. Quản lý click edit phim.
14. Trang Manager.jsp gọi lớp SearchFilm.jsp.
15. Trang SearchFilm.jsp hiển thị cho quản lý.
16. Quản lý nhập từ khóa và click tìm.
17. Trang SearchFilm.jsp gọi lớp doSearch.jsp.
18. Trang doSearch.jsp gọi lớp FilmDAO để tìm kiếm phim.
19. Lớp FilmDAO thực hiện hàm Searchbyname().
20. Hàm Searchbyname() gọi lớp Film để đóng gói.
21. Lớp Film thực hiện đóng gói.
22. Lớp Film trả lại kết quả cho FilmDAO.jsp.
23. Lớp FilmDAO.jsp trả lại kết quả mảng film cho lớp doSearch.jsp.
24. Lớp doSearch.jsp trả lại danh sách cho lớp SearchFilm.jsp.
25. Trang SearchFilm.jsp hiển thị danh sách cho quản lý.
26. Quản lý chọn 1 phim.
27. Lớp SearchFilm.jsp gọi lớp Edit.jsp.
28. Trang Edit.jsp hiển thị cho quản lý.
29. Quản lý sửa một số trường rồi chọn lưu.
30. Trang Edit.jsp gọi lớp Film để set lại thông tin.
31. Lớp Film thực hiện setFilm().
32. Trả lại kết quả cho Film.jsp.
33. Film.jsp gọi SaveChange.jsp.
34. Lớp SaveChange.jsp thực hiện hàm SaveChange() để cập nhật.
35. Trả về kết quả thành công.
36. Trang Edit.jsp hiển thị cho quản lý.
b. Modul lên lịch chiếu phim:
1. Quản lý chọn lên lịch chiếu phim ở giao diện quản lý.
2. Trang Manager.jsp gọi lớp SetShowtime.jsp.
3. Lớp SetShowtime.jsp gọi lớp FilmDAO để lấy danh sách phim.
4. Lớp FilmDAO thực hiện hàm getFilm().
5. Hàm gọi lớp Film để đóng gói dữ liệu trả về.
6. Lớp film thực hiện đóng gói.
7. Lớp Film trả về danh sách cho lớp filmDAO.
8. Lớp FilmDAO trả về kết quả cho SetShowtime.jsp.
9. Trang SetShowtime.jsp gọi lớp roomDAO.
10. Lớp roomDAO thực hiện hàm getRoom().
11. Hàm getRoom gọi lớp Room.
12. Lơp Room đóng gói kết quả.
13. Lớp Room trả về danh sách cho lớp roomDAO.
14. Lớp roomDAO trả về kết quả cho lớp SetShowtime.jsp.
15. Trang SetShowtime.jsp hiển thị các danh sách chọn và ô nhập cho quản lý.
16. Quản lý chọn phim, chọn phòng, nhập giá vé, nhập khung giờ rồi chọn lưu.
17. Lớp SetShowtime.jsp gọi lớp doSave.jsp để lưu suất chiếu.
18. Lớp doSave.jsp gọi lớp Showtime để tạo một đối tượng.
19. Lớp Showtime tạo một đối tượng.
20. Lớp Showtime trả về đối tượng cho doSave.jsp.
21. Lớp doSave.jsp gọi lớp TicketDAO.
22. Lớp TicketDAO thực hiện hàm SetPrice.
23. Hàm SetPrice() gọi lớp Ticket.
24. Lớp Ticket thực hiện đóng gói.
25. Lớp Ticket trả về đối tượng cho lớp TicketDAO.
26. Lớp Ticket DAO trả về cho lớp doSave.jsp.
27. Lớp doSave.jsp gọi lớp showtimeDAO.
28. Lớp showtimeDAO thực hiện hàm Save() lưu suất chiếu.
29. Trả về thành công cho lớp doSave.jsp.
30. Lớp doSave.jsp trả về kết quả thành công cho SetShowtime.jsp.
31. Lớp SetShowtime.jsp hiển thị thành công cho quản lý.
- Kịch bản:
1. Khách hàng yêu cầu bán vé với nhân viên.
2. Nhân viên bán vé click bán vé.
3. Trang Saller.jsp gọi chooseFilm.jsp.
4. Trang chooseFilm.jsp gọi lớp ShowtimeDAO để lấy danh sách các phim của các
Showtime.
5. ShowtimeDAO thực hiên getNameFilm().
6. Hàm getNameFilm() gọi lớp Showtime để đóng gói.
7. Lớp Showtime thực hiện đóng gói.
8. Showtime trả về đối tượng cho ShowtimeDAO.
9. Lớp ShowtimeDAO trả về danh sách cho chooseFilm.jsp.
10. Trang chooseFilm.jsp hiển thị cho nhân viên bán vé.
11. Nhân viên hỏi lựa chọn của khách hàng.
12. Khách hàng lựa chọn phim.
13. Nhân viên click phim khách hàng chọn.
14. Trang chooseFilm.jsp gọi lớp chooseTimeslot.jsp.
15. ChooseTimeslot.jsp gọi ShowtimeDAO.
16. Lớp ShowtimeDAO gọi hàm getShowtimebyFilm().
17. LỚp ShowtimeDAO gọi lớp Showtime.
18. Lớp Showtime thực hiện đóng gói.
19. Lớp Showtime trả về danh sách cho ShowtimeDAO.
20. Lớp ShowtimeDAO trả về kết quả cho ChooseTimeslot.jsp.
21. Trang ChooseTimeslot.jsp hiển thị cho nhân viên bán vé.
22. Nhân viên hỏi khách hàng lựa chọn.
23. Khách hàng lựa chọn khung giờ.
24. Nhân viên lựa chọn theo yêu cầu rồi chọn next.
25. Trang ChooseTimeslot.jsp gọi lớp doChooseTimeslot.jsp để lưu lựa chọn.
26. Lớp doChooseTimeslot.jsp gọi lớp Choosechair.jsp.
27. Lớp Choosechair.jsp gọi lớp ChairDAO.
28. Lớp ChairDAO gọi hàm getChair().
29. Lớp ChairDAO gọi lớp Chair để đóng gói dữ liệu.
30. Lớp Chair thực hiện khởi tạo.
31. Lớp Chair trả về đối tượng cho ChairDAO.
32. ChairDAO trả về danh sách cho Trang ChooseChair.jsp.
33. Trang ChooseChair.jsp hiển thị cho nhân viên.
34. Nhân viên hỏi lựa chọn khách hàng.
35. Khách hàng lựa chọn.
36. Nhân viên lựa chọn theo yêu cầu của khách hàng rồi chọn next.
37. Trang ChooseChair.jsp gọi doChooseChair.jsp để lưu dữ liệu chọn.
38. doChooseChair.jsp gọi Trang Food.jsp.
39. Trang Food.jsp gọi FoodDAO.
40. FoodDAO gọi hàm getFood().
41. Trang Food.jsp gọi lớp Food.
42. Lớp Food khởi tạo.
43. Lớp Food trả về đối tượng cho FoodDAO.
44. Lớp FoodDAo trả về danh sách đồ ăn cho Trang Food.jsp.
45. Trang Food.jsp hiển thị cho nhân viên.
46. Nhân viên hỏi lựa chọn của khách hàng.
47. Khách hàng lựa chọn đồ ăn.
48. Nhân viên chọn theo yêu cầu khách hàng rồi chọn next.
49. Trang Food.jsp gọi trang Bill.jsp.
50. trang Bill.jsp gọi lớp BillDAO.
51. Lớp Bill thực hiện khởi tạo.
52. Lớp Bill trả về đối tượng cho BillDAO.
53. Lớp BillDAO thực hiện hàm CreateBill().
54. hàm CreateBill() gọi lớp Bill để tạo bill
55. Lơp BillDAO trả về bill cho trang Bill.jsp.
56. trang Bill.jsp hiển thị cho nhân viên.
57. Nhân viên thông báo hóa đơn cho khách.
58. Khách hàng thanh toán tiền.
59. Nhân viên click in vé và hóa đơn.
60. trang Bill.jsp gọi Lớp BillDAO.
61. Lớp BillDAO thực hiện phương thức printBill().
62. Lớp BillDAO trả về thông báo thành công.
63. trang Bill.jsp hiển thị thông báo.
64. Nhân viên giao vé và hóa đơn cho khách hàng.
XII. Thiết kế triển khai:
- Các lớp thực thể đặt chung trong gói model
- Các lớp DAO đặt chung trong gói dao.
- Các trang jsp để trong gói view. Gói view được chia nhỏ thành các gói nhỏ hơn tương ứng
với các giao diện cho các người dùng khác nhau: