7. Bố cục của luận văn
2.4.2 Các thành phần của UML
2.4.2.1 Các phần tử mang tính cấu trúc
- Lớp (Class): Là một tập hợp các đối tƣợng có cùng một tập thuộc tính, các hành vi, các mối quan hệ với những đối tƣợng khác
Hình 2.9 Ví dụ một lớp trong UML
- Hợp tác (Collaboration): Thể hiện một giải pháp thi hành bên trong hệ thống, bao gồm các lớp/đối tƣợng, mối quan hệ và sự tƣơng tác giữa chúng để đạt đƣợc một chức năng mong đợi của Use Case.
- Giao diện (Interface): Là một tập hợp các phƣơng thức tạo nên dịch vụ của một lớp hoặc một thành phần. Nó chỉ ra một tập các phƣơng thức ở mức khai báo chứ không phải ở mức thực thi.
- Usecase: Là mô tả một tập hợp của nhiều hành động tuần tự mà hệ thống thực hiện để đạt đƣợc một kết quả có thể quan sát đƣợc đối với một tác nhân cụ thể nào đó. Tác nhân là những gì ở bên ngoài mà tƣơng tác với hệ thống. Nó thể hiện chức năng mà hệ thống sẽ cung cấp cho tác nhân. Tập hợp các Use case của hệ thống sẽ tạo nên tất cả các trƣờng hợp mà hệ thống có thể đƣợc sử dụng.
Hình 2.10 Usecase trong UML
2.4.2.2 Các phần tử thể hiện hành vi
Tƣơng tác (Interaction) bao gồm một tập các thông báo trao đổi giữa các đối tƣợng trong một ngữ cảnh cụ thể nào đó để thực hiện một chức năng nào đó.
47
Hình 2.11 Tƣơng tác trong UML
2.4.2.3 Các phần tử mang tính chất nhóm
- Gói (Package): Dùng để nhóm các phần tử có một ý nghĩa chung nào đó vào thành nhóm. Không giống nhƣ các thành phần (tồn tại trong lúc thực thi), một package chỉ mang tính trừu tƣợng. Package dùng để nhìn hệ thống ở một mức độ tổng quát hơn so với việc xem xét từng phần tử trong package.
- Annotational: là các chú thích dùng để mô tả, làm sáng tỏ và ghi chú về bất cứ phần tử nào trong mô hình. Thƣờng dùng nhất là Note gồm các ràng buộc hoặc ghi chú, đƣợc gắn với một phần tử hoặc một tập hợp các phần tử.
2.4.2.4 Các mối quan hệ (Relationship)
- Quan hệ phụ thuộc (Dependency): Thể hiện mối quan hệ nếu có sự thay đổi một đối tƣợng này sẽ ảnh hƣởng đến đối tƣợng kia
Hình 2.12 Ký hiệu Quan hệ phụ thuộc
- Quan hệ kết hợp (Association): Là mối quan hệ liên kết giữa 2 lớp. Khi một đối tƣợng của lớp này gửi thông điệp tới hoặc nhận thông điệp từ một đối tƣợng của lớp kia thì ta nói giữa 2 lớp có mối quan hệ association.
Hình 2.13 Quan hệ kết hợp trong UML
- Quan hệ tập hợp (Aggreagation): Là một dạng đặc biệt của quan hệ liên kết. Nó là mối quan hệ tổng thể - bộ phận.
48
- Quan hệ kế thửa (Generalization): Là mối quan hệ tổng quát hóa/cụ thể hóa trong đó đối tƣợng cụ thể sẽ kế thừa các thuộc tính và phƣơng thức của đối tƣợng tổng quát.
Hình 2.15 Quan hệ kế thừa
2.4.2.5 Các biểu đồ (Diagrams)
- Biểu đồ lớp (Class Diagram): Bao gồm một tập hợp các lớp, các giao diện, các collaboration và mối quan hệ giữa chúng. Nó thể hiện mặt tĩnh của hệ thống.
- Biểu đồ đối tƣợng (Object Diagram): Bao gồm một tập hợp các đối tƣợng và mối quan hệ giữa chúng. Đối tƣợng là một thể hiện của lớp, biểu đồ đối tƣợng là một thể hiện của biều đồ lớp.
- Biểu đồ UseCase (UseCase Diagram): Khái niệm actor: là những ngƣời, hệ thống khác ở bên ngoài phạm vi của hệ thống mà có tƣơng tác với hệ thống. Biểu đồ Use case bao gồm một tập hợp các Use case, các actor và thể hiện mối quan hệ tƣơng tác giữa actor và Use case. Nó rất quan trọng trong việc tổ chức và mô hình hóa hành vi của hệ thống.
- Biểu đồ trình tự (Sequence Diagram): là một dạng biểu đồ tƣơng tác biểu diễn sự tƣơng tác giữa các đối tƣợng theo thứ tự thời gian. Nó mô tả các đối tƣợng liên quan trong một tình huống cụ thể và các bƣớc tuần tự trong việc trao đổi các thông báo giữa các đối tƣợng đó để thực hiện một chức năng nào đó của hệ thống.
- Biểu đồ hợp tác (Collaboration): Biểu đồ Collaboration là một cách khác để thể hiện một tình huống có thể xảy ra trong hệ thống. Nhƣng nó tập trung vào việc thể hiện việc trao đổi qua lại các thông báo giữa các đối tƣợng chứ không quan tâm đến thứ tự của các thông báo đó. Có nghĩa là qua đó chúng ta sẽ biết đƣợc nhanh chóng giữa 2 đối tƣợng cụ thể nào đó có trao đổi những thông báo gì cho nhau.
49
- Biểu đồ chuyển trạng thái (Statechart): Chỉ ra một máy chuyển trạng, bao gồm các trạng thái, các bƣớc chuyển trạng và các hoạt động. Nó đặc biệt quan trọng trong việc mô hình hóa hành vi của một lớp giao diện hay collaboration và nó nhấn mạnh vào các đáp ứng theo sự kiện của một đối tƣợng, điều này rất hữu ích khi mô hình hóa một hệ thống phản ứng.
- Biểu đồ hoạt động (Activity): Là một dạng đặc biệt của biểu đồ chuyển trạng. Nó chỉ ra luồng đi từ hoạt động này sang hoạt động khác trong một hệ thống. Nó đặc biệt quan trọng trong việc xây dựng mô hình chức năng của hệ thống và nhấn mạnh tới việc chuyển đổi quyền kiểm soát giữa các đối tƣợng.
- Biểu đồ thành phần (Component): chỉ ra cách tổ chức và sự phụ thuộc của các thành phần. Nó liên quan tới biểu đồ lớp, trong đó một thành phần thƣờng ánh xạ tới một hay nhiều lớp, giao diện, collaboration.