You are on page 1of 22

Pha phân tích – Lương Quốc Đại (B14DCCN441)

PHÂN TÍCH THIẾT KẾ

VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM

PHA PHÂN TÍCH

Đề tài: 13. Hệ thống quản lý cho thuê sân bóng mini

SINH VIÊN : LƯƠNG QUỐC ĐẠI – B14DCCN441

NHÓM : 04

GIẢNG VIÊN : ĐỖ THỊ BÍCH NGỌC

TÊN MODULE : 13.5 – Thống kê Khách hàng

Page 1
Pha phân tích – Lương Quốc Đại (B14DCCN441)

Mục lục
Mô tả hệ thống quản lí cho thuê sân bóng mini........................................................3

1. Sơ đồ use case...........................................................................................................5

1.1. Sơ đồ use case hệ thống...................................................................................5

1.2. Sơ đồ use case chi tiết của module cá nhân.....................................................5

2. Lớp thực thể và vẽ sơ đồ lớp thực thể của toàn hệ thống..........................................5

2.1. Trích lớp thực thể............................................................................................5

2.2. Sơ đồ lớp thực thể............................................................................................7

3. Scenario + Trích lớp theo mô hình MVC + Sơ đồ tuần tự pha phân tích..................9

3.1. Scenario pha phân tích........................................................................................9

3.2. Trích các lớp theo mô hình MVC.......................................................................9

3.3. Sơ đồ tuần tự pha phân tích cho module cá nhân..............................................11

Page 2
Pha phân tích – Lương Quốc Đại (B14DCCN441)

Mô tả hệ thống quản lí cho thuê sân bóng mini


Khách hàng yêu cầu anh/chị phát triển một phần mềm quản lí cho thuê sân
bóng mini của một chủ sân bóng với mô tả như sau:

 Sân bóng có nhiều sân con mini cho thuê. Tùy yêu cầu khách hàng mà có thể
ghép 2 hay 4 sân bé liền nhau thành 1 sân lớn cho thuê.
 Mỗi sân có thể cho nhiều khách hàng thuê tại nhiều khung giờ khác nhau. Mỗi
khách hàng có thể thuê nhiều sân khác nhau.
 Khách hàng có thể thuê sân theo buổi trong tuần hoặc thuê theo tháng (vào một
hoặc một số buổi cố định trong tuần, trong vòng mấy tháng cụ thể).
 Khi làm hợp đồng thuê sân, khách hàng nhận được phiếu thuê sân. Trong đó,
dòng đầu ghi ngày làm hợp đồng, thông tin chủ sân, thông tin của khách hàng.
Các dòng tiếp theo, mỗi dòng ghi một sân mini với đầy đủ thông tin về sân, giá
thuê một buổi, khung giờ thuê trong tuần, ngày bắt đầu, ngày kết thúc đợt thuê,
tổng tiền thuê dự kiến. Dòng cuối cùng ghi tỏng số tiền thuê sân dự kiến
 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 đặt
sâ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ải
khá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ành 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.

Các modul chức năng hoạt động như sau:

Page 3
Pha phân tích – Lương Quốc Đại (B14DCCN441)

1. Modul "Quản lí thông tin sân bóng" (13.1) cho phép quản lí (QL) thực hiện
thêm, sửa, xóa thông tin sân bóng với mô tả chi tiết nghiệp vụ: QL chọn menu
quản lí sân bóng -> trang quản lí hiện ra -> QL chọn chức năng sửa thông tin
sân bóng -> giao diện tìm sân bóng theo tên hiện ra -> QL nhập tên sân bóng
và click tìm kiếm -> danh sách các sân bóng có tên chứa từ khóa hiện ra -> QL
chọn sửa một sân bóng -> giao diện sửa sân bóng hiện ra với các thông tin của
sân bóng đã chọn -> QL nhập một số thông tin thay đổi và click cập nhật -> hệ
thống lưu thông tin vào CSDL và thông báo thành công.
2. Modul "Đặt sân" (13.2) 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.
3. Modul "Khách hàng thanh toán" (13.3) với mô tả chi tiết nghiệp vụ: Khi KH
đến yêu cầu thanh toán, NV chọn menu tìm phiếu đặt sân theo tên KH → nhập
tên KH+click tìm kiếm → hệ thống hiển thị danh sách các KH có tên vừa nhập
→ NV chọn tên KH đúng với thông tin KH hiện tại → hệ thống hiện lên danh
sách các phiếu đặt mà KH đó đang đặt → NV click vào nút chọn thanh toán
cho 1 phiếu đặt sân → hệ thống hiện hóa đơn đầy đủ thông tin khách hàng + 1
bảng danh sách các sản phẩm ăn uống mà KH đã sử dụng trong suốt các buổi
thuê sân như mô tả trên + dòng cuối là tổng số tiền trả → NV click xác nhận →
hệ thống cập nhật vào CSDL.

