大家好,又见面了,我是你们的朋友全栈君。
活动图简介
什么是活动图(Activity Diagram) 活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流,活动图在本质上是一种流程图;活动图着重表现从一个活动到另一个活动的控制流
活动图元素
动作状态(Action State) 动作状态是指原子的,不可中断的动作,并在此动作完成后通过完成转换转向另一个状态 在UML中的动作状态图用平滑的圆角矩形表示
动作状态的特点
- 动作状态是原子的,无法分解为更小的部分
- 动作状态是不可中断的,一旦开始运行就不能中断,一直运行到结束
- 动作状态是瞬时的行为,它所占用的处理时间极短,有时甚至可以忽略
- 动作状态可以有入转换,入转换可以是动作流,也可以是对象流;动作 状态至少有一条出转换,这条转换以内部的完成为起点,与外部事件无关
- 动作状态与状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移
活动状态(Activity State) 活动状态用于表达状态机中的非原子的运行 在UML中活动状态和动作状态的图标相同,但活动状态可以在图标中给出入口动作和出口动作等信息
活动状态的特点
- 活动状态可以分解成其他子活动或者动作状态
- 活动状态的内部活动可以用另一个活动图来表示
- 和动作状态不同,活动状态可以有入口动作和出口动作,也可以有内部转移
- 动作状态是活动状态的一个特例,如果某个活动状态只包括一个动作,那么它就是一个动作状态
开始点
结束点
整个活动的结束
子流程的结束
子活动状态 选课活动图
分支与合并 分支:一入多出 合并:多入一出
分叉与汇合 分叉用将控制流分为两个或者多个并发运行的分支 汇合用于同步这些并发分支,以达到共同完成一项事务的目的
泳道
对象流
- 可以把对象放置在活动图中并用一个依赖将其连接到进行创建、修改或撤销等动作状态或者活动状态上,对象的这种使用方法就构成了对象流
- 对象流是动作状态或者活动状态与对象之间的依赖关系,表示动作使用对象或动作对对象的影响
- 可以理解为数据流
活动图示例
图书馆馆员活动图
系统管理员活动图
活动图和状态图的区别
活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程 状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与
活动图和流程图的区别
流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理之间有严格的顺序和时间关系 活动图描述的则是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程 活动图能够表示并发活动的情形,流程图不能
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/132935.html原文链接:https://javaforall.cn