第10章时序图(顺序图)-郭

合集下载

10章时序逻辑电路课件

10章时序逻辑电路课件

/0
010
101
/1
(b) 无效循环
32
时序图
CP Q0 Q1 Q2 Y
33
⑤ 电路功能
有效循环的6个状态分别是0~5这6个十进制数字的格雷码, 并且在时钟脉冲CP的作用下,这6个状态是按递增规律变 化的,即:
000→001→011→111→110→100→000→… 所以这是一个用格雷码表示的六进制同步加法计数器。当 对第6个脉冲计数时,计数器又重新从000开始计数,并产 生输出Y=1。
4
10.2.1 基本RS触发器
❖ 用或非门实现的基本RS触发器
(a)逻辑图
(b)逻辑符号
G1
S
≥1
Qb
S
Q
输入高电平有效
≥1
R
Qa
R
G2
由逻辑图可得逻辑表达式为:
Q 第55 章
( d )基本RS触发器的动作特点
在基本RS触发器中,输入 信号直接加在输出门上,所 以输入信号在全部作用时间 里(即:S或R为1的全部时间) 都能直接改变输出端Q和Q的 状态。
K2 Q1n K1 Q0n K0 Q2n
调题图
29
② 求状态方程
JK触发器的特性方程:
Qn1 JQ n KQn
将各触发器的驱动方程代入,即得电路的状态方程:
QQ12nn
1 1
J 2Q2n J1Q1n
K2Q2n Q1nQ2n Q1nQ2n Q1n K1Q1n Q0nQ1n Q0nQ1n Q0n
上升沿触发有效
Q
Q
1J C1 1K
J CP K
下降沿触发有效
16
10.3.同步时序逻辑电路的分析方法
任一时刻的输出信号不仅取决于此时刻的输入信号, 而且取决于上一个时刻的输出状态。

UML--时序图

UML--时序图

