- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10.4.2 复合状态 图10-19顺序子状态实例 10.4.2 复合状态 2.并发子状态 如果复合状态包含两个或者多个并发的子状态机,则称复合状态的子状态为并发子 状态。 下面考察一辆处于“运行”状态的电动车。当车处在运行状态时,包含了前进和后退两个不同的子状态,这两个子状态之间的关系是顺序子状态,因为一辆车不可能同时处于前进和后退两种子状态。另一方面,车的运行状态又包括高速行驶状态或者低速行驶状态,而前进状态可以同时为高速行驶或者低速行驶状态,后退状态也可以是高速行驶或者低速行驶状态,即前进状态或后退状态之一,可以与高速行驶状态或低速行使状态之一同时存在,我们就把这些可以同时出现的状态称为并发子状态,如图10-20所示。并发子状态可以用于并发线程的状态建模。 10.4.2 复合状态 图10-20 并发子状态实例 UML基础与建模实践 第十章 状态机图 主讲人: 内容摘要 什么是状态机图 1 状态图的表示 2 迁移以及状态的分类 3 状态机图应用 4 小结与习题 5 10.1 什么是状态机图 状态机图描述对象在整个生命周期内,在外部事件的作用下,从一种状态迁移到另一种状态的关系图。 状态图的节点是状态(包括初始状态和终止状态),关系是迁移。 10.2 状态图的表示 一个状态图包含的元素有: 初始状态 终止状态 状态 迁移 分支 下面分别描述元素的语义和表示方法。 10.2.1 状态的表示 1.初始状态 初始状态在一个状态图中只允许有一个,它用一个实心的圆表示,如图10-2所示。 2.终止状态 终止状态用一个套有一个实心圆的空心圆表示。如图10-3所示。 图10-2 初始状态的表示 图10-3 终止状态的表示 10.2.1 状态的表示 3.状态 状态有三种表示方法,如图10-4所示,是状态的简单表示,如图10-5所示,是状态的详细表示,如图10-6所示, 是含有子状态的表示。 状态名称 Name 状态名称 entry/action exit/action do/activity event/action(argument) 图10-4 简单表示 图10-5详细表示 状态名称 entry/action exit/action do/activity event/action(argument) 图10-6 包含子状态表示 子状态图绘制在这里 10.2.1 状态的表示 (1)状态名称:给对象所处状态取的名字,名字用一个字符串表示,在一个图中,名字应该是唯一的。 (2)entry/action:表示进入该状态时执行的动作。entry是关键字,表示进入该状态,action代表某个动作。 (3)exit/action:表示退出该状态时执行的动作。exit是关键字,表示退出该状态,action代表某个动作。 10.2.1 状态的表示 (4)do/activity:表示处于该状态时,执行的活动(do是关键字,表示活动,activity代表某个活动),活动是一系列动作的集合,活动执行时可以被中断,动作执行时不能被中断。 (5)event/action(argument):表示内部迁移。该语句表示对象处于该状态时响应某个事件(event)所执行的动作action(argument)。event代表某个事件,action(argument)代表某个动作。Argument表示动作执行时用到的参数。 10.2.2 迁移的表示 迁移分四种类型(外部迁移、内部迁移、自动迁移和复合迁移)。下面主要介绍外部迁移的表示法。 外部迁移用带箭头的直线表示,箭尾连接源状态(转出的状态),箭头连接目标状态(转入的状态)。每个迁移可能包含三个要素: (1)0或多个事件 (2)0或多个监护条件 (3)0或多个动作。 10.2.2 迁移的表示 图10-7所示即为描述了烧水器的状态图。我们用该图说明迁移的三要素。 注意:用实线箭头表示的迁移都是外部迁移。 Off On 水开了/turnOff turnOn[有水]/烧水 turnOn[没水] 烧坏 图10-7 烧水器的状态图 10.2.2 迁移的表示 1.源状态 2.目标状态 3.事件 事件可以分为调用、信号、改变和时间4类。 10.2.2 迁移的表示 (1)调用事件 调用事件是一种同步机制,例如在图10-8中,银行账户(BankAccount)的三种状态迁移图。该图演示了外部调用事件和内部调用事件。 图10-8 调用事件实例 10.2.2 迁移的表示 (2)信号事件 信号是对象之间异步传递信息包。发送
文档评论(0)