《统一建模语言(UML)》第4章顺序图与协作图精品PPT课件

合集下载

第4章顺序图和协作图

第4章顺序图和协作图
超时(Time-out) ※如果接收者无法在指定的时间内接收消息,则发送者 放弃该消息
Q:这两种消息可以看做是同步or异步消息?
UML
- 24 -
•消息
格式
[前缀][警戒条件][顺序表达式][返回值:=]消息名([参数列表])
例:
2: display ()
简单消息
1.3.1: p:=find()
信息亭发Request (count, performance)消息给售票中心,表示调用售票中心类的Request (count, performance)操 作,来查询演出的信息。
售票中心发Show Available(seat-list)消息给信息亭,表示调用信息亭类中的Show Available(seat-list)操作,给出 可用的座位表。…………
UML
- 17 -
4.2 顺序图
复杂的例子
信息亭
售票中心
信用卡服务
从这个例子中可以看出: Kjosk类中的操作有
Show Available (seat-list) Demand Payment (cost) printtickets (performance, seats) eject card Box Office中的操作有 Request (count, performance) Select Seats Insert Card (Card Number) authorized Credit Card Service类中的操作有 charge(card number, cost)
※发送者把消息发送后,等待直到接收者返回控制,可 以表示同步;
※实心箭头符号
UML
- 20 -
•消息

第4章-顺序图和协作图PPT课件

第4章-顺序图和协作图PPT课件

Sequence
-
Class (Complex)
Object
Collaboration
3
4.1 交互图概述(interaction diagram)
• 在对软件密集型(software-intensive)系统建模时, 如何对它的动态(模型)方面建模?怎样才能可 视化一个运行的系统?
• 交互图(interaction diagram)是一种详细表示对 象之间以及对象与系统外部的参与者(actor)之间 动态联系的图形文档。
例:超时消息的表示符号。
-
21
例:一些消息的例子
2: display (x, y) 1.3.1: p:= find(specs) 4 [x < 0] : invert (x, color) 3.1*: update ( ) A3,B4/ C2: copy(a,b)
简单消息 嵌套消息,消息带返回值 条件消息 循环消息 线程间同步
第4章 顺序图和协作图 (交互图)
2009年9月1日
-
1
主要内容
顺序图 协作图(通信图) 实例分析-课程注册系统
-
2
UML 1.x中各种图的关系
Activity
State
Requirement
Use case
Class (Simple)
Requirement阶段 Analysis阶段 Design阶段
语义:必须先发生的消息的列表。
• sequence-expression: is a dot-separated list of sequence-terms followed by a colon (‘:’): sequence-term ‘.’ . . . ‘:’ , 每个sequenceterm的语法格式为:

第4章 顺序图和协作图

第4章 顺序图和协作图

4.3.5 消息的语法格式
□ UML中规定的消息语法格式如下: [predecessor] [guard-condition] [sequenceexpression] [return-value := ] message-name([argument-list])
4.3.5 消息的语法格式
□ 上述定义中用方括号括起来的是可选部分,各语 法成分的含义如下。 □ predecessor:必须先发生的消息的列表。其中消息 列表中的各消息号用逗号分隔,格式如下: sequence-number ','... '/' guard-condition:警戒条件,是一个在方括号中的布 尔表达式,表示只有在guard-condition满足时才能 发送该消息。格式如下: '[' Boolean-expression ']' □ 这里的方括号放在单引号中,表示这个方括号是 一个字符,是消息的组成部分。
4.7 顺序图和协作图的比较
□ 和协作图相比,顺序图在表示算法、对象 的生命期、具有多线程特性的对象等方面相 对来说更容易一些,但在表示并发控制流方 面会困难一些。
4.7 顺序图和协作图的比较
□ 顺序图和协作图在语义上是等价的,两者 之间可以相互转换,但两者并不能完全相互 代替。顺序图可以表示某些协作图无法表示 的信息,同样,协作图也可以表示某些顺序 图无法表示的信息。例如,在顺序图中不能 表示对象与对象之间的链,对于多对象和主 动对象也不能直接显示出来,在协作图中则 可以表示;协作图不能表示生命线的分叉, 在顺序图中则可以表示。
: Driver oper() : Car
: Driver oper() : Car

