bài tập lớn nhập môn cnpm đề số 50 quản lý sân bóng mini

48 0 0
Tài liệu đã được kiểm tra trùng lặp
bài tập lớn nhập môn cnpm đề số 50 quản lý sân bóng mini

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Modul "Đặt sân" với mô tả chi tiết nghiệp vụ: Khách hàng KH đến yêu cầu đặt sân → Nhân viên NV chọn chức năng đặt sân → hệ thống hiện giao diện tìm sân trống theo khung giờ → NV nhập khu

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN NHẬP MÔN CNPM

Đề số: 50 - Quản lý sân bóng miniHọ và tên: Vũ Hữu Đức

Mã sinh viên: B21DCCN259Nhóm lớp học: 13

Giảng viên giảng dạy: Đỗ Thị Bích Ngọc

Hà Nội – 2024

1

Trang 2

Mục Lục

I.Nội dung pha đặc tả 5

1.Danh sách các từ chuyên môn trong lĩnh vực của ứng dụng (glossary) + giải thích 5

2.Mô tả hệ thống chi tiết bằng ngôn ngữ tự nhiên 7

2.1.Mục tiêu 7

2.2.Phạm vi 7

3.Biểu đồ Use case tổng quan 8

4.Biểu đồ usecase chi tiết của Module “Đặt sân” 8

II Nội dung pha phân tích 10

1.Trích các scenario và các ngoại lệ 10

2.Trích các lớp thực thể cho toàn hệ thống Vẽ sơ đồ lớp thực thể cho toàn hệ thống 12

3.Trích các lớp biên, các lớp điều khiển Vẽ sơ đồ lớp từ các lớp đã trích được của modul.133.1.Các lớp điều khiển 13

3.2.Các lớp biên 13

4.Xây dựng thẻ CRC cho các lớp điều khiển 14

5.Xây dựng sơ đồ hoạt động (statechart) cho modul 14

6.Viết lại các scenario với các lớp đã trích được 14

7.Thực tế hóa mỗi scenario của mỗi UC thành sơ đồ tuần tự (hoặc cộng tác) 17

III.Nội dung pha thiết kế 18

1.Sơ đồ lớp thực thể pha thiết kế của hệ thống 18

2.Thiết kế cơ sở dữ liệu của hệ thống 18

3.Vẽ sơ đồ lớp MVC của module 18

3.1.Dùng kĩ thuật thẻ CRC và 3 nguyên lí thiết kế phương thức để gán các phương thức cho các lớp 19

3.2.Định nghĩa các thuộc tính và kiểu thuộc tính của mỗi lớp, định nghĩa khôn mấu cho từng phương thức 22

4.Vẽ lại sơ đồ tuần tự sau pha thiết kế 23

IV.Nội dung pha cài đặt 24

V Nội dung pha kiểm thử 37

1.Có sân trống và khách hàng đã có trong CSDL 37

2.Có sân trống và khách hàng không có trong CSDL 40

3.Không còn sân trống 42

Trang 3

• Khi đặt sân, khách hàng phải đặt cọc trước cho chủ sân ít nhất 10% tổng tiền thuê dự kiến Và thông tin số tiền đặt cọc này cũng được ghi rõ trong phiếu đặtsân là đã thanh toán bao nhiêu tiền, vào ngày nào.

• Khi khách hàng đến đá bóng tại sân, chủ sân có thể phục vụ nước uống giảikhát và đồ ăn nhẹ Mỗi buổi khách hàng dùng các loại mặt hàng nào, mỗi loại bao nhiêu chai (gói), hết tổng tiền bao nhiêu đều được cập nhật vào hệ thống Khách hàng sẽ thanh toán luôn khoản chi phí phát sinh này vào cuối đợt thuê sân.

• Khi thanh toán tiền thuê sân, khách hàng nhận được một hóa đơn ghi chi tiết thông tin thuê sân và chi phí thuê sân giống như phiếu đặt sân Có thể có thêm một số buổi phát sinh hoặc phải đổi lịch theo yêu cầu khách hàng Ngoài ra, phần dưới hóa đơn ghi rõ đồ ăn uống phát sinh theo từng buổi, mỗi buổi được liệt kê thành một bảng, trong đó mỗi dòng của bảng mô tả một mặt hàng: mã, tên, giá, số lượng dùng, thành tiền Tổng số tiền từng buổi và tổng số tiền cho cả đợt đặt sân.

