UML——状态图[通俗易懂]

UML——状态图[通俗易懂]什么是状态图状态图是系统分析的一种常用工具,它通过建立类对象的生存周期模型来描述对象随时间变化的动态行为。一个状态图表示一个状态机,主要用于表现从一个状态到另一个状态的控制流。它不仅可以展现一个对象拥有的状态,还可以说明事件(如消息的接收、错误、条件变更等)如何随着时间的推移来影响这些状态。状态图的内容▷状态:状态是状态机的重要组成部分,她描述了状态机所在对象动态行为的执行所产生的结果(结果:一般指能影响此对象对后续事件响应的结果)。UML图中使用一个圆角矩形表示一个状态。状态的组成部分

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

目录

什么是状态图

状态图的内容

状态图实例

实例一

机房收费系统状态图


什么是状态图

状态图是系统分析的一种常用工具,它通过建立类对象的生存周期模型来描述对象随时间变化的动态行为。

一个状态图表示一个状态机,主要用于表现从一个状态到另一个状态的控制流。它不仅可以展现一个对象拥有的状态,还可以说明事件(如消息的接收、错误、条件变更等)如何随着时间的推移来影响这些状态。

状态图用于对系统的动态方面建模,动态方面指出现在系统结构中任一对象按事件排序的行为,其中这些对象可以是类、接口、构件和节点。

状态图的内容

状态:状态是状态机的重要组成部分,她描述了状态机所在对象动态行为的执行所产生的结果(结果:一般指能影响此对象对后续事件响应的结果)。UML图中使用一个圆角矩形表示一个状态。

状态的组成部分☟

名字(name) 由一个字符串组成,用以识别不同状态。可匿名,一般放置在状态图符顶部

入口/出口动作

(entry/exit action)

该动作表示进入/退出这个状态所执行的动作。动作可以是原子动作,也可是动作序列
内部转换(Internal Transaction) 内部转换不会引起状态变化的转换,此转换的触发不会导致状态的入口/出口动作被执行。语法:事件/动作表达式
子状态(Substate) UML中,子状态被定义为状态的嵌套结构,即包含在某状态内部的状态。包含子状态的状态被称为复合状态,不包含子状态的状态被称为简单状态。
延迟事件(Deferred Event) 延迟事件是事件的一个列表,此列表内的事件当前状态下不再处理,在系统进入其他状态时再处理。

转换:转换是状态间的关联。它们用于对一个实体的不同状态间的关系建模。当某个实体在第一个状态中执行一定的动作,并在某个特定事情发生并且某个特定的条件满足时进入下一个状态。

UML中,转换由5个部分组成,分别为源状态、目标状态、触发事件、监护条件和动作。

源状态(Source State) 源状态就是被转换影响的状态。某对象处于源状态,当它接收到触发事件或满足监护条件,就会激活一个转换。
目标状态(Target State) 转换完成后,对象状态发生变化,这时对象所处的状态就是转换的目标状态。
触发事件(Trigger Event) 引起转变的事件,这里所指的事件可以是信号、调用、时间段或状态的一个改变。
监护条件(Guard Condition)

一个方括号括起来的布尔表达式,它被放在触发事件的后面。监护条件可以引用对象的属性值和触发事件的参数。

动作(Action) 动作是一个可执行的原子计算,它可以包括操作、调用、另一个对象的创建或撤销、向一个对象发送信号。也可以是一个动作序列。

状态图实例

实例一

下图是某手机的状态图☟☟☟

当手机开机时,它处于空闲状态(idle),当用户开始使用电话呼叫某人(call someone)时,手机进入拨号状态(dialling)。如果呼叫成功,手机处于通话状态(working),否则重新进入空闲状态。手机空闲状态下被呼叫(be called),手机进入响铃状态(ringing)。如果用户接听电话,处于通话状态(working),如果用户拒接(refused),手机回到空闲状态(idle)。

UML——状态图[通俗易懂]

机房收费系统状态图

以机房收费系统为例,画出如下图所示的状态图:

UML——状态图[通俗易懂]

 

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

(0)

相关推荐

发表回复

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

关注微信