第10章 状态机图

合集下载

状态机图(状态活动)汇总课件

状态机图(状态活动)汇总课件
do/启动发货 发货
已发货
收到货物[缺部分商品]
检查完[缺部分商品]
等待
收到货物[商品齐全]
取消
取消 取消
取消订单
状态图(订单处理3)
检查 do/检查商品
订单处理
收到货物[缺部分商品]
检查完[缺部分商品]
等待
检查完[商品齐全]
办理发货 do/启动发货
收到货物[商品齐全]
已发货
发货
取消 取消订单
状态图(航班预订1)
无预定
预定/已预订数+=预订数
部分预定
event 预 定 [ 预 订 数 < 空 位 数 ] event退 订 [ 退 定 数 < 已 预 订 数 ] /
取消航班
关闭
预定关闭
关闭 关闭
退订/已预订数-=退定数
预定完
预定[无空位]
状态图(航班预订3)
使用复合状态
预定中 退订[已预订人数==0]/已预订数=退定数
action)
Action 可执行的原子计算。 不可中断,其执行时间可忽略不计。
两种特殊动作:
进入动作 (entry action) 进入状态时执行的动作;Entry/ setMode(onTrack)
退出动作 (exit action)
退出状态时执行的动作;Exit /setMode(offTrack)
●例如:在烧水器的状态图中, turnOn 就是一种调用事 件,用来将开关置于“0n” 状态。
触发事件的四种类型
改变事件
● 某个指定属性值为真时,事件得到触发。 ●在对象生命周期内, 一直在计算改变事件中的属性值。
当属性值为真时,事件触发,计算停止 ●例如: when(temperature>100)/alerm()

2020年智慧树知道网课《面向对象与UML(山东联盟)》课后章节测试满分答案

2020年智慧树知道网课《面向对象与UML(山东联盟)》课后章节测试满分答案

绪论单元测试1【判断题】(20分)UML是面向对象的软件建模语言,可应用到软件开发全过程。

A.对B.错2【判断题】(20分)面向对象是当今主流的软件开发思想。

()A.对B.错3【多选题】(20分)下列哪些工具可以用来进行UML建模?()A.MicrosoftOfficeVisioB.EnterpriseArchitect(EA)C.RationalRoseD.StarUML4【多选题】(20分)我们要从本课程中学到哪些知识?()A.面向对象的基础知识B.UML软件建模C.面向对象的设计原则D.面向对象编程语言5【多选题】(3分)平时分析问题,总要获取哪些方面的信息?()A.事物之间的关系是什么?B.事物的特征和行为是什么?C.问题中涉及哪些事物?D.事物之间如何协作完成任务?第一章测试1【多选题】(20分)以下对软件建模描述正确的是()A.每个模型可以有多种表达方式,从不同角度来刻画系统。

B.描述同一个系统的多个模型只能相对孤立,不能完全孤立,完全孤立的模型是不完整的C.要正确建模,模型必须准确反映软件系统的真实情况。

D.越庞大复杂的系统,建模的重要性越大。

E.模型是对现实世界的简化,但不能掩盖重要的细节。

2【单选题】(20分)模型的实质是什么?()A.对现实的复杂化B.对现实的简化C.便于交流D.可视化3【单选题】(20分)对软件模型而言,下面说法的是()A.是软件的标准文档B.是软件的中间形态C.是人员交流的媒介D.是软件升级和维护的依据4【单选题】(20分)以下关于模型的说法的是()A.一个好的模型包括那些有广泛影响的主要元素,而忽略那些与给定的抽象水平不相关的次要元素。

B.模型必须是可视化的。

C.通过建模可以帮助人们理解复杂的问题。

D.模型是对现实的简化。

5【单选题】(20分)以下哪一个选项不能当做模型?()A.交通地图B.地球仪C.电路设计图D.灭火器第二章测试1【单选题】(20分)在下面所述中,关于UML的说法不正确的是()A.UML不是过程也不是方法,但允许每一种过程和方法使用它。

第10章 状态机图

