状态图

合集下载

UML状态图课件

UML状态图课件
终止状态在一个状态图中可以有多个,它 用一个套有一个实心圆的空心圆表示。
5 判定
判定在状态图中的位置:工作流在此处按 监护条件的取值而发生分支。
判定用空心小菱形表示。
因为监护条件为布尔表达式,所以通常条 件下的判定只有一个入转换和两个出转换。
根据监护条件的真假可以触发不同的分支 转换。
然而处于不同状态下的对象会通过不同的 动作对同一事件做出不同的反应。
示意图:
状态图
1 状态
状态由一个带圆角的 矩形表示。
状态图标可以分为: ① 名称 ② 内部转换
名称
entry/ exit/
2 转换
转换用带箭头的直线表示,一端连接源状态即转 出的状态,箭头一端连接目标状态即转入的状态。
如图所示:
准备
常见的三个活动是:
entry/ 进入教室 do/ 打开投影 exit/ 宣布上课
1、入口动作(entry ) :进入某一状态时执行的动作。
2、动作(do):系统处于该状态时要发生的动作。
3、出口动作 (exit ):离开某一状态时执行的动作 。
子状态(substate)
某些状态存在于另一个状态之中,因此它们被称为 子状态。子状态以两种形式出现:顺序子状态和并 发子状态。
状态图
讲授内容
状态图基本表示 状态、事件、转移、活
动 状态图练习 状态图知识点小节
什么是状态图
按电灯的开关时,电灯改变了它的状态 按遥控器的调频按钮时,电视机的状态由显
示一个频道的节目变为显示另一个频道的节 目 经过一段时间,洗衣机由洗涤变为漂洗状态 夏天树叶绿了,秋天变黄了 如何表示这些变化呢?
作业
自学历史状态

状态图怎么画

状态图怎么画

状态图怎么画
状态图怎么画 1
(如果已经了解,可以直接跳到第二部分)
状态图(UML 1.x规范中的称呼),是一种展示状态机的图,在UML 2.x中则称为状态机图。

所谓状态机是一种行为,用来描述一个对象在其生命周期中的各种状态和状态转换。

主要由五部分组成,分别是状态、转换、事件、动作和活动:•状态:表示对象的生命周期中的一种条件/情况,有初态和终态之分
•事件:表示在某一时间与空间下所发生的有意义的事情•动作:表示一个可执行的原子操作,是UML能够表达的
最小计算单元
•活动:表示状态机中的非原子执行,一般由一系列动作
组成
状态图怎么画 2
1)打开亿图图示,依次选择“新建>软件和数据库>软件>UML 图>+”,新建画布的同时,软件会直接调出UML相关的符号库;
或者直接新建一张空白画布,然后在左侧符号库栏搜索关键词“状态图”调出相应图形符号;
2)从左侧符号库拖拽合适的符号到画布上,根据各种状态顺序及状态的转换
3)状态、转换、动作和其他信息的备注。

简单三步,大功告成。

大家可以自己体验下>>>。

状态图

状态图

状态图:用于描述一个对象,再其生存期间的动态行为,表现一个对象多经历的状态序列,引起状态迁移的事件,以及状态转译而伴随的动作。

状态(state):对象生命周期中的一个条件或状态,在此期间对象将满足某些条件、执行某些活动或等待某些事件。

子状态:嵌套在另外一个状态中的状态(如:NewState2,NewState3)组合状态:一个含有子状态的的状态(如:NewState)子状态之间的关系:(1)or关系:在某一时刻仅可达到一个字状态(2)and关系:组合状态中在某一时刻可同时达到多个子状态历史状态(history state):一个伪状态,记住从组合状态中退出时所处的子状态。