Page 4
Pha phân tích – Lương Quốc Đại (B14DCCN441)

4. Modul "Thống kê khung giờ được thuê nhiều" (13.4) với mô tả chi tiết
nghiệp vụ: QL chọn menu thống kê khung giờ được thuê nhiều → Hệ thống
hiển thị danh sách các khung giờ được thuê nhiều theo dạng bảng, mỗi dòng
tương ứng với một khung giờ với đầy đủ thông tin: khung giờ, ngày, cột tổng
số lượt được thuê, cột tổng số tiền thu được. Xếp theo thứ tự giảm dần của cột
tổng số lượt thuê, tiếp theo là giảm dần của cột tổng số tiền thu được. NV click
vào 1 dòng của 1 khung giờ → hệ thống hiện lên chi tiết danh sách các lần có
khách đặt sân trong khung giờ đó, mỗi lần trên một dòng: id, tên khách, tên
sân, ngày giờ, giá, tổng tiền
5. Modul "Thống kê khách hàng" (13.5) với mô tả chi tiết nghiệp vụ: QL chọn
menu thống kê khách hàng thuê sân nhiều → hệ thống hiển thị danh sách KH
thuê sân nhiều theo dạng bảng, mỗi dòng tương ứng với một KH với đầy đủ
thông tin: mã, tên, số CMT, số đt, địa chỉ, tiếp theo là cột tổng số lượt thuê, cột
tổng số tiền đã trả. Xếp theo chiều giảm dần của tổng số lượt thuê, tiếp theo là
chiều giảm dần của tổng số tiền trả. NV click vào 1 dòng của 1 KH → hệ thống
hiện lên các lần thanh toán của Kh đấy, mỗi lần trên 1 dòng: ngày, sân, tổng
tiền thanh toán.
6. Modul "Thống kê doanh thu" (13.6) với mô tả chi tiết nghiệp vụ: QL chọn
menu thống kê doanh thu theo thời gian (tháng, quý, năm) → hệ thống hiện ô
chọn thống kê theo tháng, quý, hoặc năm → QL click chọn theo tháng → hệ
thống hiện lên thống kê doanh thu theo tháng dưới dạng bảng, mỗi dòng tương
ứng với 1 tháng (tương ứng là quý, năm): tên tháng, tổng doanh thu. Sắp xếp
theo chiều thời gian tháng (tương ứng là quý, năm) gần nhất đến tháng (tương
ứng là quý, năm) cũ nhất. NV click vào 1 dòng của kết quả → hệ thống hện lên
chi tiết các hóa đơn của khách hàng trong thờ gian của dòng click, mỗi hóa đơn
trên 1 dòng: id, tên khách hàng, tên sân, ngày giờ, tổng tiền thanh toán.

Page 5
Pha phân tích – Lương Quốc Đại (B14DCCN441)

1. Sơ đồ use case cho toàn bộ hệ thống

Page 6
Pha phân tích – Lương Quốc Đại (B14DCCN441)

2. Lớp thực thể và vẽ sơ đồ lớp thực thể của toàn hệ thống


2.1. Trích lớp thực thể
- Mô tả bài toán (bôi đen đánh dấu các danh từ/cụm danh từ):

Khách hàng yêu cầu anh/chị phát triển một phần mềm quản lí cho thuê sân
bóng mini của một chủ sân bóng với mô tả như sau:

 Sân bóng có nhiều sân con mini cho thuê. Tùy yêu cầu khách hàng mà có thể
