Tải bản đầy đủ (.docx) (48 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.19 MB, 48 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

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

<b><small>KHOA CÔNG NGHỆ THÔNG TIN</small></b>

<b>BÀI TẬP LỚN NHẬP MÔN CNPM</b>

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

<b><small>Mã sinh viên: B21DCCN259Nhóm lớp học: 13</small></b>

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

<i><b>Hà Nội – 2024</b></i>

1

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>Mục Lục</b>

<b><small>I.Nội dung pha đặc tả...5</small></b>

<b><small>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</small></b>

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

<b><small>2.1.Mục tiêu...7</small></b>

<b><small>2.2.Phạm vi...7</small></b>

<b><small>3.Biểu đồ Use case tổng quan...8</small></b>

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

<b><small>II. Nội dung pha phân tích...10</small></b>

<b><small>1.Trích các scenario và các ngoại lệ...10</small></b>

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

<b><small>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.</small></b><small>13</small><b><small>3.1.Các lớp điều khiển...13</small></b>

<b><small>3.2.Các lớp biên...13</small></b>

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

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

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

<b><small>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</small></b>

<b><small>III.Nội dung pha thiết kế...18</small></b>

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

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

<b><small>3.Vẽ sơ đồ lớp MVC của module...18</small></b>

<b><small>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</small></b>

<b><small>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</small></b>

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

<b><small>IV.Nội dung pha cài đặt...24</small></b>

<b><small>V. Nội dung pha kiểm thử...37</small></b>

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

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

<b><small>3.Không cịn sân trống...42</small></b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="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 tốn ln khoản chi phí phát sinh này vào cuối đợt thuê sân.

• Khi thanh tốn tiền th 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í th 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

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<i><b> 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 </b></i>

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.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>I.Nội dung pha đặc tả</b>

<b>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 </b>

<small>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</small>

<small>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 </small>

<small>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ể.</small>

<small>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</small>

<small>8Hợp đồng thuê </small>

<small>sân</small> <sup>Pitch rental </sup><small>contract</small>

<small>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 </small>

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

<small>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.</small>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<small>11Nước uống giải khát</small>

<small>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</small>

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

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

<small>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</small>

<small>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</small>

<small>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 </small>

<small>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</small>

<small>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</small>

<small>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…</small>

<small>20Chủ sânFootballfield</small>

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

<small>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</small>

<small>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</small>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<small>23Thuê sân/Đặt sân</small>

<small>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) </small>

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

7

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

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

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 tố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 tố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)

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>3. Biểu đồ Use case tổng quan</b>

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

9

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<small>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</small>

<small>- Đă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</small>

<small>- Đặ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</small>

<small>- 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</small>

<small>- 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</small>

<small>- 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</small>

<small>- 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</small>

<small>- 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</small>

<small>- 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</small>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>II. Nội dung pha phân tích</b>

<b>1.Trích các scenario và các ngoại lệ</b>

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

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="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ó.

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

13

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>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.</b>

<b>3.1.Các lớp điều khiển</b>

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

<b>3.2.Các lớp biên</b>

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

<b>o</b> SearchFreePitchFrm: Giao diện tìm sân cịn trống theo khung giờ.

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

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

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

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

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

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

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

<small>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 B</small>2. <small>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</small>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

3. <small>Nhân viên A click vào nút đặt sân</small>

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

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>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)</b>

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

21

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b>III. Nội dung pha thiết kế</b>

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

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

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

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b><small>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 </small></b>

<b><small>3.1.1. PitchDAO và SearchFreePitchFrm</small></b>

23

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<b><small>3.1.2. CustomerDAO và SearchCustomerFrm</small></b>

</div>

×