Lớp điều khiển (Control Class)

Một phần của tài liệu Ky thuat phan tich UML.diendandaihoc.vn doc (Trang 30 - 32)

Thể hiện trình tự ứng xử của hệ thống trong một hay nhiều Use case. Lớp này dùng để điều phối các hoạt động cần thực hiện để hiện thực hóa chức năng của một Use case. Cần thận trọng trong việc sử dụng lớp Điều khiển. Nếu một lớp Điều khiển làm nhiều hơn việc điều phối các hoạt động thì nó đã được thiết kế sai với bản chất nó.

Kí hiệu:

Ngoài ra còn có cách phân loại như sau: lớp thông thường, lớp trừu tượng (abstract class), lớp tham số (parameterized class), lớp thể hiện (instantiated class), lớp tiện ích (utilities class), lớp tiện ích tham số (parameterized utilities class), lớp thể hiện tiện ích (instantiated utilities class).

Lớp tham số (parameterized class):

là lớp dùng để tạo ra một họ các lớp có các ứng xử có chung ý nghĩa nhưng thực hiện trên các tập dữ liệu khác nhau.

Ví dụ :

khi ta gán một giá trị cụ thể cho tham số của lớp tham số, ta được một lớp thể hiện. Như ở trên ta có lớp List dùng để mô tả một danh sách và các phép toán liên quan tới danh sách như thêm một phần tử vào danh sách, xóa một phần tử khỏi danh sách, duyệt danh sách. Bây giờ ta cho một giá trị cụ thể đó là nhân viên, ta có danh sách nhân viên.

Lớp tiện ích (utilities class):

là một tập hợp các phép toán. Ví dụ như ta có một số hàm toán học : lấy bình phương, lấy căn... mà được dùng ở nhiều nơi trong hệ thống, khi đó các hàm này được nhóm lại và đóng kín trong một lớp gọi là lớp tiện ích. Lớp tiện ích thường được dùng để mở rộng tính năng của ngôn ngữ lập trình, lưu giữ các hàm có thể tái sử dụng cho nhiều hệ thống.

Lớp tiện ích tham số (parameterized utilities class):

cũng giống như lớp tiện ích, nó bao gồm một tập hợp các hàm hay dùng nhưng để chỉ một lớp tác động tổng quát chứ không chỉ rõ kiểu dữ liệu mà nó sẽ thao tác.

Lớp thể hiện tiện ích (instantiated utilities class):

khi cho một giá trị cụ thể cho lớp tiện ích tham số ta có một lớp thể hiện tiện ích. Ví dụ

Lớp trừu tượng (abstract class):

là lớp được thiết kế ở mức độ trừu tượng cao nhất, nó chứa những thuộc tính, những hành vi chung cho nhiều lớp con khác. Lớp trừu tượng được tạo ra chỉ để cho các lớp khác kế thừa nó, những phương thức khai báo trong lớp trừu tượng không được cài đặt mà chúng chỉ được cài đặt ở các lớp con. Cho nên không có một đối tượng nào được tạo ra từ lớp trừu tượng.

Phân bổ trách nhiệm giữa các lớp

Mô hình là một tập hợp của rất nhiều lớp, chúng ta cần đảm bảo rằng có một sự phân bổ trách nhiệm tương đối công bằng giữa các lớp. Điều đó có nghĩa là không có lớp nào quá lớn hoặc quá nhỏ. Mỗi lớp cần phải làm tốt một công việc. Nếu có nhiều lớp quá lớn, chúng ta sẽ thấy rằng mô hình rất khó thay đổi và sử dụng lại. Nếu có nhiều lớp quá nhỏ, chúng ta sẽ khó có khả năng kiểm soát và hiểu hết ý nghĩa của chúng.

• Xác định một tập hợp các lớp mà công việc tương đối liên quan với nhau để thực hiện một số ứng xử nào đó.

• Xác định một tập hợp các trách nhiệm cho mỗi lớp.

• Xem xét từng lớp một, nếu lớp nào quá lớn thì tách nó ra thành những lớp nhỏ hơn, tập hợp những lớp nhỏ thành một lớp lớn hơn và phân phối trách nhiệm một cách hợp lý giữa các lớp.

• Cân nhắc cách thức mà những lớp này hợp tác với những lớp khác, phân phối lại các trách nhiệm nếu thấy cần thiết. Công việc này thực hiện lặp đi, lặp lại cho tới lúc cảm thấy tương đối phù hợp, nó phụ thuộc nhiều vào kinh nghiệm thực tế.

Mô tả lớp

Trong quá trình phân tích, có nhiều lớp được tạo ra, do đó cần có một mô tả cho mỗi lớp để hiểu rõ mục đích của lớp là để làm gì, tránh sự nhầm lẫn. Mô tả lớp cần chỉ ra mục đích của lớp chứ không phải cấu trúc của lớp.

Kí hiệu:

Được thể hiện bởi một hình chữ nhật, có các phần ngăn cách giữa tên, thuộc tính, phương thức của lớp.

Ví dụ:

Lớp “Người đọc”: Lớp này chứa các thông tin cần thiết về người đọc, phục vụ cho việc mượn sách. Người đọc là người đã đăng kí với thư viện và mượn sách của thư viện. Một mô tả tồi sẽ như sau:

Lớp “Người đọc”: Lớp này gồm có tên người đọc, địa chỉ...

Một phần của tài liệu Ky thuat phan tich UML.diendandaihoc.vn doc (Trang 30 - 32)