第4章 顺序图和协作图

第4章 顺序图和协作图

第4章顺序图和协作图4.1 交互图概述交互图(interaction diagram)是用来描述对象之间以及对象与参与者(actor)之间的动态协作关系以及协作过程中行为次序的图形文档。

它通常用来描述一个用例的行为,显示该用例图中所涉及的对象和这些对象之间的消息传递情况。

交互图包括顺序图(sequence diagram)和协作图(collaboration diagram)两种形式。

顺序图着重描述对象按照时间顺序的消息交互,协作图着重描述系统成分如何协同工作。

顺序图和协作图从不同的角度表达了系统中的交互和系统的行为,它们之间可以相互转化。

一个用例需要多个顺序图或协作图,除非特别简单的用例。

交互图可以帮助分析人员对照检查每个用例中所描述的用户需求,如这些需求是否已经落实到能够完成这些功能的类中去实现,提醒分析人员去补充遗漏的类或方法。

交互图和类图可以相互补充,类图对类的描述比较充分,但对象之间的交互情况的表达不够详细;而交互图不考虑系统中的所有类及对象,但可以表示系统中某几个对象之间的交互。

需要说明的是,交互图描述的是对象之间的消息发送关系,而不是类之间的关系。

在交互图中一般不会包括系统中所有类的对象,但同一个类可以有多个对象出现在交互图中。

4.2 顺序图顺序图也称时序图。

Rumbaugh对顺序图的定义是:顺序图是现实对象之间交互的图,这些对象是按时间顺序排列的[RJB99]。

特别地,顺序图中显示的是参与交互的对象,及对象之间消息交互的顺序。

如图4.1所示是一个简单的顺序图例子。

图4.1 顺序图顺序图是一个二维图形。

在顺序图中水平方向为对象维,沿水平方向排列的是参与交互的对象。

其中对象间的排列顺序并不重要,但一般把表是参与者的对象放在图的两侧,主要参与者放在最左边,次要参与者放在最右边(或表示人的参与者放在最左边,表示系统的参与者放在最右边)。

顺序图中的垂直方向为时间维,沿垂直向下方向按时间递增顺序列出各对象所发出和接收的消息。

统一建模语言UML课件-顺序图

统一建模语言UML课件-顺序图
scenario, another condition necessitates others.
Sequence Diagrams: The Generic Sequence Diagram
The guard conditions provide essentially the same information as the return messages.
number2 : Number)
two arguments, number1 and number2, which
are both of class Number.
doSomething( ) : ReturnClass
myVar = doSomething( ) : ReturnClass
The message's name is doSomething; it takes no arguments and returns an object of class ReturnClass.
顺序图
What Is a Sequence Diagram?
The sequence diagram consists of objects represented in the usual way (as named rectangles with the name underlined),
messages represented as solid-line arrows, and time represented as a vertical progression.
The customer inserts the money into the money slot in the front of the machine and makes a selection The money travels to the register, which updates itself. Bacause this is the best scensrio, an availability check reveals the soda is in stock, and the register has the dispense release the soda to the front of the machine.

第4章顺序图和协作图

第4章顺序图和协作图

对象的创建和撤销
如果对象位于时序图的顶部,说明在交互 开始之前该对象已经存在了。如果对象是 在交互的过程中创建的,那么它应当位于 图的中间部分。 对象在创建消息发生之后才能存在,对象 的生命线也是在创建消息之后才存在的。
对象的创建和撤销
创建对象的两种表示方法(zj:被创建的对象比原来就有的 对象低):
加粗边框

