一:活动图
活动图表示在处理某个活动时,两个或者更多类对象之间的过程控制流。
它用来描述采取何种动作、做什么(对象状态改变)、何时发生(动作序列)以及何处发生(泳道)。
活动图基本要素:
1.活动状态(Action states)
是非原子性的,可以分解成其他子活动或动作状态,可以有入口动作和出口动作。用于描述持续时间或复杂性的计算。
2.动作状态
是原子性动作或操作执行状态,它不能被外部事件的转换中断。
3.分支与合并
每次只走一条,不同路径之间是互斥的关系。
4.分叉与结合
结合:汇合了两个及以上的并行控制路径。在执行过程中,所有路径都要走过,先到的控制流要等到其他控制流都到后,才能继续运行。
5.泳道
每个活动只能明确的属于一个泳道,泳道明确的表示了那些活动是由哪些对象执行的。每个泳道都有一个其他泳道不同的名称。
6起始状态与终止状态
二:状态图
状态图用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。
它不仅可以展现一个对象拥有的所有状态,还可以说明事件(如消息的接收、错误、条件变更)如何随着时间的推移来影响这些状态
比较
活动图和传统的流程图很相似,往往流程图所能表达的内容,大多数情况下活动图也可以表达,不过二者之间还是有明显的区别:
活动图是面向对象的,流程图是面向过程的。
活动图不仅能够表达顺序流程控制,还能够表达并发流程控制。
活动图与状态图的区别
活动图中的状态转换不需要任何触发时间,活动图中的动作可以放在泳道中,泳道可以将模型中的活动按照职责组织起来,而状态图则不可以。
活动图的主要目的是描述动作及对象的改变结果,而状态图则是以状态的概念描述对象、子系统、系统在生命周期中的各种行为。