第5章 面向对象分析与设计(5)——状态图

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
2.事件
2.1 信号事件(signal event)
信号( signal )是指从一个对象到另一个对象 的明确的单向信息流动。给另一个对象发送信号 的对象会期待答复,但答复也是受另一个对象控 制的独立信号,第二个对象可以选择是否发送它。 信号事件是指发送或接收信号的事件。信号是 对象间的消息,信号事件是指在某个时刻发生的 事情。
22
5.本章小结
1、状态建模概述 2、事件 3、状态 4、状态的迁移 5、状态图建模
23
Q/A

24
7
2.事件
2.1 信号事件(signal event) 每一次信号传输都是唯一事件,但可以 把它们组成信号类,并通过属性来指明传递 的数值。
8
2.事件
2.1 信号事件(signal event)
9
2.事件
2.2 变更事件(change event) 变更事件是指由满足布尔表达式而引起 的事件。变更事件的意图是要不断测试表达 式,当表达式变真时事件就会发生。 如: When(温度<300 C)
对象可以拥有多个状态(但不是无限), 但某一时刻一个对象只能处于一种状态下。
12
3.状态
状态包括状态名,活动、入口动作、出口动 作等。
13
3.状态
状态可以分成简单状态和组成状态。 1. 简单状态-不包含其他状态的状态,简单状态没有子结 构,但可以具有内部迁移,进入动作和出口动作等。 2.组成状态-在状态内部嵌套其他的状态。 顺序子状态 并发子状态 当组成状态处于活动时,如果是顺序子状态则只有一 个子状态是处于活动的;如果是并发子状态则有多于一个 的子状态处于活动状态。
19
5.状态图建模
状态图的建模过程: 标识出需要建模状态图的实体 标识出实体的开始状态和结束状态 确定与实体相关的事件 从开始状态开始创建状态图 如果必要则指定合成状态
20
练习
1. 有一个简单的CD 播放机, CD 机中可以放 入多张碟片,当一张播放完成之后会自动的 换另外一张直到所有的碟片播放完,在播放 的过程中可以随时中断或暂停播放。
5
2.事件
事件( event )是指在某个时刻发生的能 够引发状态改变的事情。
定义事件时需要注意以下几点: 理论上事件是瞬时的,但建模时可根据实际情况而 定 两个无因果关系的事件是并发的 事件包括错误状态和普通事件 一个事件只能被处理一次,如果一个事件可能触发 多个状态转移,则只能有一个状态转移(哪个状态 转移未定)
ቤተ መጻሕፍቲ ባይዱ
21
练习
以下是信用卡账户的状态的变迁:当一个顾客 提交申请信用卡并通过时,账户处于空状态,一 旦顾客收到信用卡并激活时,账户处于激活但无 余额状态。如果顾客在收到信用卡一个月内没有 激活,那么这个账户就作废了。如果顾客在一个 月后还没有向银行支付消费的额度,账户就处于 拖欠财务状态,但在信用卡允许的信用额度内仍 可以使用。一旦顾客支付了过去所拖欠的金额, 账户就处于无余额或结欠余额。
14
3.状态
状态和事件的关系: 状态和事件之间有某种对称性
充电 有电

放电 无电
充电 时间
事件和状态都依赖于抽象的层次 如对于旅客来说,每段航程都是单个事件,而 对于机场控制系统会区分到港和离港 状态的改变必须依赖于事件的发生
15
4.状态的迁移
迁移(变迁,转换,transition)是指从一个状 态到另一个状态的瞬时变化。 当事件发生时,迁移就会被触发( fire )。迁 移的源和目标一般是不同的,但也可以是相同的。 警戒条件( guard condition )是指为了要让迁 移发生而必须为真的布尔表达式。
10
2.事件
2.3 时间事件(time event)
时间事件是指在绝对时间上或在某个时间间 隔内发生的事情所引起的事件。在 UML 中采 用 after开头的后跟计算一段时间的表达式表示。如: after(2秒)
11
3.状态
状态( state )是对象取值和链接的抽象,它 是在对象的生命期中满足某些条件、执行某些活 动或等待某些事件的一个条件或情况。 在定义状态时,需要忽略那些不影响对象行 为(不影响控制序列)的属性,将在单个状态中 有相同事件响应的值和链接的所有组合合并在一 处。
第5章 面向对象分析与设计
——状态图
1
0.agenda
1、状态建模概述 2、事件 3、状态 4、状态的迁移 5、状态图建模
2
1.状态建模概述
3
1.状态建模概述
4
1.状态建模概述



状态图的目的:捕捉一个系统中,对象、子系统、 系统等在其生命周期中各种可能的状态,造成状态 转换的事件,以及在各不同状态中可能的活动。 状态图用于呈现系统总单一对象在其生命周期中各 种可能的状态,造成状态转换的事件已经在各不同 状态中可能的活动。 状态模型描述响应外部激励而发生的操作序列,而 不是描述操作做了什么,对什么进行操作或操作是 如何实现的。状态模型由状态图组成,状态图联系 着事件和状态。
16
4.状态的迁移
迁移的类型: 1.外部迁移-迁移是从一个状态到另一个状态, 例如
17
4.状态的迁移
2.内部迁移-迁移后的状态仍旧是它自身。内部迁 移用于对不改变状态的插入动作建立模型。
18
4.状态的迁移
2.内部迁移-迁移后的状态仍旧是它自身。内部迁 移用于对不改变状态的插入动作建立模型。 3.完成迁移-自迁移,没有明确的触发事件的迁移。 4.复合迁移-迁移是由多个简单迁移组成。 内部迁移和自迁移的不同:自迁移是离开本 状态后重新进入该状态,它会触发入口动作和出 口动作;而内部迁移是没有离开过本状态,也就 不会触发入口动作和出口动作。
相关文档
最新文档