• 所以,要我请你吃饭就用同步的方法, 所以,要我请你吃饭就用同步的方法, 要请我吃饭就用异步的方法,这样你可 要请我吃饭就用异步的方法, 以省钱。 以省钱。^_^!
3. 消息 消息:对象之间传输的信息。 消息有以下类型: 消息:对象之间传输的信息。UML消息有以下类型: 消息有以下类型 调用消息( ① 调用消息 Procedure Call ) 调用消息(也称为同步消息 的发送者把控制传递给 调用消息 也称为同步消息)的发送者把控制传递给 也称为同步消息 接收者,然后停止活动, 接收者,然后停止活动,直到消息接收者放弃或返回控 制。
Hale Waihona Puke 1.1 交互图的概念1. 交互图的概念 交互图(interaction): 用来描述对象之间、对象与参与 用来描述对象之间、 交互图 者之间的动态协作关系, 者之间的动态协作关系,以及协作过程中行为次序的图 形。 2.交互图的类型 2.交互图的类型 • • 顺序图( 顺序图( Sequence diagram )又称为时序图 协作图( 协作图( Collaboration diagram )
匿名对象
2. 顺序图样式和组成 ② 生命线

表示对象存在的时间,对象下面一条虚线表示。 表示对象存在的时间,对象下面一条虚线表示。 生命线从对象创建开始到对象销毁时终止。 生命线从对象创建开始到对象销毁时终止。 对象在生命线上的两 种状态: 种状态: 休眠状态 激活状态 ×
表示对象 的撤销
对象生命线
1.1 交互图的概念
1. 交互图的概念 交互图( 交互图 Interaction diagram ): 是描述对象之间的关系 以及对象之间的信息传递的图。 以及对象之间的信息传递的图。 2.交互图的类型 2.交互图的类型 • • 顺序图( 顺序图( Sequence diagram ) 协作图( 协作图( Collaboration diagram ) 3. 交互图的作用 通常用来描述一个用例的行为,实现一个用例, 通常用来描述一个用例的行为,实现一个用例,完成对 系统行为的建模。 系统行为的建模。

时序图课件

时序图课件

实例:图书馆借书处理的顺序图图
书馆借书处理的顺序图
实例:图书馆借书处理的顺序图图
● 用例:借书 ●参与者:管理员,借阅者 ●基本事件流: 1. 借阅者带着借书证和书来到柜台。 2. 管员输入借阅者的借书证编码。 3. 系统检查借阅者的合法性。 4. 系统显示借阅者的信息。 5. 系统检查借阅者的借阅信息。 6. 管员输入所借图书的条码。 7. 系统显示所借图书的信息,并登记图书。 管员重复6~7步,直到结束。 8. 系统登记借阅者的本次借阅信息,并显示。 ●扩展事件流: 3a. 借阅者身份非法,则提示,本次拒借。 5a. 该借阅者所借图书中有超期的, 则提示, 本次拒借。 5b. 该借阅者所借图书数量超过了上限, 则提示, 本次拒借。 3a. 借阅者身份非法,则提示,本次拒借。 5a. 该借阅者所借图书中有超期的, 则提示, 本次拒借。
10.5 实例——图书馆管理系统的时序图
10.5.1 使用Rational Rose绘制时序图的步骤 10.5.2 图书馆管理系统的时序图
10.5.1 使用Rational Rose绘制时序图 的步骤
1. 2. 3. 4. 创建时序图 时序图工具栏按钮简介 添加对象 添加消息
Dispenser
accept(cash,selection) getCustomerinput(cash,selection) checkavailability(selection) available
update(cash,price) dispense receive soda(selection)
10.2.1 对象
时序图中对象的符号和对象图中对象所用 的符号一样。 将对象置于时序图的顶部意味着在交互开 始的时候对象就已经存在了,如果对象的 位置不在顶部,那么表示对象是在交互的 过程中被创建的。

第十章时序图(顺序图)

第十章时序图(顺序图)

第十章 时序图
饮料销售机
(2)钱币记录仪的主要功能是: ①从前端获取顾客输入的信息(包括现金和饮 料选购); ②更新现金和饮料存储; ③将用户投入的现金或找回的零钱发送到前端。
饮料销售机
第十章 时序图
(3)分配器的主要功能是: ①检查用户所选饮料是否有存货; ②分发饮料给顾客。 买饮料的顺序是: a)顾客从前端投入钱币,选择所需要的饮料; b)钱币到达钱币记录仪,记录仪通知分配器检查 饮料存货情况; c)若有存货,记录仪更新自己的存储,并通知分 配器发饮料到机器前端。
一组对象(对象名和类名) 对象生命线(时间轴) 对象被激发(对象的活跃期) 对象间的通信(消息)
第十章 时序图
二. 时序图样式和元素
消息 对象
生命线
被激活期
第十章 时序图
二. 时序图样式和元素

① 对象及命名
:类名 :对象名
对象名:类名
第十章 时序图
二. 时序图样式和元素
① 对象的命名
② 生命线 表示对象存在的时间,对象下面一条虚线表示。
返回消息
第十章 时序图
三. 消息 消息:对象之间传输的信息。消息有以下类型: ④阻止消息 阻止消息指消息发送者发出消息给接收者,如果接收 者无法立即接收这个消息,则发送者放弃这个消息。
阻止消息
第十章 时序图
三. 消息 消息:对象之间传输的信息。消息有以下类型:
⑤超时消息 超时消息指消息发送者发出消息给接收者,并按 指定时间等待,如果接收者无法在指定时间内接收这 个消息,则发送者放弃这个消息。
②异步消息 异步消息的发送者通过消息把信号传递给接收者, 然后继续自己活动,不等待接收者返回消息或控制。
异步消息

时序图

时序图
当时序图中的消息比较多时,还可以通过对消息 前置序号表达式的方式指定消息的顺序。
37


消息

消息内容标识的格式为:
[序号][监护条件]*[重复次数][返回值表:=]操作名(参数表)
例:



2: display () 1.3.1: p:=find() [x<0] 4: invert(x, color) 3.1 *[x = 1..10] : update() a3,b4/c2: copy(a,b) 1.1a, 1.1b/1.2: continue()

32
Байду номын сангаас
33
返回消息(Return Message)
返回消息是时序图的一个可选择部分,它 表示控制流从过程调用的返回。 返回消息一般可以缺省,隐含表示每一个 调用都有一个配对的调用返回。 是否使用返回消息依赖于建模的具体/抽 象程度。如果需要较好的具体化,返回消 息是有用的;否则,主动消息就足够了。
各个对象所执行的操作以及它们之间所传送的消息 ,从而能够在逻辑上清晰的刻画这些操作和消息的 时序关系乃至因果关系。 时序图提供了对象所执行的操作以及对象之间传送 的消息随时间推移的、清晰的和可视化的轨迹。


10
时序图的组成
: Actor
:Object1
:Object2
1: Message 2: Operation :Object3 3: Operation 4: Message 5: Message

24
消息

在任何一个软件系统中,对象都不是孤立存在的 ,它们之间通过消息进行通信。 消息是用来说明时序图中不同活动对象之间的通 信。因此,消息可以激发某个操作、创建或撤销 某个对象。 在时序图中,消息是由从一个对象的生命线指向 另一个对象的生命线的直线箭头来表示的,箭头 上面还可以表明要发送的消息名及序号。 在多个对象之间,消息的次序由它们在垂直轴上 的相对位置决定。

继电器顺序控制基本电路

继电器顺序控制基本电路

4 利用时间继电器、计数器和传感器的电路 (2)利用时间继电器的电路
例:按下开关BS110次时指示灯亮,按下BS2时复位, 指示灯灭。
– 纵向顺序图:电器的接线方向为从上向下 – 横向顺序图:电器的接线方向为从左向右
纵向顺序图
① 在上下方各引出一条水平线作为控制电源的母线(母线的符号:对直流电源用P和N, 对交流电源用R和S来表示)。
② 在上下母线间用垂直线表示连接控制电器的接线 ③ 用图形符号和文字符号来表示电器 ④ 将控制电器的图形符号按动作的顺序从上往下连接 ⑤ 当母线间有较多支路要连接时,根据动作的顺序从左向右的顺序画出。
三.顺序控制基本电路
1. 基本逻辑电路 2. 自保持和互锁电路 3. 电动机基本控制电路 4. 利用传感器、时间继电器
和计数器的电路
基本逻辑电路——AND电路
基本逻辑电路——OR电路
基本逻辑电路——NAND电路
基本逻辑电路——NOR电路
2.自保持和互锁电路—自保持电路
自保持电路:在解除输入信号之后也保持动作状态的电路,又称记忆电路、自锁电路 问题1:如何修改下图的电路,使按钮按下后再松开,指示灯也持续亮着?
增加一个继电器的常开触点
2.自保持和互锁电路—自保持电路
• 问题2:自保持后如何取消动作(复位)?
复位(停止)优先和置位(启动)优先的自保持电路
2.自保持和互锁电路—互锁电路
先动优先电路
• 任何先按下按钮的 电路优先动作—先 动优先
• 另一电路再按下按 钮也不动作—互锁
• 在抢答游戏和电动 机正反转控制电路 中常用
2.自保持和互锁电路—互锁电路
新输入优先电路
3电动机基本控制电路
• 电动机的启动与停止电路 – 自保持电路

顺序图

顺序图

阻止消息 消息的发送者传递消息给接 收者,如果接收者无法立即接收, 则发送者放弃该消息。
Rational Rose画顺序图
打开rose软件,选择新建Sequence Diagram
Rational Rose画顺序图
Rational Rose画顺序图
Selection Tool:光标返回 箭头,选择工具
选项(Opt)
• 包含一个可能发生或不发生的序列
循环(Loop)
• 片段重复一定次数。 可以在临界中 指示片段重复的条件。
并行(Par)
组合片段
谢建模序列图的下一步是从左到右布置在该工作流程中所有的参与 者和对象,同时也包含要添加消息的对象生命线。
Rational Rose画顺序图
在对象之间添加消息
Rational Rose画顺序图
在对象之间添加消息,选择消息种类
Rational Rose画顺序图
常用消息的类型
自关联消息
用来描述对象内部函数的互相调
用。
超时消息
超时消息是同步消息中的一种特 殊情况,源消息对象发出消息后将等 待响应一段时间,在限定时间内还没 有响应时,源消息对象将取消阻塞状 态而执行后续操作。
常用消息的类型
异步消息 消息的发送者将消息发送给 消息的接受者后,不用等待回应 的消息,即可开始另一个活动。
Text Box:创建文本框
Note:创建注释 Object:序列图中的对象
Anchor Note to Item:将注释连接到序列图 中的相关模型元素 Object Message:两个对象之间的普通消 息,消息在单个控制线程中运行
Message to Self:对象的自身 消息 Return Message:返回消息 Destruction Marker:销毁对象标记 Procedure Call:两个对象之间的过程调用 Asynchronous Message:两个对象之 间的异步消息,也就是说客户发出

软件工程顺序图

软件工程顺序图
消息用来阐明顺序图中不同活动 对象之间旳通信。它能够在一种对 象需要取消不同对象旳进程时或者 需要向另一种对象提供服务时,使 用消息。
消息从活动对象生命线到接受对 象生命线旳箭头表达。箭头以时间 顺序在图中从上到下排列。箭头上 面标识要发送旳消息,如下图所示。
把参加者表达为活动对象
旳建模能够阐明参加者怎样 与系统交互,以及系统怎样 与顾客交互。参加者能够调 用对象,对象也能够告知参 加者,如下图所示。
四、 怎样使用消息进行通信
消息是顺序图活动对象之间通信旳惟一 方式。UML中消息使用了某些简介旳标识符。
消息能够包括条件以便限制它们只有满 足条件时才干发送。条件显示在消息名称上 面旳方括号中,如下图所示:
在UML中,总共有4种类型旳消 息,如下图所示。
到目前为止只看到了一种消息, 即简朴消息(flat message)
旳操作统计下来,以供后来查询。最 终,Engine 直接将成果返回给 ProcessMonitor,由ProcessMonitor将 成果包装,显示给顾客。
六、学习怎样建模顺序图
创建顺序图包括四项任务: • 1)拟定需要建模旳工作流。 • 2)从左到右布置对象。 • 3)添加消息和条件以便创建每
一种工作流。 • 4)绘制总图以便连接各个分图。
2.布置对象
• 建模顺序图旳下一步是从左 到右布置全部旳参加者和对 象,包括要添加消息旳对象 生命线。
3.添加消息和条件
接下来,对每一种工作流 作为独立旳顺序图建模。从基 本旳工作流开始,它是没有犯 错条件,而且需要至少决策旳 工作流。在本例中,基本工作 流是教师成功地检验某个学生 旳分数。如下图所示。
1. 同步消息
同步消息(synchronous message)代表一种操 作调用旳控制流。同步消息旳发送者把控制 传递给消息旳接受者。然后暂停活动,等待 消息接受者旳应答,收到应答后才继续自己 旳操作。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

:AddBookDialog Administrator AddBook()
:Book
:Title
findTitle() newBook()
addBook()

将对象置于时序图的顶部意味着在交互开始 的时候对象就已经存在了。 如果对象的位置不在顶部,那么表示对象是 在交互的过程中被创建的。

10.2.2 生命线
getBook()
Return Book getTitle()
Return Title
[遍历Loan数组] Return Ttile Array
10.6 顺序图建模步骤
时序图建模技术
① ② ③ ④
⑤ ⑥ ⑦
设置交互的语境。 通过识别对象在交互中扮演的角色,设置交互的场 景。 为每个对象设置生命线。 从引发某个消息的信息开始,在生命线之间画出从 顶到底依次展开的消息,显示每个消息的特性(如 参数)。 如果需要可视化消息的嵌套或实际计算发生时的时 间点,可以用激活修饰每个对象的生命期。 如果需要说明时间或空间的约束,可以用时间标记 修饰每个消息,并附上合适的时间和空间约束。 如果需要更形式化的说明某控制流,可以为每个消 息附上前置和后置条件。
10.3 对象的创建和撤销

如果对象位于时序图的顶部,说明在交互开始 之前该对象已经存在了。如果对象是在交互的 过程中创建的,那么它应当位于图的中间部分。

对象在创建消息发生之后才能存在,对象的生 命线也是在创建消息之后才存在的。
10.3 对象的创建和撤销

