You are on page 1of 45

BÁO CÁO ĐỊNH KỲ

Môn phân tích & thiết kế hướng đối tượng

Đề tài: Ứng dụng di động bán vé xem phim trực tuyến

Nhóm 6:

Nguyễn Mạnh Tùng 20193182

Phạm Chính Hiệp 20192839

Đinh Công Bình 20192711

Nguyễn Danh Đức 20192779

Lương Gia Khánh Thiện 20193122

GVHD: Nguyễn Thanh Bình


Mục Lục
Chương 1. Lập kế hoạch................................................................................................................................ 6

1.1 Đặt vấn đề ......................................................................................................................................... 6

1.2 Yêu cầu hệ thống .............................................................................................................................. 6

1.2.1 Tính cấp thiết ........................................................................................................................................... 6

1.2.2 Kỳ vọng ..................................................................................................................................................... 7

Các vấn đề đặc biệt: ........................................................................................................................................... 7

1.3 Phân tích tính khả thi ........................................................................................................................ 7

1.3.1 Khả thi về mặt kỹ thuật .......................................................................................................................... 7

1.3.2 Khả thi về mặt kinh tế ............................................................................................................................. 8

1.4 Khả thi về tổ chức ........................................................................................................................... 11

1.5 Xây dựng kế hoạch phát triển hệ thống ......................................................................................... 12

Chương 2. Phân tích.................................................................................................................................... 13

1.6 Xác định rõ yêu cầu ......................................................................................................................... 13

2.1.1 Xác định cơ cấu tổ chức của rạp chiếu phim .......................................................................................... 13

2.1.2 Thu thập yêu cầu ..................................................................................................................................... 14

2.1.3 Phân tích yêu cầu chức năng của hệ thống ............................................................................................ 16

2.1.4 Phân tích yêu cầu phi chức năng của hệ thống ...................................................................................... 17

1.7 Mô hình hoá chức năng .................................................................................................................. 18

1.7.1 Sơ đồ hoạt động.................................................................................................................................. 18

2.2.2 Sơ đồ kịch bản sử dụng ........................................................................................................................... 20

2.2.3 Mô tả các kịch bản sử dụng .................................................................................................................... 22

Use case ID: UC-1.5 .......................................................................................................................................... 27

2
1.8 Mô hình hoá cấu trúc ...................................................................................................................... 28

2.3.1 Hồ sơ liên quan ....................................................................................................................................... 28

2.3.2 Từ điển dữ liệu ........................................................................................................................................ 28

1.9 Xây dựng CRC ( Class-Responsibility–Collaboration card) .............................................................. 30

1.10 Class Diagram .................................................................................................................................. 33

1.11 Object Diagram ............................................................................................................................... 34

1.12 Bảng ánh xạ use case – class ........................................................................................................... 35

1.13 Mô tả associations: Ý nghĩa, lớp association .................................................................................. 41

1.14 Sequence diagram........................................................................................................................... 45

3
Danh mục hình ảnh
Hình 1. Đồ thị điểm hòa vốn ............................................................................................. 11

Hình 2. Biểu đồ PERT ....................................................................................................... 12

Hình 3. Biểu đồ Gantt ........................................................................................................ 12

Hình 4. Cơ cấu tổ chức của rạp chiếu phim ...................................................................... 13

Hình 5. Sơ đồ hoạt động của admin .................................................................................. 18

Hình 6. Sơ đồ hoạt động của user ...................................................................................... 19

Hình 7. Sơ đồ kịch bản đăng nhập đăng ký ....................................................................... 20

Hình 8. Sơ đồ đặt phim và thanh toán ............................................................................... 20

Hình 9. Sơ đồ quản lý phòng chiếu, phim, lịch chiếu ....................................................... 21

Hình 10. Sơ đồ quản lý quyền và tài khoản....................................................................... 22

Hình 11. Bảng CRC của tài khoản..................................................................................... 30

Hình 12. Bảng CRC phân quyền ....................................................................................... 30

Hình 13. Bảng CRC user – role ......................................................................................... 31

Hình 14. Bảng CRC của phim ........................................................................................... 31

Hình 15. Bảng CRC của phòng chiếu ............................................................................... 31

Hình 16. Bảng CRC của lịch chiếu ................................................................................... 31

Hình 17. Bảng CRC của vé ............................................................................................... 32

Hình 18. Biểu đồ lớp ......................................................................................................... 33

Hình 19. Object Diagram................................................................................................... 34

Hình 20. Quan hệ giữa Use và Role .................................................................................. 41

Hình 21. Quan hệ giữa User và Ticket .............................................................................. 42

Hình 22. Quan hệ giữa Ticket và Showtime...................................................................... 42


4
Hình 23. Quan hệ giữa Showtime và Movie ..................................................................... 43

Hình 24. Quan hệ giữa Showtime và Room ...................................................................... 44

Hình 25. Sequence diagram của admin ............................................................................. 45

Hình 26. Sequence Diagram của user................................................................................ 45

5
Chương 1. Lập kế hoạch
1.1 Đặt vấn đề

