基本概念传送门
UML之类图
UML之时序图
UML之状态机
UML之系统依赖图
UML用例图
什么是活动图
活动图一般也叫做流程图,主要展现从活动到活动的控制流。也是非常常用的建模的几种图之一。活动图除了基本流程外,还能展示控制与并发的情况
感受一下
下面看一个图,是网上一个XX业务的流程图,是不是很熟悉?
基本概念
看一下《UML用户指南》一书中下的定义:活动图显示从活动到活动的流程,一个活动是一个状态机中进行的非原子执行单元。
活动的组成
其实这个定义还是有点抽象,再看下活动图的组成:
- 动作
- 活动结点
- 流
动作
动作可以表示一个活动中的任何一个操作,比如在编程中,发一个MQ消息,或者一个DB的操作。也没有规定具体一个活动的粒度,比如调用第三方接口,或者细到一行代码的逻辑,都是可以的,取决于整个流程图的意图。比如下面的一个用户线上点餐流程
上面的进入网站,选择餐厅,提交订单等,都是一个具体的动作,而且背后的执行逻辑也不一样,但是都在整个点餐流程中,构成了一个完整的流程。
其中是否登录,是否支付,跟进入网站,选择餐厅,提交订单相比,区别在于它们是条件动作,而其它的则是单㟀的执行动作
当然,一般在画流程图时,还会有专业开始,结束节点,比如VP工具中流程图
控制流
当一个动作或活动结点结束时,控制流马上传递到下一个动作或活动节点,从以上图中,就是箭头符号。别小看它,没有这个控制流,给出一堆动作或活动,也是你没有血液的身体,一堆烂泥
活动图
上面说了动作,其实活动跟动作有点类似,区别在于,动作是一个原子性的,而活动一般是组合,复杂的。
比如刚才点餐流程,对于整个支付过程来说,支持可以做为一个活动,而创建支付订单,执行扣款,扣减库存等可视为动作,即活动图可以包含多个动作,取决于活动的表示维度
泳道图
在一般实际场景中 ,如果流程涉及多个系统,或者多个关联方,或比较复杂,一般推荐用户泳道图表示,如下
写在最后
所谓"读书百遍,其义自现",多动手,理解才理深刻