创建对象的两种表示方法:
10.3 对象的创建和撤销

生命线在顺序图中表示为从对象图标向下延伸 的一条虚线,表示对象存在的时间。
实际上,对象的生 命线可以代表一组 对象。
10.2.2 生命线
10.2.3 激活期(控制焦点)



激活表示该对象被占用以完成某个任务,对 象执行某个动作的时期。 去激活指的则是对象处于空闲状态、在等待 消息。 在UML中,为了表示对象是激活的,可以将 该对象的生命线拓宽成为矩形。其中的矩形 称为激活条或控制期,对象就是在激活条的 顶部被激活的,对象在完成自己的工作后被 去激活。

如果要撤销一个对象,只要在其生命线终止点 放置一个“X”符号即可,该点通常是对删除 或取消消息的回应。
当用户登录失败后,将创建一个MessageBox 对象以提示用户登录错误。
递归:当一个操作调用它自身时,递 归就会出现。

当一个操作调用它自身时,所产生的消息总是 同步的,因此在顺序图中总是将递归的消息绘 制成同步消息。
例子: 汽车和车钥匙

能够遥控锁车和开锁的车钥匙 车主按下“锁车”按钮时,汽车自动上锁,闪动 一下车灯并发出一声蜂鸣,告诉你它已经把车门 上锁了。 CarOwner(车主) Car(汽车) CarKey(车钥匙)


