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