状态图和活动图ppt课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
动作是一个不可中断的最小单元。
基本概念-状态
状态可以细分为不同的类型,如初态、终 态、中间状态、组合状态、历史状态等。
一个状态图只能有一个初态,但终态可以 有一个或多个,也可以没有终态。
中间状态包括两个区域:名字域和内部转 移域,内部转移域是可选的。
状态图中的基本概念
状态:在对象的生命周期中的某个条件或 状况,在此期间对象将满足某些条件、执 行某些活动或等待某些事件。
在状态图中,状态由圆角矩形表示。状态的改变 称作转移,状态转移由箭头表示,箭头旁可以标 出转移发生的条件。状态转移可以伴随有某个动 作,它表明当转移发生时系统要做什么。
状态图概述
状态图是描述一个实体基于事件反应的动 态行为,显示了该实体如何根据当前所处 的状态对不同的事件做出反应的。
通常我们创建一个UML状态图是为了以下 的目的:研究类、角色、子系统、或组件 的复杂行为。
第八章 状态图和活动图
江西财大软件wk.baidu.com院
状态图概述
状态图主要用于描述一个对象在其生存 期间的动态行为,表现一个对象所经历的状 态序列、引起状态转移的事件,以及因状态 转移而伴随的动作。
用一个状态机对一个对象的生命周期建 模,状态图是用于显示状态机的,重点在于 描述状态之间的控制流。
状态图概述
状态图是对类的一种补充描述,展示了此类对象 所具有的可能状态以及某些事件发生时其状态的 转移情况。
内部转移 在不使状态发生变更的情况下进行的转移。
子状态
延迟的事 件
状态的嵌套结构,包括不相连的(依次处于活动 状态的)或并行的(同时处于活动状态的)子状 态。
未在该状态中处理但被延迟处理(即列队等待由 另一个状态中的对象来处理)的一系列事件。
事件触发器
在状态机环境中,事件是指可触发状态 转移的激励的发生。事件可能包括信号、调 用、时间推移或状态变更。信号或调用可能 具有其值可用于转移的参数,其中包括警戒 条件和操作的表达式。也可能会有无触发器 的转移,这样的转移没有事件触发器。这种 转移也被称为完成转移,它们在源状态完成 其活动后将被隐含触发。
状态机
状态机由状态组成,各状态由转移连接 在一起。状态是对象执行某项活动或等待某 个事件时的条件。转移是两个状态之间的关 系,它由某个事件触发,然后执行特定的操 作或评估并导致特定的结束状态。图 1 描绘 了状态机的各种元素。
对象可能会在有限的时间长度内保持某 一状态 。
状态图建模
在具有以下两个特性的属性上建模: 属性拥有较少的可能取值; 属性在这些值之间的转移有一定的限制。
状态图用于显示状态机(它指定对象所在 的状态序列)、使对象达到这些状态的事 件和条件、以及达到这些状态时所发生的 操作。
状态机
状态机用于对模型元素的动态行为进行建 模,即,对系统行为中受事件驱动的方面进 行建模。状态机专门用于定义依赖于状态的 行为(依据元素所处的状态而有所变化的行 为)。其行为不会随着其元素状态发生变化 的模型元素不需要用状态机来描述其行为。
浅历史状态表示只记住最外层组合状态的 历史。深历史状态表示可记住任何深度的 组合状态历史。
如果一个组合状态到达了其终态,则会丢 失历史状态中的信息。
基本概念-转移
转移是两个状态之间的关系,它表示当 发生指定事件并且满足指定条件时,第一个 状态中的对象将执行某些操作并进入第二个 状态。当发生这种状态变更时,即“触发” 了转移。在触发转移之前,可认为对象处于 “源”状态;在触发转移之后,可认为对象 处于“目标”状态。
状态图例子
状态图中的元素
状态(包括初始状态、结束状态和中间状 态、子状态、组合状态、历史状态等);
事件(四类事件); 转移;
什么是状态?
状态表示的是一个对象或交互过程中的一 个特定阶段:满足了某一个条件,进行某 项活动或等待某个事件的发生,状态对应 一段有限的时间。状态对应于一组对象属 性的值
所有对象都具有状态,状态是对象执行了 一系列活动的结果,当某个事件发生后, 对象的状态将发生变化。
一个状态包括:状态名、进入/退出动作、 内部转移、子状态、延迟事件。
状态具有的特征
名称
将一个状态与其他状态区分开来的文本字符串; 状态也可能是匿名的,这表示它没有名称。
进入/退出 在进入和退出状态时所执行的操作 操作
进入和退出操作
每当进入或退出状态时,进入和退出操作将 分别允许发出同一操作。这可以通过进入和 退出操作来顺利地完成,而不必明确地将操 作放在每个输入或输出转移上。进入和退出 操作可能没有实参或警戒条件。位于模型元 素的状态机顶层的进入操作可能具有特定的 参数,这些参数代表了在创建该模型元素时 状态机所接收到的实参。
警戒条件
当转移的触发事件发生时,将对警戒条 件进行求值。只要警戒条件不重叠,就可能 会有来自同一源状态并具有同一事件触发器 的多个转移。在事件发生时,只为转移进行 一次警戒条件求值。
操作
操作是可执行的、不可分割的计算过程,这 意味着,它不会被事件中断,而会一直运行 到结束为止。它与活动正好相对,因为活动 可能被其他事件中断。操作可以包括操作调 用(调用状态机的拥有者以及其他可见对 象)、创建或破坏其他对象、或者向另一个 对象发送信号。
状态中的基本概念
子状态:嵌套在另一个状态中的状态。 组合状态:含有子状态的状态。
子状态
简单状态是没有子结构的状态。 具有子状态(嵌套状态)的状态被称为复
合状态。子状态可能被嵌套到任意级别。 嵌套的状态机最多可能有一个初始状态和
一个终止状态。
子状态
状态图中的基本概念
历史状态是一个伪状态,其目的是记住从 组合状态中退出时所处的子状态。当再次 进入组合状态时,可直接进入这个子状态, 而不是再次从组合状态的初态开始。
内部转移
内部转移使事件可以在不退出状态的情 况下在状态内得到处理,从而可避免触发进 入或退出操作。
延迟的事件
延迟的事件是其处理过程被推迟的事件, 它们的处理过程要到事件不被延迟的状态 被激活时才会执行。当该状态被激活时, 将触发该事件,同时可能导致转移(好象 该事件刚刚发生)。要实施延迟的事件, 需要有事件的内部队列。如果事件已发生 但被列为延迟,它就会被添加到队列中。 当对象进入了不会使事件延迟的状态时, 将立即从该队列中取出这些事件。
相关文档
最新文档