• Quản lí sân (QL) phải nhập các mặt hàng (MH) bán kèm từ nhiều nhà cungcấp (mã, tên, địa chỉ, email, điện thoại, mô tả) khác nhau Mỗi lần nhập hàng có hóa đơn nhập ghi rõ thông tin nhà cung cấp và danh sách các mặt hàng, mỗi dòng: id, tên, đơn giá, số lượng, thành tiền Dòng cuối là tổng tiền.

3

Trang 4

Modul "Đặt sân" với mô tả chi tiết nghiệp vụ: Khách hàng (KH) đến yêu cầu đặt

sân → Nhân viên (NV) chọn chức năng đặt sân → hệ thống hiện giao diện tìm sân trống theo khung giờ → NV nhập khung giờ + chọn loại sân theo yêu cầu KH + click tìm → hệ thống hiện lên danh sách sân còn trống theo khung giờ đã chọn → NV click chọn 1 sân → hệ thống hiện giao diện điền thông tin KH → NV nhập tên và tìm → hệ thống hiện lên danh sách các KH có tên vừa nhập → NV click chọn tên KH đúng với KH hiện tại (nếu KH lần đầu đến đặt sân thì phải thêm mới) → hệthống hiện giao diện nhập khoảng thời gian ngày bắt đầu, ngày kết thúc đợt đặt sân(ưu tiên đặt theo quý) → NV click chọn và click xác nhận → hệ thống hiện phiếu đặt sân với đầy đủ thông tin KH, thông tin sân đặt, giá sân đặt, khung giờ đặt, tổng số buổi theo thoài gian đã chọn, tổng số tiền ước tính và số tiền phải đặt cọc (10%) → NV click xác nhận → hệ thống in phiếu đặt sân và cập nhật vào CSDL.

Trang 5

I.Nội dung pha đặc tả

1.Danh sách các từ chuyên môn trong lĩnh vực của ứng dụng (glossary)+ giải thích

1Sân bóngPitchSân thi đấu dùng để chơi môn đá bóng, là đối tượng được khách hàng thuê để sử dụng

2Sân conMini pitchLà sân bóng đá nhưng có kích thước nhỏ hơnsân bóng đá truyền thống dành cho 11người/đội, thường dành cho 5 – 7 người/đội3Sân lớnBig football field Cũng giống như sân bóng, là sân do nhiều sân

6Tiền đặt cọcDepositSố tiền mà khách hàng hoặc bên thuê sân phảithanh toán trước khi sử dụng dịch vụ thuê sân,nhằm đảm bảo sự chắc chắn của bên thuê sânđối với việc sử dụng sân và việc giữ chỗ cho họtrong thời gian cụ thể.

7Tiền thuê sânPitch rental feeLà khoản tiền mà bên thuê sân phải thanh toán cho chủ sân để được sử dụng sân trong một khoảng thời gian nhất định

8Hợp đồng thuê

sân Pitch rental contract

Thỏa thuận pháp lý giữa 2 bên: người thuê sânvà chủ sân, quy định quyền lợi và nghĩa vụ củamỗi bên về việc sử dụng sân bóng trong mộtkhoảng thời gian cố định nào đó, gồm: giá cả,9Hóa đơnBillTài liệu chứng từ chính thức được cung cấp cho

khách hàng, chứa thông tin yêu cầu thanh toántiền thuê sân, các chi phí phát sinh khác kèm theo đơn giá cụ thể.

10Mặt hàngproductLà toàn bộ đồ ăn, đồ uống, dịch vụ đi kèm màsân bóng cung cấp cho khách hàng mỗi lầnkhách hàng đến đá bóng và sử dụng chúng.

Trang 6

11Nước uống giải khát

Sports drinkĐồ uống cung cấp lại năng lượng, giải khát saukhi người chơi hoạt động thể chất, có thể lànước lọc, nước ngọt, khoáng ion

12Đơn giáUnit priceGiá cụ thể mỗi mặt hàng