接收信号 信号
顺序图中使用异步消息符号来对这两个信号建模。
例题:
注意:


当执行一个用例行为时,时序图中的每条消息对 应了一个类操作或状态机中引起状态转换的触发 事件。
时序图将交互关系表示 为一个二维图。 横轴代表了在协作中各 独立的对象。 纵轴是时间轴,时间沿 竖线向下延伸。 沿时间方向按时间递增 顺序列出个对象所发出 和接收的消息。
:AddBookDialog Administrator AddBook() findTitle() newBook() :Book :Title

激活条
10.2.4 消息

消息定义的是对象之间某种形式的通信,它可以激发 某个操作、发送信号或导致目标对象的创建或撤销。 消息是两个对象之间的单路通信,从发送方到接收方 的控制信息流。 消息可以用于在对象间传递参数。



消息可以是信号(对象间的异步通信),也可以是调 用(具有返回控制机制的同步调用)。 在UML中,消息使用箭头来表示,箭头的类型表序图的组成 10.3 对象的创建和撤销 10.4 顺序图中的时间建模 10.5 建模迭代 10.6 顺序图建模步骤 10.7 帧化顺序图:UML2.0中的顺序图 10.8 实例——图书馆管理系统的时序图
10.1
10.1 概述

用例图描述系统需求,类图描述组成系统结构的各 种类型。但单凭用例和类还无法描述系统实际上的 运行情况。使用交互图可以对其进行补充,为系统 各部分交互进行建模。


自调用(反身消息)(Self Call):一个对象将一个 消息发送给它本身。 在反身消息里,消息的发送方和接收方是同一个对象。

对象可以自己发消息给自己,自调用消息,递归调用。 UML中,激活的控制条被以重叠的方式表示出来。

在UML中,消息可以包含条件以限制它们只 在满足条件时才能被发送。条件显示在消息名 前的方括号中。
问题: 阻止消息和超时消息属于同步消息还是异步消息?
消息的语法格式

UML中规定消息的语法格式为:


必须先发生的消息列表。 条件,在一个方括号中的布尔表达式,表示只有 在条件满足时才能发送该消息。 消息顺序号,可能有多个消息顺序项。
表示有三个线程A B C。在发送线程 C的第2个消息前,必须先发送线程A 的第3个消息和线程B的第4个消息。

10.5 建模迭代


通过建模迭代可以实现消息的重复执行。在顺 序图中,建模人员常用的建模迭代消息是通过 一个矩形把重复执行的消息包括在矩形框中, 并且提供一个控制重复执行的控制条件。 如图所示重复执行的消息。
:DisplayDialog getTitleInfo() Borrower Loan Book
addBook()

汽车租赁系统中客户取车的时序图
取车的动作是从客户向工作人员提出取车要求并出示清 单开始,工作人员检查客户的预定申请,确认后顾客付 款。工作人员填写工作记录,同时登记汽车的状态,最 后客户取车。
10.2 时序图的组成
① ② ③ ④
时序图包含了4个元素: 对象(Object) 生命线(Lifeline) 消息(Message) 激活(Activation) /(控制焦点 focus of control)

一个用例可对应多个顺序图。 通常来说,一个完整的控制流有时是很复杂的, 随意,将一个大的控制流分为几个部分放在不 同的顺序图中是比较合适的。 一些顺序图用来描述主要事件流,另一些可以 用来描述可选择的路径或例外条件,然后用包 来组织这些顺序图的集合。


10.6 补充知识 帧化顺序图:UML2.0中的顺序图
par
break
片段中的各个交互并行执行。 当包含在break片段中的交互发生时,则退出 任何一个交互。类似于程序设计语言中的 break语句
。。。
ref 交互片段---(reference)

为一个用例的多个场景创建实例顺序图,图和图 之间的相当一部分内容是重复的。 ref交互片段能够在一张顺序图中快速容易地复用 另一张顺序图的部分内容。 使用方法:使用ref交互片段并写明引用的交互图 的名称。 ref交互片段也叫做交互事件(interaction occurrence)。

交互片段类型 ref loop opt alt
作用
分解大型的顺序图,类似于用例关系中的 include(程序设计语言中的文件包含)
循环执行该片段内的交互,直到判断条件为假。 类似于程序设计语言中的循环语句。 包含在此片段中的交互只有在判断条件为真时 才执行。 根据判断条件,选择片段中的一个交互执行。 类似与程序设计语言中的if..else语句



这种情况发生在两个应用程序通过网络相互 通信时。如图
OjectA Message1
ObjectB
Message2

一个消息需要一段时间才能完成的最好示例是 使用电子邮件服务器进行通信。 因为电子邮件服务器是外部对象,具有潜在的 消耗通信时间的可能性,可以把发送到电子邮 件服务器和从中接收到的消息建模为耗时的消 息。

与调用消息相比,异步消息在箭头符号上不同。

在登录时使用异步消息。 处于对系统安全的考虑, 在登录时使用一个日志 文件,以记录用户的登 录操作。
使用异步消息创建日志 时,对系统的操作不需 要等待到对日志文件操 作完成之后进行,这样 可以提高系统响应的速 度。 最常见的实现异步消息 的方式是使用线程。当 发送该异步消息时,系 统需要启动一个线程在 后台运行。

帧化的概念很有用,有多种应用方法,不同的应 用帧化类型(间隔区操作符)对应不同。
交互片段(interaction fragment)

交互片段是UML2.0中对一个顺序图的某一段 的一般的称呼。 画法和帧化整个顺序图是相似的。只是在间隔 区中,不同类型的交互片段,其片段类型(操 作符)也不同。

UML2.0针对顺序图添加了一个有用的改动。 帧化一个顺序图:用一个边框包围它,并在其 左上角添加一个间隔区。这个间隔区包含了识 别该顺序图的信息。 间隔区中,有操作符(描述帧中的图的类型的 表达式)和图所描绘的交互的名字。


间隔区: 对于一个顺序图,操作 符是 sd (sequence diagram). BuySoda是交互的名字。



如果异步消息有返回消息,必须明确表示出来。

Rose 还对消息类型做了扩充,增加了阻止消 息(Balking)和超时消息(Timeout)。
阻止消息是指消息发送者发送消息给接收者, 如果接收者无法立即接收消息,则发送者放弃 这个消息。


Rose中用折回的箭头表示阻止消息。

超时消息指消息发送者发出消息给接收者并按 指定时间等待。如果接收者无法在指定时间内 接受消息,则发送者放弃这个消息。
相关文档
最新文档