第9单元状态图.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9单元状态图

第9章 状态图 9.1 状态图图的基本概念 9.2 状态图的组成 9.3 组成状态 9.4 状态图创建概述 9.6 实例——图书馆管理系统的状态图 9.1 状态图的基本概念 状态图是用于描述模型元素的实例(如对象或交互)的行为 1、状态机 状态机是展示状态与状态转换的图。 状态机包含了一个类的对象在其生命期间所有状态的序列以及对象对接受到的事件所产生的反应。 利用状态机可以精确地描述对象的行为。 状态机 组成: 状态(State) 转换(Transition) 事件(Event) 活动(Activity) 动作(Action) 2、 状态图 一个状态图表示一个状态机。 状态图表现从一个状态到另一个状态的控制流。 状态图由表示状态的节点和表示状态之间转换的带箭头的直线组成。 状态图 组成: 状态(State) 转换(Transition) 初始状态(Start State) 终结状态(End State) 判定(Decision) 状态图 示意图: 状态 状态由一个带圆角的矩形表示。 状态图标可以分为四部分: 名称 入口和出口动作 内部转换 嵌套状态 转换 转换用带箭头的直线表示,一端连接源状态即转出的状态,箭头一端连接目标状态即转入的状态。 转换可以标注与此转换相关的选项如事件、动作和监护条件。 初始状态 初始状态代表状态图的起始位置,只能作为转换的源,而不能作为转换的目标。 初始状态在一个状态图中只允许有一个,它用一个实心的圆表示。 终止状态 终止状态是模型元素的最后状态,是一个状态图的终止点。 终止状态只能作为转换的目标,而不能作为转换的源。 终止状态在一个状态图中可以有多个,它用一个套有一个实心圆的空心圆表示。 判定 判定在状态图中的位置:工作流在此处按监护条件的取值而发生分支。 判定用空心小菱形表示。 判定 因为监护条件为布尔表达式,所以通常条件下的判定只有一个入转换和两个出转换。 根据监护条件的真假可以触发不同的分支转换。 9.1.2 状态图的作用 对系统的动态方面进行建模; 可以对系统的局部和细节进行建模; 可以描述状态之间的转换顺序; 有利于开发人员理解系统从而尽可能避免出错; 可以描述一些复杂条件。 9.2 状态图的组成 9.2.1 状态 9.2.2 状态名 9.2.3 内部转换 9.2.4 入口动作与出口动作 9.2.5 简单状态 9.2.6 组成状态 9.2.7 历史状态 9.2.1 状态 状态图中的状态一般是给定类对象中的一组属性值,这组属性值是对象所有属性的子集。 在对系统建模时,我们可以只关心那些明显影响对象行为的属性以及由他们表达的对象状态,而不用理睬那些于对象行为无关的状态。 状态是对象取值和链接的抽象。 状态经常对应动词(Waiting,Dialing)等,或一些状态(如Powered,BolowFreezing)的持续时间。 事件和状态之间有某种对称性。 事件表示时间点,状态表示时间段。 状态对应着对象接收的两次事件之间的时间间隔。 状态种类: 简单状态(Simple State) 组成状态(Composite State) 状态组成: 状态名(Name) 活动(Activity) 入口动作(Entry Action) 出口动作(Exit Action) 简单状态 简单状态是指不包含其他状态的状态。 简单状态没有子结构,但它可以具有内部转换、入口动作和出口动作等。 1、 状态名 状态名表示状态的名字,通常用字符串表示。 一个状态的名称在状态图所在的上下文中应该是唯一的。不过,状态允许匿名。 状态的名字通常放在状态图标的顶部 2、内部活动 状态可以包含表达式的内部活动; 当状态进入时,活动在进入动作完成后就开始; 若活动结束则状态就完成; 若在活动正在执行时转换触发,那么活动被迫结束并且退出动作被执行。 3、 内部转换 内部转换只有一个源状态而没有目标状态,因此转换激发的结果并不改变状态本身。 如果一个内部转换带有动作,动作也要被执行,但是由于没有状态改变发生,因此不需要执行入口和出口动作。 内部转换和自转换不同,虽然两者都不改变状态本身,但是自转换会激发入口动作和出口动作的执行,而内部转换却不会。 4、 入口动作与出口动作 入口动作和出口动作表示进入或退出这个状态所要执行的动作。 入口动作用“entry/要执行的动作”表达,而出口动作用“exit/要执行的动作”表达。 若某个状态有多个活动,它们的执行顺序为:到达转换上的活动,进入活动、do活动,退出活动,输出转换上的活动。 引起转换离开状态的事件会中断do活动。 如果有do活动被中断,退出活动仍然会执行。 一般而言,任何事件都会在状态内部发生,并会引起活动的执行。E

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档