UML行为图(状态图,活动图)

前言

在UML建模的过程中,状态图可以很好地描述了一个对象的行为。而活动图可以描述参与行为的多个对象的活动或动作。这两个图在描述系统的动作行为方面都很关键。下面就进行一下总结


内容

状态图

组成=状态+转换

1.状态:一个对象在其生命期内所有可能的条件或状况

  一个完整的状态由名字,入口/出口动作,内部转换,活动等组成。

  入口/出口动作表示进入/退出这个状态所执行的动作。

  内部转换不会引起状态变化的转换。


2.转换:转换时从一种状态到另一种状态的过度。包括事件和动作,表示两个不同状态之间的联系,事件可以触发状态之间的转换。

3.事件:导致对象从一个状态转变到另一个状态。

4.活动:非原子的执行,由一系列动作组成

5.动作:原子性的,表示一个简短的计算处理过程,是转换过程中发生的不可中断的行为。


主要描述的内容:

1.对象可能处于的稳定状态,2.触发状态转变的事件,3.对象状态改变时发生的动作


画状态图的步骤:

1.识别一个对其生命周期进行描述的参与行为的类

2.对对象建模,即确定对象可能存在的状态

3.对事件建模,即确定对象可能存在的事件

4.对动作建模,即确定当转变被激活是,相应被执行的动作


画状态图我们可以从大方面上把一个系统分成几个子系统,来对系统进行状态的划分,这种情况,我们只是为了了解这个系统有那几个模块,这几个模块之间的相互装换,从细处来说,我们可以对系统中某个对象进行状态分析,分析这个对象一个功能过程中处于的状态,这就是给开发人员看的。总之就是不同需求画不同的状态图,并不是一成不变的,我们要根据具体情况掌握好对状态图或者其他图的粒度。


机房收费系统登录的状态图:

UML行为图(状态图,活动图)_第1张图片



活动图:描述完成一个活动多个对象动作的流程

组成

1.起点:用来表示活动中所有活动的起点,只有一个

2.终点:用来表示活动图中各个活动的终点,可以有多个

3.活动:指系统可以执行的动作

4.判断条件:活动流程出现的分支与决策

5.同步条:指判断下可以同步执行的信息

6.状态:


画活动图的步骤:

1.识别要对其工作流描述的类

2.对动态状态建模

3.对动作流建模

4.对对象流建模


与流程图类似,但是与流程图有区别:

1.流程图着重描述处理过程,而活动图描述的是对象活动的顺序关系所遵循的规则,着重表现的是系统的行为。

2.活动图能表示并发活动的情形,而流程图不能。

3.活动图是面向对象的,而流程图是面向过程的。


机房收费操作员登录系统活动图:


UML行为图(状态图,活动图)_第2张图片

活动图应该是对一个单一功能的流程描述,所以就单独把登录功能给拿出来,绘制它的活动图。

UML行为图(状态图,活动图)_第3张图片



对比

状态图是为一个对象的生命期间的情况建立模型,着重描述从一个状态到另一个状态的流程,主要是外部事件的参与。

活动图描述活动的序列,着重描述从一个活动到另一个活动的控制流,是内部处理驱动的流程,是活动间流的模型




你可能感兴趣的:(软件工程)