博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UML(5)——协作图
阅读量:5902 次
发布时间:2019-06-19

本文共 1235 字,大约阅读时间需要 4 分钟。

协作图中表示了角色之间的关系,通过协作图限定协作中的对象或链。协作指的是在一定的语境中一组对象以及实现某些行为的对象间的相互作用。

协 作图是表现对象协作关系的图,表示了协作中作为各种类元角色的对象所处的位置。图中主要显示了类元角色和关联角色,类元角色表示参与协作执行的对象的描 述,对象可以参与一或多个协作;关联角色表示参与协作执行的关联的描述。类元角色和关联角色描述了对象的配置和当一个协作的实例执行时可能出现的连接。在 一个协作中,描述了该协作所有对象组成的网络结构以及相互发送消息的整体行为,表示了潜藏于计算过程中的三个主要结构的统一:数据结构,控制流和数据流。

从 结构上,协作图和对象图一样,包含了一个角色集合和它们之间定义了行为方面的内容的关系,从这个角度上说,协作图也是类图的一种,但静态视图描述了类固有 的内在属性,协作图描述了类实例的特性。从行为上,协作图和序列图一样,包含了一系列消息的集合,这些消息在具有某一角色的各对象间进行传递交换,互相协 作达到目标。

协作图中的涉及的对象可以标识为四个组:存在于整个交互作用中的对象,在交互中创建的对象,在交互中销毁的对象,在交互中创建并销毁的对象。

UML中,协作图中的类元角色表示为类的符号,也就是矩形,关联角色表现为实现的关联路径,路径上带有消息符号。如果关联线上标有消息,图形就可以表示一个交互,一个全国性用来表示一个操作或用例的实现。

协作图的作用

协 作图是在一种给定语境中描述协作中各个对象间的组织交互关系的空间组织结构的图形化方式,从定义中可以分析它的作用为:对象间消息的传递来反映具体的使用 语境的逻辑表达,一个使用情境的逻辑可能是一个用例的一部分或是一条控制流;它的交互关联显示对象交互的空间组织结构,显示一种对象间的关系,而不注重顺 序;表现一个类的操作实现,协作图中可以说明类操作中使用的参数,变量,返回值。当表现一个系统的行为时,消息编号对应了程序中嵌套调用的结构和信号传递 过程。

序列图常用来表示方案,协作图用于过程的详细设计。

协作图的组成

协作图由对象,消息,链等构成。

对象:类的实例。对象的角色表示一个或一组对象在完成目标的过程中所起的部分作用。对象是角色所属类的直接或间接实例,在协作图中,一个类的对象可能充当多个角色。

对象名:类名

消息:消息用来描述系统动态行为,它是从一个对象向另一个或几个对象发送信息,或由一个对象调用另一个对象的操作。由三部分组成:发送者,接收者,活动。

消息用带标签的箭头表示,它附在链上。链连接了发送者和接收者,箭头所指方向为接收者。每个消息包括一个顺序号以及消息的名称,其中顺序号标识了消息的相关顺序。消息的名称可以是一个方法,包含名字,参数表,返回值。

链:表示两个或多个对象间的独立连接,是关联的实例。协作图中,关联角色是与具体语境有关的暂时的类元之间的关系,关系角色的实例也是链。链表示为一个或多个相连的线或弧。

 

例:

 

 

原文:

转载地址:http://sfkpx.baihongyu.com/

你可能感兴趣的文章
Ruby中写一个判断成绩分类的脚本
查看>>
《从零开始学Swift》学习笔记(Day 40)——析构函数
查看>>
Exchange2003-2010迁移系列之十,Exchange证书攻略
查看>>
infortrend ESDS RAID6故障后的数据恢复方案
查看>>
extmail集群的邮件负载均衡方案 [lvs dns postfix]
查看>>
SCCM2012SP1---资产管理和远程管理
查看>>
Android Activity 之 startActivityForResult 的使用
查看>>
org.springframework.util 类 Assert的使用
查看>>
java提供类与cglib包实现动态代理
查看>>
flask上传多个文件,获取input中的数组
查看>>
更改UIView的背景
查看>>
JLNotebookView
查看>>
StackPanel
查看>>
SPUserResizableView
查看>>
UML类图示例
查看>>
sh ./ 执行区别
查看>>
宏定义(#ifndef+#define+#endif)的作用
查看>>
Prometheus安装部署以及配置
查看>>
Oracle存储过程大冒险-2存储过程常用语法
查看>>
taobao-pamirs-schedule-2.0源码分析——类设计
查看>>