b. Các thao tác nghiệp vụ
2.3.5 Các tiến trình nghiệp vụ trong hệ thống cấp nƣớc
Hình 2.3: Các tiến trình nghiệp vụ
:Khachhang :NVhanhchinh :Lanhdao :NVtuyendoc :NVtuyenthu Dữ liệu liên quan
Lập hợp đồng Lập sổ theo dõi Ký Cập nhật chỉ số Lập hóa đơn Thanh toán Đăng ký Trả hợp đồng Nhận hợp đồng Nhận thông báo Lập thông báo Hóa đơn Bản đăng ký Bản hợp đồng Hóa đơn
CHƯƠNG 3. PHÂN TÍCH THIẾT KẾ BÀI TOÁN QUẢN LÝ NGUỒN NƯỚC SẠCH 3.1 Phát triển mô hình ca sử dụng
3.1.1 Biểu đồ ca sử dụng mức gộp
Hình 3.1: Biểu đồ ca sử dụng mức gộp
3.1.2 Mô tả chức năng các ca sử dụng
a. Ký hợp đồng
Tác nhân: Nhân viên phòng hành chính
Mục đích: Thực hiện các thao tác tra cứu, thêm, cập nhật , thay đổi trạng thái hợp đồng ( khóa, tạm dừng, mở lại).
b. Theo dõi sử dụng
Tác nhân: Nhân viên nghiệp vụ
Mục đích: Nhân viên nghiệp vụ thực hiện công việc liên quan đến việc theo dõi quá trình sử dụng nƣớc của khách hàng : In sổ đọc, Nhập chỉ số
c. Lập hóa đơn
Tác nhân: Nhân viên nghiệp vụ
Mục đích: Nhân viên nghiệp vụ thực hiện việc lập hóa đơn thu tiền sử dụng nƣớc cho khách hàng
d. In thông báo
Tác nhân: Nhân viên nghiệp vụ
Mục đích: Nhân viên nghiệp vụ thực hiện in thông báo nộp tiền sử dụng nƣớc cho khách hàng đăng ký nộp tiền tại các trạm dịch vụ hoặc khách hàng chậm nộp tiền.
e. Thu tiền
Tác nhân: Nhân viên nghiệp vụ
Mục đích: Nhân viên nghiệp vụ thực hiện thu tiền từ khách hàng
f. Xử lý khách nợ
Tác nhân: Nhân viên nghiệp vụ
Mục đích: Nhân viên nghiệp vụ thực hiện hình thức xử lý với khách hàng quá hạn nộp tiền sử dụng nƣớc.
g. Lập báo cáo
Tác nhân: Nhân viên quản trị
Mục đích: Cập nhật danh sách tuyến đọc chỉ số công tơ có trong hệ thống
h. Tra cứu
Tác nhân: Nhân viên quản trị
Mục đích: Cho phép nhân viên nghiệp vụ tiến hành các tra cứu liên quan đến hợp đồng sử dụng nƣớc, quá trình sử dụng nƣớc, hóa đơn.
i. Quản trị hệ thống
Tác nhân: Nhân viên quản trị
Mục đích: Cập nhật danh sách các hình thức thanh toán
3.2. Biểu đồ ca sử dụng chi tiết
3.2.1. Biểu đồ ca sử dụng hệ con “Ký hợp đồng cấp nƣớc”
Hình 3.2: Ca sử dụng ký hợp đồng cấp nƣớc
3.2.1.1. Tạo mới hợp đồng
Tác nhân : Nhân viên nghiệp vụ
Mục đích: Ngƣời sử dụng đƣợc cấp quyền sau khi đăng nhập vào hệ thống có thể thực hiện thêm mới hợp đồng sử dụng nƣớc .
Chức năng tham chiếu: R1.1
Tiền điều kiện: Đã có các loại danh mục : Mục đích sử dụng nƣớc, Trạm dịch vụ, Tuyến đọc, Tuyến thu đã phải đƣợc cập nhật đầy đủ vào hệ thống.
Luồng sự kiện chính:
Hành động ngƣời dùng Phản ứng của hệ thống Dữ liệu liên quan
1. Chọn chức năng thêm mới hợp đồng
2. Hiển thị giao diện nhập mới hợp đồng
Danh mục mục đích dụng nƣớc
Danh mục trạm dịch vụ Danh mục tuyến đọc Danh mục tuyến thu 3. Nhập thông tin về hợp
đồng và chọn lƣu lại
4. Hiện nội dung nhập vào cơ sở dữ liệu và kết thúc nhập mới
Hợp đồng
Hậu điều kiện: Một hợp đồng mới đƣợc tạo vào lƣu vào cơ sở dữ liệu
Ràng buộc: Cần kiểm tra để không trùng lặp với hợp đồng đã có
Giao diện phác thảo:
3.2.1.2 Sửa hợp đồng
Tác nhân : Nhân viên phòng hành chính
Mục đích: Ngƣời sử dụng đƣợc cấp quyền sau khi đăng nhập vào hệ thống có thể thực hiện sửa thông tin một hợp đồng trong hệ thống .
Luồng sự kiện chính:
Hành động ngƣời dùng Phản ứng của hệ thống Dữ liệu liên quan
1. Ngƣời dùng chọn một hợp đồng cần sửa từ chức năng sửa hợp đồng
2. Hiển thị giao diện sửa hợp đồng và hiển thị thông tin của hợp đồng đƣợc chọn
Danh mục mục đích dụng nƣớc
Danh mục trạm dịch vụ Danh mục tuyến đọc Danh mục tuyến thu Hợp đồng
3. Cập nhật thông tin hợp đồng và chọn lƣu
4. Lƣu vào thông tin hợp đồng vào cơ sở dữ liệu và kết thúc sửa hợp đồng
Hợp đồng
Ngoại lệ: Bước 3: Với các hợp đồng có trạng thái tạm dừng hoặc ngƣng hoạt động ngƣời sử dụng chỉ đƣợc phép chuyển trạng thái sang bình thƣờng khi các khoản nợ của khách hàng đứng tên đã đƣợc thanh toán hết.
Tiền điều kiện: Các loại danh mục : Mục đích sử dụng nƣớc, Trạm dịch vụ, Tuyến đọc,
Tuyến thu đã phải đƣợc cập nhật đầy đủ vào hệ thống.
3.2.2. Theo dõi sử dụng
Hình 3.3: Ca sử dụng Theo dõi sử dụng
Nhập chỉ số sử dụng
Tác nhân: Nhân viên nghiệp vụ
Mục đích: Ngƣời sử dụng đƣợc cấp quyền sau khi đăng nhập vào hệ thống có thể nhập chỉ số công tơ của khách hàng trong tuyến đọc do mình phụ trách.
Tiền sự kiện: Thông tin về trạm dịch vụ, Tuyến đọc liên quan, danh sách khách hàng đã có trong hệ thống
Luồng sự kiện chính:
Hành động ngƣời dùng Phản ứng của hệ thống Dữ liệu liên quan
1. Ngƣời dùng chọn chức năng nhập chỉ số công tơ
2. Hiện danh sách tuyến đọc Danh mục tuyến đọc 3. Chọn tuyến đọc cần nhập chỉ số 4.Hiện thị danh sách khách hàng thuộc tuyến đọc và thông tin về chỉ số cuối Danh mục khách hàng Chỉ số công tơ 5. Nhập chỉ số công tơ và chọn lƣu 6. Lƣu vào CSDL và kết thúc nhập chỉ số công tơ cho tuyến thu
Chỉ số công tơ
Hậu điểu kiện: Danh sách các khách hàng đã đƣợc nhập chỉ số cuối hợp lệ sẽ đƣợc lƣu vào sổ theo dõi sử dụng nƣớc.
Giao diện phác thảo:
3.2.3. Lập hóa đơn
Tác nhân: Nhân viên phòng hành chính
Mục đích: Ngƣời sử dụng đƣợc cấp quyền sau khi đăng nhập vào hệ thống có thể tiến hành lập quá đơn sử dụng nƣớc cho khách hàng.
Tiền điều kiện: Nhân viên của các tuyến đọc lập hóa đơn đã hoàn thành việc nhập chỉ số công tơ của tháng lập hóa đơn
Luồng sự kiện chính:
3.2.4. Thu tiền sử dụng nước
Hình 3.4: Chi tiết ca sử dụng Thu tiền sử dụng nƣớc
Hành động ngƣời dùng Phản ứng của hệ thống Dữ liệu liên quan
1. Chọn chức năng lập hóa đơn sử dụng nƣớc 2. Hiện danh sách các tuyến đọc Danh mục tuyến đọc 3. Chọn tuyến đọc và tháng cần lập hóa đơn 4. Hiện danh sách khách hàng , chỉ số đầu, chỉ số cuối , mã hóa đơn
Danh mục khách hàng Danh mục tuyến đọc Chỉ số công tơ
5. Chọn khách hàng cần lập hóa đơn sau đó chọn chức năng lập hóa đơn
6. Lập hóa đơn cho các khách hàng đƣợc chọn và lƣu vào CSDL
Chỉ số công tơ Hóa đơn
Thu khách lẻ
Tác nhân: Nhân viên phòng hành chính
Mục đích: Ngƣời sử dụng đƣợc phân công sau khi đăng nhập vào hệ thống có thể tiến hành thu tiền của ngƣời sử dụng nƣớc đăng ký nộp tiền tại trạm dịch vụ hoặc các khách hàng chậm nộp tiền đợt 1.
Chức năng tham chiếu: R6.1
Tiền điều kiện: Hóa đơn đã đƣợc lập
Luồng sự kiện chính:
Hành động ngƣời dùng Phản ứng của hệ thống Dữ liệu liên quan
1. Chọn chức năng thu tiền khách lẻ
2. Hiển thị giao diện cho phép ngƣời dùng thực hiện chức năng
3. Nhập mã khách hàng và tháng nộp tiền
4. Hiển thị chi tiết hóa đơn của khách hàng
Hóa đơn
5. Xác nhận đã thanh toán
6. Cập nhật trạng thái hóa đơn sang đã thanh toàn
Hóa đơn
3.2.5. Tra cứu
Tra cứu hợp đồng
Tác nhân : Nhân viên nghiệp vụ
Mục đích: Ngƣời sử dụng đƣợc cấp quyền sau khi đăng nhập vào hệ thống có thể thực hiện tìm kiếm thông tin các hợp đồng trong hệ thống . Từ kết quả tra cứu ngƣời dùng có thể thực hiện sửa, xóa, xem thông tin hợp đồng.
Chức năng tham chiếu: R5.1
Tiền điều kiện: Các loại danh mục : Mục đích sử dụng nƣớc, Trạm dịch vụ, Tuyến đọc, Tuyến thu đã phải đƣợc cập nhật đầy đủ vào hệ thống.
Luồng sự kiện chính:
Hành động ngƣời dùng Phản ứng của hệ thống Dữ liệu liên quan
1. Chọn chức năng tra cứu hợp đồng
2. Hiển thị giao diện cho ngƣời dùng nhập tiêu chí tìm kiếm
Danh mục mục đích dụng nƣớc Danh mục trạm dịch vụ
Danh mục tuyến đọc Danh mục tuyến thu Hợp đồng 3. Nhập tiêu chí tìm kiếm và chọn tìm kiếm 4. Hiển thị danh sách các hợp đồng thỏa mãn tiêu chí tìm kiếm Hợp đồng
Luồng sự kiện phụ: Ngƣời dùng chọn sửa, xóa, xem chi tiết một hợp đồng từ kết quả tra về
3.2.6. Báo cáo thống kê
Hình 3.6: Chi tiết ca sử dụng Báo cáo thống kê
Báo cáo doanh thu
Tác nhân: Nhân viên hành chính
Mục đích: Ngƣời sử dụng đƣợc phân công sau khi đăng nhập vào hệ thống có thể thống kê doanh thu của từng trạm dịch vụ.
Chức năng tham chiếu: R8.1
Hành động ngƣời dùng Phản ứng của hệ thống Dữ liệu liên quan
1. Chọn chức năng báo cáo doanh thu
2. Giao diện nhập tham số báo cáo
3. Chọn khoảng thời gian cần xem
4. Hiển thị doanh thu của từng trạm dịch vụ theo tham số báo cáo
Danh mục khách hang Hóa đơn
3.3. Phân tích hệ thống
3.3.1. Tạo mới hợp đồng
Hình 3.7: Biểu đồ lớp phân tích thực thi ca sử dụng Tạo mới hợp đồng
Mô tả: Nhân viên nghiệp vụ chọn chức năng Tạo mới hợp đồng từ giao diện chính ( Menu hoặc toolbar) (1). Trƣớc khi hiển thị giao diện tới ngƣời dùng đối tƣợng Edit_HopDong sẽ gọi các phƣơng thức để lấy danh mục cần thiết từ đối tƣợng :CtrlTraCuu (2). Khi giao diện nhập mới hợp đồng hiện nên đối tƣợng :NV Nghiệp vụ sẽ tiến hành nhập thông tin hệ của hợp đồng vào hệ thống sau đó chọn lƣu thông tin (3). Đối tƣợng Edit_HopDong gọi phƣơng thức lƣu hợp đồng của đối tƣợng :CtrlTraCuu (4). Đối tƣợng :CtrlTraCuu sẽ lấy thông tin do ngƣời dùng nhập vào và chuyển cho đối tƣợng HopDong sau đó gọi phƣơng thức thêm mới hợp đồng từ đối tƣợng này(5).
3.3.2. Nhập chỉ số sử dụng
Hình 3.8: Biểu đồ lớp phân tích thực thi ca sử dụng Nhập chỉ số sử dụng
Mô tả: Nhân viên nghiệp vụ chọn chức năng Nhập chỉ số(1). Một đối tƣợng NhapChiSo sẽ đƣợc tạo ra, đối tƣợng này gọi phƣơng thức để hiện thị danh sách tuyến đọc do nhân viên phụ trách (2). Nhân viên nghiệp vụ chọn một tuyến đọc cần nhập chỉ số (3). Đối tƣợng NhapChiSo sẽ hiển thị danh sách các hợp đồng thuộc tuyến đọc đang chọn cùng chỉ số của tháng(4). Nhân viên nghiệp vụ tiến hành nhập chỉ số sử dụng cho từng khách hàng sau đó chọn lƣu thông tin (5). Đối tƣợng NhapChiSo sẽ gọi phƣơng thức lƣu thông tin từ đối tƣợng CtrlNhapChiSo(6). Đối tƣợng CtrlNhapChiSo sẽ lấy thông tin về khách hàng, chỉ số và các tham số do ngƣời dùng nhập vào và gọi hàm Lƣu chỉ số trên đối tƣợng SoTheoDoi(7).
3.3.3. Lập hóa đơn
Hình 3.9: Biểu đồ lớp phân tích thực thi ca sử dụng Lập hóa đơn
Mô tả: Nhân viên nghiệp vụ chọn chức năng lập hóa đơn (1). Một đối tƣợng LapHoaDon sẽ đƣợc tạo, trƣớc khi hiển thị tới ngƣời dùng đối tƣợng này sẽ sử dụng đối tƣợng CtrlLapHoaDon để hiển thị các danh mục cần thiết tới ngƣời sử dụng (2). Nhân viên nghiệp vụ sẽ chọn các tham số lập hóa đơn cho đối tƣợng LapHoaDon(3). Đối tƣợng LapHoaDon sẽ gọi phƣơng thức hiển thị danh sách hợp đồng, chỉ số theo tham số nhân viên nghiệp vụ nhập vào(4). Nhân viên nghiệp vụ chọn khách hàng cần tiến hành lập hóa đơn (5). Đối tƣợng LapHoaDon sẽ gọi phƣơng thức lập hóa đơn từ đối tƣợng CtrllapHoaDon(6). Đối tƣợng CtrlLapHoaDon sẽ lấy thông tin từ đối tƣợng LapHoaDon và gọi phƣơng thức tạo hóa đơn từ đối tƣợng hóa đơn(7). Đối tƣợng hóa đơn sẽ thực hiện tạo hóa đơn từ tham số đƣợc truyền vào. Để lƣu chi tiết hóa đơn đối tƣợng HoaDon sẽ gọi phƣơng thức lƣu chi tiết hóa đơn từ đối tƣợng ChiTietHoaDon(8).
3.3.4. Tra cứu
Hình 3.10: Biểu đồ lớp phân tích thực thi ca sử dụng Tra cứu hợp đồng
Mô tả: Nhân viên nghiệp vụ yêu cầu chức năng Tra cứu hợp đồng (1). Một đối tƣợng TraCuuHopDong đƣợc tạo, trƣớc khi hiển thị tới ngƣời dùng đối tƣợng này sẽ sử dụng đối tƣợng CtrlTraCuu để hiển thị các danh mục cần thiết cho tra cứu (2). Nhân viên nghiệp vụ sẽ nhập các tham số tra cứu (3). Đối tƣợng TraCuuHopDong sẽ gọi phƣơng thức tra cứu từ đối tƣợng CtrlTraCuu. Đối tƣợng CtrlTraCuu lấy tham số do ngƣời dùng nhập vào trên đối tƣợng TraCuuHopDong và gọi phƣơng thức tra cứu trên đối tƣợng HopDong (5).
3.4. Lựa chọn mẫu và thiết kế hệ thống 3.4.1. Tạo mới hợp đồng 3.4.1. Tạo mới hợp đồng
Các lớp thiết kế tham gia thực thi ca sử dụng Lớp mô hình
phân tích
Lớp thiết kế Mô tả
Edit_HopDong EditHopDong Windown Form CtrlHopDong HopDongController
Hop Dong HopDong Lớp Persistence thao tác với cơ sở dữ liệu
Tuyen Doc TuyenDoc Lớp Persistence thao tác với cơ sở dữ liệu
dữ liệu
HinhThucTT HinhThucTT Lớp Persistence thao tác với cơ sở dữ liệu
TramDV TramDV
MucDichSD MucDichSD Lớp Persistence thao tác với cơ sở dữ liệu
Bảng 3.1: Các lớp thiết kế tham gia thực thi ca sử dụng Tạo mới HĐ
Hình 3.13: Sơ đồ tuần tự ca sử dụng Tạo mới hợp đồng
Áp dụng mẫu View, Controller, Expert trong GRASP
Do lớp EditHopDong có vai trò hiển thị và tƣơng tác trực tiếp với ngƣời sử dụng lên ở đây ta có thể gán trách nhiệm View cho lớp EditHopDong.
Lớp HopDongController không có giao diện ngƣời dùng và nó sử lý các sự kiện của lớp EditHopDong đẩy sang nên theo định nghĩa về lớp Controller của GRASP ta có thể gán trách nhiệm Controller lên lớp này.
Áp dụng mẫu Expert cho lớp TuyenDoc, TuyenThu theo đó GetListByTramID() đƣợc gán cho lớp TuyenDoc,TuyenThu.
3.4.2. Nhập chỉ số sử dụng
Bảng 3.2: Các lớp thiết kế tham gia thực thi ca sử dụng Nhập chỉ số sử dụng
Hình 3.14: Biểu đồ lớp thiết kế ca sử dụng nhập chỉ số sử dụng
Lớp mô hình phân tích Lớp thiết kế Mô tả
NhapChiSo NhapChiSo Windown Form
CtrlNhapChiSo NhapChiSoController
SoTheoDoi SoTheoDoi Lớp Persistence thao tác
Hình 3.15: Sơ đồ hoạt động chức năng Nhập chỉ số sử dụng
Áp dụng mẫu View cho lớp NhapChiSo theo đó lớp NhapChiSo có trách nhiệm hiển thị thông tin, tƣơng tác trực tiếp với ngƣời dùng.
Ở thao tác Nhập chỉ số, lớp đại diện cho nghiệp vụ này và có trách nhiệm thực thi là lớp :NhapChiSoController, áp dụng mẫu Controller trong GRASP, khi đó trách nhiệm BindingTuyenDoc(), BindingDanhSachNhap(), LuuChiSo() sẽ đƣợc gán cho lớp này. Trách nhiệm lấy danh sách tuyến đọc theo nhân viên phụ trách GetListByMaNV() sẽ đƣợc gán cho lớp TuyenDoc, trách nhiệm lấy thông tin các hợp đồng, chỉ số sử dụng của tháng GetListByTuyenDoc(), GetHopDongInfo() sẽ đƣợc gán cho lớp SoTheoDoi thông qua mẫu Expert.
3.4.3. Tra cứu hợp đồng
Lớp mô hình phân tích Lớp thiết kế Mô tả
TraCuuHopDong TraCuuForm Windown Form
Bảng 3.3: Các lớp thiết kế tham gia thực thi ca sử dụng Tra cứu HĐ
Hình 3.18: Sơ đồ tuần tự ca sử dụng Tra cứu hợp đồng
Áp dụng mẫu chuyên gia - GRASP Expert, trách nhiệm đƣợc gán cho lớp :HopDong khi đó lớp này sẽ có nhiệm vụ biết đƣợc thông tin cần tra cứu trong hợp đồng.
3.4.4. Lập hóa đơn
Lớp mô hình phân tích Lớp thiết kế Mô tả
Lap Hoa Don LapHoaDon Windown Form
Hình 3.19: Biểu đồ lớp thiết kế ca sử dụng Lập hóa đơn
Hình 3.21: Biểu đồ cộng tác ca sử dụng Lập hóa đơn
Áp dụng mẫu View, Controller, Creator, Expert trong GRASP
- Ở thao tác Lập hóa đơn, lớp đại diện cho toàn bộ nghiệp vụ này là :HoaDonController, áp dụng mẫu Controller trong GRASP, theo đó gán