第7章协作图1.ppt

上传人:本田雅阁 文档编号:3131347 上传时间:2019-07-14 格式:PPT 页数:28 大小:701.53KB
返回 下载 相关 举报
第7章协作图1.ppt_第1页
第1页 / 共28页
第7章协作图1.ppt_第2页
第2页 / 共28页
第7章协作图1.ppt_第3页
第3页 / 共28页
第7章协作图1.ppt_第4页
第4页 / 共28页
第7章协作图1.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《第7章协作图1.ppt》由会员分享,可在线阅读,更多相关《第7章协作图1.ppt(28页珍藏版)》请在三一文库上搜索。

1、第七章 协作图,1,0.agenda,1、协作图概述 2、协作图的组成 3、消息 4、建模协作图,2,1. 协作图概述,协作图(Collaboration Diagram,协同图)描述对象间交互。 与序列图强调消息的时间顺序不同,协作图强调的是参与交互的对象间的组织关系,也就是对象间的交互和链接。 协作图显示某组对象如何为了由一个用例描述的一个系统事件而与另一组对象进行协作的交互图。使用协作图可以显示对象角色之间的关系,如为实现某个操作或达到某种结果而在对象间交换的一组消息。如果需要强调时间和序列,最好选择序列图;如果需要强调上下文相关,最好选择协作图。,3,1. 协作图概述,协作图的格式决定

2、了它们更适合在分析活动中使用。它们特别适合用来描述少量对象之间的简单交互。随着对象和消息数量的增多,理解协作图将越来越困难。此外,协作图很难显示补充的说明性信息,例如时间、判定点或其他非结构化的信息,而在序列图中这些信息可以方便地添加到注释中。 协作图具有以下用途: 通过描绘对象之间消息的移动情况来反映具体的方案。 显示对象及其交互关系的空间组织结构,而非交互的顺序。,4,2. 协作图的组成,协作图是一个对象或角色的集合,对象或角色按照某个顺序交互以便执行在早期的用例图中已经建模的某个功能。 由于协作图要建模系统的交互,因此他必须处理我们已经设计的类的实例。由于类在运行时不做任何工作,而是由他

3、们实例化的对象来完成所有的工作,因此,在协作图中主要关注的是对象间的交互。,5,2.1 对象与角色,2. 协作图的组成,在协作图中对象实例的类型主要有以下三种: 未指定类的实例 完全限定的对象 未命名的对象,6,2.1 对象与角色,2. 协作图的组成,除了对象实例之外,在协作图中还可以看到对象实例角色。在协作图中有4种方式来标识对象实例角色: 标记符显示未命名的对象扮演角色 标记符显示一个未命名的对象扮演指定类的角色 标记符显示已经命名的对象扮演的角色 标记符显示命名的对象扮演指定类的角色,7,2.1 对象与角色,2. 协作图的组成,关联可以通过关联角色从类图传递到协作图,关联角色用来链接两个

4、类角色。 关联角色还可以指示导航,通过开放的箭头指示消息流从一个角色传递到另一个角色。 也可以添加多重性来指示两个对象的关联关系。,8,2.2 关联角色,2. 协作图的组成,链接用来在协作图中关联对象。他们可以代表一个来自类图的关联的实例。 链接可以使用“Field”、“Parameter”、“Local”或“Global”等类型来表示这种链接的可见性。,9,2.3 链接,2. 协作图的组成,消息是协作图中对象与对象或者类角色与类角色间通信的方式。消息在协作图中显示为一个伴随链接或关联角色的文本字符串,带有一个箭头来指示消息沿着关系传递的方向。消息可以传递变量或值。,10,2.4 消息,3.

5、消息,在协作图中消息的类型主要有以下几种: 简单消息 同步消息 异步消息 阻止消息 超时消息 返回消息 过程调用,11,3.1 消息类型,3. 消息,简单消息 同步消息 异步消息 阻止消息 超时消息 返回消息 过程调用,12,3.1 消息类型,3. 消息,简单消息 同步消息 异步消息 阻止消息 超时消息 返回消息 过程调用,13,3.1 消息类型,3. 消息,简单消息 同步消息 异步消息 阻止消息 超时消息 返回消息 过程调用,14,3.1 消息类型,3. 消息,简单消息 同步消息 异步消息 阻止消息 超时消息 返回消息 过程调用,15,3.1 消息类型,3. 消息,简单消息 同步消息 异步消

6、息 阻止消息 超时消息 返回消息 过程调用,16,3.1 消息类型,3. 消息,简单消息 同步消息 异步消息 阻止消息 超时消息 返回消息 过程调用,17,3.1 消息类型,3. 消息,简单消息 同步消息 异步消息 阻止消息 超时消息 返回消息 过程调用,18,3.1 消息类型,3. 消息,消息的序列化是指在消息前添加消息的顺序号来指示消息发送的顺序。,19,3.2 序列化,3. 消息,控制点条件用来根据控制消息的表达式的计算结果来限制消息的发送。控制点包含在消息中,在序列ID号和消息文本之间。,20,3.3 控制点条件,3. 消息,消息可以用于在协作图中创建对象的实例。在创建实例的协作图中,

7、被创建的对象需要使用“new”表示,而消息则需要使用“create”表示。,21,3.4 创建实例,3. 消息,在协作图中,当需要表示重复的处理过程时可以使用迭代来表示。 在UML中迭代有两层意思:1)一个对象向多个对象发送消息;,22,3.5 迭代,3. 消息,2)一个对象多次向另一个对象发送消息。,23,3.5 迭代,对象A,对象B,1.15*:消息,4. 建模协作图,使用协作图建模控制流,需要遵循以下策略: 设置交互的语境,这些语境可以是系统、子系统、操作、类、用例或协作的脚本。 通过识别对象在交互中扮演的角色,设置交互的场景。 对每个对象设置初始特性。如果某个对象的属性值、标记值、状态

8、或角色在交互中发生重要变化,则在图中放置一个复制的对象,并用这些新的值更新它,然后通过“become”或“copy”消息将二者连接。,24,4. 建模协作图,描述对象之间可能有信息沿着它传递的链。首先是关联的链,然后是其他的链。 从引起交互的消息开始,适当地设置其顺序号,然后将随后的每个消息附到适当的链上。 如果需要说明时间或空间约束,可以用时间标记修饰这个消息,并附上合适的时间和空间约束。 如果需要更形式化地说明这个控制流,可以为每个消息附上前置和后置条件。,25,4. 建模协作图,26,练习,假设一个订单处理系统中增加一个新订单的流程如下:系统主界面接收到用户发出的输入订单指令后显示订单屏幕,用户在订单界面中填写订单号、日期、所定购的产品、数量、顾客姓名和地址等信息。当用户输入完所有的信息后提交订单。当用户提交订单后,系统需要检验用户提交的订单格式和内容是否正确,所要订购的物品是否有足够的库存量,如果用户订购的物品没有足够的库存量时,系统需要向采购系统发出采购请求。系统检查完这些之后把这些订单信息保存在数据库中并开始一个新的订单。,27,Q/A,?,28,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1