当再次进入组合状态时,可直接进入这个状态,而不是再次从组合状态的初始状态(需要负荷状态选择State/activitu history 选项)转移:对象将在第一个状态中执行一定的动作,并在某一个特定事件发生而且某个特定的警戒条件满足是进入第二个状态描述转移的格式:<事件特征标记> [<警戒条件>] / <动作>事件(enent):在一个时间和空间上占有一定位置的有意义的事情的详细说明调用事件(call event):调用事件表示的是对操作的调度格式:<事件名>(<逗号分隔的参数列表>)变化事件(change event):如果一个布尔表达式中的变量发生变化,使得布尔表达式的值相应的变化,从而满足某些条件(关键词when表示)时间事件(time event):妈祖某一时间表达式的情况的出现(关键词after、when)信号事件(signal event):对象接收到了信号,该信号触发状态的迁移后面的内容不是太重要:创建历史状态ss。

状态图

状态图

状态图与活动图的区别:
状态图只建模一个对象的行为,活动图可以建模多个 对象的活动 活动图中也允许建模特定活动中对象的某个状态
基本组成
状态 转换 事件、动作
基本组成(例如刷pos机)
状态
什么是状态(state)
对象生命期中的某个条件或状况,在此期间对象将满足 某些条件、执行某些活动或等待某些事件。
6、入口点和出口点
入口点
状态内的一个外部可见的伪状态,外部转换可以将它作 为目标,从而被有效连接到指定状态上。
出口点
状态内的一个外部可见的伪状态,外部转换可以将它作 为源,代表状态内的一个终点。
转换
Transition
两个状态之间的一种关系,表示对象在第一个状态中执 行一定的动作,并在某个特定事件发生而且满足某个条 件时进入第二个状态。每个转换只允许一个事件,一个 事件只允许一个动作
信号可以作为状态中一个状态转换的动作而被发送, 也可作为交互中一个的消息发送。
1、信号事件
2、调用和变化事件
调用(call)事件
表示一个操作的调度。请求调用另一个对象的操作。 一般是同步调用。
变化(change)事件
用关键字When,后面跟布尔表达式。 When(temperature > 120) / alerm()
用途
对对象生命周期建模:
主要描述对象能够响应的事件、对这些事件的影响以及过去对当 前行为的影响
对反应型对象建模:
这个对象可能处于的稳定状态、从一个状态到另一个状态之间 的转换所需的触发事件,以及每个状态改变时发生的动作
状态图既可以用来表示一个业务领域的知识,也可以 用来描述设计阶段对象的状态变迁
状态图应用
一种伪状态。可以存储退出组合状态时所处的子状态,

状态图和顺序图

状态图和顺序图
的。 • 交互图中大量的消息是异步消息。 • 异步消息的接收者必须是一个主动对象。
27
异步方式
• 异步方式的时间问题。 • 因为供应商不需要等待
销售商(存储价格)的处 理所以节省了2秒钟时 间。
28
异步方式
• 在许多情况下客户端 与服务器联系后,并 不需要等待应答或不 需要立即应答。
• 客户建立异步联系后 (只需建立对异步回 答的监听)可以做自 已另外的事情。
receiveSoda(selection)
用例“买饮料”的最理想场景建模的顺序图31
饮料销售机
:Customer
:Front
:Register
:Dispenser
accept(cash,selection) getCustomerInput(cash,selection) checkAvailability(selection) Sold Out
状态图
(state diagram) 主要内容:
• 1 什么是状态图,如何使用 • 2 如何使用事件、动作和保护条件
1
状态图的应用概念
• 行为元素:能够展示UML模型如何随时 间变化。
• 状态图:对象生命周期中各个时期的状 态以及引起变化的事件。
捕获系统动态行为(面向事件的)
2
状态图的应用概念
• 对于一个在一段时间内连续运行的软件 系统,一定是由许多对象在不断地交互, 在交互过程中只有对象在不断改变状态 其交互才具有意义,并且对用户具有价 值。
updateReserve(cash,selection)
releaseSoda(selection) receiveSoda(selection)
饮料销售机的一般顺序图(部分) 34

状态图课件

状态图课件