ghép 2 hay 4 sân bé liền nhau thành 1 sân lớn cho thuê.
 Mỗi sân có thể cho nhiều khách hàng thuê tại nhiều khung giờ khác nhau.
Mỗi khách hàng có thể thuê nhiều sân khác nhau.
 Khách hàng có thể thuê sân theo buổi trong tuần hoặc thuê theo tháng (vào
một hoặc một số buổi cố định trong tuần, trong vòng mấy tháng cụ thể).
 Khi làm hợp đồng thuê sân, khách hàng nhận được phiếu thuê sân. Trong
đó, dòng đầu ghi ngày làm hợp đồng, thông tin chủ sân, thông tin của khách
hàng. Các dòng tiếp theo, mỗi dòng ghi một sân mini với đầy đủ thông tin về
sân, giá thuê một buổi, khung giờ thuê trong tuần, ngày bắt đầu, ngày kết
thúc đợt thuê, tổng tiền thuê dự kiến. Dòng cuối cùng ghi tổng số tiền thuê
sân dự kiến
 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
đặt sâ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ải
khá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ành 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

Page 7
Pha phân tích – Lương Quốc Đại (B14DCCN441)

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.
- Các modul chức năng hoạt động như sau:
1. Modul "Quản lí thông tin sân bóng" (13.1) …
2. Modul "Đặt sân" (13.2)…
3. Modul "Khách hàng thanh toán" (13.3)
4. Modul "Thống kê khung giờ được thuê nhiều" (13.4)
5. Modul "Thống kê khách hàng" (13.5) với mô tả chi tiết nghiệp vụ: QL
chọn menu thống kê khách hàng thuê sân nhiều → hệ thống hiển thị
danh sách KH thuê sân nhiều theo dạng bảng, mỗi dòng tương ứng với
một KH với đầy đủ thông tin: mã, tên, số CMT, số đt, địa chỉ, tiếp theo là
cột tổng số lượt thuê, cột tổng số tiền đã trả. Xếp theo chiều giảm dần của
tổng số lượt thuê, tiếp theo là chiều giảm dần của tổng số tiền trả. NV
click vào 1 dòng của 1 KH → hệ thống hiện lên các lần thanh toán của
KH đấy, mỗi lần trên 1 dòng: ngày, sân, tổng tiền thanh toán.
6. Modul "Thống kê doanh thu" (13.6) ...

Sau khi tổng hợp và loại bỏ những danh từ đồng nghĩa, trừu tượng hoặc nằm ngoài
phạm vi quản lý của phần mềm, ta có danh sách thực thể sau:

- Sân bóng (mã sân, tên sân, thông tin sân, giá sân)
- Khách hàng (mã KH, tên KH, số CMT, số ĐT, địa chỉ)
- Mặt hàng (mã MH, tên MH, giá MH)
- Khung giờ (mã KG, giờ bắt đầu, giờ kết thúc)
- Mỗi sân có thể cho nhiều khách hàng thuê tại nhiều khung giờ khác nhau. Mỗi
khách hàng có thể thuê nhiều sân khác nhau
 Đề xuất thêm một lớp: Sân đặt (mã SĐ, sân, khung giờ, Thời gian bắt
đầu thuê, thời gian kết thúc thuê, tổng số buổi, tổng số tiền, tiền cọc)
- Phiếu đặt sân (ngày làm, chủ sân, khách hàng, danh sách sân đặt, tổng tiền,
tổng tiền cọc)
- Mỗi khách hàng có thể dùng thêm nhiều mặt hàng khác nhau. Mỗi mặt hàng có
thể được dùng bởi nhiều khách hàng

Page 8
Pha phân tích – Lương Quốc Đại (B14DCCN441)

 Đề xuất thêm lớp: Phát sinh (mã PS, mặt hàng, số lượng, tổng tiền)
- Hóa đơn (mã HĐ, phiếu đặt sân, danh sách phát sinh, tổng tiền phát sinh, tổng
tiền trả)
- Thống kê doanh thu (sân bóng, danh sách hóa đơn, tổng tiền)
- Thống kê khách hàng (khách hàng, danh sách sân đặt, tổng lượt thuê, tổng số
tiền trả)
- Thống kê khung giờ thuê nhiều (khung giờ, ngày, danh sách phiếu đặt sân, tổng
số lượt thuê, tổng số tiền thu được)

