第五章顺序图和协作图课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第五章顺序图和协作图课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 顺序 和协 作图 课件
- 资源描述:
-
1、1/336第5章 交互图东北大学信息科学与工程学院东北大学信息科学与工程学院 杨雷杨雷2开发流程开发流程-动态建模动态建模3交互图(interaction diagram)在对软件密集型(software-intensive)系统建模时,如何对它的动态方面动态方面建模?怎样才能可视化一个运行的系统?交互图交互图(interaction diagram)是一种详细表示对象之间以及对象与系统外部的参与者(actor)之间动态联系的图形文档。交互图有两种形式,即顺序图顺序图(sequence diagram)和协作图协作图(collaboration diagram)。4 交互图交互图是用来描述对象
2、之间的动态协作关系以及协作过程中的行为次序,它常常用来描述一个用例的行为,显示该用例中所涉及的对象和这些对象之间的消息传递情况。一般一个use case需要一个或多个顺序图或协作图,除非特别简单的use case.顺序图顺序图和协作图协作图从不同的角度表达了系统中的交互和系统的行为,它们之间可以相互转化。顺序图顺序图着重描述对象按照时间顺序的消息交换,协作图协作图着重描述系统成分如何协同工作。交互图说明:5交互图的用途 帮助分析员对照检查每个use case 中描述的用户需求,是否已经落实到一些能够完成这些功能的类中去实现。提醒分析员去补充遗漏的类或服务。用例模型驱动交互图的开发,交互图驱动类
3、模型的开发,从而构成了一条从需求到实现的清晰路径。和类图类图相互补充类图对对象之间的消息(交互情况)表达不够详细;交互图表示少数几个对象之间的交互。6主要内容 顺序图顺序图 交互图交互图 7顺序(Sequence)图 定义:也称时序图,顺序图中显示的是参与交互的对象及对象之间消息交互的顺序。顺序图强调的是消息交互的时间顺序。8说明:顺序图顺序图是一个二维图形。在顺序图中水平方向为对象维,沿水平方向排列参与交互的对象;竖向方向为时间维,沿垂直向下方向按时间递增顺序列出各对象所发出和接收的消息。水平轴上的对象间的相互顺序并不重要。9顺序图例子顺序图例子:ActorForm ObjectData O
4、bjectOpen formEnter informationSave InformationCreatePopulate with informationSave10Sequence图中的组成元素 顺序图中的一些主要元素:Object(对象,包括actor实例)Lifeline(生命线)Focus of control(控制焦点)和activation(激活期)Message(消息)11Object sequence图和collaboration图描述的是对象对象之间的消息发送关系,而不是类之间的关系。最顶上一排矩形框。在交互图中,参与交互的对象既可以是具体的事物,又可以是原型化的事物。作为
5、具体的事物,一个对象代表现实世界中的某个东西。例如,aOrder作为类Order的一个实例,可以代表一个特定的订单;而如果作为一个原型化的事件,则aOrder可以代表类Order的任何一实例。12Object 交互图中的对象的常见命名方式:只显示类名显示对象名和类名只显示对象名13对象的创建和销毁对象的创建和销毁 如果对象位于顺序图的顶部,说明在交互开始之前该对象已经存在了。如果对象是在交互的过程中创建的,那么它应当位于图的中间部分。对象在创建消息发生之后才能存在,对象的生命线也是在创建消息之后才存在的。14创建对象的两种表示方法:创建对象的两种表示方法:15对象撤销对象撤销 如果要撤销一个对
6、象,只要在其生命线终止点放置一个“X”符号即可,该点通常是对删除或取消消息的回应。16lifeline(生命线)生命线生命线表示对象存在的时间,在顺序图中生命线表示为从对象图标向下延伸的一条虚线。生命线是一条垂直的虚线,表示顺序图中的对象在一段时间内的存在。每个对象的底部中心的位置都带有生命线。生命线是一个时间线,从顺序图的顶部一直延伸到底部,所用的时间取决于交互持续的时间。17 对象与生命线结合在一起称为对象的生命线,对象的生命线包含矩形的对象图标以及图标下面的生命线18控制焦点(Focus of control)控制焦点控制焦点:顺序图中表示时间段的符号,它是一个瘦高的矩形,表示对象执行一
7、个动作所经历的时间段,既可以直接执行,也可以是通过下级过程执行。矩形的顶部表示动作的开始,底部表示动作的结束(由一个返回消息来标记)。图例:focus of control19控制焦点的嵌套 控制焦点可以通过将一个控制焦点放在它的父控制焦点的右边来表示控制焦点的嵌套(其嵌套深度可以任意)。嵌套的控制焦点可以由循环、自身操作调用或从另一个对象的回调所引起,它可以更精确地说明消息的开始和结束位置。图例:20说明:activation(激活期)表示对象执行一个动作的期间,也即对象激活的时间段。控制焦点控制焦点和激活期激活期是同一个概念。21消息(message)顺序图的主要内容是消息。把消息表示为从
8、一条生命线到另一条生命线的箭线,箭头指向接受者。消息定义的是对象之间某种形式的通信,它可以激发某个操作、唤起信号或导致目标对象的创建或撤销。消息是两个对象之间的单路通信,从发送方到接收方的控制信息流。消息可以用于在对象间传递参数。在UML中,消息使用箭头来表示,箭头的类型表示了消息的类型。22消息的类型 消息的类型:在UML 1.4以上版本的规范说明中消息分调用消息,异步消息,返回消息调用消息,异步消息,返回消息三种。其它消息类型:如阻止(balking)消息,超时(time-out)消息等为UML核心的扩充。23 调用消息调用消息(Procedure call)。调用消息的发送者把控制传递给
9、消息的接收者,然后停止活动,等待消息接收者放弃或返回控制。调用消息也可以用来表示同步的意义。说明:1.调用消息的接收者必须是一个被动对象(passive object),即它是一个需要通过消息驱动才能执行动作的对象。2.一般调用消息必有一个配对的返回消息,为了图的清晰可不画出返回消息。例:调用消息的表示符号。24 异步消息异步消息(asynchronous)。异步消息的发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接收者返回消息或控制。例:异步消息的表示符号。UML 1.4/1.5中的异步消息UML 1.3中的异步消息25 返回消息返回消息(return)。从过程调用返回。
10、例:返回消息的表示符号。如果是从过程调用返回,则返回消息是隐含包括的,所以返回消息可省略。对于非过程调用,如果有返回消息,必须明确表示出来。26 阻止阻止(balking)消息消息。消息发送者发出消息给接收者,如果接收者无法立即接收消息,则发送者放弃这个消息。例:阻止消息的表示符号。27 超时超时(time-out)消息消息。消息发送者发出消息给接收者并等待指定时间,如果接收者无法在指定时间内接收消息,则发送者放弃这个消息。例:超时消息的表示符号。28顺序图中的消息顺序图中的消息 消息的语法格式 predecessor guard-condition sequence-expression r
11、eturn-value:=message-name(argument-list)predecessor 必须先发生的消息的列表 格式:sequence-number,/guard-condition 警戒条件:条件满足时才能发送该消息 格式:boolean-expression294.3 顺序图中的消息顺序图中的消息 sequence-expression 消息顺序表达式。用句点“.”分隔,以冒号结束“:”。格式:sequence-term,:每个sequence-term的语法格式为:integer|name recurrence 消息的顺序号用整数表示。通常以消息1作为一个消息序列中的第一
12、个消息,消息1.1是在处理消息1时的第一个需要处理的嵌套消息,通过编号描述了消息的执行顺序号和嵌套层次。例:1,1.1,1.2,1.2.1,1.2.230 其中integer表示消息序号,name表示并发的控制线程,例:如果两个消息为3.1a,3.1b,则表示这两个消息在激活期3.1内是并发的。recurrence表示消息是条件发送或循环发送,格式如下:*iteration-clause 循环发送 condition-clause 条件发送例:*i:=1.n x y说明:1.如果循环发送的消息是并发的,可用符号*|表示。2.UML中并没有规定循环子句,条件子句的格式31 return-valu
13、e:将赋值为消息的返回值的名字列表,如果消息没有返回值,则return-value部分被省略。message-name:消息名 argument-list:消息的参数列表32例:一些消息的例子2:display(x,y)简单消息条件消息x 0 4:invert(x,color)3.1*:update()循环消息1.3.1:p:=find(specs)消息带返回值A3,B4/C2:copy(a,b)线程间同步33在交互图中使用的一些概念在交互图中使用的一些概念object条件创建对象返回消息循环34顺序图的结构化控制顺序图的结构化控制 序列性的消息能很好的说明单一的线性的序列,但是通常需要展示条
14、件和循环。有时候要展示多个序列的并发执行。在顺序图中用结构化控制操作符能展示这种高层控制。控制操作符表示为顺序图上的一个矩形区域,其左上角有一个写在小五边形内的文字标签,用来表明控制操作符的类型。35条件执行条件执行-Alt 表示多条件的分支结构(选择结构)虚线分隔区域,每一个区域设置一个监护条件,代表一个分支36可选执行可选执行(Opt)表示满足条件则执行分支结构37循环循环(loop)38并行执行(并行执行(Par)用来表示“并行”的,也就是用来表示两个或多个并发执行的子片段,并行子片段中单个元素的执行次序可以以任何可能的顺序相互操作39建立sequence图的步骤1.确定交互过程的上下文
展开阅读全文