Đối với thị trường phim chiếu rạp tại Việt Nam nói riêng, thói quen đi xem phim
ngoài rạp là một trong những thú vui giải trí được nhiều người yêu thích, đặc biệt là giới
trẻ. Tuy nhiên, khi trực tiếp mua vé tại rạp, khách hàng sẽ khó tránh khỏi việc phải mất
thời gian xếp hàng lấy vé cũng như mất công đi lại. Trong thời đại công nghệ hiện nay,
điện thoại di động đã trở thành một phần không thể thiếu trong cuộc sống của mọi người.
Việc sử dụng điện thoại để đặt vé xem phim đã trở nên rất phổ biến và tiện lợi. Với sự
phát triển của các ứng dụng di động, việc xây dựng một ứng dụng đặt vé xem phim trên
điện thoại là một giải pháp tối ưu để đáp ứng nhu cầu của khách hàng. Ứng dụng này
giúp cho khách hàng có thể dễ dàng tra cứu thông tin về các bộ phim đang chiếu và lịch
chiếu tại các rạp chiếu phim, chọn ghế ngồi và thanh toán trực tuyến một cách thuận tiện.
Bên cạnh đó, việc xây dựng một ứng dụng đặt vé phim trên điện thoại cũng giúp các rạp
chiếu phim và nhà sản xuất phim có thể quản lý thông tin về phim và rạp chiếu phim một
cách dễ dàng và hiệu quả hơn, từ đó tối ưu hóa quy trình kinh doanh và tạo ra trải nghiệm
tốt nhất cho khách hàng. Do đó, việc xây dựng ứng dụng đặt vé xem phim trên điện thoại
là một giải pháp cần thiết và hữu ích cho việc phát triển thị trường phim hiện nay.

Để giải quyết vấn đề này, nhiều doanh nghiệp cung cấp dịch vụ phòng vé xem phim
đã lựa chọn giải pháp thiết kế app. Điều này sẽ giúp khách hàng dễ dàng tiếp cận thông
tin về vé xem phim cùng với lịch trình và chỗ ngồi có sẵn.

Hơn nữa, các ứng dụng rạp chiếu phim là công cụ giúp quá trình đặt và mua vé trở
nên thoải mái hơn bao giờ hết. Khi người dùng thấy thoải mái với trải nghiệm mua sắm
trên ứng dụng, doanh nghiệp sẽ thu hút một lượng lớn khách hàng thường xuyên sử dụng
dịch vụ.

1.2 Yêu cầu hệ thống


1.2.1 Tính cấp thiết

Trong cuộc sống hiện nay, nhu cầu xem phim ở rạp hiện trở thành một hình thức
giải trí không thể thiếu với các lứa tuổi khác nhau đặc biệt là giới trẻ. Do vậy tình trạng các
rạp chiếu phim vào những dịp cuối tuần, lễ tết,... luôn trong tình trạng xếp hàng dài mới có
thể mua vé xem phim. Vậy nên app đặt vé xem phim online giải quyết tình trạng xếp hàng
dài ở các rạp chiếu phim, giúp khách hàng có thể đặt vé trước ở nhà lựa chọn phim, giờ
xem phim, mua ghế tùy thích.

6
1.2.2 Kỳ vọng

• Giúp giải quyết tình trạng xếp hàng tại các rạp chiếu phim, hỗ trợ nhân viên tránh sai
sót trong việc bán hàng và thanh toán. Tăng khả năng phục vụ ( số lượng, chất lượng).
• Giúp quản lý nắm bắt thông tin kinh doanh của rạp chiếu phim từ đó đưa ra chiến lược
kinh doanh hợp lý.

Các vấn đề đặc biệt: Đây được coi là một hệ thống chiến lược và hỗ trợ các hoạt động
mua bán sản phẩm online trong tương lai.

1.3 Phân tích tính khả thi


1.3.1 Khả thi về mặt kỹ thuật

1(1) Mức độ quen thuộc của ứng dụng

• Đối với người phân tích dự án: Do đã quen thuộc với các hệ thống cũ nên dự án này
khá quen thuộc.

• Đối với người dùng: Trong thời buổi số hóa, với nhu cầu “ngon - bổ - rẻ”, mong muốn
được áp dụng các ưu đãi, do đó người dùng khá quen thuộc, dễ tiếp cận với các hệ thống
mua sắm, thanh toán trực tuyến.

1(2) Mức độ quen thuộc về mặt công nghệ

• Ứng dụng được viết bằng ngôn ngữ JAVA chạy trên nền tảng Adroid do đó khá quen
thuộc với đội ngũ lập trình viên.
• Cộng động lập trình tại Việt Nam, các tools hỗ trợ tương đối lớn tạo điều kiện tham
khảo và học hỏi.

1(3) Quy mô dự án

• Số lượng người tham gia dự án là 5 người.


• Dự án thuộc dạng phạm vi nhỏ, thời gian hoàn thành khoảng 4 – 5 tháng.

1(4) Tính tương thích

• Do nhóm xây dựng một hệ thống bán vé xem phim mới nên vấn đề tương thích với các
hệ thống cũ không quan trọng, có thể bỏ qua.

7
1.3.2 Khả thi về mặt kinh tế

1(5) Xác định chi phí và lợi nhuận

Chi phí phát triển Chi phí hoạt động

- Thiết kế hệ thống ứng dụng - Chi phí thuê máy chủ


- Chi phí thiết bị văn phòng - Chi phí vận hành và bảo trì app

Lợi ích hữu hình Lợi ích vô hình


- Thương hiệu được quảng bá
- Doanh thu tăng - Dịch vụ khách hàng được cải thiện

1(6) Tính toán chi phí và lợi nhuận (đơn vị: VNĐ)

Lợi nhuận (theo năm)

- Doanh thu tăng: 500.000.000

Chi phí phát triển (theo năm)

- Thiết kế hệ thống: 115.000.000


- Chi phí thiết bị văn phòng (điện, nước, máy tính,...): 80.000.000

Tổng chi phí phát triển: 195.000.000

Chi phí vận hành (theo năm)

- Chi phí thuê máy chủ: 105.000.000


- Chi phí đưa app lên chợ ứng dụng: 800.000
- Chi phí văn phòng: 30.000.000
- Chi phí vận hành và quản trị app: 480.000.000

Tổng chi phí vận hành: 615.800.000

Tổng chi phí: 810.800.000


