顺序图和协作图.ppt

上传人:b****2 文档编号:2210433 上传时间:2022-10-27 格式:PPT 页数:74 大小:998.50KB
下载 相关 举报
顺序图和协作图.ppt_第1页
第1页 / 共74页
顺序图和协作图.ppt_第2页
第2页 / 共74页
顺序图和协作图.ppt_第3页
第3页 / 共74页
顺序图和协作图.ppt_第4页
第4页 / 共74页
顺序图和协作图.ppt_第5页
第5页 / 共74页
点击查看更多>>
下载资源
资源描述

顺序图和协作图.ppt

《顺序图和协作图.ppt》由会员分享,可在线阅读,更多相关《顺序图和协作图.ppt(74页珍藏版)》请在冰豆网上搜索。

顺序图和协作图.ppt

顺序图和协作图顺序图和协作图交互图概述交互图概述交互图交互图(interactiondiagram)是用来描述对象之间以是用来描述对象之间以及对象与参与者之间的动态协作关系以及协作过程中及对象与参与者之间的动态协作关系以及协作过程中行为次序的图形文档行为次序的图形文档.交互图通常用于描述一个用例的行为交互图通常用于描述一个用例的行为,显示该用例中所显示该用例中所涉及的对象及对象之间消息传递情况涉及的对象及对象之间消息传递情况.交互图包括交互图包括:

(1)顺序图顺序图(sequencediagram),描述对象按照时间顺描述对象按照时间顺序的消息交换序的消息交换;

(2)协作图协作图(collaborationdiagram),描述系统成分如描述系统成分如何协同工作何协同工作.顺序图顺序图1.顺序序图顺序序图也称也称为时序序图,它描述了系,它描述了系统中中对象象间通通过消息消息进行的行的交互,它交互,它强调了消息在了消息在时间轴上的先后上的先后顺序。

序。

2.顺序序图的作用的作用顺序序图常用来描述用例的常用来描述用例的实现,它表明了由哪些,它表明了由哪些对象,通象,通过消消息相互息相互协作来作来实现用例的功能,在用例的功能,在顺序序图中,中,标识了消息了消息发生交互的先后生交互的先后顺序。

序。