链是关联的实例,当一个类与另一个类之间有关 联时,这两个类的实例之间就有链,一个对象就 能向另一个对象发送消息。所以链是对象间的发 送消息的路径(zj:信息通道)。 要在协作图中增加消息,必须先建立对象之间的 链接。 消息显示在链的旁边,一个链可以有多个消息 类间可能有不止一种类型的关联,因此可以存在 多个链
4: create(Integer, Title)
2. 图书管理员处理借书的时序图 (不包括预留书籍的情况)
3. 系统管理员删除书目的时序图
4. 借阅者预留书籍的时序图
theBorrower : Borrower 1: Login Web Application theTitle : Title
2: find(String)
3: Return true
4: reserve( )
4.11实例—图书馆管理系统的协作图
1. 2. 3. 4. 5. 系统管理员添加书籍的协作图 图书管理员处理借书的协作图 图书管理员处理还书的协作图 系统管理员删除书籍的协作图 借阅者预留书籍的协作图
1. 系统管理员添加书籍的协作图
3:buyBook( bookID)
3:buyBook( bookID)
返回消息
表示控制流显式地从接收消息的对象返回。 图形表示
3:buyBook( bookID)

UML顺序图ppt课件

UML顺序图ppt课件

getCustomerInput(cash,selection) checkAvailability(selection)
returnCash(cash)
Sold out
displayPrompt("sold out")
23
零钱数量不对的场景
这种场景是顾客多给钱的场景。比如可 乐3块,投入了4块。饮料机可以把多的 钱找回给顾客。
displayPrompt("use correct change)
26
练习
“发传真”用例的最理想的场景。 其中对象包括:发送方传真、接受方传 真、传真件和一台用来对传真和电话呼 叫选择路由的中央“交换机”。
27
发传真类似打电话
打电话
主叫
被叫
主叫拿起电话,拨被叫电话号码,通过交换机向 双方发电话铃声,被叫接电话,铃声停止。
[2] Joseph Schmuller.UML基础、案例与应 用.人民邮电出版社,2004,8:P90-105
38
}
tv.close();
…..;
}
}
}
31
消息的代码表示 tv.close();
消息= 接受对象名+接受者能做的操 作
32
顺序图中的消息
调用消息 异步消息 返回消息 阻止消息:消息发送者发出消息给接收者,如
果接收者无法立即接收消息,则发送者放弃该 消息。 超时消息:消息发送者发出消息给接收者并按 指定时间等待,如果接收者无法在指定时间内 接收消息,则发送者放弃该消息。
28
使用UML表示
caller
exchange
receiver
1: lift receiver

统一建模语言第4章顺序图和协作

统一建模语言第4章顺序图和协作

1. 顺序图
它描述对象按时间顺序的消息交换过程,它体现出系 统用例的行为。
2. 协作图
它描述对象间的组织协作关系,它也可体现出系统用 例的行为。
整理ppt
4
第四章 顺序图和协作图
• 顺序图
– 顺序图的定义
– 顺序图的符号
– 顺序图的消息
– 顺序图的其他技术
– 帧化顺序图
– 顺序图的建模方法
• 协作图
同步消息
整理ppt
15
顺序图的符号(续)
(2)异步消息 异步消息(Asynchronous message)用于控制流
在完成前不需要中断的情况。异步消息的发送者把控 制传递给消息的接收者,然后继续自己的活动,不需 等待接收者返回信息或控制。
下面示例演示了如何在登录文件的情况下使用异 步消息。
整理ppt
分支允许控制流走向不同的对象,如下图所示。
整理ppt
27
顺序图的其他技术
注意消息的开始位置是相同的,分支消息的结束“高度” 也是相等的。这说明在下一步中,其中之一将会执行,如下图 所示。
整理ppt
28
顺序图的其他技术
从属流还允许控制流根据条件改变,但是只允许控制流改变为相 同对象的另一条生命线分支,如下图所示。
整理ppt
2
顺序图的定义
在标识出系统的类图之后,仅给出了实现用例的组成 结构,这时还需要描述这些类的对象是如何交互来实现用例 功能的。即不但需要把用例图模型转化为类图模型,还要将 它转化为交互图模型。
交互图表示类(对象)如何交互来实现系统行为。交互 图具有顺序图和协作图两种形式。
整理ppt
3
顺序图的定义(续)
– 协作图的定义

