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