Class Diagram là một trong những bản vẻ quan trọng của thiết kế phần mềm, nó cho thấy cấu trúc và quan hệ giữa cac thành phần tạo ra phần mềm.
Quá trình xây dựng chúng ta sẽ phải quyêt định rất nhiều yếu tố về thiêt kế nên nó là bản vẽ mặt bằng trong thiết kế ngành xây dựng
Các thành phần trong bản vẽ class
Class là thành phần chính của bản vẽ Class Diagram. Class mô tả về một nhóm đối tượng có cùng tính chất, hành động trong hệ thống.
Bao gồm 3 phần:
- class name: tên của lớp
- Attributes: Mô tả tính chất của các đối tượng
- Method: chỉ các hành động mà đối tượng có thể thực hiện trong hệ thống. Nó thể hiện hành vi của các đối tượng ddo lớp tạo ra
Relationship (Quan hệ)
Relationship thể hiện mối quan hệ giữa các lớp với nhau
Association
là quan hệ giữa hai lớp với nhau, thể hiện chúng có liên quan với nhau. Association thể hiện qua các quan hệ như “has: có”, “Own: sở hữu” v.v…
Aggregation
Aggregation là một loại của quan hệ Association nhưng mạnh hơn. Nó có thể cùng thời gian sống (cùng sinh ra hoặc cùng chết đi)
Composition
Composition là một loại mạnh hơn của Aggregation thể hiện quan hệ class này là một phần của class kia nên dẫn đến cùng tạo ra hoặc cùng chết đi.
Generalization
Generalization là quan hệ thừa kế được sử dụng rộng rãi trong lập trình hướng đối tượng.
Cách xây dựng bản vẽ Class
Class Diagram là bản vẽ khó xây dựng nhất so với các bản vẽ khác trong OOAD và UML. Bạn phải hiểu được hệ thống một cách rõ ràng và có kinh nghiệm về lập trình hướng đối tượng mới có thể xây dựng thành công bản vẽ này.
Tìm các Classes dự kiến
Entity Classes(các lớp thực thể) là các thực thể có thật và hoạt động trong hệ thống, bạn dựa vào các nguồn sau để xác định chúng.
- Requirement statement: Các yêu cầu. Chúng ta phân tích các danh từ trong các yêu cầu để tìm ra các thực thể.
- Use Cases: Phân tích các Use Case sẽ cung cấp thêm các Classes dự kiến.
- Previous và Similar System: có thể sẽ cung cấp thêm cho bạn các lớp dự kiến.
- Application Experts: các chuyên gia ứng dụng cũng có thể giúp bạn.
Tìm các thuộc tính và phương thức cho lớp
- Tìm thuộc tính: phân tích thông tin từ các form mẫu có sẵn, bạn sẽ tìm ra thuộc tính cho các đối tượng của lớp. Ví dụ các thuộc tính của lớp Customer sẽ thể hiện trên Form đăng ký thông tin khách hàng.
- Tìm phương thức: phương thức là các hoạt động mà các đối tượng của lớp này có thể thực hiện. Chúng ta sẽ bổ sung phương thức đầy đủ cho các lớp khi phân tích Sequence Diagram sau này.
Xây dựng các quan hệ giữa các lớp và phát hiện các lớp phát sinh
Phân tích các quan hệ giữa các lớp và định nghĩa các lớp phát sinh do các quan hệ sinh ra. Chúng ta phân tích các thực thể ở trên và nhận thấy.
- Lớp Accounts có thể chia thành nhiều loại tài khoản như Current Accounts và Saving Accounts và có quan hệ thừa kế với nhau.
- Lớp ATM Transactions cũng có thể chia thành nhiều loại giao dịch như Deposit, Withdraw, Transfer v.v.. và chúng cũng có quan hệ thừa kế với nhau.
Đặc tả Class
Nhìn vào Class Diagram chúng ta có thể thấy cấu trúc của hệ thống gồm những lớp nào nhưng để cài đặt chúng, chúng ta phải đặc tả chi tiết hơn nữa. Trong đó, cần mô tả:
Các thuộc tính: Tên, kiểu dũ liệu, kích thước
Các phương thức
- Tên
- Mô tả
- Tham số đầu vào: Tên, kiểu dữ liệu, kích thước
- Kết quả đầu ra: Tên, kiểu dữ liệu, kích thước
- Luồng xử lí
- Điều kiện bắt đầu
- Điều kiện kết thúc
Sử dụng bản vẽ class
Cấu trúc ứng dụng của Bản vẽ class diagiam
- Hiểu cấu trúc của hệ thống
- Thiết kế hệ thống
- Sử dụng và phân tích chi tiết các chức năng ( sequence diagram, ….)
- Sử dụng cài đặt