延迟事件:该事件不会触发状态的转换,当对
象处于该状态时事件不会丢失,但会被延 迟执行。例如,当E-mail程序中正在发送 第一封邮件时,用户下达发送第二封邮件 执令就会被延迟,但第一封邮件发送完成 后,这封邮件就会被发送。这种事件就属 于延迟事件。
四、变迁 变迁被定义为软件对象的两个状态之间的关 系,表明在指定的事件发生后,在特定的条件下 ,对象执行指定的动作,并进入另一个状态。
内部转换和自转换(完成转换)不同:
自转换: 源状态和目标状态为同一状态的转移。
五、状态图建模技术
建模步骤: 1. 找出适合用模型描述其行为的类。 2. 确定对象可能存在的状态。 3. 确定引起状态转换的事件。 4. 确定转换进行时对象执行的相应动作。
例 书的状态图
状态图的Rose建模
一、新建状态机图
状态变量 活动
在一个状态中允许有多个动作。
1. 2. 3. 4. entry:入口动作,进入状态时发生的动作 exit:出口动作,发生状态改变时执行的动作 do:标记内部活动,处于某种状态时发生的动作 event:当特定事件触发时指定相应动作的发生。
Idle entry/LockScreen() exit/closeScreenSaving() do/showScreenSaving()
状态机图
对事物所处的状态及其变迁的考虑: 大多数事物在其生命周期中经历了不同的状态; 在特定的时间,一个事物位于一个状态; 在现实世界存在着引起事物的状态发生变化的事件; 事物在其状态间按次序转化 当事件发生时,事物可能需要采取一些动作。
状态机图
状态机图(State Machine Diagrams)给出了一个状态机,强调了从状态到状态 的控制流。 状态机(State Machine)定义了对象在生命周期中响应事件所经历的状态的序列 以及对象对这些事件的响应。状态机由状态、跃迁、事件、活动、动作等组成。 状态(State)代表对象在生命周期中的一种条件或状况,在这种状况下,对象满 足某个条件,或执行某个动作、或等待某个事件。一个状态在一个有限的时间段内 存在。 事件(Event)是一个重要事件的规范,该事件在时间和空间域中有一个位置。 跃迁(Transition)是两个状态之间的关系,它表示第一个状态的对象将执行某个 动作,如果规定的事件发生或规定的条件被满足,则对象进入第二个状态。 活动(Activity)是在状态机中进行的一个非原子的执行,它由一系列的动作组成 。 动作(Action)是一个可执行的原子计算,它导致状态的变更或返回一个值。 通常一个状态机依附于一个类,并且描述一个类的实例。状态机包含了一个对 象在其生命周期所有状态的序列以及对象对接收到的事件所产生的反应。

第6章 状态机图


14
例1:子状态之间“or”关系的例子。
例2:子状态之间“and”关系的例子。
15
History State(历史状态)


History State: A pseudostate whose activation restores the previously active state within a composite state. 使用历史状态,可以记住从组合状态中退出时 所处的子状态,当再次进入组合状态时,可直 接进入到这个子状态,而不是再次从组合状态 的初态开始。
7
状态(State)


定义:A state is a condition or situation during the life of an object during which it satisfies some condition, performs some activity, or waits for some event. 一个状态是指在对象的生命期中的一个条件或 状况,在此期间对象将满足某些条件、执行某 些活动或等待某些事件。
22


说明: 在UML中,事件分为四类: (1) Call event (调用事件) (2) Change event (变化事件) (3) Time event (时间事件) (4) Signal event (信号事件)
23
(1) Call event: The event of receiving a call for an operation that is implemented by actions on state machine transitions. Call event的语法格式如下: 事件名 ( [逗号分隔的参数列表] ) 其中参数列表中的参数格式为: 参数名:类型 例:

解析uml活动图和状态图的作用和区别

本文和大家重点讨论一下UML活动图和状态图的概念,这两种图都有各自的特点和作用,那么他们之间有什么区别和联系呢,请看本文详细介绍。

