收藏 分销(赏)

顺序图和协作图.ppt

上传人:xrp****65 文档编号:13758018 上传时间:2026-04-10 格式:PPT 页数:74 大小:1.48MB 下载积分:10 金币
下载 相关 举报
顺序图和协作图.ppt_第1页
第1页 / 共74页
顺序图和协作图.ppt_第2页
第2页 / 共74页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,顺序图和协作图,交互图概述,交互图,(interaction diagram),是用来描述对象之间以及对象与参与者之间的动态协作关系以及协作过程中行为次序的图形文档,.,交互图通常用于描述一个用例的行为,显示该用例中所涉及的对象及对象之间消息传递情况,.,交互图包括,:,顺序图,(sequence diagram),描述对象按照时间顺序的消息交换,;,协作图,(collaboration diagram),描述系统成分如何协同工作,.,顺序图,1.,顺序图,顺序图也称为,时序图,,它描述了系统中对象间通过消息进行的交互,它强调了消息在时间轴上的先后顺序。,2.,顺序图的作用,顺序图常用来描述用例的实现,它表明了由哪些对象,通过消息相互协作来实现用例的功能,在顺序图中,标识了消息发生交互的先后顺序。,赤壁之战的顺序图,顺序图的组成元素,参与者(,actor,)或者 对象(,object,),生命线(,lifeline,),激活期,(activation)/,控制焦点(,focus of control,),消息(,message,),时间维,对象维,对象,/,参与者,生命线,控制焦点,消息,参与者或对象,参与者和对象按照从左到右的顺序排列;,一般最多两个参与者,他们分列两端。启动这个用例的参与者往往排在最左边,接收消息的参与者则排在最右端;,对象从左到右按照重要性排列或按照消息先后顺序排列;,将对象置于顺序图的顶部意味着在交互开始的时候对象就已经存在了,如果对象的位置不在顶部,那么表示对象是在交互的过程中被创建的。,对象的命名方式有三种:,包括对象名和类名,类名(匿名对象),对象名(不关心类),生命线(Lifeline),每个对象都有自己的生命线,用来表示在该用例中一个对象在一段时间内的存在,垂直的虚线,如果对象生命期结束,则用注销符号表示,消亡点,激活期,(activation)/,控制焦点(,focus of control,),对象在一段时间内获得了焦点,也称激活期,对象执行某个动作的时期,空心矩形条,激活期的长短意味着对象执行某个动作的时间有多长,可以通过约束,10ms,来限制执行时间的长短。,顺序图中的消息,面向对象方法中,消息是对象间交互信息的主要方式。,结构化程序设计中,模块间传递信息的方式主要是过程(或函数)调用。,对象,A,向对象,B,发送消息,可以简单地理解为对象,A,调用对象,B,的一个操作(,operation,)。,顺序图中,尽力保持消息的顺序是从左到右排列的。,一个顺序图的消息流开始于左上方,消息,2,的位置比消息,1,低,这意味着消息,2,的顺序比消息,1,要迟。,顺序图中消息编号可显示,也可不显示。,UML1.4,后定义的消息有:,调用消息,procedure call,异步消息,asynchronous,返回消息,return,UML1.3,前的消息还有:,简单消息,simple,Rose,扩充的消息,阻止消息,balking,超时消息,time-out,调用消息:消息的发送者把控制传递给消息的接收者,等待接收者返回或放弃控制,可以表示同步。,实心箭头符号,调用消息必有一个与之配对的返回消息,但是可以不用画出,.,异步消息:消息的发送者把控制传递给消息的接收者,然后继续自己的工作,不等待接收者返回或放弃控制,.,UML1.4,及以后,UML1.3,及以前,返回消息(,Return,):,表示消息的返回。消息上方放置返回值,同步消息的返回可以画出(如果想明确表达返回值),也可以不画出,直接隐含。,异步消息可以有返回,也可以没有。(可以响应异步消息,也可以不响应该异步消息。),虚线箭头表示,和依赖关系不要混淆,阻止消息:消息的发送者传递消息给接收者,如果接收者无法立即接收,则发送者放弃该消息,.,超时消息:消息的发送者发出消息给接收者并按指定时间等待,若接收者无法在指定时间内接收,则发送者放弃该消息,.,自调用(,Self Call,),某对象自己调用自己的操作,嵌套的矩形条,消息的语法格式,前置消息列表,警戒条件,消息顺序表达式,返回值,:=,消息名称,(,参数列表,),前置消息列表,(predecessor),语法:消息序列号,消息序列号,./,前置消息列表是一个用来同步线程或路径,(path),的表达式,意思是在发送当前消息之前指定序列号的消息被处理,(,必须连续执行,),消息序列号之间用逗号隔开,用斜杠结束,例如,1.1a,1.1b/1.2:continue(),,在发送消息,1.2,之前必须已经同时发送并发消息给线程,a,和,b,警戒条件,(guard-condition),语法,:,条件短语,条件短语通常用伪代码或真正的程序语言来表示,,UML,并不规定其语法,例如,,x0 4:invert(x,color),消息顺序表达式,(sequence-expression),语法,integer|name recurrence:,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,表示一个条件或循环的执行,有两种选择,*,循环子句,循环子句,(iteration-clause),用来指定一个循环,(,重复执行,),例如:一个包括循环的消息,1.1*x=1.10:doSomething(),条件子句,条件子句一般用来表示分支而不是用作警戒条件,x0,,是两个可以用来分支的条件子句,这两个条件只能有一个为真,因而只有一个分支被执行,(,即发送与分支有关的消息,),条件子句和循环子句都可以用伪代码或真正的编程语言来表示,消息顺序表达式用冒号结束,返回值、消息名和参数表,返回值表示一个操作调用,(,即一个消息,),的结果,消息的语法格式,前置消息列表,警戒条件,消息顺序表达式,返回值,:=,消息名称,(,参数列表,),例:,2:display(),1.3.1:p:=find(),xCreate collaboration Diagram;,或者直接按下,F5,键,浏览协作图并调整图中模型元素的位置。,2.,从协作图转换成顺序图,打开要转换的协作图,选择,Browse-Create sequence Diagram;,或者直接按下,F5,键,浏览顺序图并调整图中模型元素的位置。,作业,1,、简述消息的,5,种类型。,2,、简述创建顺序图的步骤。,3,、分析顺序图与协作图的异同点。,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服