第10章 状态机图
外部调用 事件
内部调用 事件
Credit
Close()
Deposit(m)/balan=balan+m
Withdrawal(m)
[balan<m]
动作
Withdrawal(m) [balan>=m]
监护条件
RejectWithdrawal entry/logRejectWithdrawal
AcceptWithdrawal entry/balan=balan-m
• 通常将入口动作(entry/action) • 出口动作(exit/action) • 活动(do/activity) • 内部迁(event/action(argument) • 标识在状态图标的第二栏,如图10-5所示。
• 内部迁移发生时对象的状态不会改变,外部迁移发生时对 象状态要发生改变。
有多个终止状态,它用一个套有一个实心圆的空心圆表示。 如图10-3所示。
图10-3 终止状态的表示
3.状态
• 同一状态有三种表示方法:
• 图10-4是状态的简单表示;
• 图10-5是状态的详细表示;
• 图10-6所示,在圆角矩形的第三栏中,绘制出了子状态 (如果该状态包含了子状态的话)。
状态名称 图10-4 简单表示
10.2.1 状态的表示
• 1.初始状态 • 初始状态代表对象的起始状态,只能作为迁移的源节点,
而不能作为迁移的目标节点。 • 初始状态在一个状态图中只允许有一个,它用一个实心的
圆表示,如图10-2所示。
图10-2 初始状态的表示 Nhomakorabea2.终止状态
• 终止状态是对象的最后状态,是一个状态图的终止点。 • 终止状态只能作为迁移的目标节点。在一个状态图中可以

第十章 状态机图-UML面向对象分析、建模与设计-吕云翔-清华大学出版社

第十章 状态机图-UML面向对象分析、建模与设计-吕云翔-清华大学出版社
事件包含一个参数列表(可能为空),用于从事件的产生者向其接 收者传递信息。
对应于触发器转换,没有明确的触发器的转换成为结束转换或无触 发器转换,是在状态的内部活动执行完毕后隐式触发的。
转换——事件
能够在触发器中接收的事件有以下四种:
调用事件:调用事件表示对象接收到一个调用操作的请求。其期待的结 果是事件的接收者触发一个转换并执行相应的操作。
改变事件:改变事件的发生依赖于事件中某个表达式所表达的布尔条件。 改变事件没有参数,要一直等到条件被满足才能发生。
信号事件:信号由一个对象准确地送给另一个或一组对象。发送给一组 对象的信号可能触发每个对象的不同转换。
时间事件:时间事件的发生依赖于事件中的一个时间表达式。比如,可 以让对象进入某状态后经过一段给定的时间或到达某个绝对时间后发生 该事件。
转换——事件
stm 订单类 Unselected
click(posX, posY) [posX==x and posY==y]
Selected
(a)
SingleSelectionMode shiftKeyUp MultiSelectionMode shiftKeyDown (c)
状态机图
状态机 状态机图
状态机图的基本概念
状态机
状态机是一种行为,它说明对象在其生命周期中响应事件所经历的 状态变化序列以及对那些时间的响应。
一般情况下,一个状态机依附于一个类,用来描述这个类的实例的 状态及其转换,和对接收到的事件所做出的响应。此外,状态机也可 以依附于用例、操作、协作等元素上,描述它们的执行过程。
等待支付
[立即支付] 审核完成
[及时支付]
[超出支付时限]
审核失败
状态机图

第10章--活动图

第10章--活动图

图10.4 泳道示例
10.2.4 对象流
用活动图描述某个对象时,可以将涉及到的对象放到活动 图中并用一个依赖将其连接到进行创建、修改和撤销的活 动或状态上,对象的这种使用方法就构成了对象流。
对象流是活动图中活动或状态与对象之间的依赖关系, 表示活动使用对象或者活动对对象的影响。
对象
对象流
表示对象是动作的输出:该活动对对象施加了一定的 影响,施加的影响包括创建、修改和撤销等。
活动图与状态机图是不同的,其实质性区别在于,活动图描述的是响应 内部处理的类的行为,状态机图描述的是类响应事件的外部行为。
活动图着重表现的是从一个活动到另一个活动的控制流,是内部处理驱 动的流程;而状态机图着重表现的是从一个状态到另一个状态的流程, 常用于有异步事件发生的情形。
活动图与交互图相比也各有侧重点。活动图着重表现的是活动的控制流, 描述在对象之间传递的操作;而交互图着重表现的是对象到对象的控 制流,描述在对象之间传递的消息。
表示对象是动作的输入:该动作使用了该对象。
10.2.4 对象流
同一个对象可以多次出现, 它的每一次出现表明该对象 正处于生存期的不同状态。
图10.5 图书管理的活动图
10.3 活动分解
一个活动可以分解成若干个子活动(Subactivity)或动作, 这些子活动或动作本身组成一个活动图。
一个不含内嵌套活动或ຫໍສະໝຸດ 作的活动,称为简单活动。 如果一个活动内嵌套了若干活动或动作,则称该活动为组
在软件系统的分析和设计中,对业务领域的工作流的分析是至关重 要的。可以使用活动图对工作流建模。
用活动图对工作流建模可以采取以下步骤: (1)找出负责实现工作流的业务对象。 (2)确定工作流的初始状态和终结状态,明确工作流的边界。 (3)从工作流的初始状态开始,找出随时间而发生的活动和动作, 把它们表示成活动状态或动作状态。 (4)对于复杂的动作或多次重复出现的一组动作,可以把它们组 成一个活动状态,并且用另外一个活动图来展开表示。 (5)给出连接活动和动作的转移(动作流)。首先处理顺序动作流, 然后处理条件分支,最后处理分叉和汇合(并发与同步)。 (6)在活动图中给出与工作流有关的重要对象,并用虚箭线把它们 与活动状态或动作状态相连接。

第10章 状态机图[课堂课资]

第10章 状态机图[课堂课资]
– 初始状态 • 初始状态代表状态机图的起始位置,只能作为转换的源,而不 能作为转换的目标。初始状态在一个状态机图中只允许有一个, 它用一个实心的圆表示。
– 终止状态 – 终止状态是对象的最后状态,是一个状态机图的终止点。终止状
态只能作为转换的目标,而不能作为转换的源。终止状态在一个 状态机图中可以有多个,它用一个套有一个实心圆的空心圆表示。
• 1).信号事件
• 对象之间通过发送信号和接收信号实现通信。信号是一种异步机制。对 于一个信号而言,对象一般都有相应的事件处理器,如onMouseClick()。
• 2).调用事件
• 调用某个对象的成员方法就是调用事件,它是一种同步的机制。例如 turnOn是一种调用事件,用来将开关置于“On”状态。
精制知识
5
状态机图的概念
• 状态机图的作用
– 状态机图常用来描述业务或软件系统中的对象在外部事 件的作用下,对象的状态从一个状态到另一个状态的控
制流。利用状态机图可以精确地描述对象在生命周期内 的行为特征。
• 状态机图的组成元素
– 状态机图的组成元素包括:初始状态、终止状态、状态、 转换。其中,转换将各种状态连接在一起,构成一个状 态机图。
精制知识
3
状态机图:电梯 状态机图主要显示以下3种内容: 对象在生命周期中所经历的状态 序列; 诱发对象从一个状态转移到另一 个状态的事件; 状态改变所导致的动作。
精制知识
4
状态机图的概念
• 状态机图描述对象在整个生命周期内,在外部事 件的作用下,从一种状态转换到另一种状态的关 系图。这种图的节点是状态(包括初始状态和终止 状态),关系是转换。
精制知识
2
2
为什么要建模状态机图

