状态机图近年原文.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

状态机图

1.概述

状态机图(StateMachineDiagram)是用来显示状态机的图,包括简单状态、转换和嵌

套的复合状态等,一个典型的状态机图如图1所示:

图1.状态机图

2.基本表示符号

状态机图的基本元素包括:状态、转移、事件、伪状态和复合状态。

2.1状态(State)

状态是对象生命周期中的一个条件或形态。状态由对象的属性值、与其他对象的关系以

及正在执行的活动来确定。在UML中,状态用圆角矩形和状态名表示,初始状态用实心圆

表示,终止状态用牛眼表示,如图2所示:

图2.状态

状态可以有一个或多个分栏,这些分栏是可选的,包括名称分栏、嵌套区域、内部转换

分栏等,如图3所示:

图3.带分栏的状态

状态也可用圆角矩形上带有状态名称标签的方框表示,如图4所示:

EnterPassword

+entry/reset

+exit/test

+digit/handleCharacter

+clear/reset

+help/displayHelp

+print/defer

+do/suppressecho

图4.带有名称标签符号的状态

2.2转移(Transaction)

转移表示状态之间可能的路径,可以表示外部转换(用箭头表示),也可以表示内部转

换(嵌套在状态内部)。如图5所示:

图5.转移

2.3事件(Event)

事件是对,在特定时间和空间上,所发生的有意义的事情。在状态机中,事件触发转移,

事件或者显示在转换之上,或显示在状态以内。共有四种类型的事件:信号事件、调用事件、

时间事件、改变事件。

信号用于对象间异步传递的信息包,它没有任何操作,只有自身携带的信息。信号事件

是通过信号来触发的事件,在UML中,信号如图6所示:

图6.信号

调用事件是请求在类语境的实例上调用特定的操作,在UML中,调用事件如图7所示:

图7.调用事件

时间事件用关键字after表示,说明事件被触发的临界时间。改变事件用关键字when

表示,说明将事件改变所满足的条件。如图8所示:

图8.时间事件和改变事件

2.4伪状态(PseudoState)

伪状态指在一个状态机中具有状态的形式,同时具有特殊行为的顶点。它是一个瞬时状

态,用于构造转换的细节。当伪状态处于活动时,状态机还没有完成从运行到完成的步骤,

也不会处理事件。伪状态用来连接转换段,到一个伪状态的转换意味着会自动转换到另一个

状态而不需要事件来触发。

伪状态包括:初始状态、入口点、出口点、选择和合并、结合和分叉、连接、终止和历

史状态。

入口点是状态内的一个外部可见的伪状态,外部转换可以将它作为目标。包含入口点的

状态将成为转换的有效目标状态,在UML中,用状态符号边框的空心圆表示。出口点也是

状态内的一个外部可见的伪状态,外部转换可以将它作为源,它代表状态内的一个终态,在

UML中,用状态符号边框的十字交叉圆表示。入口点和出口点如

文档评论(0)

韩喜芝 + 关注
实名认证
内容提供者

赶紧 下载啊啊啊啊

1亿VIP精品文档

相关文档