第十单元状态机图.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十单元状态机图

第10章 状态机图 10.1 状态机图概述 状态机图用来对系统的动态行为建模; 描述单一对象在其生命期内受各种事件的影响而发生的状态变化; 状态机图是展示状态与状态转换的图,可以描述对象的行为,也可以描述用例、协作和方法甚至整个系统的动态行为。 10.2 状态机图基本元素 一、状态(state) 1、状态 对象生命周期中的某个条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件。 一、状态(state) 2、状态的表示 状态名称 入口动作 出口动作 内部转换 内部活动 可推迟事件 动作(Action) 可执行的原子计算。 不可中断,其执行时间可忽略不计。 两种特殊动作: 进入动作(entry action):进入某状态时执行的动作,用“entry/要执行的动作”表示。 退出动作(exit action):退出某状态时执行的动作,用“exit/要执行的动作”表示。 活动 对象处于某个状态时,对象进行的一些列动作。 表示活动的格式为“do/动作名” 一、状态(state) 3、状态的分类 初态 终态 简单状态(中间状态) 组合状态 历史状态 显示状态图中状态机的执行(execution)的开始。 一个状态机只能有一个初态。 如果一个状态机用多张图描述,则多张图用同一个初态。 如果用了组合状态,则组合状态中可有初态。 表示一个最后的或者终端状态。 (4)组合/嵌套状态 含有子状态的状态称为组合状态。 两种类型: 两种类型: 并发子状态 复合状态的表示法有2两种: (1) 将子状态机嵌入表示状态的圆角矩形中 (2) 在圆角矩形中加入加分解指示符 (5)历史状态 使用历史状态,则可以存储退出组合状态时所处的子状态,则返回组合状态时可以直接回到相应的子状态。 二、转换(transition) 1、转换 两个状态之间的一种关系,表示对象在第一个状态中执行一定的动作,并在某个特定事件发生而且满足某个条件时进入第二个状态。 转换进入的状态称为活动状态,转换离开的状态变变为非活动状态。 二、转换(transition) 2、转换的格式 事件( 参数 )[ 条件 ] / 动作 Help[len(PSW)6]/verifyPSW.help() 每个转移只允许一个事件,一个事件只允许一个动作。 二、转换(transition) 3、转换的分类 外部转换 内部转换 自动转换 复合转换 一种改变对象状态的转换,用从源状态到目标状态的箭头表示。 有一个源状态但没有目标状态,转换后的状态仍是它本身。 在没有外部事件的作用下,对象执行了某些活动后,自然而然地完成的转换。 自动转换是离开某个状态后重新进入原先的状态,它会激发状态的入口动作和出口动作的执行。 复合转换由简单转换组成,通过分支判定,把多个简单转换组合在一起。 三、事件(Event) 1、事件 是对一个时间和空间上占有一定位置的有意义的事情的规格说明。 2、事件的类型 信号事件 调用事件 变化事件 时间事件 延迟事件 所谓信号,是指由一个对象异步地发送、并由另外一个对象接收的一个已命名的对象。 信号事件表示对象接收到某个信号。 一个对象请求调用某个对象的成员方法; 是一种同步机制。 某个指定属性值为真时,事件得到触发。 用关键字When,后面跟布尔表达式。 When(temperature120)/alerm() 满足某一时间表达式的情况的出现。 例如到达某时间或经过了某一时间段。 用关键字After或When表示。 对象处在某状态时外部事件产生了,但没有执行事件,要推迟到另外一个状态才执行的事件。 例:订单处理系统 10.3 建立状态机图 绘制状态机图的一般步骤是: 1.寻找主要的状态; 2.寻找外部事件,以便确定状态之间的转换; 3.详细描述每个状态和转换; 4. 把简单状态图转换为复合状态图。 10.3 建立状态机图 1.寻找主要的状态 飞机票有以下4种状态:无预订、部分预订、预订完、预订关闭。 (1)在刚确定飞行计划时,显然没有任何预订,且在顾客预订机票之前都将处于“无预订”状态。 (2)对于订座而言,有“部分预订”和“预订完”两种状态。 (3)当航班快要起飞时,要“预订关闭”。 10.3 建立状态机图 2.寻找外部事件 (1)预订():顾客预订机票。 (2)退订():顾客退票。 (3)关闭():机票管理员关闭订票系统。 (4)取消航班():飞机调度人员取消飞行计划。 10.3 建立状态机图 3.确定状态间的转换 10.3 建立状态机图 确定了状态之间的有效转换,绘制出相应的状态机图,如图10-18所示。 10.3 建立状态机图 4.详细描述每个状态和转换 详细描述后的状

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档