8
1(7) Tính toán lưu chuyển tiền tệ (đơn vị triệu VNĐ)

- Tỷ lệ lạm phát là 5%/năm

2023 2024 2025 2026 2027 Tổng

Doanh thu tăng 500.0 615.0 850.0 1115.0 1480.0

Total Benefits 500.0 615.0 850.0 1115.0 1480.0

PV of benefits 476.1905 557.8231 734.262 917.3133 1159.619 3845.208

PV of all benefits 476.1905 1034.014 1768.276 2685.589 3845.208

Chi phí thiết kế hệ 115.0 0 0 0 0


thống

Chi phí thiết bị văn 80.0 0 0 0 0


phòng

Total Development 195.0 0 0 0 0


Costs

Chi phí thuê máy chủ 105.0 105.0 105.0 105.0 105.0

Chi phí đưa app lên 0.8 0.8 0.8 0.8 0.8
chợ ứng dụng

Chi phí văn phòng 30.0 35.5 35.5 35.5 35.5

Chi phí vận hành và 480.0 500.0 520.0 530.0 530.0


bảo trì

Total Operational
Costs 615.8 641.3 661.3 671.3 671.3

Total costs 810.8 641.3 661.3 671.3 671.3

PV of costs 772.1905 581.678 571.2558 552.2802 525.9811 3003.386

PV of all costs 772.1905 1353.868 1925.124 2477.404 3003.386

9
Total Project
Benefits -
Cost (310.8) (26.3) 188.7 443.7 808.7

Yearly NPV (296) (23.8549) 163.0062 365.0331 633.6379 841.822

Cumulative NPV (296) (319.855) (156.849) 208.1844 841.8223

- Tỷ lệ hoàn vốn (ROI):

ROI =
 ( Benefits− Costs)
 Costs
3845.208 − 3003.386
ROI = = 28.0291%
3003.386

- Điểm hoàn vốn (BEP):

YearlyNPV* −  NPV
BEP = *
+ Year*
YearlyNPV
365.0331 − 208.1844
BEP = = 0.429683
365.0331
Điểm hòa vốn nằm ở năm thứ 3. Như vậy, sau khoảng 2.43 năm sẽ đạt điểm vốn (tức
tháng 5/2025)

10
Hình 1. Đồ thị điểm hòa vốn
1.4 Khả thi về tổ chức
- Từ góc độ tổ chức, dự án có rủi ro chậm:
• Mục tiêu của hệ thống (tăng doanh số) phù hợp tốt với mục tiêu tăng doanh số
của quản lý cấp cao.
• Việc chuyển sang sử dụng app cũng phù hợp với mục tiêu của Tiếp thị là hiểu
rõ hơn về tiếp thị và bán hàng trên nền tảng số.

- Người sử dụng hệ thống:


• Khách hàng được kỳ vọng sẽ đánh giá cao những lợi ích của hệ thống app.
• Dịch vụ, trải nghiệm khách hàng được nâng cao bởi sẽ không mất thời gian
chờ mua vé, đi lại,... và được áp dụng phiếu giảm giá.

11
1.5 Xây dựng kế hoạch phát triển hệ thống

Hình 2. Biểu đồ PERT

Hình 3. Biểu đồ Gantt

12
Chương 2. Phân tích
1.6 Xác định rõ yêu cầu
2.1.1 Xác định cơ cấu tổ chức của rạp chiếu phim
Cơ cấu tổ chức của một hệ thống rạp chiếu phim bao gồm các thành phần dưới
đây:

Hình 4. Cơ cấu tổ chức của rạp chiếu phim

Vai trò các bộ phận trong hệ thống rạp chiếu phim:

- Ban quản lý : Bộ phận này chịu trách nhiệm về việc quản lý nhân sự của rạp, quản
lý và giám sát việc cung cấp dịch vụ cho khách hàng.
- Phòng vé: Đây là bộ phận quản lý bán vé cho khán giả. Nhân viên của phòng vé
phải có kiến thức về các phim đang chiếu, giá vé và lịch chiếu để có thể tư vấn cho
khách hàng.
- Bộ phận kỹ thuật: Đây là bộ phận đảm bảo hoạt động của hệ thống chiếu phim được
diễn ra thuận lợi. Bộ phận này bao gồm các kỹ sư âm thanh, kỹ sư chiếu sáng, kỹ
thuật viên máy chiếu và kỹ thuật viên hệ thống âm thanh.
- Bộ phận quản lý phim: Đây là bộ phận quản lý các phim được chiếu tại rạp. Bộ phận
này phải có kiến thức về các phim đang chiếu, quản lý lịch chiếu.
- Nhân viên: Đây là nhân viên bán hàng và phục vụ khách hàng trong rạp chiếu phim,
bao gồm nhân viên bán hàng đồ ăn uống.

13
Với cơ cấu tổ chức chặt chẽ và chuyên nghiệp, hệ thống rạp chiếu phim sẽ có khả năng
cung cấp các dịch vụ tốt nhất cho khách hàng.

Quy trình nghiệp vụ:

- Tiếp nhận yêu cầu mua vé: Khách hàng có thể mua vé trực tuyến thông qua ứng
dụng di động của rạp chiếu phim hoặc đến quầy vé trực tiếp tại rạp. Nhân viên rạp
tiếp nhận yêu cầu mua vé từ khách hàng.

- Xác định yêu cầu của khách hàng: Nhân viên rạp hỏi khách hàng về thông tin như
bộ phim muốn xem, suất chiếu, số lượng vé cần mua, vị trí ghế ngồi.

- Cung cấp thông tin về suất chiếu và ghế ngồi: Nhân viên rạp cung cấp cho khách
hàng thông tin về suất chiếu cụ thể, thời gian, phòng chiếu và sự lựa chọn về ghế
ngồi.