顺序图和协作图 (2)ppt课件

顺序图和协作图 (2)ppt课件

度最短的。然后,它创建一个作业命令,并将该命令放入对应电梯的工作队列,接着激活
队列。电梯对象并发运行,从它的队列中选择一个作业并执行。电梯是一个活动对象,它
与它的控制线程并发执行。
33
2. 请对比协作图与其相应的顺序图,做练习题。
: Actor
Push( )
:button
:Elevator Control
9
顺序图 — 汽车和车钥匙(举例) ◇ 类图
10
顺序图 — 汽车和车钥匙(举例)
◇ 顺序图
保护条件, UML中表示“if”
条件的方式
11
顺序图 — 饮料销售机(举例)
12
顺序图 — 饮料销售机(举例)
◇ 类图
前端(Front): ➢ 接受顾客的选购和现钞; ➢ 输出一些提示消息; ➢ 从记录仪接受找回的零钱并返还
18
顺序图 — 帧化顺序图:UML2.0中的顺序图
◇ 交互事件(interaction occurrence)
操作符为ref(reference)
19
顺序图 — 帧化顺序图:UML2.0中的顺序图
◇ 交互片断(interaction fragment)的组合
操作符有alt(alternation)和par(parallel)
每个场景的最终消息前 边加上《Transaction
over》
16
顺序图 — 在消息序列中创建对象实例
17
顺序图 — 帧化顺序图:UML2.0中的顺序图
◇ 操作符 顺序图操作符为sd(sequence diagram) 帧化顺序图的必要性: 1)如果你为一个用例的多个场景创建实例顺 序图,你会注意到图与图之间相当的一部分 内容是重复的。 2)帧化的方法使你能够在一张顺序图上快速 容易复用另一种顺序图的部分内容

顺序图和协作图

顺序图和协作图
顺序法:用简单编号方案,从1开始, 由小到大,顺序排列。
层次法:用小数点制编号方案,此时 常常要求表示系统号、子系统号和模 块号。UML使用了小数点方案。
:订单提交窗口
1:prepare()
对象 消息
时序号
:订单
2*:prepare()
电视栏目:订单项
3:check()
5:needsToRecorder()
enterItem(UPC,quanlity)
endSale()
makePayment(amount)
Caller 时间轴
Operator call
ack
number call
transfer
ack talk
Callee
顺序图 角色
生命线
激活
状态 保持
顺序图的可视化图符
可视化图符 名 称
描述
Object:Class
带有生命 线的对象
用于表示顺序图中参与交互的对象,每
个对象的下方都带有生命线,用于表示 该对象在某段时间内是存在的。
激活的 对象
用于表示对象正执行某一动作,在对象
的生命线之间发送消息的同时即激活对 象。
分支 生命线可以劈分成多条生命线,用于表 生命线 示条件,接收分支消息。
删除标志
标于生命线或激活上。表示已删除该对 象或活动的执行。
如果消息发送给多个对象,则用多重对象 表示
在顺序图中仍然显示单对象的图标
主动对象
主动对象:一组属性和一组方法的封装体, 其中至少有一个方法不需要接受消息就能 主动执行,即主动对象可以在不接受外部 消息的情况下自己开始一个控制流
消息执行顺序的编号方案
协作图中最常用的消息执行顺序的编号方 案有两种:

UML课件4 顺序图与协作图课件

UML课件4 顺序图与协作图课件