状态机图(精品)

状态机图(精品)

状态机图1.概述状态机图(State Machine Diagram)是用来显示状态机的图,包括简单状态、转换和嵌套的复合状态等,一个典型的状态机图如图1所示:图1. 状态机图2.基本表示符号状态机图的基本元素包括:状态、转移、事件、伪状态和复合状态。

2.1状态(State)状态是对象生命周期中的一个条件或形态。

状态由对象的属性值、与其他对象的关系以及正在执行的活动来确定。

在UML中,状态用圆角矩形和状态名表示,初始状态用实心圆表示,终止状态用牛眼表示,如图2所示:图2. 状态状态可以有一个或多个分栏,这些分栏是可选的,包括名称分栏、嵌套区域、内部转换分栏等,如图3所示:图3. 带分栏的状态状态也可用圆角矩形上带有状态名称标签的方框表示,如图4所示:图4. 带有名称标签符号的状态2.2转移(Transaction)转移表示状态之间可能的路径,可以表示外部转换(用箭头表示),也可以表示内部转换(嵌套在状态内部)。

如图5所示:图5. 转移2.3事件(Event)事件是对,在特定时间和空间上,所发生的有意义的事情。

在状态机中,事件触发转移,事件或者显示在转换之上,或显示在状态以内。

共有四种类型的事件:信号事件、调用事件、时间事件、改变事件。

信号用于对象间异步传递的信息包,它没有任何操作,只有自身携带的信息。

信号事件是通过信号来触发的事件,在UML中,信号如图6所示:图6. 信号调用事件是请求在类语境的实例上调用特定的操作,在UML中,调用事件如图7所示:图7. 调用事件时间事件用关键字after表示,说明事件被触发的临界时间。

改变事件用关键字when表示,说明将事件改变所满足的条件。

如图8所示:图8. 时间事件和改变事件2.4伪状态(Pseudo State)伪状态指在一个状态机中具有状态的形式,同时具有特殊行为的顶点。

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

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

第10章 状态机图讲解

第10章 状态机图讲解

初始状态的表示
终止状态 终止状态是对象的最后状态,是一个状态图的终止点。 终止状态只能作为转换的目标,而不能作为转换的源。 终止状态在一个状态图中可以有多个,它用一个套有 一个实心圆的空心圆表示。
终止状态的表示
状态
对象属性值的集合标识了一个对象的状态。表示对象状态的图标由一 个带圆角的矩形表示。它包含个三部分: 名称:给对象所处状态取的名字,名字用一个字符串表示,在一个图 中,名字应该是唯一的。 内部转换:对象响应外部事件所执行的动作。内部转换发生时,不改 变对象的状态,但是,当进入该状态时,可以包含进入动作;当退出 该状态时,可以包含退出动作。我们把内部转换标识在状态框的第二 栏;用一条实线箭头来标识外部转换,外部转换是指一种状态到另一 种状态的转换。 嵌套状态 :状态图中的状态可以包含两种状态:一种是简单状态, 简单状态不包含其它状态;一种是组合状态,组合状态包含了子状态。 即状态图的某些状态本身也是状态图。
Agenda
• • • • •
状态和状态机 如何阅读状态机图
如何绘制状态机图
状态机图应用说明 本章小结
阅读最简单的状态图

最为核心的元素无外乎是两个:一个是用圆角矩形表示 的状态(初态和终态例外);另一个则是在状态之间的、
包含一些文字描述的有向箭头线,这些箭头线称为转换
Hale Waihona Puke 初始状态 初始状态代表状态图的起始位置,只能作为转换的源, 而不能作为转换的目标。初始状态在一个状态图中只 允许有一个,它用一个实心的圆表示
状态机图
知识图谱
Agenda
• • • • •
状态和状态机 如何阅读状态机图
如何绘制状态机图
状态机图应用说明 本章小结

状态机图PPT

状态机图PPT