- Tính giá vé: Dựa trên thông tin về loại vé, suất chiếu và các yêu cầu của khách hàng,
nhân viên rạp tính toán giá vé và thông báo cho khách hàng.

- Thanh toán: Khách hàng tiến hành thanh toán vé bằng các phương thức thanh toán
chấp nhận như tiền mặt, thẻ tín dụng, thẻ ghi nợ hoặc ví điện tử. Nhân viên rạp xác
nhận thanh toán và cung cấp vé cho khách hàng.

- Cung cấp vé: Nhân viên rạp cung cấp vé cho khách hàng, bao gồm thông tin về suất
chiếu, phòng chiếu, thời gian và số ghế ngồi.

2.1.2 Thu thập yêu cầu


Đối
Câu hỏi Câu trả lời
tượng
Anh/chị đã từng quản lý một ứng dụng di động Tôi chưa từng quản lý ứng dụng di
trước đây chưa? động trước đây
Những yếu tố quan trọng nhất để
quản lý ứng dụng di động bao
Các yếu tố nào anh/chị cho là quan trọng nhất gồm: thiết kế giao diện, nội dung,
khi quản lý một ứng dụng di động? hệ thống thanh toán, quản lý đơn
Quản hàng,
lý dịch vụ khách hàng, quảng cáo và
tiếp thị.
Trong quá trình phát triển ứng dụng này,
anh/chị đã gặp những vấn đề gì liên quan đến Đang trong quá trình xây dựng
thiết kế, phát triển hoặc quản lý không?
Anh/chị nghĩ rằng cách tốt nhất để thu hút Tạo ra trải nghiệm thân thiện, nội
khách hàng đến trang web của bạn là gì? dung hấp dẫn cho người sử dụng.

14
Sử dụng các tính năng đăng ký tài
khoản và đăng nhập để lưu trữ
Anh/chị có kế hoạch sử dụng những chức năng thông tin khách. Ngoài ra, chúng
gì để quản lý thông tin khách hàng và đơn tôi cũng sẽ cung cấp tính năng
hàng? quản lý danh sách khách hàng và
lưu lại lịch sử thanh toán đặt vé.

Anh/chị đã từng đặt vé phim qua ứng dụng di Có, tôi đã từng sử dụng ứng dụng
động bao giờ chưa? đặt vé phim của CGV
Trải nghiệm của tôi khi sử dụng
ứng dụng đặt vé phim của CGV khá
Anh/chị đánh giá như thế nào về trải nghiệm tốt. Giao diện của ứng dụng rõ ràng
của mình khi sử dụng ứng dụng đặt vé phim? và dễ sử dụng. Tôi cũng rất hài lòng
với tốc độ và độ chính xác của quá
trình đặt vé.
Ứng dụng đặt vé phim cần có tính
năng tìm kiếm phim dựa trên rạp
chiếu phim, địa điểm và thời gian.
Theo anh/chị, ứng dụng đặt vé phim cần có Ngoài ra, tính năng cho phép đặt
những tính năng gì để làm cho quá trình đặt vé chỗ ngồi trước khi đến rạp cũng rất
trở nên dễ dàng và tiện lợi hơn? hữu ích. Tính năng thanh toán
nhanh chóng và an toàn cũng là
Người
điều cần thiết để làm cho quá trình
dùng
đặt vé trở nên dễ dàng hơn.
Anh/chị có gặp phải bất kỳ vấn đề gì khi sử Không, tôi chưa gặp bất kỳ vấn đề
dụng ứng dụng đặt vé phim không? nào.
Ứng dụng cần cải thiện tính năng
tìm kiếm phim để người dùng có
thể tìm kiếm phim theo nhiều tiêu
chí khác nhau như thể loại phim,
diễn viên, đạo diễn, và cả nhà sản
Anh/chị có bất kỳ đề xuất hoặc góp ý nào để xuất phim. Ngoài ra, tôi cũng muốn
cải thiện ứng dụng đặt vé phim không? đề xuất tính năng đánh giá phim
hoặc chia sẻ thông tin phim cho bạn
bè trên các mạng xã hội trực tuyến
để người dùng có thể chia sẻ ý kiến
và gợi ý cho nhau về những bộ
phim hay.
Nhà Sản phẩm mà chúng tôi cung cấp là
Anh/chị có thể giới thiệu về sản phẩm ứng
cung ứng dụng đặt vé xem phim trực
dụng đặt vé xem phim mà công ty anh/chị cung
cấp sản tuyến, cho phép khách hàng chọn
cấp được không?
phẩm và mua vé trực tiếp trên điện thoại

15
di động.
Đặc điểm nổi bật của sản phẩm đặt
vé phim của chúng tôi là tính tiện
Anh/chị có những đặc điểm nổi bật của sản
lợi và tốc độ xử lý nhanh chóng.
phẩm đặt vé phim mà anh/chị muốn nhấn mạnh
Khách hàng có thể dễ dàng tìm
không?
kiếm thông tin phim, lịch chiếu và
chọn vị trí ngồi yêu thích.
Tính năng quan trọng nhất của sản
phẩm của chúng tôi là khả năng đặt
vé trực tuyến 24/7 và hệ thống xử
Theo anh/chị, những tính năng nào của sản
lý nhanh chóng, giúp khách hàng
phẩm đặt vé phim là quan trọng nhất và giúp
không mất thời gian đến phòng vé
sản phẩm của anh/chị nổi bật hơn so với các
xếp hàng. Ngoài ra, chúng tôi cũng
đối thủ cạnh tranh khác?
đặc biệt chú trọng đến trải nghiệm
người dùng với giao diện thân
thiện, đẹp mắt và dễ sử dụng.
Anh/chị đã gặp phải những thách thức gì trong
quá trình phát triển sản phẩm đặt vé phim và Đang trong quá trình xây dựng.
đã giải quyết chúng như thế nào?
Anh/chị có đang có kế hoạch cải thiện sản
phẩm đặt vé phim của mình trong tương lai Đang trong quá trình xây dựng.
không? Nếu có, thì những cải tiến đó sẽ là gì?
2.1.3 Phân tích yêu cầu chức năng của hệ thống