2.2. Sơ đồ lớp thực thể

Page 9
Pha phân tích – Lương Quốc Đại (B14DCCN441)

3. Scenario + Trích lớp theo mô hình MVC + Sơ đồ tuần tự pha phân tích
3.1. Scenario pha phân tích
Tên use case Thống kê khách hàng thuê sân nhiều
Tác nhân Quản lý
Điều kiện trước Quản lý đăng nhập vào hệ thống
Điều kiện tối thiểu Hệ thống cho phép thực hiện lại việc thống kê
Điều kiện sau Quản lý thực hiện thống kê thành công

Page
10
Pha phân tích – Lương Quốc Đại (B14DCCN441)

Chuỗi sự kiện chính:


1. Sau khi đăng nhập vào hệ thống, giao diện Trang chủ hiện lên, quản lý A
chọn menu “Thống kê khách hang”, chọn menu item “Thuê sân nhiều”.

2. Hệ thống hiển thị danh sách KH thuê sân nhiều theo dạng bảng, mỗi dòng
tương ứng với một KH với đầy đủ thông tin: mã, tên, số CMT, số đt, địa chỉ,
tiếp theo là cột tổng số lượt thuê, cột tổng số tiền đã trả. Xếp theo chiều giảm
dần của tổng số lượt thuê, tiếp theo là chiều giảm dần của tổng số tiền trả.

Page
11
Pha phân tích – Lương Quốc Đại (B14DCCN441)

3. Quản lý A click vào 1 dòng của KH, hệ thống hiện lên các lần thanh toán
của KH tương ứng, mỗi lần thanh toán được in trên 1 dòng: ngày, sân, tổng
tiền thanh toán.

4. Quản lý A click vào button “X” để thoát các cửa sổ thống kê.
5. Hệ thống hiển thị giao diện Trang chủ.
Ngoại lệ:
- Sau khi chọn menu Thống kê khách hàng -> Thuê sân nhiều, nếu dữ liệu
thống kê theo tiêu chí không tồn tại (null), hệ thống hiển thị ThongBaoFrm

Page
12
Pha phân tích – Lương Quốc Đại (B14DCCN441)

thông báo với nội dung “Không có dữ liệu khách hàng phù hợp”.

3.2. Trích các lớp theo mô hình MVC


Các lớp của module

- Các lớp thực thể: KhachHang, SanBong, SanDat, PhieuDatSan, HoaDon.

- Các lớp biên:

+ Giao diện Trang chủ: TrangChuFrm

+ Giao diện xem danh sách khách hàng thuê sân nhiều:
DSKHThueSanNhieuFrm

+ Giao diện xem thong tin thanh toán của từng KH: ThongTinThanhToanFrm

- Lớp điều khiển: TKKHThueSanNhieuCtrl

3.3. Sơ đồ tuần tự pha phân tích cho module cá nhân


Scenario cuối pha phân tích:

Tên use case Thống kê khách hàng thuê sân nhiều


Tác nhân Quản lý
Điều kiện trước Quản lý đăng nhập vào hệ thống
Điều kiện tối thiểu Hệ thống cho phép thực hiện lại việc thống kê
Điều kiện sau Quản lý thực hiên thống kê thành công
Chuỗi sự kiện chính:
1. Sau khi đăng nhập vào hệ thống, trên lớp TrangChuFrm, quản lý A chọn
menu “Thống kê khách hàng”, tiếp tục chọn menu item “Thuê sân nhiều”.

Page
13
Pha phân tích – Lương Quốc Đại (B14DCCN441)

2. Lớp TrangChuFrm gọi đến lớp TKKHThueSanNhieuCtrl