1. enterItem(int, int)
1.1. //[isN1.1e.1. //wcreatSe() ale()]create()
1.2. getSpecification(int)
public void enterItem(int upc,int qty)
1.3. ma{ keLineItem(ProductSpecification, int)
? Q:这两种消息可以看做是同步or 异步消息?
4.2.5 消息
? 格式
[ ][ ][ ][ ([ ? 前缀 守卫条件 顺序表达式 返回值:=]消息名 参数列表])
? 例:
? 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)
? 一个顺序图的消息流开始于左上方,消息2 的位置比消息1低,这意味着消息2的顺序 比消息1要迟。因为西方的阅读习惯是从左 到右。
? 顺序图中消息编号可显示,也可不显示。 协作图中必须显示。
4.2.5 消息
? UML三种消息:
? 调用(Procedure Call ) ? 异步(Asynchronous ) ? 返回(Return )
? Procedure Call 和Synchronous 和都可表示同 步,UML早期版本用“同步消息”这一术语,目 前常用Procedure Call 消息表示同步
? Return不变 ? 新增balking和time-out 消息
4.2.7 建立顺序图的步骤

时序图和协作图PPT课件

时序图和协作图PPT课件
⑤ 设置对象的激活期,可视化消息的嵌套或可视 化实际计算发生时的时间点。
⑥ 如果需要设置时间或空间的约束,可以为每个 消息附上合适的时间和空间约束。
⑦ 如果需要形式化的说明某控制流,可以为每个 消息附上前置和后置条件。
2021/7/23
24
7.4 时序图建模实例
例:图书管理系统时序图建模
1.添加借阅者
❖ 在UML中,时序图用一个二维图描述系统 中各个对象之间的交互关系。其中,纵轴
是时间轴,时间沿竖线向下延伸,由上至
下表示时间的先后顺序。横轴代表了参与 相互作用的对象。
❖ 当对象存在时,生命线由一条虚线表示;
当对象的过程处于激活状态时,生命线上
用一个激活条表示。消息用从一个对象到
另一个对象生命线的箭头表示,箭头以时
第7章 时序图
❖ 系统或对象的动态模型主要包括状态模型 和交互模型。
❖ 状态模型用来描述系统或对象的动态行为, 用状态图和活动图进行描述,因此状态图和 活动图又统称为行为图;
❖ 交互模型主要用来帮助人们观察和分析系 统的交互行为,用时序图和协作图进行描述, 因此时序图和协作图又统称为交互图。
2021/7/23
❖ 消息流上标有消息的序号和对象间发送的消 息,消息的序号表明了消息发送的先后顺序。
❖ 一条消息会触发接收对象中的一项操作。
2021/7/23
36
对象
1: Create()
2: Return Message
2021/7/23
20
❖ 在新创建的对象时,都可以发送“destroy”消息 来撤销新创建对象。
❖ 要想说明某个对象被撤销,需要在被撤销对象的 生命线末端放一个“×”符号进行标识。
ObjectA

顺序图与协作图

顺序图与协作图

6.1.1 顺序图概述
• 顺序图主要用于按照交互发生的一系列顺序,显 示对象之间的这些交互。很象类图,开发者一般 认为顺序图只对他们有意义。然而,一个组织的 业务人员会发现,顺序图显示不同的业务对象如 何交互,对于交流当前业务如何进行很有用。除 记录组织的当前事件外,一个业务级的顺序图能 被当作一个需求文件使用,为实现一个未来系统 传递需求。在项目的需求阶段,分析师能通过提 供一个更加正式层次的表达,把用例带入下一层 次。那种情况下,用例常常被细化为一个或者更 多的顺序图。在UML图中,顺序图与用例图和类 图之间关系如图6.1所示。
• 本节主要介绍顺序图的概念、基本组成机建模过 程。
6.1.1 顺序图概述
• 顺序图(sequence diagram)是强调消息时间顺序 的交互图,它描述了对象之间传送消息的时间顺 序,用于表示用例中的行为顺序。顺序图将交互 关系表示为一个二维图。横向轴代表了在协作中 各独立对象的类元角色。纵向轴是时间轴,时间 沿竖线向下延伸。
⑴图书管理员处理借书顺序图 图书管理员收到借阅者的借书申请时,首先验明借
阅者的身份,如果没有问题,则查找借阅书目, 如果借阅者没有超出最大借阅数量,则开始借阅 并更新书籍列表信息,借阅成功。 图书管理员处理借书顺序图如图6.20所示。
送的消息称为异步消息。消息发送者通过消息把 信号传递给消息的接收者,然后继续自己的活 动,不等待接受者返回消息或者控制。异步消息 的接收者和发送者是并发工作的。
图6.8 异步消息符号
6.1.2 顺序图的基本内容
• ③返回消息(Return Message) • 返回消息表示从过程调用返回。
图6.9 返回消息图标
图6.10 创建对象
6.1.2 顺序图的基本内容

第四章 顺序图和协作图(UML)

第四章 顺序图和协作图(UML)

系统操作员
门店退货模块
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
26
第 四 章 顺 序 图 和 协 作 图
4.7 顺序图和协作图的比较
顺序图和协作图都属于交互图,都用于描述系统中对象间的动态关 系。两者一般可以互换。 两者不同的地方: • 顺序图有生命线 生命线表示一个对象在一段时期内的存在,正是因为这个特性,使 用顺序图适合对象之间消息的时间顺序 • 顺序图有激活期 激活期代表一个对象直接或间接的执行一个动作的时间,激活矩形 的高度民主代表激活持续时间. • 协作图有路径 为了说明一个对象如何与另一个对象链接,可以在链的末路附上一 个路径造型 • 协作图有序列号
20
第 四 章 顺 序 图 和 协 作 图
4.5 协作图
链接:用来连接对象,实现传输或实现消息 的传递。 消息显示在链接旁边,一个链上可以有多个消息。
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
21
第 四 章 顺 序 图 和 协 作 图
4.5 协作图
消息流:消息流代表协作图中对象间通过链 接发送的消息。消息由一个对象发出由消息所指 的对象接收。 消息流上标有消息的序列号和类角色间发送的消 息。一条消息会触发接受对象中的一项操作。
第四章 顺序图和协作图
教学目标:了解顺序图、协作图的组成部分, 及两者的关系 教学要求:能建立简单的顺序图和协作图
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
1
顺序图和协作图
4.1 交互图的概述
在建立好系统的静态模型的基础后,就要建 立需求分析和设计系统的动态结构,建立动态模 型。动态模型描述了系统随时间变化的行为。动 态模型主要是建立系统的交互图和行为图

UML顺序图和协作图

UML顺序图和协作图
模块。 5)客户管理模块向事务管理模块请求确认密码的合法性。 6)事务管理模块向客户管理模块确认密码的合法性。 7)客户管理模块通过显示屏向客户显示输入服务类别请求。 8)客户通过输入设备输入取款请求,并传递给客户管理模块。 9)客户管理模块通过显示设备询问客户取款数额。 10)客户通过输入设备输入取款数额,并传递给客户管理模块。 11)客户管理模块通过显示设备向客户询问取款确认。 12)客户通过输入设备向客户管理模块传递确认信息。 13)客户管理模块向事务管理模块请求数额合法性确认。 14)事务管理模块向客户管理模块确认数额合法性。 15)事务管理模块向点钞机发出出钞请求。 16)点钞机出钞。 17)客户取钞。 18)客户取出ATM卡(银行卡)。
对上述步骤建模的顺序图如下:
: Customer
: Front
: Register
: Dispenser
1: accept(cash,selection) 2: getCustomerInput(cash,selection)
3: check(selection) 4: yes
5: updateReserve(cash,price)
:ClassA
:ClassB
oper()
返回消息
返回消息表示从过程调用 返回,以虚线箭头表示。
:ClassA
:ClassB
oper()
阻止消息
阻止消息是指消息发送者发出消息给接收者, 若接收者无法立即接收消息,则发送者放弃此 消息。Rose中用折回的箭头表示阻止消息。
:ClassA
:ClassB
场景描述
曹操 :刘备
:孔明
求战 请拟策略
:关羽
:张飞 孙权
请防守荆州

UML 序列图(顺序图)和协作图

UML 序列图(顺序图)和协作图