新状态
开始
பைடு நூலகம்
结束
转换
状态机的各种元素
初始状态
最终状态
开始
结束
关闭 首页面
entry/ 播放音乐()
<<类型>>
事件( 参数 )[ 监护条件 ] / 动作
入口动作
事件、动作、参数、警戒(监护条件)
状态
嵌套状态
转换
NewState2
NewState 4
NewState 3
NewState 5
NewState 6
状态图的概念和内容
• 状态图是UML中对系统动态方面建模的图之一。 • 状态图是一种特殊种类的图形,它拥有所有其他图一样的
公共特性,即名称和投影在一个模型上的图形。状态图和 其他图的区别在于它的内容。状态图通常包括如下内容: (1)状态(2)转换 • 在UML中,图形上每一个状态图都有一个初始状态(实心 圆),用来表示状态机的开始还有一个终止状态(半实心 圆),用来表示状态机的终止,其他的状态用一个圆角的 矩形表示
• 工作任务:完成系统状态建模 交付的工作产品:系统状态图
6.1状态机(State Machine)
• 状态机用于对具有事件驱动的特性的动态行为建模。 • 状态机是展现状态与状态转换的图。 • 状态机由状态组成,各状态由转移链接在一起。状态时对
象执行某项活动或等待某个事件时的条件。转移时两个状 态之间的关系,它由某个事件触发,然后执行特定的操作 或者评估,并导致特定结束状态。
状态机图
State Machine Diagram
需求阶段工作任务回顾
• 在需求分析阶段中,我们进行了用户访谈、领域分析,需求分析,需 求规格说明,以及需求评审交付了以下工作产品:

6.状态机图(状态+活动)

6.状态机图(状态+活动)

课堂练习(电梯系统的状态图)
带有复杂转换的状态图
补充说明(状态图)
适用情况:
适用于描述跨越多个用例的单个对象行为 不适合描述多个对象之间的行为协作 故需与其他技术(类图、对象图)结合使用
注意事项:
不要花费大量时间和精力为系统中的每个类都 画对应的状态图 开发人员只关心关键类的行为,只需为这些类 建立状态图,帮助理解所研究的问题
方法二:
先对活动进行全局的分析 再将活动分配各具体的对象
建议:
两种方法各有利弊 根据个人习惯和具体情况而定
分类(1.简单活动图)
分类(1.简单活动图)
分类(2.标识泳道的活动图)
泳道(SwimLane):用于有效 地标识每个活动的实施者。 表示方法:
用一条垂直的线将活动分开 每个泳道都有一个唯一的名称 每个活动节点、分支必须只属 于一个泳道;而转换,分叉与 汇合是可以跨泳道的。
状态机图(State machine Diagram)
状态(state):
定义对象在其生命周期中的一种条件或状况 比如:满足某些条件、执行某些活动或等待某些事件 例子:灯的开闭、人的梦醒、学生的课上与课下
理解
状态的存在:对象在任何时刻都会处于某种状态之中 状态的转移:事件使对象从一个状态转向另一个状态 当面对所检测到的事件或所接收到的消息时,对象所 处的状态不同,做出的反应也不同
细化状态内的活动与转换
状态图(航班预订3)
使用复合状态
课堂练习
绘制电脑工作时的状态转换图
课堂练习
绘制手机工作时的状态转换图
课堂练习(电梯系统的状态图)
电梯开始处于空闲状态(idle),当有人按下按钮要求使用电梯时 (事件is required发生),电梯进入运行状态(run)。如果电梯的 当前楼层比想要的楼层高时(监护条件[currentFloor>desiredFloor] 成立),电梯进入下降状态(moving down);反之,如果电梯的当 前楼层比想要的楼层低时(监护条件[currentFloor<desiredFloor] 成立),电梯进入上升状态(moving up);如果电梯的当前楼层与 想要的楼层相同时(监护条件[currentFloor=desiredFloor]成立), 电梯门打开(door open)。在电梯上升或下降期间,每经过一个楼 层就判断监护条件[currentFloor=desiredFloor]是否成立,若不成 立,继续移动,若成立,就进入停止状态(stop),15秒后,电梯门 自动打开(door open),2分钟后,电梯门自动关上(door close), 如果有更多的电梯使用要求,进入运行状态(run),反之,则进入 空闲状态(idle)。

状态图课件

状态图课件

延迟事件:该事件不会触发状态的转换,当对
象处于该状态时事件不会丢失,但会被延 迟执行。例如,当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)是一个可执行的原子计算,它导致状态的变更或返回一个值。 通常一个状态机依附于一个类,并且描述一个类的实例。状态机包含了一个对 象在其生命周期所有状态的序列以及对象对接收到的事件所产生的反应。

活动图与状态图

活动图与状态图

