概述
定义
UML即Unified Model Language,是一种建模语言,也是标准建模语言。在软件开发中,当系统规模比较复杂时,需要用图形抽象地来表达复杂的概念,让整个软件设计更具有可读性,可理解性,以便尽早发现软件设计时存在的潜在问题,从而降低开发风险。同时,也极大地方便了业务人员与开发人员之间的交流。
分类
在面向对象系统分析与设计中
-
行为图:用来描述事物之间的关系
- 包括类图、对象图、组件图和部署图
-
行为图:用来描述参与者和用例之间的交互,或者描述参与者如何使用系统
- 包括用例图、顺序图、活动图、状态图和通信图
在系统开发中
- 功能模型:从用户的角度展示系统的功能,包括用例图。
- 对象模型:采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类别图、对象图。
- 动态模型:展现系统的内部行为。包括序列图,活动图,状态图。
classDiagram
direction LR
class Person {
+String name
+int age
+void greet()
}
class Student {
+int studentId
+void study()
}
Person <|-- Student
用例图(Use Case Diagram)
stateDiagram
direction LR
[*] --> Idle
Idle --> Processing : Start processing
Processing --> Done : Finish
Done --> [*]
组件图(Component Diagram)
%% Component diagram demo
graph LR
Client --> API
API --> Service
Service --> Database
Client --> UI
UML中事物的分类
- 结构事物:是UML模型中的名词。它们通常是模型的静态部分,描述概念或物理元素
- 行为事物:是UML模型的动态部分。它们是模型中的动词,描述了跨越时间和空间的行为
- 分组事物:是UML模型的组仅部分。它们是—些由模型分解成的盒子
- 注释事物:是UML模型的解释部分。这些注释事物用来描述、说明和标注模型的任何元素
UML中的4种关系
- 依赖:是两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义
- 关联:是一种结构关系,描述了一组链,链式对象之间的连接,聚集是一种特殊类型的关联,描述整体与部分间的结构关系
- 泛化:是一种特殊一般关系,特殊元素的对象可替代一般元素的对象
- 实现:是类元之间的语义关系,其中一个类元指定了由另一个类元保证执行的契约