UML活动图和状态图一、UML活动图:◆流程图常被用来建立算法模型◆UML活动图与流程图类似,不同在于它支持并行活动.◆缺点:不能清楚的表示二、作用:1、描述一个操作的执行过程中所完成的工作或者动作2、描述对象内部的工作3、描述用例的执行4、处理多线程5、显示如何执行一组相关的动作,以及这些动作如何影响周围对象三、以下情况不用UML活动图1、显示对象之间的合作2、显示对象在其生命周期内的运转情况。

这两点是通过序列图和协作图完成的。

四、UML活动图的基本要素:◆活动状态◆活动状态之间的转移(箭头)◆判断(决策点)◆保证条件◆同步条:活动之间的同步◆起点和终点--起点有且只有一个,终点可以有n个。

五、泳道:用于对UML活动图中的活动进行分组,用于描述对象之间的合作关系。

----所谓泳道技术,就是将活动用线分成一些纵向区域,这些纵向区域称为泳道。

UML状态图一、状态图:◆描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转换。

例如呼叫中心系统。

◆状态图符--状态:矩形(四角圆弧)--转移--起点--终点1、状态机:◆一种行为:描述了一个对象或一个交互在生命周期内响应事件所经历的状态序列。

◆单个类或者一组类之间协作的行为可以用状态机来描述◆一个状态机涉及到一些其他元素,包括状态、转换、事件2、状态:在对象的生命周期中满足某些条件、执行某些活动或等待某些事件的一个条件活状况。

1)名称2)进入协作和退出动作3)内部转换4)子状态5)延迟事件3、转换:两个状态之间的一种关系,表示对象将在第一个状态中执行一定的动作并在某个特定事件发生而某个特定条件满足时进入第二个状态。

1)源状态2)事件触发3)监护条件4)动作5)目标状态例子:电话机状态图二、UML活动图与状态图的区别:状态:行为的结果活动:行为的动作在uml中图符不一样。

第8章状态图和活动图课件

▪ 终止状态只能作为转换的目标,而不能作 为转换的源。
▪ 终止状态在一个状态图中可以有多个。
初态和终态
▪ 一个状态图只能有一个初态,但可以有多 个终态或没有终态
组合状态
Idle 维护
插卡 取消
Maintenance
Active
Validating [继续]
Selecting
entry/ 读卡 exit/弹出卡
➢ 有些对象出现在很多顺序图中,在每个顺序图中都有 很多的箭头(消息)指向它,每条消息都是对该对象 发出的命令,这些命令可以引起对象的变化,即出现 在很多交互中并且是交互的目标的对象应该用状态图 来表示
➢ 例如,剧院的showSheat对象,用于显示剧院的座位 列表,该对象被创建的时机各种各样,如演出被安排 的时候、被客户选中的时候、用户取消座位时等。每 个时机创建该对象的规则都不同。
动作
contact
Tracking
Engaging
8.2.4 转换
警戒条件
➢ 警戒条件是触发转换必须满足的条件,它是一 个布尔表达式。
➢ 从一个状态引出的多个转换可以有同样的触发 器事件,但每个转换必须有不同的警戒条件。
转换组成: ① 源状态 ② 目标状态 ③ 触发事件 ④ 警戒条件 ⑤ 动作 转换种类: ① 外部转换 ② 内部转换 ③ 完成转换 ④ 复合转换
8.5 活动图的基本概念
活动图的组成元素:
① 活动(Activity) ② 动作流(Action Flow) ③ 分支(Branch)与合并(Merge) ④ 分叉(Fork)和汇合(Join) ⑤ 泳道(Swimlane) ⑥ 对象流(Object Flow)
8.1 什么是状态图
状态图主要用于描述一个对象在其生存期 间的动态行为,表现一个对象所经历的状 态序列,引起状态转移的事件,以及因状 态转移而伴随的动作。

第7章 状态图和活动图