13MãIDLà cái để phân biệt giữa các mặt hàng khácnhau

14Tổng tiềnTotal amountTổng số tiền tất cả các mặt hàng được nhập và tổng tiền thuê sân được tính bằng tổng các thành tiền

15Doanh thuRevenueLà tổng số tiền thu được từ việc cho thuê sân bóng và cho khách hàng sử dụng các dịch vụ có liên quan

16Tiền dư nợ cũUnpaid balanceSố tiền mà khách hàng chưa thanh toán hết từcác lần thuê/sử dụng các dịch vụ trước đó17Khách hàngCustomerTổ chức/cá nhân sử dụng dịch vụ của bên cho

thuê sân bóng nhằm tham gia các hoạt động đábóng, ăn nhẹ và các hoạt động khác

18Quản lí sânPitch managerLà người được giao trách nhiệm trực tiếp quản lý hoạt động hàng ngày của sân bóng, cập nhậtthông tin sân, nắm rõ doanh thu của sân, quản lý nhân viên của sân mình phụ trách

19Nhân viên sânEmployeeLà người làm việc tại sân bóng, trực tiếp tương tác với khách hàng trong các hoạt động như:đặt sân theo yêu cầu, tư vấn khách hàng, thanh toán cho khách, v.v…

20Chủ sânFootballfield

owner cá nhân/ tổ chức sở hữu sân bóng chịu tráchnhiệm về việc cung cấp và duy trì các điều kiện cần thiết cho hoạt động sân bóng.

21Nhà cung cấpSupplierCá nhân/Tổ chức cung cấp các mặt hàng và dịch vụ cho chủ sân/quản lý tiếp nhận, và họ sẽ sử dụng những mặt hàng ấy phục vụ khách thuêsân

22Sân trốngAvailable/freeLà sân mà chưa có ai thuê hoặc sử dụng vàothời điểm nhất định, cho phép khách hàng hoặcnhân viên có thể đặt và sử dụng

Trang 7

23Thuê sân/Đặt sân

RentViệc một đội bóng sử dụng sân bóng của ngườikhác để chơi bóng trong một khoảng thời gian nhất định và trả tiền để đổi lấy sự sử dụng đó24Thuê theo buổi Rent by the hour Thuê sân trong một thời gian ngắn (vài tiếng)

(Ví dụ như từ 5h – 7h tối ngày Thứ 7 09/02)

7

Trang 8

2.Mô tả hệ thống chi tiết bằng ngôn ngữ tự nhiên2.1 Mục tiêu

Hệ thống quản lý cho thuê sân bóng mini là ứng dụng máy để bàn cho phép quản lý các hợp đồng, quản lý các sân bóng, dịch vụ hàng tháng, các mặt hàng nhập vào của sân; quản lý các thông tin về thuê sân, đặt sân, trả sân, thanh toán, sửa thông tin, thêm thông tin, xóa thông tin, thống kê, đổi lịch.

• Hệ thống cung cấp các chức năng sau dành cho nhân viên:

- Đặt sân theo yêu cầu khách hàng, làm hợp đồng, đặt cọc, thanh toán cho khách

- Cập nhật các mặt hàng đã dùng của buổi thuê - Thanh toán, check-in, check-out cho khách

• Hệ thống cung cấp các chức năng sau dành cho quản lý sân:

- Quản lý thông tin sân bóng: Thêm, sửa, xóa thông tin sân bóng- Quản lý các mặt hàng nhập vào của sân, dịch vụ hàng tháng - Thống kê doanh thu theo đơn vị thời gian (năm, quý, tháng)

Trang 9

3 Biểu đồ Use case tổng quan

4 Biểu đồ usecase chi tiết của Module “Đặt sân”

9

Trang 10

Mô tả module ‘Đặt sân’: Cho phép nhân viên đặt sân cho khách hàng khi khách hàng đến thuế sân bóng Nhân viên có thể tìm sân trống theo khung giờ, xem danh sách khách hàng, thêm mới khách hàng và đặt sân cho khách hàng

- Đăng nhập: Usecase này cho phép nhân viên đăng nhập vào hệ thống để thực hiện các chức năng của hệ thống

