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

 第9章状态图.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UML建模语言 第9章 状 态 图 本章首先介绍状态图的基本概念,并具体讲解状态图的几个重要元素,然后介绍如何使用Rose创建状态图,最后通过一个示例详细讲解使用Rose创建状态图的步骤。 9.1 状态图的基本概念 状态图用于描述模型元素的实例(如对象或交互)的行为。 9.1.1 状态图的定义 1. 状态机 状态机是一种记录下给定时刻状态的设备,它可以根据各种不同的输入对每个给定的变化而改变其状态或引发一个动作,如计算机、各种客户端软件、Web上的各种交互页面都是状态机。 2. 状态图 一个状态图(Statechart Diagram)本质上就是一个状态机,或者是状态机的特殊情况,它基本上是一个状态机中的元素的投影,这也就意味着状态图包括状态机的所有特征。 (1)状态 状态用于对实体在其生命周期中的各种状况进行建模,一个实体总是在有限的一段时间内保持一个状态。 (2)转换 在UML的状态建模机制中,转换用带箭头的直线表示,一端连接源状态,箭头指向目标状态。 (3)初始状态 每个状态图都应该有一个初始状态,它代表状态图的起始位置。 (4)终止状态 终止状态是一个状态图的终点,一个状态图可以拥有一个或者多个终止状态。 (5)判定 活动图和状态图中都有需要根据给定条件进行判断,然后根据不同的判断结果进行不同的转换的情况。 9.1.2 状态图的作用 状态图清晰地描述了状态之间的转换顺序,通过状态的转换顺序可以清晰看出事件的执行顺序。 清晰的事件顺序有利于程序员在开发程序时避免出现事件错序的情况。 状态图清晰地描述了状态转换时所必须触发的事件、监护条件和动作等影响转换的因素。 状态图通过判定可以更好地描述工作流因为不同的条件发生的分支。 9.2 状态图的组成 9.2.1 状态 状态是状态图的重要组成部分,它描述了一个类对象生命周期中的一个时间段。 1. 状态名 状态名可以把一个状态和其他状态区分开来。在实际使用中,状态名通常是直观、易懂、能充分表达语义的名词短语,其中每个单词的首字母要大写。 2. 内部活动 状态可以包含表达式的内部活动。当状态进入时活动在进入动作完成后就开始。 3. 内部转换 状态可能包含一系列的内部转换,内部转换因为只有源状态而没有目标状态,所以内部转换的结果并不改变状态本身。 4. 入口和出口动作 状态可能具有入口和出口动作。这些动作的目的是封装这个状态,这样就可以不必知道状态的内部状态而在外部使用它。 5. 历史状态 组成状态可能包含历史状态(History State),历史状态本身是个伪状态,用来说明组成状态曾经有的子状态。 9.2.2 转换 转换用于表示一个状态机的两个状态之间的一种关系,即一个在某初始状态的对象通过执行指定的动作并符合一定的条件下进入第二种状态。 1. 外部转换 外部转换是一种改变状态的转换,也是最普通、最常见的一种转换。 2. 内部转换 内部转换只有源状态,没有目标状态,不会激发入口和出口动作,因此内部转换激发的结果不改变本来的状态。 3. 完成转换 完成转换没有明确标明触发器事件的转换是由状态中活动的完成引起的。 4. 复合转换 复合转换(Complex Transition)由简单转换组成,这些简单转换通过分支和合并组合起来,因此复合转换可以具有多个源状态和多个目标状态。 5. 监护条件 转换可能具有一个监护条件,监护条件是一个布尔表达式,它是触发转换必须满足的条件。 6. 触发器事件 触发器事件就是能够引起状态转换的事件。如果此事件有参数,则这些参数可以被转换所用,也可以被监护条件和动作的表达式所用。 7. 动作 动作(Action)通常是一个简短的计算处理过程或一组可执行语句。动作也可以是一个动作序列,即一系列简单的动作。 9.2.3 判定 判定用来表示一个事件依据不同的监护条件有不同的影响。在实际建模的过程中,如果遇到需要使用判定的情况,通常用监护条件来覆盖每种可能,使得一个事件的发生能保证触发一个转换。 判定示例 无判定示例 9.2.4 同步 同步是为了说明并发工作流的分支与汇合。状态图和活动图中都可能用到同步。 同步 同步示例 9.2.5 事件 事件可以分成几种,主要包括:信号事件、调用事件、改变事件和时间事件等。 1. 信号事件(Signal Event) 信号(Signal)是作为两个对象之间的通信媒介的命名的实体,它以对象之间显式通信为目的。 2. 调用事件(Call Event) 调用事件(Call Event)指的是一个对象对调用(Call)的接收,这个对象利用状态的转换而不是利用固定的处理过程实现操作。 3. 改变事件(Change Event) 改变事件指的是依赖与特定属性值的布尔表达式所表示的条件满足时,事件发生改变。修

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档