状态图
一,概述
1.概念:一个状态图表示一个状态机,主要用于表现从一个状态到另一个状态的控制流。它不仅可以展现一个对象拥有的状态,还可以说明事件如何随着时间的推移来影响这些状态。
状态图和活动图区别
状态图侧重从行为的结果来描述(状态)
活动图侧重从行为的动作类描述(活动)
2.状态图通常要用的内容
(1)状态
状态定义对象在其生命周期中的条件或者状况。在此期间,对象满足某些条件,执行某些操作做等待某些事件。
(2)转换
转换包括事件和动作,事件是发生在时间空间上值得注意的事情。
图符表示方法
表示起点
表示终点
表示状态,指对象在其生命周期的一种状态,四个角用半圆表示
表示决策点
实例
机房收费系统注册状态图
活动图
一、概述
定义
活动图是 UML 中描述系统动态行为的图之一,用于展现参与行为的类的活动或动作。
UML 中,图形上活动图里的活动用圆角矩形表示;一个活动结束自动引发下一个活动,则两个活动之间用带箭头的连线相连接,连线的箭头指向下一个活动;起点用实心圆表示,终点用半实心圆表示;分支与合并的图标和状态图中判定的图标相同,而分叉与汇合则用一条加粗的线段表示。
活动图的组成元素
1.动作状态
活动图包括动作状态和活动状态,动作状态标识入口动作,入口动作是在状态被激活的时候执行的动作,在活动状态机中,动作状态对应的动作就是此状态的入口动作。
2.活动状态
对象的活动状态可以被理解成应给组合,它控制流由其他活动状态或动作状态组成。
3.动作流
当一个动作流或活动流结束时,该状态就会转到下一个状态,这就是无法触发转移或自动转移。
当一个动作状态或活动状态结束时,该状态就会转换到下一个状态,这就是无触发转移或称为自动转移。无触发转移实际上是没有任何特定的事件触发的转移,即当状态结束工作时就自动的发生转移。
4.分支与合并
在软件系统的流程图中,分支十分常见,它描述了软件对象在不同的判断结果下所执行的动作。在UML中,活动图也提供了描述这种程序结构的建模元素,这被称为分支。
在活动图中分支与合并用空心小菱形表示。分支包括一个入转换和两个带条件的出转换,出转换的条件应当是互斥的,这样可以保证只有一条出转换能够被触发。合并包括两个带条件的入转换和一个出转换,合并表示从对应的分支开始的条件行为的结束。
5.分叉与汇合
在建模过程中,可能会遇到对象在运行时存在两个或多个并发运行的控制流。在UML中,可以使用分叉把路径分成两个或多个并发流,然后使用结合,同步并发流。
汇合代表两个或多个并发控制流同步发生。当所有的控制流都到达汇合点后,控制才继续向下进行。一个汇合可以有两个或多个转换和一个输入输出转换。
图形上,分叉和汇合都使用同步条表示。同步条是一条粗的水平线。
如图所示:
6.泳道:用于对活动图中的活动进行分组,用于描述对象之间的合作关系
定义:所谓泳道,是将活动用线划分成一些纵向区域,这些区域称为泳道,每个区域dai表一个特定类,或者人,或者部分的责任区。泳道技术是活动图中引入的一种面向对象机制。可为提取类及各个对象之间的交互提供方便。
缺点:扩展能力不强,并且不能方便地表达出各个活动分别以后那些对象负责。
以订单系统为例
机房收费系统用户登录泳道图
以顾客购物为例
7.对象流
用活动图描述某个对象时,可以把所涉及的对象放置在活动图上,并用一个依赖将这些对象连接到对它们进行创建、撤销和修改的活动转换上。这种依赖关系和对象的应用被称为对象流。
对象流是动作和对象间的关联。对象流可用于对下列关系建模:动作状态对对象的使用以及动作状态对对象的影响
活动图的作用
描述一个操作的执行过程中所完成的工作或者动作。
描述对象内部的工作。
显示如何执行一组相关的动作,以及这些动作如何影响周围的对象。
描述用例的执行
处理多线程应用
以下场合不使用活动图
显示对象这件的合作
显示对象在其生命周期内的运转情况
机房收费系统用户登录活动图