- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
并发复合状态图 如果复合状态包含两个或者多个并发的子状态机,此时称复合状态的子状态为并发子状态。 考察一辆处于“运行”状态的电动车。车处在运行状态时,包含了前进和后退两个不同的子状态,这两个子状态之间的关系看,它们就是顺序子状态,因为一辆车不可能同时处于前进和后退两种子状态;另一方面,车的运行状态又包括高速行驶状态和低速行驶状态。前进状态可以同时为高速行驶或者低速行驶状态;后退状态时,也可以是高速行驶或者低速行驶状态,即,前进状态或后退状态之一,可以与高速行驶状态或低速行使状态之一同时存在。 我们把这些可以同时出现的状态称为并发子状态,并发子状态可以用于并发线程的状态建模。 子状态机通信 历史 “一个圆圈中加上字母H”,用来表示历史状态的。它的含义是:当从状态“结账”和“显示购物车”返回子状态“显示索引信息”时,将进入的是离开时的历史状态。也就是说,转到购物车或结账区之后,再回到“浏览目录”的页面时,其中的内容是不变的,仍然保留原来的信息。 子状态机 将子状态机单独定义,并对其进行命名(通常以大写字母开头),然后在需要使用的地方来引用它 Agenda 状态和状态机 如何阅读状态机图 如何绘制状态机图 状态机图应用说明 本章小结 绘制状态机图—航班机票预订 绘制状态机图的理想步骤是:寻找主要的状态,确定状态之间的转换,细化状态内的活动与转换,用复合状态来展开细节 寻找主要状态:对于航班机票预订系统而言,显然包括的状态主要有 -- 在刚确定飞机计划时,显然是没有任何预订的,并且在有人预订机票之前都将处于这种“无预订”状态 -- 对订座而言显然有“部分预订”和“预订完”两种状态 -- 而当航班快要起飞时,显然要“预订关闭”总结一下,主要有四种状态:无预订、部分预订、预订完以及预订关闭 绘制状态机图 确定状态间转换 源目标 无预订 部分预订 预订完 预订关闭 无预订 预订() 不直接转换 关闭() 部分预订 退订(),使预订人=0 预订(),无空座 关闭() 预订完 不直接转换 退订() 关闭() 预订关闭 无转换 无转换 无转换 绘制状态机图 细化状态内的活动与转换 绘制状态机图 使用复合状态 创建项目中的状态图---选课 1. 确定状态图的实体 要创建状态图,首先要标识出哪些实体需要使用状态图进一步建模。虽然我们可以为每一个类、操作、包或用例创建状态图,但是这样做势必浪费很多的精力。 一般来说,不需要给所有的类都创建状态图,只有具有重要动态行为的类才需要。 从另一个角度看,状态图应该用于复杂的实体,而不必用于具有复杂行为的实体。使用活动图可能会更加适合那些有复杂行为的实体。具有清晰、有序的状态实体最适合使用状态图进一步建模。 对于学生选课来说,需要建模的实体就是学生账号。 创建项目中的状态图 2. 确定状态图中实体的状态 对于一个学生账号来说,它的状态主要包括: 初始状态 终止状态 可选课状态 不可选课状态 账号被删除状态 创建项目中的状态图 3. 创建相关事件完成状态图 当确定了需要建模的实体,并找出了实体的初始状态和终止状态以及其他相关状态后,就可以着手创建状态图。 首先,我们要找出相关的事件和转换。对于学生账号来说,当有新的同学入学时,将会给新同学创建一个新的账号,下面新同学可以用这个账号去选课。一般来说,每个人的选课数目是有限的,比如说选择6门课程后将不能再选课。如果已选了6门课程还要再选课,就必须删除已选的课程。直到这位同学毕业,将其账号删除,则进入终止状态。 Agenda 状态和状态机 如何阅读状态机图 如何绘制状态机图 状态机图应用说明 本章小结 状态机应用说明 对对象生命周期建模:主要描述对象能够响应的事件、对这些事件的响以及过去对当前行为的影响 对反应型对象建模:这个对象可能处于的稳定状态、从一个状态到另一个状态之间的转换所需的触发事件,以及每个状态改变时发生的动作 状态机图既可以用来表示一个业务领域的知识,也可以用来描述设计阶段对象的状态变迁 Agenda 状态和状态机 如何阅读状态机图 如何绘制状态机图 状态机图应用说明 本章小结 本章小结 首先介绍了“状态”的概念和UML表示法,然后引入了状态机的概念 通过三个例子逐一说明简单状态机图、包含复杂转换的状态机图以及包含复合状态的状态机图的阅读方法 ,紧接着通过一个航班机票预订系统来阐述了状态图的绘制过程:确定状态,分析状态间的转换,细化活动与内部转化,通过复合状态来组织 简明地点出状态图的两大功能:对对象的生命周期建模以及对反应型对象的行为建模 练习题 (1)对于“远程网络教学系统”,学生如果需要下载课件,首先需要输入网站的网址,打开网站的主页。处于网站主页后,输入用户名密码,如果验证通过则进入功
文档评论(0)