- Đặt sân: Usecase này cho phép nhân viên đặt sân tại chỗ theo yêu cầu của khách hàng khi đến thuê sân

- Tìm sân trống theo khung giờ: Usecase này cho phép nhân viên tìm những sân còn trống theo khung giờ khách hàng yêu cầu

- Hiển thị danh sách sân trống theo khung giờ đã chọn: Usecase trả về danh sách các sân còn trống theo khung giờ khách hàng đã chọn

- Tìm thông tin khách hàng: Usecase này cho phép nhân viên tìm kiếm khách hàng

- Hiển thị danh sách khách hàng: Usecase này cho phép nhân viên xem danh sách khách hàng đã tìm

- Thêm mới khách hàng: Usecase này cho phép nhân viên thêm mới khách hàng nếu chưa có trong hệ thống

- Chọn ngày bắt đầu và kết thúc: Cho phép nhân viên chọn ngày bắt đầu thuê sânvà kết thúc

Trang 11

II Nội dung pha phân tích1.Trích các scenario và các ngoại lệ

Use case Đặt sân

Actor Nhân viên, khách hàng

Tiền điều kiện Nhân viên đăng nhập thành công

Hậu điều kiện Nhân viên đặt sân cho khách hàng thành công

Kịch bản chính 1.Nhân viên A chọn chức năng quản lý sân Nhiên viên A muốn đặt sân do khách hàng B yêu cầu.

2.Giao diện quản lý sân bóng hiện lên với 4 nút: Đặt sân, Thêmsân, Sửa sân, Xóa sân

3.A click vào nút đặt sân

4.Giao diện tìm sân trống theo khung giờ hiện lên với ô nhập khung giờ, ô chọn loại sân và 1 nút tìm kiếm.

5 Nhân viên A hỏi khung giờ và loại sân với khách hàng B6 Khách hàng B nói khung giờ 16:00-18:00 Chủ nhật và loại sân 7 cho nhân viên A biết

7 Nhân viên A nhập khung giờ và loại sân theo yêu cầu của khách hàng B rồi click vào nút tìm kiếm

8 Giao diện kết quả tìm kiếm sân trông hiện lên với danh sách sân trống theo khung giờ đã chọn Mỗi sân tương ứng với 1 dòng các thông tin mô tả: ID, tên sân, loại sân, giá thuê và một nút click chọn sân(1 hàng)

11

Trang 12

9 Nhân viên A thông báo danh sách các sân còn trống cho khách hàng B chọn

10 Khách hàng B chọn sân thứ 1 với id = 1 trong danh sách.11 Nhân viên A click vào nút chọn sân của sân thứ 1

12 Giao diện điền không tin khách hàng hiện ra, bao gồm các trường nhập tên và 1 nút tìm kiếm.

13 A hỏi họ tên của B

14 B nói tên của mình là duc cho A

15 A nhập tên của B vào và ấn nút tìm kiếm

16 Giao diện hiện ra danh sách các khách hàng có tên duc, mỗihàng là thông tin của một khách hàng tương ứng với các cột: họ và tên, số điện thoại, địa chỉ,và 1 nút chọn Trên cùng là mộtnút thêm khách hàng.

17 A xác nhận các thông tin với B với số điện thoại là 012345678, địa chỉ là Minh Hoa và click nút chọn(click vào hàng có id = 1).

18.Giao diện nhập thời gian ngày bắt đầu và ngày kết thúc kết thúc hiện ra với hai ô chọn ngày bắt đầu, chọn ngày kết thúc và1 nút xác nhận.

19 A hỏi B ngày bắt đầu và ngày kết thúc đợi đặt sân

20 B nói cho A biết ngày bắt đầu là 12-5-2024 và ngày kết thúc là 12-6-2024

Trang 13

21 A chọn thời gian ngày bắt đầu và ngày kết thúc và click xácnhận

22 Hệ thống hiện lên phiếu đặt sân hệ thống hiện phiếu đặt sânvới đầy đủ thông tin KH, thông tin sân đặt, giá sân đặt, khung giờ đặt, tổng số buổi theo thời gian đã chọn, tổng số tiền ước tính và số tiền phải đặt cọc (10%).

23 A hỏi B có xác nhận thuê sân với thông tin trên phiếu đặt sân không.