• Quản lý tài khoản:


- Khi có một người dùng mới đăng ký, hệ thống sẽ yêu cầu người dùng nhập vào các
thông tin cần thiết và thêm thông tin của người dùng vào hệ thống.
- Khi thông tin người dùng bị sai, họ có thể liên hệ đến quản lý để yêu cầu sửa lại
thông tin.
• Quản lý phim:
- Khi có một phim mới được mua bản quyền thành công thì quản lí sẽ cập nhập phim
trên hệ thống
- Khi quản lí đã cập nhập phim vào hệ thống thì nhân viên sẽ được quyền cập nhập
nội dung, thông tin phim và đặt lịch chiếu phim
- Cho phép sửa đổi thông tin về phim
- Hỗ trợ nhân viên tính toán tiền nhanh chóng dựa vào số sản phẩm bán ra
- Cho phép dùng mọi chức năng của nhân viên
- Tổng hợp thông tin về khách hàng, giá vé, vị trí, doanh thu, nhân viên bán,....
• Chức năng của người dùng:
- Có thể tạo và đăng nhập tài khoản của mình vào app
- Được cung cấp thông tin về phim ( giờ chiếu, ghế, giá vé,...) có thể đặt vé online
trực tiếp và thanh toán trực tiếp online

16
2.1.4 Phân tích yêu cầu phi chức năng của hệ thống
• Mức độ an toàn:
- Hệ thống phải đảm bảo mức độ an toàn cao, bảo mật thông tin của khách hàng và
tài khoản tránh bị tấn công từ các hacker hoặc những nguy cơ khác.
• Tính sẵn sàng và tin cậy:
- Hệ thống có tính sẵn sàng cao, đảm bảo hoạt động 24/7 và không xảy ra tình trạng
gián đoạn trong quá trình xửlý dữliệu.
• Tính linh hoạt:
- Hệ thống có tính linh hoạt đểcó thể đáp ứng được các yêu cầu của khách hàng,
bao gồm cả việc thay đổi thông tin tài khoản, thanh toán,…
• Tính dễ sử dụng:
- Hệ thống có giao diện thân thiện và dễ sử dụng để giúp khách hàng thực hiện các
thao tác một cách nhanh chóng và thuận tiện.
• Tính khả năng mở rộng:
- Hệ thống được thiết kế để có thể mở rộng và nâng cấp khi có nhu cầu trong tương
lai, đảm bảo rằng nó có thể đáp ứng được nhu cầu của khách hàng .
• Tính tương thích:
- Hệ thống tương thích với các công nghệ và hệ thống khác, bao gồm các hệ thống
thanh toán điện tử, các hệ thống liên quan đến rạp chiếu và các đối tác khác.

17
1.7 Mô hình hoá chức năng
1.7.1 Sơ đồ hoạt động

Hình 5. Sơ đồ hoạt động của admin

18
Hình 6. Sơ đồ hoạt động của user

19
2.2.2 Sơ đồ kịch bản sử dụng

Hình 7. Sơ đồ kịch bản đăng nhập đăng ký

Hình 8. Sơ đồ đặt phim và thanh toán

20
Hình 9. Sơ đồ quản lý phòng chiếu, phim, lịch chiếu

21
Hình 10. Sơ đồ quản lý quyền và tài khoản
2.2.3 Mô tả các kịch bản sử dụng

Use case ID: UC-1.1

• Use case name: Quản lý người dùng


• Description: Tài khoản admin có chức năng tìm kiếm người dùng, thêm, sửa, xóa thông
tin người dùng và phân quyền cho người dùng.
• Actors: Tài khoản admin
• Priority:Must Have
• Trigger:Quản trị viên muốn truy cập vào hệ thống
• Preconditions: Tài khoản admin đã đăng nhập vào hệ thống.
• Postconditions:
- Thông tin người dùng được cập nhật hoặc được xóa khỏi hệ thống.
- Quyền truy cập được phân bổ cho người dùng.
• Flows of events:
- Tìm kiếm người dùng
▪ Tài khoản admin chọn tính năng tìm kiếm người dùng trong giao diện
quản lý người dùng.
▪ Tài khoản admin nhập thông tin người dùng cần tìm kiếm (như tên đăng
nhập, họ tên hoặc email).

22
▪ Hệ thống hiển thị danh sách các người dùng phù hợp với thông tin tìm
kiếm.
- Thêm người dùng
▪ Tài khoản admin chọn tính năng thêm người dùng trong giao diện quản
lý người dùng.
▪ Tài khoản admin nhập thông tin người dùng cần thêm (như tên đăng nhập,
họ tên, email và mật khẩu).
▪ Hệ thống kiểm tra thông tin hợp lệ và thêm người dùng mới vào hệ thống.
- Sửa thông tin người dùng
▪ Tài khoản admin chọn tính năng sửa thông tin người dùng trong giao diện
quản lý người dùng.
▪ Tài khoản admin chọn người dùng cần sửa thông tin.
▪ Tài khoản admin cập nhật thông tin cần sửa (như tên đăng nhập, họ tên,
email hoặc mật khẩu).
▪ Hệ thống cập nhật thông tin người dùng mới vào hệ thống.
- Xóa thông tin người dùng
▪ Tài khoản admin chọn tính năng xóa thông tin người dùng trong giao diện
quản lý người dùng.
▪ Tài khoản admin chọn người dùng cần xóa.
▪ Hệ thống xác nhận việc xóa thông tin người dùng và xóa thông tin khỏi
hệ thống.
- Phân quyền cho người dùng
▪ Tài khoản admin chọn tính năng phân quyền cho người dùng trong giao
diện quản lý người dùng.
▪ Tài khoản admin chọn người dùng cần phân quyền.
▪ Tài khoản admin chọn quyền truy cập cần phân bổ cho người dùng (như
quyền xem, chỉnh sửa hoặc xóa).
▪ Hệ thống cập nhật quyền truy cập cho người dùng mới vào hệ thống.

