状态图幻灯片.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
状态图的建立步骤 ? 1 〉确定状态机的 上下文 ,它可以是一个类、子系统或整个系统。 ? 2 〉选择 初始状态和终结状态 。 ? 3 〉发现对象的各种 状态 。状态 属性,行为 (确定事件和动作) ? 4 〉确定状态可能发生的 转移 。注意分出从一个状态可能转移到 那些状态,对象的哪些行为可引起状态的转移并找出触发状态转移 的 事件 。 ? 5 〉把必要的 动作 加到状态或转移上。 ? 6 〉复合状态、子状态、历史状态等概念 组织和简化 一个复杂的 状态机。 ? 7 〉分析状态的 并发和同步 情况。 ? 8 〉绘制状态图。 ? 9 〉确认每一个状态在某个时间组合之下都是可到达的。确认没 有一个死端状态,对象不能从该状态转移出来。 31 4.2.2 状态图 1 概述 ? 状态 用于描述一个对象在其生存期间的动态行为,表现对象 响应事件所经历的状态序列以及伴随的动作。 ? 状态图( State Machine Diagram ) 用来显示状态,一个状态可用多张状态图描述。 2 概述 ? 状态图与交互图的区别: 交互图不显示对象所有可能的动态行为,只显示特定交 互(一个具体的用例)中对象的行为。 状态图可以显示对象所有的动态行为。 ? 状态图与活动图的区别: 状态图只建模一个对象的行为,活动图可以建模多个 对象的活动 活动图中也允许建模特定活动中对象的某个状态 3 基本组成 ? 状态 ? 转换 ? 事件、动作 4 基本组成 ( 例如刷 pos 机 ) 5 状态 ? 什么是状态( state ) 对象生命期中的某个 条件或状况 ,在此期间对象将满足 某些条件 、执行 某些活动 或等待 某些事件 。 ? 理解 对象在 任何时候 都会处于某种状态中,所有对象都有状 态。 对象所处的状态 决定了它如何响应 所检测到的事件或所 接收的消息。 通常,事件使对象从一个状态转向另一个状态(即状态 的转移) 6 状态 ? 几种类型: 初态 终态 中间状态 组合状态 历史状态 7 1 、初态和终态 ? 初态( start state ) 显示状态图中状态的执行( execution )的开始。 一个状态只能有一个初态,因为每一个执行都是从相 同的地方开始的。如果一个状态用多张图描述,则多 张图用同一个初态; 嵌套状态中可以使用新的初态; ? 终态( End State ) 表示一个最后的或者终端状态; 终态的数目可以不确定。 8 2 、一般状态 ? 中间状态的组成: 状态名( name ) 进入 / 退出动作( entry/exit action ) 内部转换( internal transition ) 不导致状态改变的转换,不会执行 entry 和 exit 动作。 子状态( substate ) 嵌套在另外一个状态中的状态。 延迟事件( deferred event ) 延迟到下一状态中处理的事件。 lighting entry/ turnO n d o / b l an k F i v e T i m e s e v e n t /po w e r o f f / p o w e r S u p p l y S el f e x i t / tu r n O f f 9 2 、一般状态 ? 延迟事件 是一种特殊的事件,它是指该事件不会触发状态的转 换,当对象处于该状态时事件不会丢失,但会被延迟执 行。 例如,当 E-mail 程序中正在发送第一封邮件时,用户下 达发送第二封邮件执令就会被延迟,但第一封邮件发送 完成后,这封邮件就会被发送。这种事件就属于延迟事 件 10 3 、复合状态 ? 含有子状态的状态被称为复合状态。 ? 包括顺序和并发的复合状态 ? 两种表示方法: 11 3 、复合状态 ? 顺序复合状态图(表示方法 1 ) 12 3 、复合状态 ? 顺序复合状态图(表示方法 2 ) 13 3 、复合状态 ? 并发复合状态图 14 4 、子状态 ? 将子状态单独定义,并对其进行命名(通常以大 写字母开头),然后在需要使用的地方来引用它 15 4 、子状态 ? 例: 16 5 、历史状态 ? History state 一种伪状态。可以存储 退出组合状态时 所处的 子状态 , 则返回组合状态时可以直接回到相应的子状态。它用一 个包含字母“ H” 的小圆圈表示。 17 5 、历史状态 ? 例 当从状态 “ 结账 ” 和 “ 显示购物车 ” 返回子状态 “ 显示索引信息 ” 时,将进入的是离开时的历史状态。 也就是说,转到购物或结账区之后,再回到 “ 浏览目录 ” 的页面时,其中的内容是不变的,仍然保留原来的信 息。 18 6 、入口点和出口点 ? 入口点 状态内的一个外部可见的伪状态,外部转换可以将它作 为目标,从而被有效连接到指定状态

文档评论(0)

wangsux + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档