系统分析 在系统分析系统阶段用状 态图和活动图为对象动态模型 中的状态模型建模。 系统设计 在系统设计阶段阶段对已 经建立的对象动态模型(状态 实现 图、活动图、顺序图和协作图) 采用迭代式的方式进一步细化 测试 和完善。
部署
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.2.2 状态图组成
2. 状态 状态是指在对象的生命期中的一个条件或状况, 在此期间对象将满足某些条件、执行某些活动或等待 某些事件。
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.2.2 状态图组成
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.1 动态建模概述
5.状态图做什么?
状态图(State Diagram)主要用来描述对象、子系统、系 统的生命周期。通过状态图可以表现系统中一个对象所具有的 各种状态和这个对象从一种状态到另一种状态的转换(迁移), 以及影响对象这些状态的事件(如收到消息、时间已到、报错、 条件为真)等。它主要描述某个对象从一个状态到另一个状态 变化迁移的控制流。
第10章 状态图与活动图
10.2.2 状态图组成
理解状态的特征: (1)进入/退出动作:对象本身的一个操作。如果在电梯里是一个 状态的话,那员工进电梯和出电梯就是状态“在电梯里”的进 入/退出动作。 (2)内部转换:例如员工在去等电梯的时候发现钥匙没带,此时 我们不用在“等电梯”以后,而是在“准备回家”的状态中就 去拿钥匙了。虽然整体的状态没有发生变化,但对于对象本身 来说,前后是不一样的,一个是有钥匙,一个是没有钥匙。 (3)子状态:如果需要进一步描述员工对象在电梯里聊天、打电 话等状态时,这些状态就是该对象的“在电梯里”状态的子状 态。 (4)延迟事件:现在不立即产生的事件,该事件是在一段时间以 后才产生的事件。员工必须等待到达17:50的时候,才能下班。

状态机

状态机

就是状态转移图。

举个最简单的例子。

人有三个状态健康,感冒,康复中。

触发的条件有淋雨(t1),吃药(t2),打针(t3),休息(t4)。

所以状态机就是健康-(t3)-〉健康;健康-(t1)-〉感冒;感冒-(t3)->健康;感冒-(t2)-〉康复中;康复中-(t4)-〉健康。

等等。

就是这样状态在不同的条件下跳转到自己或不同状态的图。

状态机综述关于状态机的一个极度确切的描述是它是一个有向图形,由一组节点和一组相应的转移函数组成。

状态机通过响应一系列事件而“运行”。

每个事件都在属于“当前” 节点的转移函数的控制范围内,其中函数的范围是节点的一个子集。

函数返回“下一个”(也许是同一个)节点。

这些节点中至少有一个必须是终态。

当到达终态,状态机停止。

包含:一组状态集(states)、一个起始状态(start state)、一组输入符号集(alphabet)、一个映射输入符号、当前状态到下一状态的转换函数(transition function)的计算模型。

当输入符号串,模型随即进入起始状态。

它要改变到新的状态,依赖于转换函数。

在有限状态机中,会有有许多变量,例如,状态机有很多与动作(actions)转换(Mealy机)或状态(摩尔机)关联的动作,多重起始状态,基于没有输入符号的转换,或者指定符号和状态(非定有限状态机)的多个转换,指派给接收状态(识别者)的一个或多个状态,等等。

传统应用程序的控制流程基本是顺序的:遵循事先设定的逻辑,从头到尾地执行。

很少有事件能改变标准执行流程;而且这些事件主要涉及异常情况。

“命令行实用程序”是这种传统应用程序的典型例子。

另一类应用程序由外部发生的事件来驱动——换言之,事件在应用程序之外生成,无法由应用程序或程序员来控制。

具体需要执行的代码取决于接收到的事件,或者它相对于其他事件的抵达时间。

所以,控制流程既不能是顺序的,也不能是事先设定好的,因为它要依赖于外部事件。

事件驱动的GUI应用程序是这种应用程序的典型例子,它们由命令和选择(也就是用户造成的事件)来驱动。

第10章 状态图讲解

第10章 状态图讲解

构成状态图的元素
外部转换
外部转换是一种改变状态的转换,也是最普通最常见的一 种转换。在UML中,它用从源状态到目标状态的带箭头的 线段表示,其他属性以文字串附加在箭头旁。
构成状态图的元素
内部转换
内部转换只有源状态,没有目标状态,不会激发入口和出 口动作,因此内部转换激发的结果不改变本来的状态。如 果一个内部转换带有动作,它也要被执行。内部转换常用 于对不改变状态的插入动作建立模型。要注意的是内部转 换的激发可能会掩盖使用相同事件的外部转换。
状态图的组成
2. 并发组成状态
在一个组成状态中,可能有两个或者多个并发的子状态机, 我们称这样的组成状态为并发组成状态。每个并发子状态 还可以进一步分解为顺序组成状态。
一个并发组成状态可能没有初始状态,终态,或者历史状 态。但是嵌套在它们里的任何顺序组成状态可包含这些伪 状态。
创建状态图
要创建状态图,首先要标识出哪些实体需要使用状态图进 一步建模。虽然我们可以为每一个类、操作、包或用例创 建状态图,但是这样做势必浪费很多的精力。一般来说, 不需要给所有的类都创建状态图,只有具有重要动态行为 的类才需要。
从另一个角度看,状态图应该用于复杂的实体,而不必用 于具有复杂行为的实体。使用活动图可能会更加适合那些 有复杂行为的实体。具有清晰、有序的状态实体最适合使 用状态图进一步建模。
实际就是工作流在此处按监护条件的取值发生 分支,在UML中判定用空心菱形表示。
状态图的概念
2. 状态图的作用
(1)状态图清晰的描述了状态之间的转换顺序,通过状 态的转换顺序也就可以清晰的看出事件的执行顺序。如果没 有状态图我们就不可避免的要使用大量的文字来描述外部事 件的合法顺序。

