UML面向对象建模基础状态图.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UML面向对象建模基础状态图

《UML面向对象建模基础》 状态图 知识图谱 Agenda 状态和状态机 如何阅读状态机图 如何绘制状态机图 状态机图应用说明 本章小结 Agenda 状态和状态机 如何阅读状态机图 如何绘制状态机图 状态机图应用说明 本章小结 状态、状态表示法及状态机 状态是指在对象生命周期中满足某些条件、执行某些活动或等待某些事件的一个条件和状况 一个状态通常包括名称、进入/退出活动、内部转换、子状态和延迟事件等五个部分组成 状态机是计算机科学理论的一部分,但UML中的状态机模型主要是基于David Harel所做的扩展,是用来展示状态与状态之间转换的图 Agenda 状态和状态机 如何阅读状态机图 如何绘制状态机图 状态机图应用说明 本章小结 阅读最简单的状态图 最为核心的元素无外乎是两个:一个是用圆角矩形表示的状态(初态和终态例外);另一个则是在状态之间的、包含一些文字描述的有向箭头线,这些箭头线称为转换 转换的五要素 源状态:即受转换影响的状态 目标状态:当转换完成后对象的状态 触发事件:用来为转换定义一个事件,包括调用、改变、信号、时间四类事件 监护条件:布尔表达式,决定是否激活转换、 动作:转换激活时的操作 读图小结 与状态off相关的转换有两个,其触发事件都是turnOn,只不过其监护条件不同。如果对象收到事件turnOn,那么将判断壶中是否有水;如果[没水],则仍然处于off状态;如果[有水]则转为on状态,并执行“烧水”动作 而与状态on相关的转换也有两个,如果“水开了”就执行turnOff,关掉开关;如果烧坏了,就进入了终态了 复杂转换 exit/活动 当离开某一状态时,执行相应活动 退出转换 entry/活动 当进入某一状态时,执行相应活动 进入转换 事件(参数)[监护条件]/动作 对事件做出响应,并执行一个特定的活动,但并不引起状态变化或进入转换、离开转换 内部转换 事件(参数)[监护条件]/动作 对事件做出响应,引起状态变化或自身转换,同时引发一个特定动作,如果离开或进入状态将引发进入转换、离开转换 外部转换 语法 描述 转换类型 阅读带有复杂转换的状态图 各种转换的区别 进入和退出转换:当进入一个状态时,执行某个动作;或当退出某个状态时,执行什么动作。这时就可以使用进入和退出转换来表示 内部转换:用来处理一些不离开该状态的事件 活动与延迟事件 活动:当对象处于一个状态时,它一般是空闲的,在等待一个事件的发生。但是某些时间,你可能希望描述个正在进行的活动。在处于一个状态的同时,对象做着某些工作,并一直继续到被某个事件中断 延迟事件:延迟事件是一种特殊的事件,它是指该事件不会触发状态的转换,当对象处于该状态时事件不会丢失,但会被延迟执行。例如,当E-mail程序中正在发送第一封邮件时,用户下达发送第二封邮件执令就会被延迟,但第一封邮件发送完成后,这封邮件就会被发送。这种事件就属于延迟事件 复合状态表示法 顺序复合状态图 并发复合状态图 历史 “一个圆圈中加上字母H”,用来表示历史状态的。它的含义是:当从状态“结账”和“显示购物车”返回子状态“显示索引信息”时,将进入的是离开时的历史状态。也就是说,转到购物 车或结账区之后, 再回到“浏览目录”的 页面时,其中的内容 是不变的,仍然保留 原来的信息。 子状态机 将子状态机单独定义,并对其进行命名(通常以大写字母开头),然后在需要使用的地方来引用它 Agenda 状态和状态机 如何阅读状态机图 如何绘制状态机图 状态机图应用说明 本章小结 绘制状态机图 绘制状态机图的理想步骤是:寻找主要的状态,确定状态之间的转换,细化状态内的活动与转换,用复合状态来展开细节 寻找主要状态:对于航班机票预订系统而言,显然包括的状态主要有 -- 在刚确定飞机计划时,显然是没有任何预订的,并且在有人预订机票之前都将处于这种“无预订”状态 -- 对订座而言显然有“部分预订”和“预订完”两种状态 -- 而当航班快要起飞时,显然要“预订关闭” 总结一下,主要有四种状态:无预订、部分预订、预订完以及预订关闭 绘制状态机图 确定状态间转换 无转换 无转换 无转换 预订关闭 关闭() 退订() 不直接转换 预订完 关闭() 预订(),无空座 退订(),使预订人=0 部分预订 关闭() 不直接转换 预订() 无预订 预订关闭 预订完 部分预订 无预订 源目标 绘制状态机图 细化状态内的活动与转换 绘制状态机图 使用复合状态 Agenda 状态和状态机 如何阅读状态机图 如何绘制状态机图 状态机图应用说明 本章小结 状态机应用说明 对对象生命周期建模:主要描述对象能够响应的事件、对这些事件的响以及过去对当前行为

文档评论(0)

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

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

1亿VIP精品文档

相关文档