b. Các thao tác nghiệp vụ
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
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.