24 B trả lời đồng ý thuê sân

25 A click vào nút Xác nhận thuê sân

26 Thông báo hiện ra với nội dung thuê sân thành công.27 A click vào nút Ok

28 Hệ thống quay lại trang chủ quản lý sân.Ngoại lệ 8.1 Không còn sân trống khi tìm sân.

16.1 Hệ thống thông báo họ tên khách hàng không có.

2.Trích các lớp thực thể cho toàn hệ thống Vẽ sơ đồ lớp thực thể chotoàn hệ thống

13

Trang 14

3.Trích các lớp biên, các lớp điều khiển Vẽ sơ đồ lớp từ các lớp đã trích được của modul.

3.1.Các lớp điều khiển

o PitchRentalCtr: Lớp điều khiển cho module Đặt sân

3.2.Các lớp biên

o StaffPitchFrm: Giao diện chính đặt sân(trang chủ của hệ thống)

o SearchFreePitchFrm: Giao diện tìm sân còn trống theo khung giờ.

o SearchCustomerFrm: Giao diện tìm kiếm khách hàng theo tên.

o TimeFrm: Giao diện chọn ngày bắt đầu và kết thúc đợt đặt sân.

o ConfirmFrm: Giao diện hiện phiếu đặt sân.

Trang 16

4.Xây dựng thẻ CRC cho các lớp điều khiển

5.Xây dựng sơ đồ hoạt động (statechart) cho modul

6.Viết lại các scenario với các lớp đã trích được

1 Nhân viên A chọn chức năng quản lý sân bóng A muốn đặt sân cho khách hàng B2 Lớp PitchManagerFrm hiện ra với 4 nút: Đặt sân, Thêm sân, Sửa sân, Xóa sân

Trang 17

3 Nhân viên A click vào nút đặt sân

4 Lớp PitchManagerFrm gọi lớp SearchFreePitchFrm yêu cầu hiển thị5 Lớp SearchFreeFrm hiện ra với các ô nhập thời gian bắt đầu, ô nhập thời

gian kết thúc, ô chọn loại sân, ô chọn thứ trong tuần, 1 nút tìm kiếm, 1 nút quay lại

6 Nhân viên A hỏi B về thời gian bắt đầu – kết thúc, loại sân, thứ trong tuần.7 B trả lời cho A về thời gian bắt đầu: 16:00, thời gian kết thúc 18:00, thứ

trong tuần: thứ hai, loại sân: sân 7.

8 A nhập thông tin mà B cung cấp và click nút tìm kiếm.

9 Lớp SearchFreePitchFrm gửi thông tin với thời gian bắt đầu: 16:00, thời gian kết thúc: 18:00, loại sân: Sân 7, thứ trong tuần: Thứ hai cho lớp PitchRentalCtr

10.Lớp PitchRentalCtr tìm kiếm các sân 7 trống vào thứ hai vào lúc 18:00.

16:00-11.Lớp PitchRentalCtr gửi kết quả đến lớp Pitch để đóng gói thành danh sách các đối tượng Pitch

12.Lớp Pitch gửi lại cho lớp PitchRentalCtr danh sách các đối tượng Pitch13.Lớp PitchRentalCtr gửi danh sách các đối tượng Pitch cho lớp

SearchFreePitchFrm hiển thị

14.Lớp SearchFreePitchFrm hiển thị kết quả tìm kiếm gồm 1 bảng các sân loại 7 và trống vào lúc 16:00-18:00 Thứ hai, với các cột: ID sân, tên sân, loại sân, giá thuê/giờ và 1 nút click chọn sân.

15.Nhân viên A hỏi B muốn thuê sân nào

16.B trả lời sân muốn thuê là sân đầu tiên trong danh sách17.Nhân viên A click vào hàng sân đầu tiên.

18.Lớp SearchFreePitchFrm gọi và truyền đối tượng rentedPitch vừa được tạo cho lớp SearchCustomerFrm.

19.Lớp SearchCustomerFrm hiện ra với 1 ô nhập tên khách hàng, 1 nút tìm kiếm, 1 nút thêm mới khách hàng và 1 nút quay lại.

17

Trang 18

