网站大量收购独家精品文档,联系QQ:2885784924

6.状态机图(状态+活动).ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
状态机图(State machine Diagram) 状态(state): 定义对象在其生命周期中的一种条件或状况 比如:满足某些条件、执行某些活动或等待某些事件 例子:灯的开闭、人的梦醒、学生的课上与课下 理解 状态的存在:对象在任何时刻都会处于某种状态之中 状态的转移:事件使对象从一个状态转向另一个状态 当面对所检测到的事件或所接收到的消息时,对象所处的状态不同,做出的反应也不同 状态机图(State machine Diagram) 状态机(state machine): 一种逻辑上的流程机 用于描述一个对象在其生命周期中的动态行为 表现对象响应事件所经历的状态序列以及伴随的动作 状态图和活动图用于描述一个状态机(状态机图) 活动图强调了从活动到活动的控制流 状态图强调了从状态到状态的转换 状态图 状态图的作用 描述一个特定对象的所有可能状态 以及由于各种事件的发生,而引起的状态间的转移 状态图 状态图的组成 节点是状态:包括初始状态和终止状态,用圆角矩形表示 关系是转换(或转移):用状态之间包含一些文字描述的有向箭头线表示 状态 状态的几种类型 1.初态和终态 2.中间状态 3.组合状态 4.历史状态 2.中间状态 4)子状态(Substate) 嵌套在另外一个状态中的状态 3.组合状态(composite state) 含有子状态的状态被称为组合状态 1.顺序组合状态图 2.并发组合状态图 转换的五要素 源状态(Source State):转换激发之前对象所处的状态 目标状态(Target State) :转换完成后对象所处的状态 触发事件(Trigger Event) :引起转换发生的事件 监护条件(Guard Condition) :方括号括起来的布尔表达式,用于决定是否激活转换 动作(Action) :转换激活时对象执行的操作 智能水壶的状态图 打开[有水]/烧水: 打开:触发事件 有水:监护条件 烧水:动作 信用卡状态图 无触发转移 定义: 状态转移不是因为某个事件触发引起的 而是由于对象完成了某些活动,而引起的状态的转变 触发事件的四种类型 信号事件 对象之间通过发送信号和接收信号实现通信 信号是两个对象之间通信的媒介,它是一种异步机制 在计算机中,鼠标和键盘的操作均属于此类事件 对于一个信号而言,对象一般都有相应的事件处理器,如onMouseClick()等 调用事件 调用某个对象的成员方法就是调用事件,它是一种同步的机制。 例如:在烧水器的状态图中,turnOn就是一种调用事件,用来将开关置于“On”状态。 触发事件的四种类型 改变事件 某个指定属性值为真时,事件得到触发。 在对象生命周期内,一直在计算改变事件中的属性值。当属性值为真时,事件触发,计算停止 例如:when(temperature100)/alerm() 时间事件 当时间流逝到某个时刻,触发事件对对象起作用 它可以指定为绝对形式,也可以指定为相对形式。 绘制状态机图的步骤 寻找主要的状态 确定状态之间的转换 细化状态内的活动与转换 用复合状态来展开细节 状态图(CD播放机) 状态图(智能卡系统) 阅读状态图 状态图(订单处理1) 订单处理 办理发货之前需要检查商品,查看是否齐全。如果缺部分商品,则进入等待状态(直至商品齐全) 货品发出之前,任何时候都可以取消订单 状态图(订单处理2) 状态图(订单处理3) 课堂练习 绘制电脑工作时的状态转换图 课堂练习 绘制手机工作时的状态转换图 课堂练习(电梯系统的状态图) 电梯开始处于空闲状态(idle),当有人按下按钮要求使用电梯时(事件is required发生),电梯进入运行状态(run)。如果电梯的当前楼层比想要的楼层高时(监护条件[currentFloordesiredFloor]成立),电梯进入下降状态(moving down);反之,如果电梯的当前楼层比想要的楼层低时(监护条件[currentFloordesiredFloor]成立),电梯进入上升状态(moving up);如果电梯的当前楼层与想要的楼层相同时(监护条件[currentFloor=desiredFloor]成立),电梯门打开(door open)。在电梯上升或下降期间,每经过一个楼层就判断监护条件[currentFloor=desiredFloor]是否成立,若不成立,继续移动,若成立,就进入停止状态(stop),15秒后,电梯门自动打开(door open),2分钟后,电梯门自动关上(door close),如果有更多的电梯使用要求,进入运行状态(run),反之,则进入空闲状态(idle)。 课堂练习(电梯系统的状态图) 带有复杂转换的状态图 补充说明(状态图) 适用情况: 适用于描述跨越多个用例的单个对象行为 不

文档评论(0)

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

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

1亿VIP精品文档

相关文档