前言
UML的行为图是用来描述系统的动态模型和对象之间的关系。在UML中使用活动图和状态图来描述系统的动态行为
活动图
活动图是一种用于描述系统行为的模型视图。它是用来描述动作和动作导致对象状态改变的结果。主要用来描述执行中的工作和动作、对象内部工作以及多线程应用
活动图组成
1.Activity:活动,非原子性
2.初始节点:活动图具有起始节点
3.终节点:活动图的终点
4.分叉与结合(并发):同一时间间隔内,有两个或者两个以上的活动执行。分叉用来表示将一个控制流分成两个或者多个并发运行的分支,结合用来表示并行分支在此得到同步。活动条出现在并发过程中。
5.分支与合并:分支是将转换路径分成多个部分,且每个分支之间是互斥事件。合并是两个或者多个控制路径在此汇合的情况。
6.泳道:根据活动的不同的执行者或对象等进行划分并组织,每个泳道可能由一个或者多个类实施,类所执行的动作或者拥有的状态按照发生的事件顺序排列在泳道内。
活动图示例
状态图
状态图是用来描述行为的结果和状态,指某个对象的状态及状态的转移情况。状态图提供了对象在其生命周期中可能出现的状态及其行为的描述。
状态图的组成
1.事件:一个伴随状态迁移的瞬时发生的行为,事件不能存储,不具有时间有效性
2.活动:发生在某个状态中的行为,需要一定时间来完成。
3.转移:两种状态之间的一种关系,每个转移只允许有一个事件触发,一个事件只允许有一个动作
总结
活动图描述多个用例的活动,涉及并行行为、过程,侧重从行为的动作来描述。状态图更多的是描述一个对象可能存在的状态及其转换,侧重从行为的结构来描述状态。