20.Nhân viên A hỏi tên khách hàng B.21.B trả lời tên mình là Duc

22.A nhập tên Duc vào ô tên khách hàng và click tìm kiếm.

23.Lớp SearchCustomerFrm gửi thông tin với tên khách hàng là Duc cho lớp PitchRentalCtr.

24.Lớp PitchRentalCtr tìm kiếm các khách hàng có tên là Duc trong CSDL25.Lớp PitchRentalCtr gửi kết quả đến lớp Cutstomer để đóng gói danh sách

thành đối tượng Customer.

26.Lớp Customer trả lại cho lớp PitchRentalCtr danh sách từ đối tượng Customer.

27.Lớp PitchRentalCtr gửi danh sách các đối tượng Customer cho lớp SearchCustomerFrm để hiển thị.

28.Lớp SearchCustomerFrm hiện kết quả tìm kiếm gồm 1 bảng các khách hàngcó tên là Duc, mỗi một dòng có đầy đủ thông tin của một khách hàng với các cột: id khách hàng, tên, họ và đêm, số điện thoại, địa chỉ và 1 nút chọn khách hàng.

29.A hỏi thông tin cá nhân với B.

30.B xác nhận thông tin với số điện thoại là 12345678 và địa chỉ là Minh Hoa với A.

31.A click vào hàng có id = 1.

32.Lớp SearchCustomer gọi và truyền đối tượng RentalReceipt vừa được tạo cho lớp TimeFrm

33.Lớp TimeFrm hiện lên với 1 ô nhập ngày bắt đầu, 1 ô nhập ngày kết thúc, 1 nút xác nhận và 1 nút quay lại.

34.A hỏi ngày bắt đầu và kết thúc với B.

35.B nói cho A biết ngày bắt đầu là 12-5-2024 và ngày kết thúc là 12-6-2024

Trang 19

37.Lớp RentalReceipt được thiết lập thêm thời gian bắt đâu và kết thúc.38.Lớp TimeFrm gọi và truyền đối tượng RentalReceipt cho lớp Confirm.39.Lớp ConfirmFrm hiện lên với đầy đủ thông tin phiếu đặt sân, với đầy đủ

thông tin KH, thông tin sân đặt, giá sân đặt, khung giờ đặt, tổng số buổi theothời gian đã chọn, tổng số tiền ước tính và số tiền phải đặt cọc (10%) và 1 nút xác nhận thuê, 1 nút hủy thuê.

40.A hỏi B có xác nhận muốn thuê không.41.B xác nhận thuê với A.

42.A click vào nút xác nhận thuê.

43.Lớp ConfirmFrm gửi thông tin trên phiếu đặt sân đến lớp RentalReceipt để đóng gói đối tượng RentalReceipt.

44.Lớp RentalReceipt đóng gói thông tin thành 1 đối tượng RentalReceipt.45.Lớp ConfirmFrm truyền đối tượng RentalReceipt cho lớp PitchRentalCtr.46.Lớp PitchRentalCtr thêm phiếu đặt sân vào CSDL.

47.Lớp PitchRentalCtr thông báo cho lớp ConfirmFrm đã thêm phiếu thuê sân thàng công.

48.Lớp ConfirmFrm thông báo đặt sân thành công cho A.49.A nói với B đã đặt sân thành công.

50.A click vào nút Ok trên thông báo.

51.Lớp ConfirmFrm gọi lại lớp PitchManagerFrm để hiện thị giao diện quản lý sân.

19

Trang 20

7.Thực tế hóa mỗi scenario của mỗi UC thành sơ đồtuần tự (hoặc cộng tác)

Trang 21

21

Trang 22

III Nội dung pha thiết kế

1 Sơ đồ lớp thực thể pha thiết kế của hệ thống

2 Thiết kế cơ sở dữ liệu của hệ thống

3.Vẽ sơ đồ lớp MVC của module

Trang 23

3.1.Dùng kĩ thuật thẻ CRC và 3 nguyên lí thiết kế phương thức để gán các phương thức cho các lớp

3.1.1 PitchDAO và SearchFreePitchFrm

23

Trang 24

3.1.2 CustomerDAO và SearchCustomerFrm

Ngày đăng: 25/05/2024, 17:50

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan