第5章-状态图
状态转移图

5.1 状态转移图 5.2 步进梯形图及步进指令
5.2.1 步进梯形图 5.2.2 步进指令
第四章 状态转移图及步进指令
5.3 步进梯形图指令编程基本方法 5.4 状态转移图常见流程状态得编程
5.4.1 单流程状态编程 5.4.2 跳转与重复状态编程 5.4.3 选择分支与汇合状态编程 5.4.4 并行分支与汇合状态 5.4.5 分支与汇合得组合
5.3 步进梯形图指令编程基本方法
(1) 输出的驱动方法 如图5.5所示,从状态内的母线,一旦写入LD或 LDI指令后,对不需要触点的指令就不能再编程。 需要按下图的方法改变这样的回路
( a)
( b)
( c)
图5.5 输出的驱动
(a)错误的驱动方法;(b)正确的驱动方法;(c)正确的驱动方法
(2) MPS/MRD/MPP指令的位置 在状态内,不能直接从STL内母线中直接使用 MPS/MRD/MPP指令(见图5.6),而应在LD或LDI 指令以后编制程序
SET S24 OUT S0 STL S24 OUT Y004 OUT T3 K 100 LD T3 SET S25 LD X001 OUT S0
STL S25
(a) 图5.4 运料小车控制编程 (a)步进梯形图 (b)指令程序 (b)
5.2.2 步进指令 1. 指令定义及应用对象
表5.1 步进指令的定义与应用对象
在M0接通S50之后(见图5.13),转移条件M1(B触点) 即刻开路,在S50接通的同时,不向S51 图5.13 利用同 一种信号的状态转移转移。在M0再次接通的情况下, 向S51转移
构成转移条件的限位开关X030在转动之后使工序进 行一次转移,转移到下一工序,见图5.14。这种场合, 将转移条件脉冲化,见图5.15所示。S30首次动作,虽 然X030动作,M101动作,但通过自锁脉冲M100使不 产生转移,当X030再次动作,则M100不动作,M101 动作,则状态从S30转到S31
软件体系结构课件第5章统一建模语言

2:GetPrefSet()
10:PrefSet(date_mg)
1:GetPrefSet()
:MeetingInitiator
第5章 统一建模语言 直接使用UML建模 – 会议安排系统的类图
Person
StronglyConflicts With
Conflicts With
Important Attendee
0..* 0..*
0..* Profers
Attendee
1..* 1..* 0..* 0..*
11 1 1
1
Meeting Initiator
Find.exe
Query .dll
部署图 定义系 统中软 硬件的 物理体
系结构
第5章 统一建模语言 部署图
客户端:个人PC QueryClient.exe
服务器
《TCP/IP》 查询
QueryServer.exe 部署图
定义系
统中软
Find.exe
硬件的
物理体
Query.dll系结构
第5章 统一建模语言
第5章 统一建模语言
直接使用UML建模 – UML中的通用表示
➢ 字符串:表示有关模型的信息; ➢ 名字:表示模型元素; ➢ 标号:不同于编程语言中的标号,是用于表示或说明图形符号的字
符串; ➢ 特殊字符串:表示某一模型元素的特性; ➢ 类型表达式:声明属性、变量及参数,含义同编程语言中的类型表
0
10
20
30s 时间刻度
第5章 统一建模语言 状态图
提交订单 已审核 印前处理
客户付钱
已付款
已处理
进行冲印
冲印中 冲印完成
描述满足 用例要求 所要进行 的活动以 及活动间 的完约成束关 系,有利 于识别并 行活动
数电第5章

第五章 触 发 器
图 5 – 7 由与非门构成的基本RS触发器
第五章 触 发 器
1. 功能描述 (1) 当Rd=1, Sd=0时,不管触发器原来处于什么状态, 其次态一定为“1”,即Qn+1=1,故触发器处于置位状态。 (2) 当Rd=0, Sd=1时,Qn+1=0,触发器处于复位状态。 (3) 当Rd=Sd=1 时,触发器状态不变,处于维持状态, 即Qn+1=Qn。 (4) 当Rd=Sd=0 时,Qn+1=Q n+1=1,破坏了触发器的正常 工作,使触发器失效。而且当输入条件同时消失时,触发 器是“0”态还是“1”态是不定的,这种情况在触发器工作 时是不允许出现的。因此使用这种触发器时, 禁止 Rd=Sd=0出现。
发生的。这种电路中没有统一的时钟脉冲。任何输入信
号的变化都可能立刻引起异步时序电路状态的变依从关系来分,又可分为米里 (Mealy)型和莫尔(Moore)型两类。米里型电路的输出是输 入变量及现态的函数,即
F (t ) f [ x(t ),Qn (t )]
器和JK触发器。在基本RS触发器的基础上, 加两个与非
门即可构成钟控RS触发器, 如图 5-10 所示。
第五章 触 发 器
图 5 – 10 钟控RS触发器
第五章 触 发 器
1. 功能描述 当CP=0时,触发器不工作,此时C、D门输出均为 1, 基本RS触发器处于保持态。此时无论R、S如何变化,均 不会改变C、D门的输出,故对状态无影响。 当CP=1 时,触发器工作,其逻辑功能如下: R=0, S=1, Qn+1=1,触发器置“1”; R=1, S=0, Q n+1=0,触发器置“0”; R=S=0, Qn+1=Qn,触发器状态不变; R=S=1, 触发器失效,工作时不允许。
软件工程 第5章--UML

UML的定义
UML定义有两个主要组成部分:语义和表示法。 语义用自然语言描述,表示法定义了UML的可 视化标准表示符号,这决定了UML是一种可视 化的建模语言。 在语义上,模型是元模型的实例。UML定义给 出了语法结构的精确定义。 使用UML时,要从不同的角度观察系统,为此 定义了概念“视图(View)‖。视图是对系统的模 型在某方面的投影,注重于系统的某个方面。
独立于过程
系统建模语言,独立于开发过程。
9
容易掌握使用 概念明确,建模表示法简洁明了,图形结 构清晰,容易掌握使用。 着重学习三个方面的主要内容: (1) UML的基本模型元素 (2) 组织模型元素的规则 (3) UML语言的公共机制 与程序设计语言的关系 用Java,C++ 等编程语言可实现一个系统。 一些CASE工具可以根据 UML所建立的系 统模型来产生Java、C++ 等代码框架。
31
UML事物 — 注释事物
11) Note(注释)
依附于一个元素或一组元素之上,对其进
行约束或解释的简单符号。没有语义影响。
See policy8-5-96.doc for details about these algorithms.
CashAccount presentValue()
32
15
UML定义 9 种图,表达UML中的 5 种视图,各 视图在静态和动态方面表示系统模型。
结构 视图 静态 方面
动态 方面
行为 视图 同左
实现 视图 构件图
环境 视图 部署图
同左
用例 视图 用例图
同左
类图 对象图
顺序图 同左 顺序图 合作图 (注重 合作图 状态图 进程、 状态图 活动图 线程) 活动图
第5章-8086(8088)总线操作和时序

T4状态:完成当前数据的采样,结束当前的总线周期。
5.2 8086/8088CPU的引脚信号
8086/8088CPU ➢ 采用40个引脚的双列直插式封装形式。 ➢ 为了解决功能多与引脚少的矛盾,8086/8088CPU采用了
5.1 时钟周期、总线周期和指令周期
时钟周期 8086的基本总线周期需要4个时钟周期
4个时钟周期编号为T1、T2、T3和T4 总线周期中的时钟周期也被称作“T状态” 时钟周期的时间长度就是时钟频率的倒数
5.1 时钟周期、总线周期和指令周期
一个基本的总线周期通常包含 4 个T状态
用于等待存储器或I/O接 口相应的等待状态
8088
GND 1 A14 2 A13 3 A12 4 A11 5 A10 6 A9 7 A8 8 AD7 9 AD6 10 AD5 11 AD4 12 AD3 13 AD2 14 AD1 15 AD0 16 NMI 17 INTR 18 CLK 19 GND 20
40 VCC(5V) 39 A15 38 A16/S3 37 A17/S4 36 A18/S5 35 A19/S6 34 SS0(HIGH) 33 MN/MX 32 RD 31 HOLD (RQ/GT0) 30 HLDA (RQ/GT1) 29 WR (LOCK) 28 M/IO (S2) 27 DT/R (S1) 26 DEN (S0) 25 ALE (QS0) 24 INTA (QS1) 23 TEST 22 READY 21 RESET
8086
GND 1 AD14 2 AD13 3 AD12 4 AD11 5 AD10 6 AD9 7 AD8 8 AD7 9 AD6 10 AD5 11 AD4 12 AD3 13 AD2 14 AD1 15 AD0 16 NMI 17 INTR 18 CLK 19 GND 20
第5章 数字逻辑基础(4)

F1
1D
Fn-1
C1 Q
1. 环形计数器 1) 电路组成 (以四位环形计数器为例)
f
F0 1D CP 1D F1 1D F2 1D F3
C1 Q
C1
Q
C1
Q
C1 Q
特点: 将串行输出端 和串行输入端 相连.
2)环形计数器状态图
1000 0001 0100 0010 1110 1101 0111 1011 1100 1001 0110 0011 0101 0000 1010 1111
Q2 Q3 Q0Q1 00
00 01 01 11 10
1
1
f=Q0Q1Q2
&
11
10
F0
F1 Q 1D Q Q 1D
F2 Q Q 1D
F3 Q
(3) 画逻辑图
CP
f
1D
C1 Q
C1
C1
C1 Q
4) 用MSI构成的能自启动环形计数器 •如输出均为0,则通 74194 SRG4 过 DSR移入1,进入 SB 0 0 1 SA 1 } M 3 有效 循环;否则经 过移位, 总会将1移 CP C4 1→/2← 到Q3处,电路进入 1 R 置数状态,置入1000, ≥1 DSR 进入有效循环状态 1,4D
1100
1110
0010
1001
0100
1010
0001
0011
0111
1111
0101
1011
0110
1101
3) 用中规模集成移位计数器构成扭环形计数器 74194
1 B S 0 A
S
SRG4
0 1
Q0Q1Q2Q3
经典:人机交互技术-第5章----界面设计

40
5.3.2 设计
对用户的观察和分析为设计提供了丰富的 背景素材,应对这些素材进行系统分析 • 常用的素材分析方法是对象模型化,即 将用户分析的结果按照讨论的对象进行 分类整理,并且以各种图示的方法描述 其属性、行为和关系。
41
5.3.2 设计
对象抽象模型可以逐步转化为不同具体程 度的用户视图。 • 比较抽象的视图有利于进行逻辑分析, 称为低真视图(Low-fidelity Prototype); • 比较具体的视图更接近于人机界面的最 终表达,称为高真视图(High-fidelity Prototype)。
42
5.3.2 设计
30
5.2.3 用户的区别 1. 用户的分类
偶然型用户:没有计算机应用领域的专业 知识,也缺少计算机系统基本知识的用户。
生疏型用户:他们更常使用计算机系统, 因而对计算机的性能及操作使用,已经有 一定程度的理解和经验。但他们往往对新 使用的计算机系统缺乏了解,不太熟悉, 因此对新系统而言,他们仍旧是生疏用户。
26
5.2.2 用户体验
影响用户体验的因素很多,包括: 现有技术上的限制,设计人员必须优先在
相对固定的UI框架内进行设计 设计的创新,用户的接受程度上有风险 开发进度表 设计人员容易认为他们了解用户需要,其
实不然
27
5.2.2 用户体验
要达到良好的用户体验,理解用户是第一步 要做的:
用户本身不同 用户知识不同 这在系统设计之初进行充分了解
图形用户界面和人机交互过程极大地依赖 于视觉和手动控制的参与,因此具有强烈 的直接操作特点
直接操纵用户界面更多地借助物理的、空 间的或形象的表示,而不是单纯的文字或 数字的表示。有利于解决问题和进行学习
状态图本章首先介绍状态图的基本概念并具体讲解状

UML建模语言
3. 内部转换 状态可能包含一系列的内部转换,内部转换因为只 有源状态而没有目标状态,所以内部转换的结果 并不改变状态本身。 4. 入口和出口动作 状态可能具有入口和出口动作。这些动作的目的是 封装这个状态,这样就可以不必知道状态的内部 状态而在外部使用它。 5. 历史状态 组成状态可能包含历史状态(History State), 历史状态本身是个伪状态,用来说明组成状态曾 经有的子状态。
UML建模语言
9.3 组 成 状 态 组成状态(Composite State)是内部嵌套有 子状态的状态。可包括一系列子状态。之间 可用“与”或“或”关系。 一个系统在同一时刻可以包含多个状态。
UML建模语言
1. 顺序组成状态 如果一个组成状态的多个子状态之间是互斥、不能同时存 在的,则这种组成状态称为顺序组成状态。 一个顺序组成状态最多可以有一个初始状态和一个终态, 同时也最多可以有一个浅(Shallow)历史状态和一个深 (Deep)历史状态。
UML建模语言
9.5.2 标识实体 的各种状态 对于一个学生账号 来说,它的状态主 要包括以下几种:
初始状态。 终止状态。 可选课状态。 不可选课状态。 账号被删除状态。
UML建模语言
9.5.3 标识相 关事件并创建 状态图
当确定了需要 建模的实体并 找出了实体的 初始状态、终 找相关 止状态以及其 事件和 他相关状态后, 转换 就可以着手创 建状态图。
(4)终止状态
终止状态是一个状态图的终点,一个状态图可以拥有 一个或者多个终止状态。用含实心圆的空心圆表示.
(5)判定
活动图和状态图中 都有需要根据给定 条件进行判断,然 后根据不同的判断 结果进行不同的转 换的情况。
第5章-计算机系统结构(第五版)李学干

第5章 标量处理机
图 5 - 11 B一次相关与二次相关
第5章 标量处理机
由图5 - 11可见,B二次相关时,只需推后“分析k+2”的 始点到“执行k”送入通用寄存器的运算结果能在“分析k+2” 开始时出现于通用寄存器输出总线上即可,如图5 - 12(a)所 示。至于推后多少拍,这取决于通用寄存器组译码、读
如图5 - 20(b)所示。即使流水线每隔Δt0流入一条指令,也会
因来不及处理被堆积于2段,致使流水线仍只能每隔 3Δt0才流出一条指令。
第5章 标量处理机
图 5 - 20 最大吞吐率取决于瓶颈段的时间
第5章 标量处理机
消除瓶颈的一种办法是将瓶颈子过程再细分。例如将2
段再细分成21、22、23三个子段,如图5-21(a)所示。让各子
同,如图5 - 23所示那样,则在T时间里,流水线各段的效率
都相同,均为η0,即
nΔt0 n 1 2 m 0 T m (n 1)
第5章 标量处理机
整个流水线的效率
1 2 m
m
m0 mnΔt0 0 m mT
式中,分母mT是时空图中m个段和流水总时间T所围成
第5章 标量处理机
图 5 - 3 一次重叠工作方式
第5章 标量处理机
(2) 要解决“分析”与“执行”操作的并行。 (3) 要解决“分析”与“执行”操作控制上的同步。 (4) 要解决指令间各种相关的处理。 图5 - 4示意出条件转移时第k条指令和第k+1条指令的时
间关系。
第5章 标量处理机
图 5 - 4 第k条指令和第k+1条指令的时间关系
由于运算结果是在“执行”周期的末尾才送入通用寄存
PLC5章状态转移图及编程方法

(2) 台车后退碰到限位开关SQ2后,台车电机M停转,台车停 车,停5 s,第二次前进,碰到限位开关SQ3,再次后退。
(3) 当后退再次碰到限位开关SQ2时,台车停止(或者 继续下一个循环)。
5.1 状态转移图及状态功能
PLC程序设计步骤
• 根据可编程序控制器系统硬件结构和生产工艺要求,在软件规格说 明书的基础上,用相应的编程语言指令,编制实际应用程序并形成 程序说明书的过程就是程序设计。
• PLC程序设计一般分为以下几个步骤: • 程序设计前的准备工作。 • 程序框图设计。 • 程序测试。 • 编写程序说明书。
1.程序设计前的准备工作
• 在熟悉被控对象的同时,还要认真借鉴前人在程 序设计中的经验和教训,总结各种问题的解决方 法——哪些是成功的,哪些是失败的,为什么。 总之,在程序设计之前,掌握东西越多,对问题 思考得越深入,程序设计就会越得应手。
• 3)充分利用手头的硬件和软件工具例如, 硬件工具有:编程器、GPC(图形编程器)、 FIT(工厂智能终端);编程软件有:LSS、 SSS、CPT、CX—ProgTammer、西门子STEP7 如果是利用计算机编程,可以大大提高编 程的效率和质量。
(3) 只要在不相邻的步进段内,则可重复使用同一编号的 计时器。这样,在一般的步进控制中只需使用2~3个计时器 就够了,可以节省很多计时器。
(4) 状态也可以作为一般中间继电器使用,其功能与M一 样,但作一般中间继电器使用时就不能再提供STL触点了。
5.2 单流程状态转移图的编程
第三步:设计步进梯形图
状态的转移条件可以是单一的,也可以是多个元件的串、 并联组合,如图所示。
UML第5章 动态模型

对象模型描述系统中的对象、属性和链接的合 对象模型描述系统中的对象、 理的模式。 理的模式。 对象所拥有的属性值和链接称为对象的状态. 对象所拥有的属性值和链接称为对象的状态. 从一个对象到另一个对象的单个触发称为事件 。
5.1.1 事件
事件不具有持续性,当然没有一个事件是真正 事件不具有持续性, 瞬间的;事件是一个简单的当前值, 瞬间的;事件是一个简单的当前值,此值的发 生比给定抽象的短的时间区间还要快。 生比给定抽象的短的时间区间还要快。 一个事件是单方向地从一个对象到另一个对象 的信息传送, 的信息传送,它不像子程序调用那样返回一个 值。
第5 章
动态模型
5.1 5.2 5.3 5.4 5.5 5.6 5.7
事件和状态 操作 嵌套状态图 并发性 动态模型的实例 对象模型和动态模型的关系 实践技巧
我们更需要了解所有时间内对象的变化和对象 之间关系的变迁, 之间关系的变迁,这也正是系统所关注的时序 关系(时序关系理解起来比较困难)。 )。这就产 关系(时序关系理解起来比较困难)。这就产 生了一种与静态结构(对象模型)相对应的、 生了一种与静态结构(对象模型)相对应的、 与时间有关的和与变化有关的内容, 与时间有关的和与变化有关的内容,把这种结 构称为动态模型。 构称为动态模型。
状态:闹铃响 状态 描述:闹铃响表示设定时间到 描述 产生该状态的事件序列: set alarm(target time)—设定铃响时间不包含清除闹铃(clear alarm)的任何后续操作 当前时间=设定时间 该状态的特征条件: 闹铃=开关,从设定时间起在没有按键的情况下,设定时间≤当前时间≤设定时间+20" 该状态接受的各种事件: 事件 当前时间=设定时间+20" 按下按钮(任何按钮) 动作 重设闹铃 重设闹铃 下一个状态 正常 正常
数电第5章习题解答张克农版

5章课后习题解答一同步时序电路如图题所示,设各触发器的起始状态均为0态。
(1) 作出电路的状态转换表; (2) 画出电路的状态图;(3) 画出CP 作用下各Q 的波形图; (4) 说明电路的逻辑功能。
[解] (1) 状态转换表见表解 。
(2) 状态转换图如图解(1)。
(3) 波形图见图解(2)。
(4) 由状态转换图可看出该电路为同步8进制加法计数器。
由JK FF 构成的电路如图题所示。
(1) 若Q 2Q 1Q 0作为码组输出,该电路实现何种功能? (2) 若仅由Q 2输出,它又为何种功能?[解] (1) 由图可见,电路由三个主从JK 触发器构成。
各触发器的J ,K 均固定接1,且为异步连接,故均实现T '触发器功能,即二进制计数,故三个触发器一起构成8进制计数。
当Q 2Q 1Q 0作为码组输出时,该电路实现异步8进制计数功能。
(2) 若仅由Q 2端输出,则它实现8分频功能。
图题图题CP Q 0Q 1Q 2(1) (2)图解试分析图题所示电路的逻辑功能。
[解] (1) 驱动程式和时钟方程02n J Q =,01K =;0CP CP =111J K ==;01CP Q =210n nJ Q Q =,21K =;2CP CP = (2) 将驱动方程代入特性方程得状态方程0+1000020 ()n n n n nQ J Q K Q Q Q CP =+=+1111 ()n n Q Q CP =+12210 ()n n n n Q Q Q Q CP =(3) 根据状态方程列出状态转换真值表5进制计数器。
X = 0及X = 1时[解] (1) 写驱动方程和输出方程 0J X =, n 01K X Q = n 10J XQ =, n 10K Q = n 1Y Q = (2) 求状态方程100000010n n n n n n Q J Q K Q X Q X Q Q +=+=+ 1111111010n n n n n n n Q J Q K Q X Q Q Q Q +=+=+图题图解图题(3) 画次态卡诺图求状态转换真值表(4) 作状态转换图如图解(2)所示。
第5章习题及解答

习题5.1 请根据图P5.1所示的状态表画出相应的状态图,其中X 为外部输入信号,Z 为外部输出信号,A 、B 、C 、D 是时序电路的四种状态。
A B C DD/1D/1D/1B/1Q n+1/Z Q nXB/0C/0A/0C/001 A B C DD/0C/0B/0B/1Q n+1/Z Q nXB/0B/0C/0C/001图P5.1 图P5.2题5.1 解:图 题解5.15.3 在图5.4所示RS 锁存器中,已知S 和R 端的波形如图P5.3所示,试画出Q 和Q 对应的输出波形。
R S图P5.3题5.3 解:5.5 在图5.10所示的门控D 锁存器中,已知C 和D 端的波形如图P5.5所示,试画出Q 和Q 对应的输出波形。
图P5.5题5.5 解:图 题解5.55.7 已知主从RS 触发器的逻辑符号和CLK 、S 、R 端的波形如图P5.7所示,试画出Q 端对应的波形(设触发器的初始状态为0)。
(a)CLK S R(b)图P5.7题5.7 解:CLK S R Q5.9 图P5.9为由两个门控RS 锁存器构成的某种主从结构触发器,试分析该触发器逻辑功能,要求:(1)列出特性表; (2)写出特性方程; (3)画出状态转换图; (4)画出状态转换图。
图 题解5.9题5.9 解:(1)特性表为:(2) 特性方程为:1n nnQXQ YQ +=+(3) 状态转换图为:X=1X=0Y=X=Y=1X=×Y=0图 题解5.9(3)(4)该电路是一个下降边沿有效的主从JK 触发器。
5.11 在图P5.11(a )中,FF 1和FF 2均为负边沿型触发器,试根据P5.11(b )所示CLK 和X 信号波形,画出Q 1、Q 2的波形(设FF 1、FF 2的初始状态均为0)。
(a)X(b)CLK图P5.11题5.11 解:CLK X Q 1Q 2图 题解5.115.13 试画出图P5.13所示电路在连续三个CLK 信号作用下Q 1及Q 2端的输出波形(设各触发器的初始状态均为0)。
chap5 状态图

维修
继续
IC卡电话机顺序状态示例
2012-12-15 21
并发子状态
并发状态图用于描述一个对象在某个时刻有多 个并发的子状态图的情况,并发状态图是这些 子状态图的组合。
工作 等待用户输入 输入 登记用户输入 显示用户输入
[时钟间隔已过] 监视 系统时钟
2012-12-15
更新 界面显示
22
GUI中“工作”的并发组合状态
收到商品 [部分商品缺货] 取消
取消
2012-12-15
已发货
19
顺序子状态
顺序子状态:子状态是一个一个顺序转移的, 不是并发存在的。
工作
等待用户输入
输入
登记用户输入
显示用户输入
2012-12-15
GUI中“工作”的组合状
20
顺序子状态
活动 插卡 ?? 验卡 休闲
取消
?? 通话 维修完成 维修 结束 ?? 挂断 ?? 拨号
主体结构
* 安装门框 *
水电准备
铺设 室内管线
室内装修
安装 水电设备
2012-12-15
竣工验收
24
历史状态
Running Washing
H
历史状态, 上次离开组合 状态时的最后 一个活动子状 态
Restore power
Power off
Rinsing
Power cut
Spinning
2012-12-15
14
事件
调用事件:对象对调用的接收
信号事件:对象对发送给它的信号的接收
Dialing Connect(phone number) Connecting
5 第五章触发器Flip-Flop解析

若SR=11,则G3和G4均输出0,触发器不定。
因此,可得出同步RS触发器的功能表:P276
S
S R Qn+1
R 0
0 1
Q 0
1 0
Qn+1 0
1 0 0 1 1 X X 置1 不定 清0 保持
0
0 0
0
0 1 1
0
1 0 1
保持
清0 置1 不定
0
1
1
0
1
0
R、S均为高电平有效,分 别称为:复位端和置位端 进一步得出真值表 再由真值表填卡诺图
R 称为:清0输入端或复位输入端
如果我们规定触发器原来的状态称为“现态”(用Qn表示,简记为
Q),将触发器由于输入值的影响后的输出状态称为“次态”(用 Qn+1
n 1 或Qn+1表示),可推导出基本RS触发器的真值表如下:
S
R
Q
0
Q
0
0
X X 1 1 0 0 0 1
不定
0
0 0 1 1 1 1
0
n 1
由真值表还可以推导出触发器的状态变化情况,以图形表示时,称
为状态转换图,简称状态图。
图例
用圆圈表示触发器的状态,用箭头表示状态的变化方向,发生变化 的条件则按顺序标明在箭头旁边。
另外,若已知输入信号的波形,则可以作出触发器的波形图。如:
求在输入作用下的输出波形。
首先,将输入波形分段(作辅助线),再根据触发器的功能表作出
再看下面的电路:
当A=0时,F=0。 某一时刻,由于外界的干扰使得A信号突然消失,此时,相当于A输
入端悬空,但F端反馈回来的值仍然为0,由电路结构得:F=0。
《软件工程概论》郑人杰版 第5章 面向对象方法与UML

节不能从类外访问。
继承
• 继承。继承是一种联结类的层次模型,为类的重用提供
了方便,它提供了明确表述不同类之间共性的方法。 • 我们将公共类称为超类(superclass)、父类(father
class)、祖先(ancestor)或基类(base class),而 从其继承的类称为子类(subclasses)、后代( deslendane)或导出类(derived class)。
对象之间的交互
行为事物
(2)状态机(state machine)── 描述了一个对 象或一个交互在生存周期内响应事件所经历的状 态序列,单个类或者一组类之间协作的行为都可 以用状态机来描述。 状态机涉及到状态、变迁和活动,其中状态用圆角 矩形来表示。
对象
(2) 角色(Roles)── 一个实体的角色也可 以抽象成一个单独的对象。角色对象的操 作是由角色提供的技能。
• 例如,一个面向对象系统中通常有“管理器”对象,它履 行协调系统资源的角色。一个窗口系统中通常有“窗口管 理器”对象,它扮演协调鼠标器按钮和其他窗口操作的角 色。特别地,一个实际的物理对象可能同时承担几个角色 。
清晰,容易掌握使用。 (6)与编程语言的关系
支持UML的一些CASE工具(如Rose)可以根据 UML所建立的系统模型自动产生Java、C++ 等代 码框架。
UML的基本模型
➢ UML符号为开发者或开发工具使用这些图形符号 和文本语法为系统建模提供了标准。 ➢ 这些图形符号和文字所表达的是应用级的模型, 在语义上它是UML元模型的实例。 ➢UML模型由事物、关系和图组成 。
第5章 面向对象方法与UML
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7
状态图的定义
状态图描述了一个对象在其生命期内因响应事件所经历的
状态序列以及对这些事件所作出的反应。
状态图中的基本元素
状态(state) 事件(event) 转移(transition)
8
电灯泡的状态图
状态转移
turnOn Off turnOff burnOut On
初始状态
状态
事件 终止状态
在一个组合状态内,可以只有一个区域,也可以有若干个
区域,每个区域中有一个状态图。 只有一个区域的组合状态称作非正交状态;有多个区域 的称作正交状态。 对象位于一个非正交状态时,在一个时刻必须位于且仅 位于一个子状态。若位于一个正交状态,那么各区域中 的子状态是并发的。 正交状态各区域间用虚线隔开。其作用是,把一个组合 状态中互不相斥的子状态划分到不同区域中,从而使它 表现的行为更清晰。
22
转移的表示法-cont.
两个转移示例
1、object_x.highlight; 调用object_x的highlight操作,引发了一个转移,该 转移无监护条件,转移时也不执行什么动作。
2、right-mouse-down(location)[location in window]/object:=pick-object(location); 当鼠标落在窗口中且按下右键,引发了一个转移,在转 移中把所选中的对象赋给变量object。
25
自转移 self-transition
自转移是源状态和目标状态相同的转移,但它是一
个状态改变。 当它激活时,源状态会先退出,然后再进入,所以,退 出动作和进入动作会被激发。 它不同于内部转移。
at(8:30am)/测试 after(3分钟)断电 活动 when(温度<120度) 空闲
26
事件名:触发相应动作的事件的名称。用户可自定义,但entry、 exit、do除外,因为UML已经为他们规定了特别的含义。 监护条件:布尔表达式,当事件要触发时,对它求值。如果取值为 真,则触发;否则,不触发。同一个状态下,监护条件不同,相同 的事件名可出现多次,当事件发生时,根据监护条件判断执行哪些 活动。 动作表达式:一些动作组成的动作序列。
顺序图和状态图是系统动态行为的两个互补的视图。
顺序图显示了在较短的一段时间(通常是在单个用户 产生的事务期间),在系统中的对象之间传递的消息, 因此顺序图必须描述很多对象,即事务中所涉及的那 些对象。 状态图自始至终在一个单一对象的整个生存期中跟踪 该对象,指定该对象能够接收的所有可能的消息序列, 以及它对这些消息的响应。
定事件出现,且满足一定条件(如果有的话),对象就从 源状态进入目标状态,并会执行一定动作。 简单说,一个事件可能导致对象从一个状态移动 到另外一个状态,这样的移动称为-转移
20
转移的表示法
源状态
事件特征标记 [监护条件] / 动作表达式
目标状态
当事件发生并且监护条件为真时,将执行动作, 源状态立即进入目标状态
-- 在刚确定飞机计划时,显然是没有任何预订的,并且在有人预订
机票之前都将处于这种“无预订”状态 -- 对订座而言显然有“部分预订”和“预订完”两种状态 -- 而当航班快要起飞时,显然要“预订关闭”
总结一下,主要有四种状态:无预订、部分预订、预订 完以及预订关闭
33
•
绘制状态图
确定状态间转移
源
目标
21
转移的表示法-cont.
事件特征标记:事件的规格描述
事件名(参数:参数类型,…)
监护条件:一个布尔表达式,当且仅当事件发生且布尔表达式 为真时,才触发转移。 动作表达式:是当转移激发时执行的操作,可使用对象内的操 作、属性及事件的参数来表达,多个表达式用/或;分开。 increase( )/n:= n+1;m:= m + 1 add(n)/sum:=sum + n
16
2、Exit事件
3、Do事件
状态-表示法-cont.
在一个状态下,可能出现在当前状态下暂不处理,但将推
迟到该对象的另一个状态下处理的事件,称作延迟事件。
也就是说,在某些情况下,针对一个状态,可以定义一组
在该状态中允许发生但要延迟的事件。
在一个状态下,如果发生了一个延迟事件,它将保留在延
时间事件
改变事件
11
事件
at(8:30am)/测试 after(3分钟)断电 活动 when(温度<120度) 空闲
12
状态
状态是事物的一种属性,在一般情况下是指事物所表现出
来的形态。
在UML中,状态定义为对象在其生命周期内满足某一条件、
进行某种活动或等待某一事件的条件或状况。
13
状态-表示法
状态的表示方法
名称栏 内部转移栏
名称分栏
在同一状态图里不应该出现具有相同名称的状态 没有名称的状态是匿名的 同一张图中的匿名状态被认为是互不相同的
14
状态-表示法
内部转移栏
该分栏标出对象在这个状态中所执行的内部活动。
格式:事件名(参数列表)[监护条件][/动作表达式]
28
组合状态
组合状态的表示:
在一个组合状态的图形表示中,除了有可选的名称和内 部转移栏之外,还可以有包含状态图的图形分栏。 可以选择用实线把名称栏、内部转移栏和图形分栏隔开。
拨号
开始
entry/发拨号声 exit/停止拨号声
拨号(n)
收集号码
entry/号码增加
[号码有效]
拨号(n)
29
组合状态
deposit /amt+=bal InCredit deposit[-amt<=bal] /amt+=bal withdraw[amt<=bal] /amt-=bal deposit[-amt>bal] /amt+=bal
withdraw[amt>bal] /amt-=bal
状态图可对满足上述要求的现实事物的生命历程建模。
3
状态图
在对系统建模时,不需要对所有的对象都进行状态 考察,只需要对具有明确生命周期阶段(状态),且需 要通过状态分析对其复杂性进行深刻的认识的对象 进行建模! 必须分清楚哪些状态对系统有重要影响-这一点对 于状态图建模至关重要。
4
状态图和顺序图的比较
10
事件
在UML中把事件分为若干种: 调用事件
对操作的调用的接收,导致一个调用事件,这样的操作由接收事件 的对象实现。 指定事件发生后,经过一段时间或到了指定时间,就导致一个时间 事件。 如 “after(从状态X退出后经历了15秒)”、“after(5秒)”、 “at(1 Jan 2011,12:00 UT)”。 用布尔表达式描述的条件为真,就导致了一个改变事件。 如“when(转速>=2000转/秒)”
现实世界中事物的状态,如果与系统责任有关,将在相应
的对象中被抽象地表示为该对象的属性。
例如,现实中的一辆汽车,有停火、点火、行驶、故障等不同的状 态,一个人有睡眠、兴奋、抑郁等不同状态。 如果系统需要辨别这些状态,则可以在相应的类中定义一个名为 “状态”的属性,对象在不同时刻不同的属性值表示该事物处于不 同的状态。
5
状态图和活动图的比较
活动图与状态图的区别:
① 活动图着重表现从一个活动到另一个活动的控制流,是
内部处理驱动的流程。 ② 状态图着重描述从一个状态到另一个状态的流程,主要 有外部事件的参与。
6
状态建模的意义
在OO建模中,对象的行为是通过其操作来描述的,而整个 系统的行为主要体现于其中各个对象的行为以及通过消息所 发生的行为联系。 然而,对那些状态比较复杂,而且在不同状态下其行为将 呈现许多变化的对象,如果不分析和辨别它的各种状态,只 是笼统地来认识对象的行为,往往难以把各种情况都考虑得 很周全。 对一些状态复杂的对象进行状态建模,将有助于准确、精 细地定义对象的属性和操作。
27
组合状态
组合状态是由两个或多个子状态构成的状态,其中的子状
态是顺序的或并发的,而且子状态还可以是组合状态。
Active
checking
checking entry/callCenter
waiting
entry/setAlarm exit/clearAlarm
好处:
便于阅读 支持复用ห้องสมุดไป่ตู้简化状态图的绘制
内部转移
由用户自定义事件触发的转移称为内部转移! 内部转移是在状态内进行的,不会引起状态改变,不
调用状态的进入动作和退出动作. 内部转换由用户自定义事件引发,表达式:
event-name/activity-expression CD播放机上有“信息”按钮,当按下按钮时,显示当前曲
目剩余时间,该事件的发生不会中断正在进行的playing。
微波炉、汽车、电脑,可以被重复的使用
2
状态图
通过对现实事物的考察,针对状态有如下结论:
大多数事物在其生命期内经历了不同的状态; 在任何特定时间,一个事物精确地位于一个状态; 在现实世界存在着引起状态变化的事件; 事物在其状态间按次序转化; 事物从一个状态到另一个状态的转化是即时的; 当事件发生时,事物可能需要采取一些动作;
9
事件
一般意义上,事件是指时间和空间上可以定位的、具有实
际意义、值得注意的所发生的事情.
在OO中,事件是对事情的规格说明。 按照状态图的含义,事件是指可以引发状态转换的所发生的