Use case ID: UC-1.2

• Use case name: Quản lý phòng chiếu (Moderator)


• Description: Use case này miêu tả các chức năng để Moderator quản lý thông tin
phòng chiếu, phim và lịch chiếu trên hệ thống.
• Actors: Moderator
• Priority:Must Have
• Trigger: Quản lí muốn truy cập vào hệ thống

23
• Preconditions:
- Moderator đã đăng nhập vào hệ thống.
- Các thông tin về phòng chiếu, phim và lịch chiếu đã được lưu trữ trong hệ thống.
• Postconditions:
- Các thông tin về phòng chiếu, phim và lịch chiếu đã được thêm, sửa hoặc xóa
thành công.
- Doanh số của các phim và lịch chiếu đã được thống kê.
• Use case 1: Thêm, sửa, xóa thông tin phòng chiếu
- Description: Moderator có thể thêm, sửa hoặc xóa thông tin của một phòng chiếu
trên hệ thống.
- Flows of events:
▪ Moderator chọn chức năng "Quản lý phòng chiếu" trên giao diện chính.
▪ Moderator chọn phòng chiếu cần thêm, sửa hoặc xóa thông tin.
▪ Moderator chỉnh sửa thông tin của phòng chiếu hoặc xóa phòng chiếu khỏi
hệ thống.
▪ Hệ thống cập nhật thông tin về phòng chiếu.

Use case ID: UC-1.3

• Use case name: Tài khoản người dùng


• Description: Use case này mô tả các chức năng quản lý tài khoản người dùng bao
gồm đăng ký, đăng nhập, đổi mật khẩu, thay đổi thông tin cá nhân và hiển thị thông
tin cá nhân.
• Actor: Người dùng
• Priority: Must Have
• Trigger: Người dùng muốn truy cập vào hệ thống
• Precondition: Người dùng đã có tài khoản trên hệ thống
• Postcondition: Tài khoản người dùng được quản lý và sử dụng thành công
• Use case 1: Đăng kí (Signup)
- Description: Người dùng đăng kí tài khoản mới trên hệ thống
- Precondition: Người dùng chưa có tài khoản trên hệ thống
- Postcondition: Tài khoản người dùng được tạo thành công
- Flows of events:
▪ Người dùng truy cập trang đăng kí tài khoản
▪ Người dùng nhập thông tin đăng kí tài khoản gồm: email, mật khẩu, tên
đầy đủ
▪ Hệ thống kiểm tra email đã được sử dụng hay chưa

24
▪ Nếu email chưa được sử dụng, hệ thống lưu thông tin tài khoản
▪ Hệ thống gửi mã OTP đến số điện thoại hoặc email của người dùng để
xác thực.
▪ Người dùng nhập mã OTP để hoàn tất quá trình đăng kí.
▪ Sau khi đăng kí thành công, người dùng có thể đăng nhập vào tài khoản
bằng tên đăng nhập và mật khẩu.
• Use case 2: Đăng nhập (Login)
- Description: Người dùng đăng nhập vào tài khoản trên hệ thống.
- Precondition: Người dùng đã đăng kí tài khoản trên hệ thống.
- Postcondition: Người dùng đăng nhập thành công và có thể sử dụng các chức
năng khác của hệ thống.
- Flows of events:
▪ Người dùng truy cập trang đăng nhập tài khoản.
▪ Người dùng nhập email và mật khẩu của tài khoản.
▪ Hệ thống kiểm tra thông tin đăng nhập và chuyển hướng người dùng đến
trang chính của tài khoản.
▪ Nếu thông tin đăng nhập không đúng, hệ thống hiển thị thông báo lỗi.
• Use case 3: Đổi mật khẩu (Change password)
- Description: Người dùng đổi mật khẩu của tài khoản trên hệ thống
- Precondition: Người dùng đã đăng nhập vào tài khoản
- Postcondition: Mật khẩu của người dùng được thay đổi thành công
- Flows of events:
▪ Người dùng truy cập trang thay đổi mật khẩu
▪ Người dùng nhập mật khẩu cũ và mật khẩu mới
▪ Hệ thống lưu thông tin và hiển thị thông báo đổi mật khẩu thành công
▪ Nếu mật khẩu cũ không chính xác, hệ thống hiển thị thông báo lỗi
• Use case 4: Thay đổi thông tin cá nhân (Update profile)
- Description: Người dùng thay đổi thông tin cá nhân của tài khoản trên hệ thống
- Precondition: Người dùng đã đăng nhập vào tài khoản
- Postcondition: Thông tin cá nhân của người dùng được thay đổi thành công
- Flows of events:
▪ Người dùng truy cập trang thay đổi thông tin cá nhân
▪ Người dùng nhập thông tin mới bao gồm tên đầy đủ, số điện thoại, địa chỉ,
giới tính, ngày sinh và hình đại diện
▪ Hệ thống thông báo thông tin của người dùng được cập nhập thành công
▪ Hệ thống lưu thông tin và hiển thị thông báo thay đổi thông tin cá nhân
• Use case 5: Quên mật khẩu (forgot password)

