UML 图
一、用例图(Use)
1.1 基本元素
用例图由四个元素组成:参与者(Actor)、用例(Use Case)、系统(System),以及三者之间的关系(Relationship),他们的表示方法如下,

1.2 基本关系
用例图的基本关系包括四种:关联、泛化、包含(依赖)、扩展(实现)。
| 关系类型 | 说明 | 表示符号 |
| 关联 | 参与者与用例的关系 | ![]() |
| 泛化 |
参与者之间父用例和子用例的关系 (继承) |
![]() |
|
包含 (依赖) |
当执行用例A时,被包含的用例B也一定会执行 | ![]() |
|
扩展 (实现) |
当执行用例A时,需要满足一定条件,才会执行扩展用例B | ![]() |
1.3 实际案例
参与者可以分为:主要(Primary)参与者、次要(Secondary)参与者,主要参与者做出动作以后,次要参与者才会响应。在用例图中,主要参与者在系统的左边,次要参与者在系统右边。
用例应绘制在系统内部,通常表达为一个动作(动词)。
注意:泛化由子用例指向父用例,包含由基本用例指向包含用例,扩展由扩展用例指向基本用例。
参考:6 分钟学会 UML 用例图_哔哩哔哩_bilibili
二、类图
2.1 基本类图
| 类名 |
|
- Attribute1:string - Attribute2:int |
|
- Method1(var, var): string - Method2() |
如果是抽象类,有两种表示方法:1.类名用斜体表示;2.将类名放在<<>>内。
属性和方法前的符号含义:- private; + public; # protected; ~ package/default。其中属性通常为private或者protected,方法通常为public,package表示在同一个包中其它类都可以访问(少用)。
2.2 基本关系
类图的基本关系包括四种:继承、关联、组合、聚合。
| 关系类型 | 说明 | 表示符号 |
| 继承 | 父类与子类 |
由子类空心箭头指向父类
|
| 关联 | 两个类存在关系,但不依赖彼此而存在(比如兔子吃草) |
用实线连接
|
| 组合 | 整体和部分的关系,部分可以存在于整体之外(比如乌龟属于爬行类动物) |
使用空心菱形由部分指向整体
|
| 聚合 | 整体和部分的关系,部分不能存在于整体之外(卫生间必须在房子内) |
使用实心菱形由部分指向整体
(一个整体可能有多个部分组成,用1....n表示;如果是一对一或者一多,用1/n表示) |
参考:6 分钟学会 UML 类图_哔哩哔哩_bilibili
三、活动图
展现了一个活动到另一个活动的控制流程,它可以显示系统的活动顺序。
3.1 基本元素
| 元素 | 说明 | 表示符号 |
| 开始节点 | 活动图的开始,一个活动图只能有一个开始节点 |
实心圆
|
| 结束节点 | 活动图的结束,一个活动图可以有多个结束节点 | |
| 动作节点 | 表示要开始指定的任务,一个原子性操作,用动词描述 |
用圆角矩形表示
|
| 决策节点 | 通过不同的条件来执行不同的子流程 | 用空心菱形表示![]() |
| 合并节点 | 不同条件的子流程在此合并 | |
| 并行执行 | 不同自流程可以并行执行 | 用组黑线表示![]() |
| Joint节点 | 所有并行执行的异步操作子流程都完成以后,合并为同一个流程 |
3.2 实际案例
为了给出更加清晰的视图方案,可以基于用户角色使用泳道图:
参考:3 分钟学会 UML 活动图_哔哩哔哩_bilibili
四、时序图
直观显示系统的内外交互过程。
更多推荐













所有评论(0)