状态机图(Statechart Diagram)

状态机图(Statechart Diagram)本文详细介绍了状态机图的基本构成 包括状态 转移 事件和动作 以及它们在 UML 中的表示和使用

大家好,欢迎来到IT知识分享网。

一、定义

状态机图是一种动态图 。描述一个特定对象的所有可能的状态以及引起状态转换的事件。

二、构成

状态机由状态、转移、事件和动作等组成。

1、状态

状态(state)是指对象在其生命周期中,满足某些条件、执行某些活动或等待某些事件时的一个状况

如图书馆的一本书籍可能有:“在架”、“借出”、“被预借”等状态。

(1)标准状态

在UML中,状态使用圆角矩形表示,一个状态有自己的状态名称,状态中包含该状态下将执行的动作事件

image.png

  • entry为进入状态时的动作,当进入该状态时要执行的动作;
  • do为处于该状态下执行的动作。
  • exit为退出动作,当离开当前状态时要执行的动作。
  • event为在该状态下定义相应的事件动作。
(2) 初始状态

初始状态代表状态机图的开始,使用实心圆表示。一个状态机图只有一个初始状态。

(3)结束状态
(4)组合状态
(5)子状态

嵌套在一个状态内部的状态为子状态。可以根据状态是否同时存在,可以再细分为顺序子状态和并发子状态。

顺序子状态 :在组合状态的生命周期中,任何时刻只能处于一个子状态,即多个子状态之间是互斥的关系,不能同时存在。
image.png
并发子状态 :多个顺序的子状态可以同时存在。
image.png


(6)历史状态

image.png

2、转移

转移(Transition)指的是两个不同状态之间的一种关系,是对象在满足一定条件或发生某个事件时,从一种状态迁移到另外一种状态。

(1)转移五要素 :
  1. 源状态:即受转换影响的状态。
  2. 目标状态:当转换完成后对象的状态
  3. 触发事件:当源状态的对象接收到事件时转移才有可能被激活。触发事件有自己的名称,也可以有自己的参数。
  4. 监护条件:布尔表达式,决定是否激活转换
  5. 动作:转换激活时的操作

image.png

(2)转移分类:
分类 说明
外部转移 是一种改变状态的转移,是状态机中常见的一种转移。主要出现在两个不同的状态之间。
内部转移 是指不会导致状态改变的转换。有时,我们需要在该状态下处理一些无需离开状态的事件,这时可以定义一个内部转移。如“借阅图书”这个状态中event。image.png
自转移 如果源状态与目的状态是同一状态,image.png

3、事件

(1)信号事件
(2)时间事件
(3)改变事件
(4)调用事件

4、动作

三、示例

image.png

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/112097.html

(0)
上一篇 2026-01-20 18:00
下一篇 2026-01-20 18:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信