图7.1 图书馆书籍的状态图
一个图书对象从它的起始点 开始,首先是“新书”状态 (new book),然后是“可 以借阅”(available)的状 态,如果有读者将书借走, 则该书的状态为“已借出” 状态(borrowed),如果图 书被归还图书馆,图书的状 态又变为“可以借阅”状态 。图书馆如果放弃该图书对 象的收藏,则图书对象处于 “删除”状态(delete),最 后到达“终止”状态。
7.2.1 活动图概述
在用例模型中,可以利用文本来描述用例的业务流程, 但如果业务流程较为复杂的话,则可能会难以阅读和 理解,这时需要用更加容易理解的方式(图形)来描 述业务过程的工作流,在UML中将这类描述活动流程 的图形称为活动图(Activity Diagram)。 活动图被设计用于简化描述一个过程或者操作的工作步 骤。活动用圆角矩形表示,接近椭圆。一个活动中的 处理一旦完成,则自动引起下一个活动的发生。箭头 表示从一个活动转移到下一个活动。和状态图类似, 活动图中的起点用一个实心圆表示,终点用一个实心 圆外加一个圆圈表示。在一个活动图中,只有一个起 始状态,可以有零个或多个终止状态。
第7章 状态图和活动图
7.1状态图
状态图,用于UML中建立动态模型,主要描述系
统随时间变化的行为,这些行为是用从静态视图中抽 取的系统的瞬间值的变化来描述的。在对象的生命期 建模中,状态图显示了一个状态机,展示的是单个对 象内从状态到状态的控制流。状态图通过对类的对象
的生存周期建立模型来描述对象随时间变化的动态行
7.2.7分叉和汇合
对象在运行时可能会存在两个或多个并发运行的控制流, 为了对并发的控制流建模,UML中引入了分叉与汇合的概 念。分叉用于将动作流分为两个或多个并发运行的分支, 而汇合则用于同步这些并发分支,以达到共同完成一项事 务的目的。 在UML中使用分叉和汇合表示并行发生的事件流。分叉表 示把一个单独的控制流分成两个或多个并发的控制流。一 个分叉可以有一个进入转移和两个或多个输出转移,每一 个转移表示一个独立的控制流。 汇合表示两个或多个并发 控制流的同步发生,一个汇合可以有两个或多个进入转移 和一个输出转移。分叉和汇合应该是平衡的。分叉和汇合 在图形上都使用同步条来表示,同步条通常用一条粗的水 平线表示。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章、状态图三个要素,六种状态,四种事件,二类变迁1.1事件驱动软件系统中有这样一类对象,它们具有事件驱动特征的动态行为(即需要处理各种内外部随机或定时发生的事件序列,对事件的响应,并对自身行为进行某些动态的变化),就适合于用状态机来建模。

如果对象的行为不会随着其状态发生变化,则不需要用状态机来描述其行为,这些元素通常是主要负载管理数据的被动类。

1.2状态机在类层次反映状态与状态转化的图,它是一个类的对象的所有可能的生命历程的模型。

主要用来捕捉外部事件引起的变化,它将一个对象与其外部世界隔离开来独立考察其行为。

对状态机而言,它所能建模的对象是广义的,可以是类的实例,可以是用例的实例,甚至可以是任何一个对象。

如果此对象的动态行为具有事件驱动的特性,就适合于用状态机来建模。

1.3状态图状态图是对状态机的可视化描述。

在UML里,最适合于描述这类动态行为的可视化建模手段,就是状态图 (statechart diagram)。

状态图三要素:1)事件:状态机外部,改变状态的原因;2)状态:状态机内部,对象当前的状态;3)变迁:状态机内部,对象状态的变化。

1.4交互图与状态图的区别在UML中,除了状态机之外,还有一种为动态行为建模的手段,这就是交互图。

交互强调的是对象之间的互相协作,来分析系统的设计功能。

与交互图不同,状态机则强调的是“对象在对事件的响应中伴随的状态的变化”,聚焦于对象的内部行为。

本图不宜用来描述系统的整体运作(如有此要求,可用序图)。

状态机用来描述界面和控制类业务比较合适。

