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