第10章活动图 UML

第10章活动图 UML

UML建模语言
10.1.1 活动 图的定义 活动图是一种 用于描述系统 行为的模型视 图,它可用来 描述动作和动 作导致对象状 态改变的结果, 而不用考虑引 发状态改变的 事件。
UML建模语言
10.1.2 活动图的作用 *描述一个操作执行过程中所完成的工作,说明角 色、工作流、组织和对象是如何工作的。 *活动图对用例描述尤其有用,它可建模用例的工 作流、显示用例内部和用例之间的路径。 *显示如何执行一组相关的动作,以及这些动作如 何影响它们周围的对象。 *活动图可以画出工作流用以描述业务,有利于与 领域专家进行交流。通过活动图可以明确业务处 理操作是如何进行的,以及可能产生的变化。 *描述复杂过程的算法,在这种情况下使用的活动 图和传统的程序流程图的功能是相似的。
UML建模语言
10.3.6 创建分 叉与结合 单击工具栏中的 Horizontal Synchronization 图标按钮,在绘 制区域单击鼠标 左键。
UML建模语言
10.3.7 创建分 支与合并 首先单击工具栏 中的Decision图标 按钮,然后在绘制 区域单击鼠标左键。
UML建模语言
10.3.8 创建泳道 首先需要单击工具栏中的Swimlane图标按钮, 然后在绘制区域单击鼠标左键,就可以创建新 的泳道。
UML建模语言
10.2.6 泳道 为了对活动的职 责进行组织而在 活动图中将活动 状态分为不同的 组,称为泳道 (Swimlane)。 每个泳道代表特 定含义的状态职 责部分。
UML建模语言
10.2.7 对象流 对象流(Object Flow)是将对象流 状态作为输入或输 出的控制流。在活 动图中,对象流描 述了动作状态或者 活动状态与对象之 间的关系,表示了 动作使用对象以及 动作对对象的影响。

状态机图优选全文

状态机图优选全文
注:当事件有多个动作发生时,它们之间用,隔开。如: entry/Initial(),Check(),UpdateCheck()
4 组合状态
4.1 组合状态
--把若干个状态组织在一起可构成一个组合状态;组合状态内 所包含的状态称为该组合状态的子状态。把内容不包含其他 状态的状态称为简单状态。
--组合状态中包含的子状态可以是顺序子状态,也可以是并发 的子状态。
– 1) On Event
• Event:对一个在时间和空间 上占有一定位置的有意义事 情的规格说明
• Arguments:由所有与事件相 关的可选参量组成
• Condition:可能包含一个条 件布尔表达式
7 转换规范
7.1 General标签
7.2 Detail标签
• 监护条件(Guard Condition)
1 基本概念
1.2 状态Βιβλιοθήκη 模--通过分析系统(或者其构成元素)的状态以及它们之 间的转移,并以状态、转移等概念来建立系统模型称 为状态建模。
1 基本概念
1.3 状态机图
– 状态机图描述了一个对象在其生命周期内所经 历的各种状态,状态之间的转移,发生转移的 动因、条件以及转移中所执行的活动。
图书状态机图
借阅者状态机图
5 状态规范
– 状态(起始状态和终止状 态)和活动的规范窗口都 包含下列标签:
• General标签 • Actions标签 • Transitions标签 • Swimlanes标签
– 1) General标签
• 复选标记State/activity history:状态/活动历史, 历史提供了一种通过子 状态直接转换到最近访 问过的状态的机制。
– 图形表示:

系统分析和设计方法(复习纲要)

系统分析和设计方法(复习纲要)

系统分析和设计方法(复习纲要)目录系统分析和设计方法 (1)第一部分 (2)第1章系统分析和设计方法的环境 (2)一.基本概念 (2)二.重点内容 (2)第2章信息系统构件 (3)一.基本概念 (3)二.重点内容 (3)第3章信息系统开发 (4)一.基本概念 (4)二.重点内容 (4)第4章项目管理 (6)一.基本概念 (6)二.重点内容 (6)第二部分 (6)第5章系统分析 (6)一.基本概念 (6)二.重点内容 (7)第6章需求获取的调查研究技术 (8)一.基本概念 (8)二.重点内容 (8)第7章使用用例建模系统需求 (8)一、基本概念 (8)二、重点内容 (9)第8章数据建模和分析 (9)一.基本概念 (9)二.重点内容 (10)第9章过程建模 (10)一.基本概念 (10)二.重点内容 (11)第10章使用UML进行面向对象分析和建模 (12)一.基本概念 (12)二.重点内容 (12)第11章可行性妇女系和系统方案建议 (13)一.基本概念 (13)二.重点内容 (13)第三部分系统设计方法 (14)第一部分第1章系统分析和设计方法的环境一.基本概念1.信息系统:信息系统是人、数据、过程和信息技术之间相互作用,收集、处理、存储和提供支持企业运作的信息的集合体。