1.5状态的概念1.5.1状态的定义是指对象生命周期中某特定时间段内一种稳定的行为状况:1.执行某些动作2.等待某些事件从时间的角度来看,是一个时间段的概念。

1.5.2状态示例1.发票(对象)被支付(状态)2.小车(对象)正在停着(状态)3.发动机(对象)正在工作(状态)4.电灯(对象)开着(状态)1.5.3状态的抽象状态对应于一组对象属性的值。

理论上来讲,对象属性的任何不同值的组合就是对象的一个状态,全部状态的集合描述了一个对象的状态空间。

1.5.4状态的表示状态被图形化表示为一个圆角矩形:1.状态名 (黑体、首字母大写)2.入口、出口变迁,不可中断;3.内部变迁:不改变对象的状态,也不执行entry和exit动作,可中断。

内部变迁(Internal transition)是对事件做出响应,并执行一个特定的活动,但并不引起状态变化或进入变迁、离开变迁,用来处理一些不离开该状态的事件。

内部转换的表示方法rigger[guard]/behavior,并且被列在状态内。

【transition 过渡;过渡时期;转变;演变;变迁;变化】例如:复印机警示灯在卡纸状态下会闪烁,表示方法:do/flash warning light1.6事件从时间的角度看,是一个时间点的概念。

事件可以分成多种类型。

事件包括信号、调用、时间推移或状态改变。

1.6.1消息包括信号事件和调用事件。

信号可以在类图中可被声明为类,并用《signal》表示;信号的特征是异步的,可用Send表示一个操作发送了一个特定的信号;信号可以泛化,可继承父信号的属性。

调用事件在模型中可以实现为对一个对象中的方法的调用;调用事件一般来说是同步的。

也就是说,当对象调用另一对象的操作时,控制就从发送者传送到接收者,该事件触发转换,完成操后,接收者转换到一个新的状态,控制返还给发送者。

1.6.2时间事件按时间为条件进行触发的事件,包括:after事件、defer事件、when事件。

1)after事件以关键字after(时间表达式)说明,“/”后边跟有动作。

例如after(5分钟)/停止2)defer事件格式为事件名/defer。

延迟事件在本状态中不进行处理,而将其推迟到下一个状态再处理。

3)When事件以关键字(逻辑表达式)说明,后面跟有“/”表示动作。

例如:when(温度>140)/暂停。

在UML中,用关键字When,后面跟随布尔表达式来对一个变化事件建模。

你可以用表达式来标记一个绝对时间(如:When time=10:00),或对表达式作不间断地测试(如when altitude <1000)。

1.6.3变更事件变更事件(change event)是指因条件的变更,从而满足特定的布尔表达式,而引发的事件。

1.7变迁1.7.1变迁的五个部分在UML里,变迁由五个部分构成,它们是:1.起始状态2.目标状态3.触发事件(event trigger)4.触发条件(guard condition)5.变迁动作(action,伴随着变迁的激发被执行的一个元计算)1.7.2按发生的地点分类(外部)变迁是一个状态向另外一个状态的转换。

对象处在源状态时,发生一个事件,如果条件满足,则执行相应的动作,对象由源状态转换到目标状态。

(外部)变迁被图形化表示为连接两个状态的箭头,箭头起始端是变迁发生前的状态,箭头所指的状态是变迁完成后的状态。

转换用箭头表示,如果没有标注事件,则本转换为自动转换。

1.7.3按触发的方式分类1.自身迁移源状态和目标状态为同一状态的转换。

内部转换和自转换的区别:自转换会激发状态的入口动作和出口动作,它是一个广义上的状态的“变迁”,具有完整的状态变迁的行为,而内部转换不会。

2.自动迁移根据状态内部的动作完成而触发的,自动触发进入另一个目标状态,迁移时上没有事件发生。

与自转换的区别是:进入另一个状态。

3.条件迁移[监护条件]是一个布尔表达式,当触发器事件被触发时才对这个布尔表达式求值; 如果表达式取值为真,则激活转换;为假,则不能激活转换,而且如果没有其他的转换被此事件所触发,则该事件丢失。