25
- Mô tả: Người dùng có thể sử dụng chức năng quên mật khẩu để đặt lại mật khẩu
của mình
- Precondition: Người dùng đã có tài khoản và quên mật khẩu
- Postcondition: Mật khẩu được thay đổi thành công
- Flows of events:
▪ Người dùng ấn vào phần “ quên mật khẩu”
▪ Người dùng nhập tên đăng nhập
▪ Người dùng nhập mật khẩu mới
▪ Hệ thống gửi mã OTP đến cho người dùng
▪ Người dùng nhập mã OTP xác nhận
▪ Hệ thống thông báo mật khẩu được thay đổi thành công

Use case ID: UC-1.4

• Use case name: Quản lý phim


• Description: Use case này mô tả các chức năng quản lý phim bao gồm thêm, sửa,
xoá, phim, báo cáo doanh số phim.
• Actor: Người quản lý
• Priority: Must Have
• Trigger: Người quản lý đã đăng nhập vào hệ thống
• Precondition: Người quản lý đã đăng nhập vào hệ thống
• Postcondition: Tài khoản người quản lý đã được cấp quyền và đăng nhập thành
công
• Use case 2: Thêm, sửa, xóa thông tin phim
- Description: Moderator có thể thêm, sửa hoặc xóa thông tin của một bộ phim
trên hệ thống.
- Flows of events:
▪ Moderator chọn chức năng "Quản lý phim" trên giao diện chính
▪ Moderator chọn phim cần thêm, sửa hoặc xóa thông tin.
▪ Moderator chỉnh sửa thông tin của phim hoặc xóa phim khỏi hệ thống.
▪ Hệ thống cập nhật thông tin về phim.
• Use case 3: Thống kê doanh số của từng phim
- Description: Moderator có thể thống kê doanh số của từng phim để có cái nhìn
tổng quan về doanh thu của các bộ phim trên hệ thống.
- Flows of events:
▪ Moderator chọn chức năng "Thống kê doanh số" trên giao diện chính.
▪ Moderator chọn phim cần thống kê.
▪ Hệ thống hiển thị doanh số của phim theo thời gian.

26
Use case ID: UC-1.5

• Use case name: Quản lý lịch chiếu


• Description: Use case này mô tả các chức năng quản lý lịch chiếu bao gồm thêm,
sửa, xoá, phim, báo cáo doanh số lịch chiếu.
• Actor: Người quản lý
• Priority: Must Have
• Trigger: Người quản lý đã đăng nhập vào hệ thống
• Precondition: Người quản lý đã đăng nhập vào hệ thống
• Postcondition: Tài khoản người quản lý đã được cấp quyền và đăng nhập thành
công
• Use case 1: Thêm, sửa, xóa thông tin lịch chiếu
- Description: Moderator có thể thêm, sửa hoặc xóa thông tin của một lịch chiếu
trên hệ thống.
- Flows of events:
▪ Moderator chọn chức năng "Quản lý lịch chiếu" trên giao diện chính.
▪ Moderator chọn lịch chiếu cần thêm, sửa hoặc xóa thông tin.
▪ Moderator chỉnh sửa thông tin của lịch chiếu hoặc xóa lịch chiếu khỏi hệ
thống.
▪ Hệ thống cập nhật thông tin về lịch chiếu.
• Use case 5: Đóng các lịch chiếu đã diễn ra
- Description: Moderator có thể đóng các lịch chiếu đã diễn ra để chuẩn bị cho các
lịch chiếu tiếp theo.
- Flows of events:
▪ Moderator chọn chức năng "Quản lý lịch chiếu" trên giao diện chính.
▪ Moderator chọn các lịch chiếu đã diễn ra.
▪ Moderator chọn chức năng "Đóng lịch chiếu".
▪ Hệ thống đóng các lịch chiếu đã chọn.
• Use case 6: Thống kê doanh số theo lịch chiếu
- Description: Moderator có thể thống kê doanh số theo lịch chiếu để có cái nhìn
tổng quan về doanh thu của các lịch chiếu trên hệ thống.
- Flows of events:
▪ Moderator chọn chức năng "Thống kê doanh số" trên giao diện
▪ Hệ thống sẽ hiển thị các khung giờ lịch chiếu và hiển thị doanh thu theo dạng
cột

27
1.8 Mô hình hoá cấu trúc
2.3.1 Hồ sơ liên quan

Các tài liệu trong hồ sơ liên quan bao gồm:

- Thiết kế giao diện: bao gồm bản thiết kế các giao diện , các hình ảnh, đồ họa, font chữ,
màu sắc,...
- Nội dung ứng dụng: bao gồm thể loại phim, phim, suất chiếu, phương thức thanh toán,
...
- Hồ sơ kỹthuật: bao gồm các tài liệu liên quan đến phần mềm, phần cứng, kỹ thuật, quy
trình và hướng dẫn sử dụng các công nghệ được sử dụng trong việc phát triển ứng dụng.
- Hồ sơ quản lý dự án: bao gồm lịch trình, phân công nhiệm vụ, báo cáo tiến độ, dự
toán kinh phí,...
2.3.2 Từ điển dữ liệu
• Tài khoản
Field Name Attribute Data Type Description Example
Mã phân quyền id Number Admin và user Admin: id = 1
sẽ có mã khác User: id = 2
nhau
Họ và tên name Text Tên người dùng Pham Van A

Tên đăng nhập username Text Tên tài khoản PhamA123

Mật khẩu password Text Mật khẩu đăng 123456


nhập
Địa chỉ email email Text Email cá nhân A.pv@gmail.com

Số điện thoại phoneNumber Number Số điện thoại 0978456231

