状态图ppt课件.ppt_第1页
状态图ppt课件.ppt_第2页
状态图ppt课件.ppt_第3页
状态图ppt课件.ppt_第4页
状态图ppt课件.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4 2 2状态图 1 概述状态用于描述一个对象在其生存期间的动态行为 表现对象响应事件所经历的状态序列以及伴随的动作 状态图 StateMachineDiagram 用来显示状态 一个状态可用多张状态图描述 2 概述状态图与交互图的区别 交互图不显示对象所有可能的动态行为 只显示特定交互 一个具体的用例 中对象的行为 状态图可以显示对象所有的动态行为 状态图与活动图的区别 状态图只建模一个对象的行为 活动图可以建模多个对象的活动活动图中也允许建模特定活动中对象的某个状态 3 基本组成状态转换事件 动作 4 基本组成 例如刷pos机 5 状态什么是状态 state 对象生命期中的某个条件或状况 在此期间对象将满足某些条件 执行某些活动或等待某些事件 理解对象在任何时候都会处于某种状态中 所有对象都有状态 对象所处的状态决定了它如何响应所检测到的事件或所接收的消息 通常 事件使对象从一个状态转向另一个状态 即状态的转移 6 状态几种类型 初态终态中间状态组合状态历史状态 7 1 初态和终态初态 startstate 显示状态图中状态的执行 execution 的开始 一个状态只能有一个初态 因为每一个执行都是从相同的地方开始的 如果一个状态用多张图描述 则多张图用同一个初态 嵌套状态中可以使用新的初态 终态 EndState 表示一个最后的或者终端状态 终态的数目可以不确定 8 2 一般状态中间状态的组成 状态名 name 进入 退出动作 entry exitaction 内部转换 internaltransition 不导致状态改变的转换 不会执行entry和exit动作 子状态 substate 嵌套在另外一个状态中的状态 延迟事件 deferredevent 延迟到下一状态中处理的事件 lightingentry turnOndo blankFiveTimesevent poweroff powerSupplySelfexit turnOff 9 2 一般状态延迟事件是一种特殊的事件 它是指该事件不会触发状态的转换 当对象处于该状态时事件不会丢失 但会被延迟执行 例如 当E mail程序中正在发送第一封邮件时 用户下达发送第二封邮件执令就会被延迟 但第一封邮件发送完成后 这封邮件就会被发送 这种事件就属于延迟事件 10 3 复合状态含有子状态的状态被称为复合状态 包括顺序和并发的复合状态两种表示方法 11 3 复合状态顺序复合状态图 表示方法1 12 3 复合状态顺序复合状态图 表示方法2 13 3 复合状态并发复合状态图 14 4 子状态将子状态单独定义 并对其进行命名 通常以大写字母开头 然后在需要使用的地方来引用它 15 4 子状态例 16 5 历史状态Historystate一种伪状态 可以存储退出组合状态时所处的子状态 则返回组合状态时可以直接回到相应的子状态 它用一个包含字母 H 的小圆圈表示 17 5 历史状态例当从状态 结账 和 显示购物车 返回子状态 显示索引信息 时 将进入的是离开时的历史状态 也就是说 转到购物或结账区之后 再回到 浏览目录 的页面时 其中的内容是不变的 仍然保留原来的信息 18 6 入口点和出口点入口点状态内的一个外部可见的伪状态 外部转换可以将它作为目标 从而被有效连接到指定状态上 出口点状态内的一个外部可见的伪状态 外部转换可以将它作为源 代表状态内的一个终点 19 转换Transition两个状态之间的一种关系 表示对象在第一个状态中执行一定的动作 并在某个特定事件发生而且满足某个条件时进入第二个状态 每个转换只允许一个事件 一个事件只允许一个动作转换的五要素源状态目标状态触发事件监护条件动作 20 1 复杂转换 21 2 各种转换的区别进入和退出转换 当进入一个状态时 执行某个动作 或当退出某个状态时 执行什么动作 这时就可以使用进入和退出转换来表示内部转换 用来处理一些不离开该状态的事件 内部转换只有一个源状态而没有目标状态 因此转换激发的结果并不改变状态本身 如果一个内部转换带有动作 动作也要被执行 但是由于没有状态改变发生 因此不需要执行入口和出口动作 22 事件Event是对一个时间和空间上占有一定位置的有意义的事情的规格说明 事件触发状态的转移四类主要事件信号事件调用事件变化事件时间事件 23 1 信号事件信号 signer 事件所谓信号 是指由一个对象异步地发送 并由另外一个对象接收的一个已命名的对象 信号事件表示对象接收到某个信号 信号可以作为状态中一个状态转换的动作而被发送 也可作为交互中一个的消息发送 24 1 信号事件 25 2 调用和变化事件调用 call 事件表示一个操作的调度 请求调用另一个对象的操作 一般是同步调用 变化 change 事件用关键字When 后面跟布尔表达式 When temperature 120 alerm 26 3 时间事件时间 time 事件满足某一时间表达式的情况的出现 例如到达某一时间或经过了某一时间段 用关键字After或When表示 27 总结 借书例子所展示的关键元素 初始状态 最终状态 转移 事件 条件 UML中状态被赋予4个特定事件entry指进入 激活 状态时要执行的动作 或者方法 Do指对象状态保持不变时持续执行的动作 或者类方法 它不会因为event停止 event事件指对象接收到某个事件时件执行的动作 这个动作不会导致对象状态的变化 可以通过绘制一条返回状态自身的转移来表示动作的执行结果 exit指活动在退出 结束 时要进行的动作 28 状态图 状态图显示一个状态机建模 状态机对模型元素的动态行为进行建模 就是对系统行为中受事件驱动的方面进行建模业务阶段 通常使用状态图来说明业务角色或业务实体可能的状态 导致状态转换的事件和状态转换引起的操作状态机用于描述实体类对象的整个生命周期内的状态变迁以获得对这个实体的理解 同时获得系统和实体对象相互影响的关系 29 状态图 设计实现 对于类对象所有可能的状态 状态图都显示它可能接收的消息 将执行的操作和在此之后类的对象所处的状态状态机主要用于描述对象的状态变化以确定何种行为改变了对象状态 以及对象状态变化对系统的影响状态图通常只用于描述单个对象的行为 如果要描述对象间的交互 最好采用时序图或协作图 30 状态图的建立步骤 1 确定状态机的上下文 它可以是一个类 子系统或整个系统 2 选择初始状态和终结状态 3 发现对象的各种状态 状态属性 行为 确定事件和动作 4 确定状态可能发生的转移 注意分出从一个状态可能转移到那些状态 对象的哪些行为可引起状态的转移并找出触发状态转移的事件 5 把必要的动作加到状态或转移上 6 复合状态 子状态 历史状态等概念组织和简化一个复杂的状态机 7 分析状态的并发和同步情况 8 绘制状态图 9 确认每一个状态在某个时间组合之下都是可到达的 确认没有一个死端状态 对象不能从该状态转移出来 31 绘制状态图 32 绘制状态图细化状态内的活动与转换 33 绘制状态图使用复合状态 34 状态图应用用途对对象生命周期建模 主要描述对象能够响应的事件 对这些事件的影响以及过去对当前行为的影响对反应型对象建模 这个对象可能处于的稳定状态 从一个状态到另一个状态之间的转换所需的触发事件 以及每个状态改变时发生的动作状态图既可以用来表示一个业务领域的知识 也可以用来描述设计阶段对象的状态变迁 35 状态图应用订单处理系统 36 状态图应用复合 rose 37 状态图应用复杂图 售票机 38 状态图案例分析 一个电子商务系统在订单发生时经过的状态变化 39 状态图案例分析 订单成立状态主要有 订单成立订单取消 Guard 会员订单 缴款期限已过期 备货中 Guard 已付款 订单成立 库存量足够 出货中 Effect 扣除商品可接单量及移除购物车中的购买资料 出货确认 Guard 实际配达日及发票代码 号码均不为空值 出货完毕 Guard 实际配达日不为空 出货失败订单成立 Guard 出货完毕 已付款 鉴赏期结束日期小于等于 系统日期 40 状态图案例分析 分析 1 购物车生成订单进入状态 订单成立 2 系统检测订单已经付款并且库存量足够 则进入状态 备货中 3 物流发货 进入状态 发货中 状态转移为 发货中 后 需要做的操作有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论