事件能够触发多个转换离开当前状态。

每个转换必须具有不同的迁移条件。

用[条件表达式]约束的变迁:例如:当你早上出门的时候(事件),如果温度在冰点以下(条件),那你要戴手套(下一状态)。

表示:出门[冰点以下]可以有分支判断所确定的变迁:1.8状态的分类1.8.1初始状态(只能一个)1.8.2终结状态(可以0或多个)1.8.3简单状态与复合状态不包含子状态的状态称为简单状态(simple state),复合状态是含有子状态的状态,用于描述对象的某个复杂状态。

复合状态也可以有初态和终态。

简单状态对应着一个动作,而复合状态对应一组活动。

在UML中动作和活动的含义是不一样的。

1.动作:一组可执行的语句,具有迁移性、原子性和连续性。

2.活动:一组可执行的动作,具有有限性和非原子性。

1.8.4子状态被嵌套在另外一个状态中的状态,可分为顺序子状态和并发子状态。

分为两种:1.8.4.1顺序子状态对象在任何时刻只能处于组成状态的某一个子状态,即多个子状态之间是互斥的,不能同时存在。

例:IC电话卡的状态有空闲、维护、工作。

其中,工作就是组合状态。

工作状态包括验卡、拨号、通话、挂断。

1.8.4.2并发子状态并发子状态:指一个对象在同一时刻可以处于多种子状态。

例如:发动机运行状态:订单状态:1.8.4.3并发中的同步并发状态之间需要通信,或具有确定的时序关系,称为并发中的同步。

1.8.5伪状态伪状态指在一个状态机中具有状态的形式,同时具有特殊行为的顶点。

它是一个瞬时状态,用于构造转换的细节。

当伪状态处于活动时,状态机还没有完成从运行到完成的步骤,也不会处理事件。

伪状态用来连接转换段,到一个伪状态的转换意味着会自动转换到另一个状态而不需要事件来触发。

初始状态(initial pseudostate)就是一个伪状态,历史状态也是伪状态。

1.8.6历史状态历史状态(history state)是一个特殊的子状态,它记录了复合状态被转出时的活跃子状态,表示成一个被圆环包围的字母H。

记录组合状态退出时所处的子状态,以便再次进入从这个状态开始工作。

KTV的点播系统可以记录点播情况,以便在断电重启之后直接在原状态下播放:1.8.6.1浅层历史状态(shallow history)。

浅层历史状态只记忆被转出变迁打断时最外层的活跃状态。

如果需要历史状态记忆最深层的内嵌活跃子状态(即不再包含子状态的活跃子状态),则应使用深层历史状态。

1.8.6.2深层历史状态(deep history state)。

深层历史状态在绘制时用一个被圆环包围的带星号的字母H表示(H*)。

注意:历史状态指示器是一个伪状态,可以有几个进入它的状态迁移,但没有离开它的状态迁移。

1.9画状态图的要点1.9.1避免"黑洞"状态。

黑洞状态是那种只有迁入但没有任何迁出的状态,这种情况要么由于该状态是一个最终状态,要么就是你已经错过了一个或多个变换。

1.9.2避免"奇迹"状态。

奇迹状态是那种只有迁出但没有任何迁入的状态,这种情况要么由于该状态是一个起点,要么就是你已经错过了一个或多个变换变换。

1.10状态图与活动图的区别与联系1.10.1区别状态图是描述对象在一定外部事件作用下的内部行为,是对类图的一种补充;活动图描述的是整个系统的行为,是对用例图的一种细化。

活动图显示的是从活动到活动的控制流,状态图则显示的是从状态到状态的控制流。

1.10.2联系状态是一组活动的封装,如入口活动,出口活动,内部活动等,状态图也涉及外部发起事件的多个对象,因此状态图是活动图的一种特例,它们共同描述了系统的行为。

相关文档
最新文档