UML图学习序列图(顺序图)和协作图分类:UML 2012-11-30 16:42 2528人阅读评论(19) 收藏举报在面向对象动态建模,用于建立行为的实体间行为交互的四种图:状态图(Stage Diagram),序列图(Sequence Diagram),协作图(Communication Diagram),活动图(Activity Diagram) ,其中,“顺序图”与“协作图”表述的是相似的消息。

序列图(Sequence Diagram)强调的消息时间顺序的交互图,描述类系统中类与类之间的交互,它将这些交互建模成消息互换,换句话说,顺序图描述了类与类之间之间相互交换以完成期望行为的消息。

顺序图的特点是清晰,一个设计很好地顺序图从左到右、从上到下可以很好地表示出系统数据的流向,为接下来的系统设计做好铺垫。

协作图(Collaboration Diagram /Communication Diagram,也叫合作图)是一种交互图(interaction diagram),强调的是发送和接收消息的对象之间的组织结构。

一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。

对象通常是命名或匿名的类的实例,也可以代表其他事物的实例,例如协作、组件和节点。

使用协作图来说明系统的动态情况。

1、序列图(顺序图)的知识点概要:点此看大图2、协作图知识点概要:点此看大图3:顺序图(1)先从图书馆借/还书角度了解顺序图从顺序图的流程中,清晰到了解程序的过程,十分清晰明了(2)从地铁购票的活动中来看顺序图根据机房收费系统来画的部分顺序图(3):一般用户角度查询信息。

(4):操作员注册新的学生账号(5)管理员的基本系统数据的的设定4、协作图(1)结合刚才的图书馆借/还书的过程。