• Vé phim
Field Name Attribute Data Type Description Example
Mã số vé ticketID Number Mã số của bộ Action-01
phim
Mã số người userID Number Mã người mua 100
mua để thống kê
doanh số

28
Mã số thời gian showTimeID Number Mã lịch chiếu Show 1: 7h-9h
chiếu
Mã chỗ ngồi seatID Number Địa chỉ chỗ ngồi A4, B5

Giá vé price Number Giá vé phim 70.0 Đ

• Phòng chiếu
Field Name Attribute Data Type Description Example
Mã số phòng roomID Number Định danh 5
chiếu phòng chiếu
Tên phòng chiếu roomName Text Tên phòng Tầng 2 -
chiếu GauDen
Địa điểm rạp location Text Địa điểm rạp Số 1, Đại Cồ
chiếu Việt
Số lượng chỗ numberSit Number Số lượng chỗ 80
ngồi ngồi mỗi
phòng

• Lịch chiếu
Field Name Attribute Data Type Description Example
Mã số lịch chiếu showtimeID Number Mã số của 01
lịch chiếu
Mã số phim movieID Number Mã số của bộ 01
phim
Mã số phòng roomID Number Mã số phòng 01
chiếu chiếu
Số lượng vé bán numTicketSold Number Tổng số vé 1000
ra bán ra
Ngày chiếu showDate Date Ngày chiếu 12/4/2023

Thời gian bắt startTime Time Thời gian bắt 7h30


đầu đầu
Thời gian kết endTime Time Thời gian kết 10h30
thúc thúc

29
• Phim
Field Name Attribute Data Type Description Example
Mã số phim movieID Number Mã số của 01
phim

Tên phim movieName Text Tên bộ phim Black Panther

Mô tả description Text Mô tả phim Phim của đạo


diễn ….
Banner bannerUrl Text Đường dẫn https://....
banner của
phim

1.9 Xây dựng CRC ( Class-Responsibility–Collaboration card)

Hình 11. Bảng CRC của tài khoản

Hình 12. Bảng CRC phân quyền

30
Hình 13. Bảng CRC user – role

Hình 14. Bảng CRC của phim

Hình 15. Bảng CRC của phòng chiếu

Hình 16. Bảng CRC của lịch chiếu

31
Hình 17. Bảng CRC của vé

32
1.10 Class Diagram

Hình 18. Biểu đồ lớp

33
1.11 Object Diagram

Hình 19. Object Diagram

34
1.12 Bảng ánh xạ use case – class

User - Case CRC

Đăng nhập + signin

Đăng ký + signup

Đổi mật khẩu + changePassword

Sửa thông tin tài khoản + editUserInfoByUserID

35
User - Case CRC

Tìm kiếm thông tin + findRoleByRoleID

Cấp quyền hạn + createNewRole

Thu hồi quyền hạn + deleteRoleByRoleID

36
User - Case CRC

Thêm phòng + createNewRoom


chiếu

Sửa thông + editRoomByRoomID


tin
phòng
chiếu

Class Xóa thông + deleteRoomByRoomID


tin
Room phòng
chiếu

37
Tìm kiếm + findRoomByRoomID
thông
tin
phòng
chiếu

Thêm phim + createNewMovie


mới

Class Sửa thông + editMovieByMovieID


tin
Movie phim

Xóa phim + deleteMovieByMovieID

Tìm kiếm + findMovieByMovieID


phim

User - Case CRC

Thêm lịch + createNewShowtime


chiế
u
mới

Xóa lịch + deleteShowTimeByShowTimeID


chiế
u

Sửa lịch + editShowTimeByShowTimeID


chiế
u

Clas Tìm kiếm + findShowtimeByShowtimeID


s lịch
chiế
Sho u
w
38
Time

Xóa tất cả + deleteAllShowTimeByMovieID


lịch
chiế
u đã
diễn
ra

Thống kế +getNumTicketSoldByShowtimeID
doan
h số
theo
lịch
chiế
u

39
User - Case CRC

Thêm vé + createTicket

Sửa thông tin vé + editTicketByTicketID

Xóa vé + deleteTicketByTicketID

Tìm kiếm thông tin vé + findTicketByTicketID

Cài đặt giá vé + setPriceOfSeat

40
1.13 Mô tả associations: Ý nghĩa, lớp association

Hình 20. Quan hệ giữa Use và Role


− Ý nghĩa : nhiều User sẽ được phân quyền với cùng một loại ví dụ như khách hàng
− Role tạo roleID cho từng loại User với roleName là admin, moderator, khách hàng
− Tạo ra lớp Role_User để lưu lại roleID và userID cho từng cá nhân được phân
quyền

41
Hình 21. Quan hệ giữa User và Ticket
− Ý nghĩa: Một User có thể sở hữu nhiều Ticket
− Mỗi Ticket được sở hữu bởi một userID trong lớp User

Hình 22. Quan hệ giữa Ticket và Showtime

42
− Ý nghĩa: Một Showtime có thể sở hữu nhiều Ticket
− Mỗi Ticket được có một ShowtimeID riêng để một phần phân biệt chính xác cho
user một vé xác định

Hình 23. Quan hệ giữa Showtime và Movie

− Ý nghĩa: một Movie sẽ có nhiều Showtime


− Các Movie khác nhau sẽ được cấp một khung giờ chiếu khác nhau ( movieID )

43
Hình 24. Quan hệ giữa Showtime và Room
− Ý nghĩa: một Room sẽ có nhiều Showtime
− Phân biệt một Room cũng dựa vào các khung giờ chiếu khác nhau được gán ở lớp
Showtime ( roomID )

44
1.14 Sequence diagram

Hình 25. Sequence diagram của admin

Hình 26. Sequence Diagram của user

45

You might also like