状态机图用于对单个类对象,用例和整个系统的动态行为进行建模。换句话说,当一个状态机创建了对象的连接对象时,该对象成为状态机的所有者,例如,状态机所附加的对象可以是一个类,用例甚至整个系统。

状态机图是一种行为,用于指定对象在其生命周期中响应事件所经历的状态序列。状态机用于指定必须响应异步激励或其当前行为取决于其过去的对象的行为。状态机用于对对象,用例甚至整个系统的行为进行建模,特别是响应系统,这些系统必须响应来自系统外部角色的信号。
在UML中,除传统的开始图表符号之外,状态机引入了两个新概念:
以图形方式,状态呈现为带圆角的矩形。一个转换被呈现为一条坚实的指示线。
查找在线状态机图工具?只需点击下面的绘图按钮即可在线创建您的状态机图。Visual Paradigm Online是免费*且直观的。在开始之前,您也可以通过这个状态机图教程来了解状态机图。现在画
状态是对象生命中的一种状态,它可以满足执行一些活动的某些条件,或者等待某些事件被接收。
一个州有五个部分:

对象在有限的时间内保持状态。例如,家中的加热器可能处于以下四种状态之一:空闲,制冷,加热,启动和活动。

源状态:受到转换影响的状态;如果一个对象处于源状态,当对象收到转换的触发事件以及是否满足防护状态(如果有)时,可能会触发转出转换。
目标状态:转换完成后处于活动状态。
事件是发生在某个时间点的离散信号。它也被称为刺激物和对物体的一种输入。以下是事件的特点:
动作是由于状态转换瞬间执行的。状态转换标签可以表示为以下格式
决定ode用于表示测试条件,以确保控制流或对象流只落在一条路径上。
叉节点是一个伪状态,用于将入局转换分解为两个或更多个以正交目标顶点为终点的转换。从叉顶点出来的线段不能有防守或触发器,并且它必须有一个输入和至少两个输出转换。
连接节点是一个伪状态,用于合并从不同正交区域中的源顶点发出的多个转换。进入联接顶点的转换不能有防护或触发器,并且它必须至少有两个传入转换和一个传出转换。
合并节点用于将使用决策节点创建的不同决策路径重新组合起来。
选择是一种假的状态,当达到时,导致对其即将离任的过渡的触发者的警卫的动态评估。这实现了一个动态条件分支。它允许将转换分成多个传出路径,以便决定采用哪条路径。
示例:状态机图的选择节点
终止是一个伪状态,表示状态机的生命线已经结束。终止伪状态由十字表示。
与最终状态不同,终止伪状态意味着状态机由于上下文对象被终止而结束。没有任何状态退出,状态机也不会执行任何退出操作,除了与导致终止状态的转换相关的操作。
一个简单的状态是一个没有子结构的状态。复合国可以进一步分解成子状态(在州内或在单独的图中)。具有子状态(嵌套状态)的状态称为复合状态。

除复合状态之外,还有另一个称为冲突状态的符号,它在语义上等同于复合状态。
甲复合状态具有两个或更多个区域被称为正交。与组合状态不同,冲突状态旨在对状态进行分组,因此您可以重复使用它们。正交状态分为两个或多个由虚线分开的区域:

注意:
您可以使用并行和同步节点来协调不同的子状态。并行子状态是独立的,可以在不同的时间完成。
历史状态允许状态机在离开组合状态之前重新输入活动的最后一个子状态。下图显示了历史状态使用情况的一个示例:
在以下情况下可以使用状态机:
可以按照以下步骤开发用例模型。
你也可以:
下面的数字时钟状态机图例显示了一个简单的数字时钟的接口:
状态机图所在的类:
用于建模DigitalClock行为的状态图:
下面提供了更多的状态机图例。
状态机图例:烤面包机
状态机图示例:烤箱
状态机图例:计算机测试
这个例子通过使用两个区域来表示两组并发子状态。
状态机图示例:人类生活
这个例子通过使用两个区域来表示两组并发子状态。

![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删