uml建模第十章-状态机图
显示状态图中状态机的 执行(execution)的 开始。
一个状态机只能有一个 初态。
如果一个状态机用多张 图描述,则多张图用同 一个初态。
如果用了组合状态,则 组合状态中可有初态。
10
(2)终止状态(End State)
表示一个最后的或者终端状态。 一张图中终态可以有 多个,也可以没有。
退出动作(exit action):退出某状态时执行 的动作,用“exit/要执行的动作”表示。
7
活动
对象处于某个状态时,对象进行的一些列 动作。
表示活动的格式为“do/动作名”
8
一、状态(state)
3、状态的分类 初态 终态 简单状态(中间状态) 组合状态 历史状态
9
(1)初始状态(Start State)
26
(1)信号事件(signal event)
所谓信号,是指由一个对象异步地发送、并由另 外一个对象接收的一个已命名的对象。
信号事件表示对象接收到某个信号。 信号可以作为状态机中一个 状态转换的动作而被发送, 也可作为交互中的一个消息 发送。
27
(2)调用事件(call event)
一个对象请求调用某个对象的成员方法; 是一种同步机制。
2
10.2 状态机图基本元素
初始状态
终止状态
中间状态
转换
事件
监护条件
活动
动作
分支
图10-1 状态机图
3
一、状态(state)
1、状态
对象生命周期中的某个条件或状况,在此期间 对象将满足某些条件、执行某些活动或等待某 些事件。
说明: 对象在任何时候都会处于某种状态中,所有对 象都有状态。 对象所处的状态决定了它如何响应所检测到的 事件或所接受的消息。 通常,事件使对象从一种状态转向另一种状态 (即状态的转移)。
一个状态中执行一定的动作,并在某个特 定事件发生而且满足某个条件时进入第二 个状态。 转换进入的状态称为活动状态,转换离开 的状态变变为非活动状态。
19
二、转换(transition)
2、转换的格式
事件( 参数 )[ 条件 ] / 动作 Help[len(PSW)<>6]/verifyPSW.help() 每个转移只允许一个事件,一个事件只允许一
16
(4)组合/嵌套状态
复合状态的表示法有2两种: (1) 将子状态机嵌入表示状态的圆角矩形 中 (2) 在圆角矩形中加入加分解指示符
17
(5)历史状态
使用历史状态,则可以存储退出组合状态时所 处的子状态,则返回组合状态时可以直接回到 相应的子状态。
18
二、转换(transition)
1、转换 两个状态之间的一种关系,表示对象在第
11
(3)简单状态
组成: 状态名 进入/退出动作 内部转移----不导致状态改变的转换,不会
执行entry和exit动作。 内部活动 延迟事件----延迟到下一状态处理的事件。
12
EnterPassword
entry/ set echo * exit/ set echo normal event keypress/ handle character event help/ display help event save/ defer do/ get password
[ Condition2 ] / Action2
[ Condition5 ] / Action5 NewStat e4
[ Condition6 ] / Action6 NewStat e5
25
三、事件(Event)
1、事件 是对一个时间和空间上占有一定位置的有意义
的事情的规格说明。 2、事件的类型 信号事件 调用事件 变化事件 时间事件 延迟事件
24
(4)复合转换
复合转换由简单转换组成,通过分支判定,把 多个简单转换组合在一起。
NewStat Event1 e
[ Condition1 ] / Action1
[ Condition3 ] / Action3 NewStat e2
[ Condition4 ] / Action4 NewStat e3
Maintaining The train stop
22
(2)内部转换
有一个源状态但没有目标状态,转换后的状态 仍是它本身。
23
(3)自动转换
在没有外部事件的作用下,对象执行了某些活 动后,自然而然地完成的转换。
自动转换是离开某个状态后重新进入原先的状 态,它会激发状态的入口动作和出口动作的执 行。
个的分类 外部转换 内部转换 自动转换 复合转换
21
(1)外部转换
一种改变对象状态的转换,用从源状态到目标 状态的箭头表示。
Somebody go into Used
Somebody go into Unused
Somebody go out The train go running
4
例:CD播放器
5
一、状态(state)
2、状态的表示 状态名称 入口动作 出口动作 内部转换 内部活动 可推迟事件
状态示例
6
动作(Action)
可执行的原子计算。 不可中断,其执行时间可忽略不计。
两种特殊动作:
进入动作(entry action):进入某状态时执 行的动作,用“entry/要执行的动作”表示。
Offline logIn( UserID,Password ) Online
第10章 状态机图
10.1 状态机图概述 10.2 状态机图基本元素 10.3 建立状态机图 10.4 状态机图应用范围
小结
1
10.1 状态机图概述
状态机图用来对系统的动态行为建模; 描述单一对象在其生命期内受各种事件的
影响而发生的状态变化; 状态机图是展示状态与状态转换的图,可
以描述对象的行为,也可以描述用例、协 作和方法甚至整个系统的动态行为。
例:状态示例
13
(4)组合/嵌套状态
含有子状态的状态称为组合状态。
14
(4)组合/嵌套状态
两种类型:
顺序子状态 —复合状态包含的多个子状态之间是互斥的; —复合状态只包含一个状态机。 并发子状态 —复合状态包含两个或多个并发的子状态机。
15
(4)组合/嵌套状态
两种类型:
顺序子状态 并发子状态