3. Lớp TKKHThueSanNhieuCtrl thực hiện thống kê danh sách KH thuê sân
nhiều trong CSDL và thỏa mãn điều kiện xếp theo chiều giảm dần của tổng số
lượt thuê, tiếp theo là chiều giảm dần của tổng số tiền trả.
4. Lớp TKKHThueSanNhieuCtrl gọi lớp KhachHang để đóng gói kết quả
thành danh sách đối tượng KhachHang.
5. Lớp KhachHang gửi trả cho lớp TKKHThueSanNhieuCtrl danh sách đối
tượng KhachHang.
6. Lớp TKKHThueSanNhieuCtrl gửi danh sách đối tượng KhachHang cho lớp
DSKHThueSanNhieuFrm.
7. Lớp DSKHThueSanNhieuFrm cập nhật, hiển thị kết quả thực hiện thống kê
danh sách KH thuê sân nhiều theo dạng bảng, mỗi dòng tương ứng với một KH
với đầy đủ thông tin: mã, tên, số CMT, số đt, địa chỉ, tiếp theo là cột tổng số
lượt thuê, cột tổng số tiền đã trả. Xếp theo chiều giảm dần của tổng số lượt
thuê, tiếp theo là chiều giảm dần của tổng số tiền trả.

8. Sau khi thống kê xong, quản lý A click vào 1 dòng mà bản thân mình mong
muốn để xem thông tin thanh toán của KH.
9. Lớp DSKHThueSanNhieuFrm gọi lớp ThongTinThanhToanFrm và truyền
đối tượng KhachHang.

Page
14
Pha phân tích – Lương Quốc Đại (B14DCCN441)

10. Lớp TKKHThueSanNhieuCtrl gọi lớp SanBong để đóng gói thông tin sân
được đặt thành đối tượng SanBong
11. Lớp SanBong gửi trả cho lớp TKKHThueSanNhieuCtrl đối tượng SanBong
12. Lớp TKKHThueSanNhieuCtrl gọi lớp SanDat để đóng gói thông tin sân
được đặt thành đối tượng SanDat
13. Lớp SanDat gửi trả cho lớp TKKHThueSanNhieuCtrl ds đối tượng SanDat
14. Lớp TKKHThueSanNhieuCtrl gọi lớp PhieuDatSan để đóng gói thông tin
phiếu đặt sân được đặt thành đối tượng PhieuDatSan.
15. Lớp PhieuDatSan gửi trả cho lớp TKKHThueSanNhieuCtrl đối tượng
PhieuDatSan
16. Lớp TKKHThueSanNhieuCtrl gọi lớp HoaDon để đóng gói ds phiếu đặt sân
thành đối tượng HoaDon
17. Lớp HoaDon gửi trả cho lớp TKKHThueSanNhieuCtrl ds đối tượng
HoaDon
18. Lớp TKKHThueSanNhieuCtrl gửi danh sách đối tượng HoaDon cho lớp
ThongTinThanhToanFrm.
19. Lớp ThongTinThanhToanFrm hiển thị danh sách đối tượng HoaDon, tương
ứng với các lần thanh toán của KH đấy, mỗi lần trên 1 dòng: ngày, sân, tổng
tiền thanh toán.

Page
15
Pha phân tích – Lương Quốc Đại (B14DCCN441)

20. Sau khi xem thông tin thanh toán, quản lý A click vào button “X” để thoát giao
diện lớp ThongTinThanhToanFrm.
21. Lớp ThongTinThanhToanFrm được đóng và trả luồng hoạt động cho lớp
TKKHThueSanNhieuFrm.
22. Quản lý A click vào button “X” để thoát giao diện lớp
TKKHThueSanNhieuFrm.
23. Lớp TKKHThueSanNhieuFrm được đóng, lớp TrangChuFrm hiển thị.

Sơ đồ tuần tự cuối pha phân tích:

Page
16
Pha phân tích – Lương Quốc Đại (B14DCCN441)

Page
17
Pha phân tích – Lương Quốc Đại (B14DCCN441)

4. Lược đồ CSD

Page
18
Pha phân tích – Lương Quốc Đại (B14DCCN441)

5. Thiết kế sơ đồ lớp chi tiết + thiết kế sơ đồ hoạt động + vẽ sơ đồ tuần tự


5.1 Sơ đồ lớp chi tiết co module “Thống kê khách hàng thuê sân nhiều”

Page
19
Pha phân tích – Lương Quốc Đại (B14DCCN441)

5.2 Sơ đồ hoạt động

Page
20
Pha phân tích – Lương Quốc Đại (B14DCCN441)

Page
21
Pha phân tích – Lương Quốc Đại (B14DCCN441)

5.3 Sơ đồ tuần tự

Page
22

You might also like