根据序号可以发生的先后顺序(2)从地铁购票的角度来学习协作图(3)结合机房收费系统角度画的协作图一般用户查询信息:(4)操作员注册卡(5)管理员修改基本数据5、协作图与顺序图的区别和联系协作图和顺序图都表示出了对象间的交互作用,但是它们侧重点不同顺序图清楚地表示了交互作用中的时间顺序(强调时间),但没有明确表示对象间的关系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
integer为指定消息顺序的序列号,消息1是消息序列的 开始消息消息,1.1是消息1的处理过程中的第一条嵌套 的消息,消息1.2是消息1的处理过程中的第二条嵌套的 消息,一个消息序列的例子如1, 1.1, 1.2, 1.2.1, 1.2.2, 1.3, 等。这样的序列号不仅能够表示消息的顺序而且还 能表示消息的嵌套关系(当消息是异步消息时消息为嵌套 的操作调用及返回)
name表示并发控制线程,例如1.2a和1.2b为同时发送 的并发消息
recurrence表示一个条件或迭代的执行有两种选择 * [ 循环子句 ] 循环子句(iteration-clause)用来指定一个循环(重复执行) 例如:一个包括循环的消息 1.1 *[x = 1..10] : doSomething()
4.2.3 生命线
生命线(Lifeline):
每个对象都有自己的生命线,用来表示在该用例中一个对 象在一段时间内的存在
垂直的虚线 如果对象生命期结束,则用注销符号表示 对象默认的位置在图顶部,表示对象在交互之前已经存在 如果是在交互过程中由另外的对象所创建,则位于图的中
间某处。
4.2.4 激活期
4.2.5 消息
自调用(Self Call)
某对象自己调用自己的操作 UML标记 (嵌套的矩形条)
Rose标记
4.2.5 消息
Rose新增消息
阻止(Balking) 接收者如果无法立即接收消息,则发送者放弃该消息
超时(Time-out) 如果接收者无法在指定的时间内接收消息,则发送者放 弃该消息
Q:这两种消息可以看做是同步or异步消息?
4.2.5 消息
格式
[前缀][守卫条件][顺序表达式][返回值:=]消息名([参数列表])
例:
2: display ()
简单消息
1.3.1: p:=find()
带返回值的嵌套消息
[x<0] 4: invert(x, color) 条件消息
3.1 *[x = 1..10] : update() 循环消息
4.2.5 消息
UML三种消息:
调用(Procedure Call) 异步(Asynchronous) 返回(Return)
Rose扩充:
阻止(Balking) 超时(Time-out)
4.2.5 消息
UML三种消息:
调用(Procedure Call) 发送者把消息发送后,等待直到接收者返回控制,可以表示同步; 实心箭头符号
结构化程序设计中,模块间传递信息的方式主 要是过程(或函数)调用。
对象A向对象B发送消息,可以简单地理解为 对象A调用对象B的一个操作(operation)。
4.2.5 消息
顺序图中,尽力保持消息的顺序是从左到右排列的。 一个顺序图的消息流开始于左上方,消息2的位置比消息1
低,这意味着消息2的顺序比消息1要迟。因为西方的阅读 习惯是从左到右。 顺序图中消息编号可显示,也可不显示。协作图中必须显 示。
激活期(activation)/控制焦点(focus of control)
对象在一段时间内获得了焦点,也称激活期 对象执行某个动作的时期 空心矩形条 激活期的长短意味着对象执行某个动作的时间有多长,可以通过约束
{10ms}来限制执行时间的长短。
4.2.5 消息
面向对象方法中,消息是对象间交互信息的主 要方式。
顺序图
面向时间描述对象交互的图
协作图
对象间消息的结构化视图
4.2 顺序图
按照时间顺序显式对象之间交互的图
4.2.1 顺序图的组成
活动者(actor)或者 对象(object) 生命线(lifeline) 激活(activation)/ 控制焦点(focus of control) 消息(message)
发消息给线程a和b
守卫条件(guard-condition)
语法: [ 条件短语 ] 条件短语通常用伪代码或真正的程序语言来表示,UML并不规定其语法 例如,[x<0] 4: invert(x, color)
序列表达式 (sequence-expression)
语法 [integer | name] [recurrence] :
4.2.5 消息
UML三种消息:
异步(Asynchronous) 消息发送后,发送者继续操作,不等待,常用于并发;
4.2.5 消息
UML三种消息:
返回(Return) 表示消息的返回。消息上方放置返回值 同步消息的返回可以画出(如果想明确表达返回 值),也可以不画出,直接隐含。 异步消息可以有返回,也可以没有。(可以响应异 步消息,也可以不响应该异步消息。) 如果顺序图上显示有编号,则返回消息的编号和当 初发送消息的编号完全一样。 虚线箭头表示,和依赖关系不要混淆
4.2.2 活动者或对象
活动者和对象按照从左到右的顺序排列 一般最多两个活动者,他们分列两端。启动
这个用例的活动者往往排在最左边;接收消 息的活动者则排在最右端; 对象从左到右按照重要性排列或按照消息先 后顺序排列。来自4.2.2 活动者或对象
对象的命名方式有三种:
包括对象名和类名 类名(匿名对象) 对象名(不关心类)
《统一建模语言(UML)》
第4章 顺序图与协作图
4.1 交互图概述
Interaction diagram,是描述对象之间的关系和对象之间 的信息传递的图;
通常用来描述一个用例的行为,实现一个用例,完成对系 统的动态行为建模;
包含两种:
顺序图(或时序图,sequence diagram) 协作图(collaboration diagram)
a3,b4/c2: copy(a,b)
线程同步
1.1a, 1.1b/1.2: continue() 带前缀消息
在发送线程c的第2个消 息之前,必须先发送线 程a的第3个消息和线程b 的第在4发个送消消息息1.2之前必须
已经同时发送并发消息给 线程a和b
前缀(predecessor)
语法:消息序列号,消息序列号, ... / 前缀是一个用来同步线程或路径(path)的表达式 意思是在发送当前消息之前指定序列号的消息被处理(必须连续执行) 消息序列号之间用逗号隔开,用斜杠结束 例如 1.1a, 1.1b/1.2: continue() ,在发送消息1.2之前必须已经同时发送并
相关文档
最新文档