- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
状态图讲授讲述
对象的生命周期——从开始创建到最终消亡的完整过程 状态机——用于说明对象在其生命周期中响应事件所经历的状态序列以及对这些事件的响应 状态机依附于一个类:描述该类的实例对接收到的事件的响应,将对象孤立地从系统中抽象出来进行观察,将来自外部的影响都抽象为事件。可依附于用例、操作等,描述其动态执行过程。 状态机将实体和外部世界相互分离,所以是一个对象、协作、或用例的局部视图,适合对局部、细节进行建模 状态图适合于描述跨越多个用例的单个对象的行为,而不适合描述多个对象之间的行为协作。状态图描述从状态到状态的控制流,适合于对系统的动态行为建模。在UML中,对系统动态行为建模时,除了使用状态图,还可以使用序列图、协作图和活动图,但这四种图存在着以下重要差别: 序列图和协作图用于对共同完成某些对象群体进行建模。 状态图和活动图用于对单个对象(可以是类、用例或整个系统的实例)的生命周期建模。 (1)状态 状态用于对实体在其生命周期中的各种状况进行建模,一个实体总是在有限的一段时间内保持一个状态。 (3)初始状态每个状态图都应该有一个初始状态,它代表状态图的起始位置。 初始状态是一个伪状态(和普通状态有连接的假状态) 对象不能保持在初始状态,必须有无事件触发器的转换 初始状态上的转换无监护条件 初始状态只能作为转换的源,不能作为转换的目标 一个状态图只能有一个初始状态 (5)判定 活动图和状态图中都有需要根据给定条件进行判断,然后根据不同的判断结果进行不同的转换的情况。 一般情况下,当状态机通过转换进入组成状态嵌套的子状态时,被嵌套的子状态要从子初始状态进行。但是如果一个被继承的转换引起从复合状态的自动退出,状态会记住当强制性退出发生的时候处于活动的状态。这种情况下就可以直接进入上次离开组成状态时的最后一个子状态,而不必从它的子初始状态开始执行。 历史状态可以有来自外部状态或者初始状态的转换,也可以有一个没有监护条件的出发完成转换;转换的目标是默认的历史状态。如果状态区域从来没有进入或者已经退出,到历史状态的转换会到达默认的历史状态。 历史状态代表上次离开组成状态时的最后一个活动子状态,可分为浅历史状态和深历史状态:浅历史状态保存并激活与历史状态在同一个嵌套层次上的状态;深历史状态保存在最后一个引起封装组成状态退出的显式转换之前处于活动的所有状态。它可能包含嵌套在组成状态里的任何深度的状态。要记忆深状态,转换必须直接从深状态中转出。 浅历史状态,只记住直接嵌套的状态机的历史,使用一个含有字母H的小圆圈表示;深历史状态,会在任何深度上记住最深的嵌套状态,使用内部含有H*的小圆圈表示,如图所示。 如果一个转换先从深状态转换到一个浅状态,并由浅状态转出组成状态,记忆的将是浅状态的转换。如果组成状态进入终态,则它将丢弃所有保存的历史状态。一个组成状态最多只有一种历史状态,每个状态可能有它自己的默认历史状态。 如图所示,当从状态“结账”和“显示购物车”返回子状态“显示索引信息”时,将进入的是离开时的历史状态。也就是说,转到购物车或结账区之后,再回到“浏览目录”的页面时,其中的内容是不变的,仍然保留原来的信息。 历史状态虽然有它的优点,但是它过于复杂,而且不是一种好的实现机制,尤其是深历史状态更容易出问题。在建模的过程中应该尽量避免历史机制,使用更易于实现的机制。 需要注意同步与判定的区别。同步和判定都会造成工作流的分支,初学者很容易将两者混淆。它们的区别是:判定是根据监护条件使工作流分支,监护条件的取值最终只会触发一个分支的执行,如有分支A和分支B,假设监护条件为真时执行分支A,那么分支B就不可能被执行。反之则执行分支B,分支A就不可能被执行。而同步的不同分支是并发执行,并不会因为一个分支的执行造成其他分支的中断。 1. 信号事件(Signal Event) 信号是作为两个对象之间的通信媒介的命名的实体,信号的接收是信号接受对象的一个事件。发送对象明确地创建并初始化一个信号实例并把它发送到一个或一组对象。最基本的信号是异步单路通信,发送者不会等待接收者如何处理信号而是独立地做它自己的工作。在双路通信模型中,要用到多路信号,即至少要在每个方向上有一个信号。发送者和接受者可以是同一个对象。 信号可以在类图中被声明为类元,并用构造型《signal》表示,信号的参数被声明为属性。同类元一样,信号间可以有泛化关系,信号可以是其他信号的子信号,它们继承父信号的参数,并且可以触发依赖于父信号的转换。 信号事件和调用事件的表示格式是一样的。 2. 调用事件(Call Event) 调用事件表示调用者对操作的请求,调用事件至少涉及两个及以上的对象,一个对象请求调用另一个对象的操作。 调用事件一般为同步调用,也可以是异步调用。如果调用者需等待操作的完成,则是
您可能关注的文档
- 特种设备作业考核固定式压力容器试题讲述.doc
- 特种设备作业固定式压力容器考核试题讲述.doc
- 特种设备使用单位应承担的法律责任讲述.ppt
- 文言虚词专题优秀课件详解.ppt
- 特种设备使用及管理规范讲述.docx
- 特种设备使用安全管理规范讲述.ppt
- 特种焊考试总结讲述.ppt
- 文字的世界详解.ppt
- 特种设备事故调查处理讲述.ppt
- 文综历史答题策略初探(2017下)详解.ppt
- 2024年学校党总支巡察整改专题民主生活会个人对照检查材料3.docx
- 2025年民主生活会个人对照检查发言材料(四个带头).docx
- 县委常委班子2025年专题生活会带头严守政治纪律和政治规矩,维护党的团结统一等“四个带头方面”对照检查材料四个带头:.docx
- 巡察整改专题民主生活会个人对照检查材料5.docx
- 2024年度围绕带头增强党性、严守纪律、砥砺作风方面等“四个方面”自我对照(问题、措施)7.docx
- 2025年度民主生活会领导班子对照检查材料(“四个带头”).docx
- 国企党委书记2025年度民主生活会个人对照检查材料(五个带头).docx
- 带头严守政治纪律和政治规矩,维护党的团结统一等(四个方面)存在的问题整改发言提纲.docx
- 党委书记党组书记2025年带头增强党性、严守纪律、砥砺作风方面等“四个带头”个人对照检查发言材料.docx
- 2025年巡视巡察专题民主生活会对照检查材料.docx
文档评论(0)