UML行为图 状态图、活动图

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yyp0304Devin/article/details/83792555

状态图

一,概述

1.概念:一个状态图表示一个状态机,主要用于表现从一个状态到另一个状态的控制流。它不仅可以展现一个对象拥有的状态,还可以说明事件如何随着时间的推移来影响这些状态。

状态图和活动图区别

状态图侧重从行为的结果来描述(状态)

活动图侧重从行为的动作类描述(活动)

 

2.状态图通常要用的内容

(1)状态

状态定义对象在其生命周期中的条件或者状况。在此期间,对象满足某些条件,执行某些操作做等待某些事件。

(2)转换

转换包括事件和动作,事件是发生在时间空间上值得注意的事情。

图符表示方法

表示起点

表示终点

表示状态,指对象在其生命周期的一种状态,四个角用半圆表示

表示决策点

 

 

实例

机房收费系统注册状态图

 

 

活动图

一、概述

定义

活动图是 UML 中描述系统动态行为的图之一,用于展现参与行为的类的活动或动作。

UML 中,图形上活动图里的活动用圆角矩形表示;一个活动结束自动引发下一个活动,则两个活动之间用带箭头的连线相连接,连线的箭头指向下一个活动;起点用实心圆表示,终点用半实心圆表示;分支与合并的图标和状态图中判定的图标相同,而分叉与汇合则用一条加粗的线段表示。

活动图的组成元素

1.动作状态

活动图包括动作状态和活动状态,动作状态标识入口动作,入口动作是在状态被激活的时候执行的动作,在活动状态机中,动作状态对应的动作就是此状态的入口动作。

2.活动状态

对象的活动状态可以被理解成应给组合,它控制流由其他活动状态或动作状态组成。

3.动作流

当一个动作流或活动流结束时,该状态就会转到下一个状态,这就是无法触发转移或自动转移。

当一个动作状态或活动状态结束时,该状态就会转换到下一个状态,这就是无触发转移或称为自动转移。无触发转移实际上是没有任何特定的事件触发的转移,即当状态结束工作时就自动的发生转移。

4.分支与合并

在软件系统的流程图中,分支十分常见,它描述了软件对象在不同的判断结果下所执行的动作。在UML中,活动图也提供了描述这种程序结构的建模元素,这被称为分支。

在活动图中分支与合并用空心小菱形表示。分支包括一个入转换和两个带条件的出转换,出转换的条件应当是互斥的,这样可以保证只有一条出转换能够被触发。合并包括两个带条件的入转换和一个出转换,合并表示从对应的分支开始的条件行为的结束。

5.分叉与汇合

在建模过程中,可能会遇到对象在运行时存在两个或多个并发运行的控制流。在UML中,可以使用分叉把路径分成两个或多个并发流,然后使用结合,同步并发流。

 

汇合代表两个或多个并发控制流同步发生。当所有的控制流都到达汇合点后,控制才继续向下进行。一个汇合可以有两个或多个转换和一个输入输出转换。

图形上,分叉和汇合都使用同步条表示。同步条是一条粗的水平线。

如图所示:

6.泳道:用于对活动图中的活动进行分组,用于描述对象之间的合作关系

定义:所谓泳道,是将活动用线划分成一些纵向区域,这些区域称为泳道,每个区域dai表一个特定类,或者人,或者部分的责任区。泳道技术是活动图中引入的一种面向对象机制。可为提取类及各个对象之间的交互提供方便。

缺点:扩展能力不强,并且不能方便地表达出各个活动分别以后那些对象负责。

以订单系统为例

 

机房收费系统用户登录泳道图

以顾客购物为例

7.对象流

用活动图描述某个对象时,可以把所涉及的对象放置在活动图上,并用一个依赖将这些对象连接到对它们进行创建、撤销和修改的活动转换上。这种依赖关系和对象的应用被称为对象流。

对象流是动作和对象间的关联。对象流可用于对下列关系建模:动作状态对对象的使用以及动作状态对对象的影响

活动图的作用

描述一个操作的执行过程中所完成的工作或者动作。

描述对象内部的工作。

显示如何执行一组相关的动作,以及这些动作如何影响周围的对象。

描述用例的执行

处理多线程应用

以下场合不使用活动图

显示对象这件的合作

显示对象在其生命周期内的运转情况

 

机房收费系统用户登录活动图

 

 

猜你喜欢

转载自blog.csdn.net/yyp0304Devin/article/details/83792555