赤壁之战的顺序图赤壁之战的顺序图顺序序图的的组成元素成元素l参与者(参与者(actor)或者)或者对象(象(object)l生命生命线(lifeline)l激活期激活期(activation)/控制焦点(控制焦点(focusofcontrol)l消息(消息(message)时间维时间维对象维对象维对象对象/参与者参与者生命线生命线控制焦点控制焦点消息消息参与者或对象参与者或对象l参与者和参与者和对象按照从左到右的象按照从左到右的顺序排列;序排列;l一般最多两个参与者,他一般最多两个参与者,他们分列两端。

启分列两端。

启动这个用个用例的参与者往往排在最左例的参与者往往排在最左边,接收消息的参与者,接收消息的参与者则排在最右端;排在最右端;l对象从左到右按照重要性排列或按照消息先后象从左到右按照重要性排列或按照消息先后顺序序排列;排列;l将将对象置于象置于顺序序图的的顶部意味着在交互开始的部意味着在交互开始的时候候对象就已象就已经存在了,如果存在了,如果对象的位置不在象的位置不在顶部,那部,那么表示么表示对象是在交互的象是在交互的过程中被程中被创建的。

建的。

对象的命名方式有三种:

象的命名方式有三种:

包括包括对象名和象名和类名名类名(匿名名(匿名对象)象)对象名(不关心象名(不关心类)生命线(生命线(Lifeline)每个对象都有自己的生命线,用来表示在该用例中一每个对象都有自己的生命线,用来表示在该用例中一个对象在一段时间内的存在个对象在一段时间内的存在垂直的虚线垂直的虚线如果对象生命期结束,则用注销符号表示如果对象生命期结束,则用注销符号表示消亡点消亡点激活期激活期(activation)/控制焦点(控制焦点(focusofcontrol)对象在一段象在一段时间内内获得了焦点,也称激活期得了焦点,也称激活期对象象执行某个行某个动作的作的时期期空心矩形条空心矩形条激活期的激活期的长短意味着短意味着对象象执行某个行某个动作的作的时间有多有多长,可,可以通以通过约束束10ms来限制来限制执行行时间的的长短。

短。

顺序图中的消息顺序图中的消息面向面向对象方法中,消息是象方法中,消息是对象象间交互信息的主要方式。

交互信息的主要方式。

结构化程序构化程序设计中,模中,模块间传递信息的方式主要是信息的方式主要是过程(或函数)程(或函数)调用。

用。

对象象A向向对象象B发送消息,可以送消息,可以简单地理解地理解为对象象A调用用对象象B的一个操作(的一个操作(operation)。

)。

l顺序序图中,尽力保持消息的中,尽力保持消息的顺序是从左到右排列的。

序是从左到右排列的。

l一个一个顺序序图的消息流开始于左上方,消息的消息流开始于左上方,消息2的位置比的位置比消息消息1低,低,这意味着消息意味着消息2的的顺序比消息序比消息1要要迟。

l顺序序图中消息中消息编号可号可显示,也可不示,也可不显示。

示。

UML1.4后定后定义的消息有:

的消息有:

调用消息用消息procedurecall异步消息异步消息asynchronous返回消息返回消息returnUML1.3前的消息前的消息还有:

有:

简单消息消息simpleRose扩充的消息充的消息阻止消息阻止消息balking超超时消息消息time-out调用消息:

消息的发送者把控制传递给消息的接收者调用消息:

消息的发送者把控制传递给消息的接收者,等待接收者返回或放弃控制,可以表示同步。

等待接收者返回或放弃控制,可以表示同步。

实心箭头符号实心箭头符号调用消息必有一个与之配对的返回消息调用消息必有一个与之配对的返回消息,但是可以不用但是可以不用画出画出.异步消息:

消息的发送者把控制传递给消息的接收者异步消息:

消息的发送者把控制传递给消息的接收者,然后继续自己的工作然后继续自己的工作,不等待接收者返回或放弃控制不等待接收者返回或放弃控制.UML1.4及以后及以后UML1.3及以前及以前返回消息(返回消息(Return):

):

n表示消息的返回。

消息上方放置返回表示消息的返回。

消息上方放置返回值n同步消息的返回可以画出(如果想明确表达返回同步消息的返回可以画出(如果想明确表达返回值),),也可以不画出,直接也可以不画出,直接隐含。

含。

n异步消息可以有返回,也可以没有。

(可以响异步消息可以有返回,也可以没有。

(可以响应异步异步消息,也可以不响消息,也可以不响应该异步消息。

)异步消息。

)n虚虚线箭箭头表示,和依表示,和依赖关系不要混淆关系不要混淆阻止消息:

消息的发送者传递消息给接收者阻止消息:

消息的发送者传递消息给接收者,如果接收如果接收者无法立即接收者无法立即接收,则发送者放弃该消息则发送者放弃该消息.超时消息:

消息的发送者发出消息给接收者并按指定超时消息:

消息的发送者发出消息给接收者并按指定时间等待时间等待,若接收者无法在指定时间内接收若接收者无法在指定时间内接收,则发送者则发送者放弃该消息放弃该消息.自自调用(用(SelfCall)某某对象自己象自己调用自己的操作用自己的操作嵌套的矩形条嵌套的矩形条消息的语法格式消息的语法格式前置消息列表前置消息列表警戒条件警戒条件消息顺序表达式消息顺序表达式返回值返回值:

=消息名称消息名称(参数列表参数列表)前置消息列表前置消息列表(predecessor)语法:

消息序列号法:

消息序列号,消息序列号消息序列号,./前置消息列表是一个用来同步前置消息列表是一个用来同步线程或路径程或路径(path)的表达式的表达式意思是在意思是在发送当前消息之前指定序列号的消息被送当前消息之前指定序列号的消息被处理理(必必须连续执行行)消息序列号之消息序列号之间用逗号隔开,用斜杠用逗号隔开,用斜杠结束束例如例如1.1a,1.1b/1.2:

continue(),在,在发送消息送消息1.2之前必之前必须已已经同同时发送并送并发消息消息给线程程a和和b警戒条件警戒条件(guard-condition)语法法:

条件短条件短语条件短条件短语通常用通常用伪代代码或真正的程序或真正的程序语言来表示,言来表示,UML并并不不规定其定其语法法例如,例如,x04:

invert(x,color)消息消息顺序表达式序表达式(sequence-expression)语法法integer|namerecurrence:

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为同同时发送的送的并并发消息消息消息消息编号:

号:

按消息按消息产生的先后生的先后顺序,序,给消息消息编号,有两种号,有两种编号方号方案,一种是案,一种是顺序序编号,另一种是嵌套号,另一种是嵌套编号号

(1)顺序序编号号整个消息的整个消息的传递过程就形成了一个完整的序列,因此通程就形成了一个完整的序列,因此通过在在每个消息的前面加上一个用冒号隔开的每个消息的前面加上一个用冒号隔开的顺序号序号(按照消息的先按照消息的先后后顺序,从序,从1开始开始对消息消息编号号)来表示其来表示其顺序。

序。

(2)嵌套嵌套编号号由于由于顺序序图本身已本身已经充分表充分表现出消息出消息执行的行的顺序,因此在序,因此在UML模型中并没有要求模型中并没有要求对消息消息进行行编号。

只是要求在号。

只是要求在协作作图中,中,对消息消息进行了行了编号。

但在号。

但在Rose等建模工具中,等建模工具中,为了能了能够自自动实现顺序序图与与协作作图的的转换,在,在顺序序图中也默中也默认采取采取嵌套嵌套编号方案。

号方案。

嵌套编号嵌套编号recurrence表示一个条件或循表示一个条件或循环的的执行,有两种行,有两种选择n*循循环子句子句循循环子句子句(iteration-clause)用来指定一个循用来指定一个循环(重复重复执行行)例如:

一个包括循例如:

一个包括循环的消息的消息1.1*x=1.10:

doSomething()n条件子句条件子句条件子句一般用来表示分支而不是用作警戒条件条件子句一般用来表示分支而不是用作警戒条件x0,是两个可以用来分支的条件子句,是两个可以用来分支的条件子句,这两个条件只能有一两个条件只能有一个个为真,因而只有一个分支被真,因而只有一个分支被执行行(即即发送与分支有关的送与分支有关的消息消息)条件子句和循条件子句和循环子句都可以用子句都可以用伪代代码或真正的或真正的编程程语言来言来表示表示消息消息顺序表达式用冒号序表达式用冒号结束束l返回返回值、消息名和参数表、消息名和参数表l返回返回值表示一个操作表示一个操作调用用(即一个消息即一个消息)的的结果果消息的语法格式消息的语法格式前置消息列表前置消息列表警戒条件警戒条件消息顺序表达式消息顺序表达式返回值返回值:

=消息名称消息名称(参数列表参数列表)例:

例:

2:

display()1.3.1:

p:

=find()xCreatecollaborationDiagram;或者直接按下或者直接按下F5键浏览协作作图并并调整整图中模型元素的位置。

中模型元素的位置。

2.从从协作作图转换成成顺序序图打开要打开要转换的的协作作图选择Browse-CreatesequenceDiagram;或者直接按下或者直接按下F5键浏览顺序序图并并调整整图中模型元素的位置。

中模型元素的位置。

作业作业11、简述消息的、简述消息的55种类型。

种类型。

22、简述创建顺序图的步骤。

、简述创建顺序图的步骤。

33、分析顺序图与协作图的异同点。

、分析顺序图与协作图的异同点。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 法语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1