b. Ca sử dụng Phân công việc 72
3.5.3. Gói ca sử dụng phục vụ tra cứu, báo cáo, thống kê 74
Ca sử dụng Tổng hợp báo cáo công việc
- Chưa áp dụng mẫu
- 75 -
Hình 3.23: Biểu đồ lớp thiết kế thực thi ca sử dụng Báo cáo công việc - Áp dụng mẫu Composite vào ca sử dụng tổng hợp báo cáo công việc Mỗi công việc có trạng thái kết thúc và chưa kết thúc, có số lượng ngày, số lượng người giải quyết công việc. Một công việc có thể có nhiều công việc con, do đó để tổng hợp số nhân công, khối lượng thời gian thực hiện xong công việc cần phải duyệt qua từng đối tượng công việc con để tính toán và tổng hợp lên.
Mẫu Composite thực hiện gom các đối tượng vào trong một cấu trúc hình cây để thể hiện được cấu trúc tổng quát của nó. Nó cho phép chúng ta có sự giao tiếp giống nhau với các đối tượng riêng lẻ khác nhau. Ta chia các công việc thành hai loại Công việc đơn và Công việc phức. Công việc đơn là các công việc độc lập, không có công việc con. Công việc phức là các công việc có công việc con. Ta xây dựng thêm hai lớp CongViecDon và lớp CongViecGop, hai lớp này kế thừa từ lớp tổng quát hơn là lớp CongViec. Đối tượng CongViecGop có thể chứa đối tượng CongViecDon và
CongViecGop khác.
Ở biểu đồ cộng tác ca sử dụng báo cáo công việc, thủ tục HienThiBC() sẽ lấy danh sách các công việc thoả mãn điều kiện báo cáo và duyệt với mỗi công việc gọi các thủ tục TongHop_NhanCong(), TongHop_TrangThai (), HienThi_ThongTin().Với đối tượng thuộc lớp CongViecDon các hàm trên sẽ thực hiện và trả về một giá trị cụ thể. Với các đối tượng thuộc lớp CongViecGop các hàm trên sẽ duyệt hết tất cả các công việc con của nó, mỗi công việc con lại gọi hàm tương ứng để thực hiện.
- 76 -
Biểu đồ lớp thiết kế áp dụng mẫu Composite vào lớp CongViec để thực hiện báo cáo công việc như sau:
Hình 3.24: Áp dụng mẫu thiết kế Composite vào lớp CongViec
thực hiện tổng hợp, báo cáo, hiển thị thông tin trong ca sử dụng Báo cáo công việc Tương tự, ta áp dụng mẫu Composite cho các ca sử dụng Sửa nội dung công việc, Xoá công việc,Chỉ đạo công việc, Phân công việc để hiển thị danh sách công việc và thông tin công việc.