2.二.重点内容1. 七类信息系统应用:事务处理系统、管理信息系统、决策信息系统、主管信息系统、专家系统、通信和协作系统、办公自动化系统2.系统关联人员(参与者)1)系统所有者:2)系统用户:内部系统用户(如技术人员、服务人员、中间经理、高层经历)外部系统用户(顾客、供应商、合作伙伴)3)系统设计人员(如网络架构师、数据库管理员、web架构师)4)系统构造人员(应用程序员、系统程序员)5)系统分析员6)外部服务提供者7)项目经理3.系统分析员的角色系统分析员既懂业务又懂技术,他们首先研究业务问题和机遇,然后把业务和信息需求转换为对基于计算机的信息系统的规格说明,而这个信息系统则由包括程序员在内的技术专家来实现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Used
Somebody go into Unused
Somebody go out The train go running
Maintaining The train stop
转换的分类
• 2.内部转换 • 内部转换有一个源状态但是没有目标状态,它转换后的状态仍旧是它
本身。内部转换自始至终都不离开源状态,所以没有入口动作和出口 动作。因此,当对象处于某个状态,进行的一些动作时,我们可以把 这些动作看成是内部转换。 • 在第二栏,描述了入口动作和出口动作,也描述了内部转换,要注意 的是,入口动作和出口动作描述的是外部转换时发生的动作;内部转 换是描述本状态没有发生改变的情况下,发生的动作。
信号、时间四类事件
• 监护条件:布尔表达式,决定是否激活转换、 • 动作:转换激活时的操作
12
状态机图的表示
• 1.源状态 • 对于一个转换来说,转换前对象所处的状态,就是源状态。源状态是
个相对的概念,即,相对当前状态而言,它的前一个状态就是源状态。 • 2.目标状态 • 转换完成后,对象所处的状态就是目标状态 。要建模状态机图
• 对象可能会有不同的状态,某些行为依赖于这些状 态。例如,按下开关按钮时,电灯将改变当前的状 态(由关变开或由开变关),因此: – 需要记录对象当前的状态 – 发生了某种事件才会引起状态间的转移 – 由一个状态转到另一个状态的过程通常通过方法 调用实现
• 状态机图通常作为对类图的补充
• 状态机图中的状态分为简单状态和复合状态2种。 • 1 简单状态 • 简单状态是指不包含其他状态的状态。但是,简单状态可以具有内部
转换、入口动作和出口动作等。 • 下图只包含2个简单状态。
状态的分类
• 2 复合状态 • 复合状态是指状态本身包含一到多个子状态机的状态。 • 复合状态中包含的多个子状态之间的关系有两种:一种是并发关系,
一定的动作,进入目标状态。转换用带箭头的直线表示,箭尾连接源 状态(转出的状态),箭头连接目标状态(转入的状态)。 • 转换关系到的内容包括:源状态、目标状态、外部事件、监护条件和 执行的动作。下图描述了烧水器的状态机图。 • 注意:用实线箭头表示的转换都是外部转换。
烧水器的状态机图
转换的五要素
• 源状态:即受转换影响的状态 • 目标状态:当转换完成后对象的状态 • 触发事件:用来为转换定义一个事件,包括调用、改变、
状态的分类
• 3.自动转换
• 在没有外部事件的作用下,对象执行了某些活动后,自然而然地完成 的转换。自转换是离开某个状态后重新进入原先的状态,它会激发状 态的入口动作和出口动作的执行。
• 4.复合转换
• 复合转换由简单转换组成,通过分支判定,把多个简单转换组合在一
起。
NewStat Event1 e
• 名称:给对象所处状态取的名字,名字用一个字符串表示,在一 个图中,名字应该是唯一的。
• 内部转换:对象响应外部事件所执行的动作。内部转换发生时, 不改变对象的状态,但是,当进入该状态时,可以包含进入动作; 当退出该状态时,可以包含退出动作。
• 嵌套状态 :状态机图中的状态可以包含两种状态:一种是简单状 态,简单状态不包含其它状态;一种是组合状态,组合状态包含 了子状态。即状态机图的某些状态本身也是状态机图。
[ Condition6 ] / Action6 NewStat e5
转换的区别
• 内部转换和自转换不同: ① 自转换是离开本状态后重新进入该状态,它会
激发状态的入口动作和出口动作的执行。 ② 内部转换自始至终都不离开本状态,所以没有
出口或入口事件,也就不执行入口和出口动作 。
24
带有复杂转换的状态机图
状态的分类
• 2. 并发子状态
• 如果复合状态包含两个或者多个并发的子状态机,此时称复合状态的 子状态为并发子状态。
• 考察一辆处于“运行”状态的电动车。车处在运行状态时,包含了前 进和后退两个不同的子状态,这两个子状态之间是顺序子状态,因为 一辆车不可能同时处于前进和后退两种子状态;另一方面,车的运行 状态又包括高速行驶状态和低速行驶状态。前进状态可以同时为高速 行驶或者低速行驶状态;后退状态时,也可以是高速行驶或者低速行 驶状态,即,前进状态或后退状态之一,可以与高速行驶状态或低速 行使状态之一同时存在。这些可以同时出现的状态称为并发子状态。
25
同步
• 使用同步条可以显示并发转移,并发转移中可以 有多个源状态和目标状态。并发转移表示一个同 步将一个控制划分为并发的线程。
• 状态机图中使用到同步条是为了说明某些状态在 哪里需要跟上或者等待其他状态。状态机图中同 步条是一条黑色的粗线。
State1 State2
State3
26
26
状态的分类
个状态而言,当前状态就是目标状态。源状态和目标状态都是相对某 个转换而言的。
状态机图的表示
• 3.事件 • 事件就是外部作用于一个对象,能够触发对象状态改变的一种现象。 • 1).信号事件
• 对象之间通过发送信号和接收信号实现通信。信号是一种异步机制。对 于一个信号而言,对象一般都有相应的事件处理器,如onMouseClick()。
状态机图的表示
• 5.动作 • 当转换被激活后,如果定义了相应的动作,那么就将执行这个动作。动
作可以是一个赋值语句、简单的算术运算、发送信号、调用操作、创建 和销毁对象、读取和设置属性的值,甚至是一个包含多个动作的活动。 例如,当turnOn事件发生,就测试监护条件[有水],如果有水,就会执 行“烧水”的动作。 • 动作分为入口动作和出口动作。 • 1).入口动作 • 入口动作表示对象进入某个状态所要执行的动作。入口动作用“entry/ 要执行的动作”表示。 • 2). 出口动作 • 出口动作表示对象退出某个状态所要执行的动作。出口动作用“exit/要 执行的动作”表示。
状态机图的表示
• 分支的表示
• 对象在外部事件的作用下,根据监护条件的不同值,转向不同的目标 状态。即,对象的状态根据监护条件的取值而发生分支。分支用空心 小菱形表示。
• 根据监护条件的真假可以触发不同的分支转换。
状态1
[ 满足监护条件 ]
状态2
[ 不满足监护条件 ]
状态3
状态机图的表示
• 转换表示当一个外部事件作用于对象,在监护条件得到满足时,对象 在源状态下执行一序列的动作后,转向目标状态。 转换进入的状态称 为活动状态,转换离开的状态变变为非活动状态。
另一种是互斥关系。如果子状态是并发关系,称子状态为并发子状态; 如果子状态是互斥关系,称子状态为顺序子状态。
子状态
子状态也可以有初态和终态
状态的分类
• 1. 顺序子状态 • 在任何时刻,当复合状态被激活时,如果复合状态包含的多个子状态
中,只能有一个子状态处于活动状态,即多个子状态之间是互斥的, 这种子状态称为顺序子状态。复合状态的子状态如果是顺序子状态, • 在下图中, IC卡电话 “使用状态”状态是一个复合状态,包含5个子 状态,因为IC电话不能同时处于两个不同的子状态中,所以这些子状 态是顺序子状态。
状态机图的表示
状态名
入口动作, 进入该状 态时执行该动作.
动作,处于该状态 时执行的动作.
内部转换,该状态中出现 特定事件时执行的动作.
退出动作, 当离开该状态 时执行该动作.
延迟响应事件, 在该状态出现该事件时, 不在本 状态响应,而是延迟到其他状态响应.
10
状态机图的表示
• 转换的表示 • 转换是指对象在外部事件的作用下,当满足特定的条件时,对象执行
状态机图的表示
• 理解简单状态机图 • 例如,描述一个烧水器在工作时的行为状态变化。 • 与状态off相关的转换有两个,其触发事件都是turnOn,只不过其监护
条件不同。如果对象收到事件turnOn,那么将判断壶中是否有水;如 果[没水],则仍然处于off状态;如果[有水]则转为on状态,并执行 “烧水”动作 • 与状态on相关的转换也有两个,如果“水开了”就执行turnOff动作, 关掉开关;如果烧坏了,就进入了终态了
[ Condition1 ] / Action1
[ Condition3 ] / Action3 NewStat e2
[ Condition4 ] / Action4 NewStat e3
[ Condition2 ] / Action2
[ Condition5 ] / Action5 NewStat e4
LOGO
《UML 统一建模》
第10章 状态机图
对象和状态
• 对象是某个状态下的对象,而状态则是描述 当前对象。所有的对象均有状态,状态可改 变
• 下面一些例子说明了对象和状态 – (1)支票(对象)已付(状态) – (2)汽车(对象)已启动(状态) – (3)小王(对象)睡着了(状态) – (4)小红(对象)未婚(状态)
3
状态机图:电梯 状态机图主要显示以下3种内容: 对象在生命周期中所经历的状态 序列; 诱发对象从一个状态转移到另一 个状态的事件; 状态改变所导致的动作。
面向对象分析与设计&UML
4
状态机图的概念
• 状态机图描述对象在整个生命周期内,在外部事 件的作用下,从一种状态转换到另一种状态的关 系图。这种图的节点是状态(包括初始状态和终止 状态),关系是转换。
状态机图的概念
• 状态机图的作用 – 状态机图常用来描述业务或软件系统中的对象在外部事 件的作用下,对象的状态从一个状态到另一个状态的控 制流。利用状态机图可以精确地描述对象在生命周期内 的行为特征。
• 状态机图的组成元素 – 状态机图的组成元素包括:初始状态、终止状态、状态、 转换。其中,转换将各种状态连接在一起,构成一个状 态机图。
状态机图的表示
• 活动 • 当对象处于一个状态时,它一般是空闲的,在等待一个事件的发生。
相关文档
最新文档