精华内容
下载资源
问答
  • 协作图

    千次阅读 2016-11-05 19:48:35
    在实际的开发中不会单独画协作图,因为时序图跟协作图可以相互转化,所以会先画时序图,然后直接用时序图生成协作图。  从时序图转换为协作图,只需打开时序图,然后选择 Browse → Create collaboration Diagram ...

      在实际的开发中不会单独画协作图,因为时序图跟协作图可以相互转化,所以会先画时序图,然后直接用时序图生成协作图。
      从时序图转换为协作图,只需打开时序图,然后选择 Browse → Create collaboration Diagram 或按 F5
      从协作图转换为时序图,只需打开协作图,然后选择 Browse → Create sequence Diagram 或按 F5 。

    什么是协作图

    1. 协作图的基本概念
       所谓协作是指在一定的语境中一组对象以及用以实现某些行为的这些对象间的相互作用。它描述了在这样一组对象为实现某种目的而组成相互合作的“对象社会”。
       协作图就是表现对象协作关系的图,它表示了协作中作为各种类元角色的对象所处的位置,在图中主要显示了类元角色(Classifier Roles)和关联角色(Association Roles)。

      在UML的表示中,协作图将类元角色表示为类的符号(矩形),将关联角色表现为实线的关联路径,关联路径上带有消息符号。
      不带有消息的协作图标明了交互作用发生的上下文,而不表示交互。它可以用来表示单一操作的上下文,甚至可以表示一个或一组类中所有操作的上下文。如果关联线上标有消息,图形就可以表示一个交互。典型的,一个交互用来代表一个操作或者用例的实现
    这里写图片描述

    2. 为什么要使用协作图
      协作图作为一种在给定语境中描述协作中各个对象之间的组织交互关系的空间组织结构图形化方式,在使用其进行建模时,可以将其作用分为以下三个方面:
       1. 通过描绘对象之间消息的传递情况来反映具体的使用语境的逻辑表达。一个使用情境的逻辑可能是一个用例的一部分,或是一条控制流。这和序列图的作用类似。
       2. 显示对象及其交互关系的空间组织结构。协作图显示了在交互过程中各个对象之间的组织交互关系以及对象彼此之间的链接。与序列图不同,协作图显示的是对象之间的关系,并不侧重交互的顺序,它没有将时间作为一个单独的维度,而是使用序列号来确定消息及并发线程的顺序。
       3. 协作图的另外一个作用是表现一个类操作的实现。协作图可以说明类操作中使用到的参数、局部变量以及返回值等。当使用协作图表现一个系统行为时,消息编号对应了程序中嵌套调用结构和信号传递过程。

    组成协作图的元素

    1. 对象
      一个协作代表了为了完成某个目标而共同工作的一组对象。对象的角色表示一个或一组对象在完成目标的过程中所应起的那部分作用。对象是角色所属的类的直接或者间接实例。
      在协作图中,不需要关于某个类的所有对象都出现,同一个类的对象在一个协作图中也可能要充当多个角色。
      协作图中对象的表示形式也和序列图中的对象的表示方式一样,使用包围名称的矩形框来标记,所显示的对象及其类的名称带有下划线,二者用冒号隔开,使用“对象名 :类名”的形式,与序列图不同的是,对象的下部没有一条被成为“生命线”的垂直虚线,并且对象存在多对象的形式。
    这里写图片描述

    2. 消息
      在协作图中,可以通过一系列的消息来描述系统的动态行为。
      在协作图中,消息使用带有标签的箭头来表示,它附在连接发送者和接收者的链上。
      链连接了发送者和接收者,箭头的指向便是接收者。每个消息包括一个顺序号以及消息的名称。
      消息的名称可以是一个方法,包含一个名字和参数表、可选的返回值表。消息的各种实现的细节也可以被加入,如同步与异步等。
    这里写图片描述

    3. 链
      在协作图中的链和对象图中链的概念和表示形式都相同,都是两个或多个对象之间的独立连接,是对象引用元组(有序表),是关联的实例。
      在协作图中,链的表示形式为一个或多个相连的线或弧。在自身相关联的类中,链是两端指向同一对象的回路,是一条弧。为了说明对象是如何与另外一个对象进行连接的,我们还可以在链的两端添加上提供者和客户端的可见性修饰。如下图所示,是链的普通和自身关联的表示形式。
    这里写图片描述

    使用Rose创建协作图

    1. 创建对象
      创建一个新的协作图,可以通过以下方式进行。
       (1) 右键单击浏览器中的Use Case View(用例视图)、Logical View(逻辑视图)或者位于这两种视图下的包。
       (2) 在弹出的菜单中,选中“New”(新建)下的“Collaboration Diagram”(协作图)选项。
       (3) 输入新的协作图名称。
       (4) 双击打开浏览器中的协作图。
      
      使用菜单栏中添加对象的步骤如下:
       (1) 使用工具栏时,在菜单栏中,选择“Tools”(浏览)下的“Create”(创建)选项,在“Create”(创建)选项中选择“Object”(对象),此时光标变为“+”号。
       (2) 在协作图中单击选择任意一个位置,系统在该位置创建一个新的对象。
       (3) 在对象的名称栏中,输入对象的名称。这时对象的名称也会在对象上端的栏中显示。
      
    2. 创建消息
      在协作图中添加对象与对象之间的简单消息的步骤如下:
       (1)选择协作图的图形编辑工具栏中的图标,或者选择菜单栏“Tools”(工具)中“Create”(新建)下的“Message”选项,此时的光标变为“+”符号。
       (2)单击连接对象之间的链。
       (3)此时在链上出现一个从发送者到接收者的带箭头的线段。
       (4)在消息线段上输入消息的文本内容即可。
    这里写图片描述

    3. 创建链
      在协作图中创建链的操作与在对象图中创建链的操作相同,可以按照在对象图中创建链的方式进行创建。同样我们也可以在链的规范对话框的“General”选项卡中设置链的名称、关联、角色以及可见性等。
      链的可见性是指一个对象是否能够对另一个对象可见的机制。
    这里写图片描述

    在项目中创建协作图案例分析

    1. 创建协作图的步骤
      (1)根据系统的用例或具体的场景,确定协作图中应当包含的元素。
      (2)确定这些元素之间的关系,可以着手建立早期的协作图,在元素之间添加链接和关联角色等。
      (3)将早期的协作图进行细化,把类角色修改为对象实例,并且链上添加消息并指定消息的序列。
      
    2. 需求分析
      我们可以通过更加具体的描述来确定工作流程,基本工作流程如下:
      (1)李老师希望通过系统查询某名学生的学科成绩。
      (2)李老师通过用户界面录入学生的学号以及学科科目请求学生信息。
      (3)用户界面根据学生的学号向数据库访问层请求学生信息。
       (4)数据库访问层根据学生的学号加载学生信息。
       (5)数据库访问层根据学生信息和学科科目获取该名学生的分数信息。
       (6)数据库访问层将学生信息和分数信息提供给用户界面。
       (7)用户界面将学生信息和分数信息显示出来。
      
    3. 确定协作图元素
      从已经描述的用例中,我们可以确定需要“教师”、“学生”和“成绩”对象,我们还要一个提供教师与系统交互的场所,那么我们需要一个“用户界面”对象。“用户界面”对象如果要获取“学生”和“成绩”对象的信息,那么我们还需要一个用来访问数据库的对象。将这些对象列举到协作图中。
    这里写图片描述

    4. 确定元素间的关系
      创建协作图的下一步是确定这些对象之间的连接关系,使用链和角色将这些对象连接起来。在这一步中,我们基本上可以建立早期的协作图,表达出协作图中的元素如何在空间上进行交互。
    这里写图片描述

    5. 完成协作图
    这里写图片描述

    展开全文
  • 协作图存储

    2014-05-29 11:30:41
    协作图存储
  • UML协作图编写规范

    2021-03-03 21:49:56
    协作图是一种交互图(interactiondiagram),强调的是发送和接收消息的对对象之间的组织结构。一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。对象通常是命名或匿名的类的实例,也...
  • UML 协作图

    万次阅读 热门讨论 2018-07-30 15:45:16
    协作图是动态图的另一种表现形式,强调参加交互的各对象结构的信息。协作图是一种类图,包含类元角色和关联角色,而不仅仅是类元和关联。协作图强调参加交互的各对象的组织。 内容 图形上,协作图的对象用矩形表示...

    概念

    协作图是动态图的另一种表现形式,强调参加交互的各对象结构的信息。协作图是一种类图,包含类元角色和关联角色,而不仅仅是类元和关联。协作图强调参加交互的各对象的组织。

    内容

    图形上,协作图的对象用矩形表示,矩形内是此对象的名字,连接用对象间相连的只限表示,连线可以有名字,它标注于表示连接的直线上。如果对象间的连接有消息传递,则把消息的图标沿直线方向绘制,消息的箭头指向接受消息的对象。由于从图形上绘制的协作图无法表达对象间消息发送的顺序,因此需要在消息上保留对应时序图的消息顺序号,如下图所示:
    这里写图片描述

    1. 对象(Object)
      对象代表协作图交互中所扮演的角色,和时序图中对象的概念类似。只不过在协作图中,无法表示对象的创建和撤销,所以对象在协作图中的位置没有限制。
    2. 链(Link)
      协作图中链的符号和对象图中链所用的符号是一样的,即一条连接两个类角色的实线。
      协作图中常用的链符号如下图所示:
      这里写图片描述
    3. 消息(Message)
      消息代表协作图中对象间通过链接发送的消息。消息流上标有消息的序列号和对象间发送的消息。一条消息会触发接收对象中的一项操作。
      协作图中的消息类型与时序图中的相同,只不过为了说明交互过程中消息的时间顺序,需要给消息添加顺序号。顺序号是消息的一个数字前缀,是一个整数,由 1 开始递增,每个消息都必须有唯一的顺序号。可以通过点表示法代表控制的嵌套关系,也就是说在消息 1 中,消息 1.1 是嵌套在消息1中的第一个消息,它在消息 1.2 之前;消息 1.2 是嵌套在消息 1 中的第 2 个消息,依此类推。嵌套可以具有任意深度。与时序图相比,协作图可以显示更为复杂的分支。

    建模策略

    使用协作图对系统建模时,可以遵循以下策略:

    (1)设置交互的语境,语境可以是系统、子系统、操作、类、用例或用例的脚本。

    (2)通过识别对象在交互中所扮演的角色,开始绘协作图,把这些对象作为图的顶点放在协作图中。

    (3)在识别了协作图对象后,为每个对象设置初始值。如果某对象的属性值、标记值、状态或角色在交互期发生变化,则在图电放置一个复制对象,并用变化后的值更新它,然后通过构造型<>或<>的消息将两者连接。

    (4)设置了对象的初始值后,根据对象间的关系开始确定对象间链接。一般先确定关联的链接,因为这是最主要的,它代表了结构的链接。然后需要确定的是其他的链接,用合适的路径构造型修饰它们,这表达了对象间是如何互相联系的。

    (5)从引起交互的消息开始,按消息的顺序,把随后的消息附到适当的链接上,这描述了对象间的消息传递,可以用带小数点的编号来表达嵌套。

    (6)如果需要说明时间或空间的约束,可以用适当的时间或空间约束来修饰每个消息。

    (7)在建模中,如果想更详细地描述这个控制流,可以为交互过程中的每个消息都附上前置条件和后置条件。

    协作图与时序图比较

    相同点
    (1)规定责任。两种图都直观地规定了发送对象和接收对象的责任。将对象确定为接收对象,意味着为此对象添加一个接口。而消息描述成为接收对象的操作特征标记,由发送对象触发该操作。

    (2)支持消息。两种图都支持所有的消息类型。

    (3)衡量工具。两种图还是衡量耦合性的工具。耦合性被用来衡量模型之间的依赖性,通过检查两个元素之间的通信,可以很容易地判断出它们的依赖关系。如果查看对象的交互图,就可以看见两个对象之间消息的数量以及类型,从而简化或减少消息的交互,以提高系统的设计性能。

    不同点
    (1)协作图的重点是将对象的交互映射到它们之间的链上,即协作图以对象图的方式绘制各个参与对象,并且将消息和链平行放置。这种表示方法有助于通过查看消息来验证类图中的关联或者发现添加新的关联的必要性。但是时序图却不把链表示出来,在时序图的对象之间,尽管没有相应的链存在,但也可以随意绘制消息,不过这样做的结果是有些逻辑交互根本就不可能实际发生。

    (2)时序图可以描述对象的创建和撤销的情况。新创建的对象可以被放在对象生命线上对应的时间点,而在生命线结束的地方放置一个大写的X以表示该对象在系统中不能再继续使用。而在协作图中,对象要么存在要么不存在,除了通过消息描述或约束,没有其他的方法可以表示对象的创建或结束。但是由于协作图所表现的结构被置于静止的对象图中,所以很难判断约束什么时候有效。

    (3)时序图还可以表现对象的激活和去激活情况,但对于协作图来说,由于没有对时间的描述,所以除了通过对消息进行解释,它无法清晰地表示对象的激活和去激活情况。

    展开全文
  • 本文主要简单介绍了时序图、活动图、状态图、协作图的区别
  • 协作图详解

    2020-01-18 11:36:25
    协作图 一、协作图概要 ​ ★协作图是一种交互图,强调的是发送和接收消息的对象之间的组织结构,使用协作图来说明系统的动态情况。 ​ ★协作图主要描述协作对象间的交互和链接,显示对象、对象间的链接以及...

    协作图

    一、协作图概要

    ​ ★协作图是一种交互图,强调的是发送和接收消息的对象之间的组织结构,使用协作图来说明系统的动态情况。

    ​ ★协作图主要描述协作对象间的交互和链接,显示对象、对象间的链接以及对象间如何发送消息。

    ​ ★协作图可以表示类操作的实现。

    二、协作图中的事物及解释

    在这里插入图片描述

    三、协作图中的关系及解释
    在这里插入图片描述

    四、消息标签

    ​ 消息标签的Format: [前缀] [守卫条件] 序列表达式 [返回值 :=] 消息名

    ​ ★前缀的语法规则: 序列号,序列号,…,序列号 ‘/’

        (前缀用来同步线程,意思是在发送当前消息之前指定序列号的消息被处理.例:1.1a, 1.1b/)
    

    ​ ★守卫条件的语法规则: [条件短句]

    ​ 说明:条件短句通常用伪代码或真正的程序语言来表示。 例:[x>=0]

    ​ ★返回值和消息名:返回值表示一个消息的返回结果,消息名指出了消息的名字和所需参数。 例:x:=calc ( n )

    在这里插入图片描述

    五、协作图与顺序图的区别和联系

    ​ 协作图和顺序图都表示出了对象间的交互作用,但是它们侧重点不同。

    ​ ★ 顺序图清楚地表示了交互作用中的时间顺序(强调时间),但没有明确表示对象间的关系。

    ​ ★协作图清楚地表示了对象间的关系(强调空间),但时间顺序必须从顺序号获得。

    ​ ★协作图和顺序图可以相互转化。

    	 (进行协作图和顺序图的比较,请参考练习题2)
    

    六、协作图例子

    在这里插入图片描述

    七、练习题
    在这里插入图片描述

    文章内容扩展学习链接

    UML概述

    用例图详解

    类图详解

    顺序图详解

    状态图详解

    活动图详解

    构件图详解

    部署图详解

    展开全文
  • 学生选课协作图

    2013-10-22 12:58:59
    学生选课协作图
  • 顺序图和协作图

    2012-12-06 20:27:22
    这是UML的顺序图和协作图的介绍,希望对大家有帮助
  • 顺序图、协作图

    2012-09-24 16:33:31
    顺序图 协作图 。干快速来下载吧,看来大家快来点击
  • UML——协作图

    2020-06-23 17:18:48
    什么是协作图协作图与时序图的互换 协作图与时序图的相同点 协作图与时序图的区别 什么是协作图 协作图是一种类图,它包含类元角色和关联角色,而不仅仅是类元和关联。协作图强调参加交互的各对象的组织。...

    目录

    什么是协作图

    协作图与时序图的互换

    协作图与时序图的相同点

    协作图与时序图的区别

    协作图实例

    机房收费系统协作图


    什么是协作图

    协作图是一种类图,它包含类元角色和关联角色,而不仅仅是类元和关联。协作图强调参加交互的各对象的组织。

    协作图只对相互间有交互作用的对象和这些对象间的关系建模,它可以说明类操作中用到的参数、局部变量以及操作中的永久链。协作图的对象用矩形表示,矩形内是此对象的名字,连接用对象间相连的直线表示,连线可以有名字,并标注于表示连接的直线上。协作图包含对象(Object)、链(Link)和消息(Message)三种元素。

    协作图中链的符号和对象图中链所用的符号是一样的,即一条连接两个类的实线。

    符号含义
    创建对象之间的通信路径
    显示对象可以调用自己的属性
    在两个对象之间或一个对象本身增加消息
    在两个对象之间或一个对象本身从反方向增加消息
    显示两个对象之间的信息流
    在反方向显示两个对象之间的信息流

     

    协作图与时序图的互换

    协作图和时序图都是表示对象间的交互作用,只是他们侧重点有所不同。时序图描述了交互过程中的时间顺序,但没有明确地表达对象间的关系;协作图描述了对象间的关系,但时间顺序必须从序列号获得。

    协作图和时序图都来自UML元模型的相同信息,因此它们的语义是等价的,它们可以从一种形式的图转换成另一种形式的图,而不丢失任何信息。

    以下是毕业管理协作图和毕业管理时序图转换☟☟☟

    协作图与时序图的相同点

    ▷规定责任:两种图都直观地规定了发送对象和接收对象的责任。将对象确定为接收对象,意味着为此对象添加一个接口。而消息描述成为接收对象的操作特征标记,由发送对象触发该操作。

    ▷支持消息:两种图都支持所有的消息类型。

    ▷衡量工具:两种图是衡量耦合性的工具,耦合性被用来衡量模型之间的依赖性,通过检查两个元素之间的通信,可以很容易地判断出它们的依赖关系。

    协作图与时序图的区别

    ▷协作图的重点是将对象的交互映射到它们之间的链上,即协作图以对象图的方式绘制各个参与对象,并且将消息和链平行放置;时序图不把链表示出来,在时序图的对象之间没有相应链的存在也可以随意绘制消息,但是这样会使有些逻辑交互不会实际发生。

    ▷时序图可以描述对象的创建和撤销的情况,在时序图中,除了通过消息描述或约束,没有其他的方法可以表示对象的创建或结束;但是由于协作图所表现的结构被置于静止的对象图中,所以很难判断约束什么时候有效。

    ▷时序图可以表现激活和去激活情况;协作图除了通过对消息进行解释,它无法清晰地表示对象的激活和去激活情况。

    协作图实例

    机房收费系统协作图

    以机房收费系统为例,画出如下图所示的协作图:

    在画出的机房收费系统的时序图中,按 Fn + F5 可以由时序图直接转换得到协作图☺

     

    展开全文
  • UML教程5:协作图

    2020-07-24 09:22:15
    文章目录五、协作图5.1 概要5.2 协作图中的事物及解释5.3 协议图中的关系及解释5.4 消息标签5.5 协作图与顺序图的区别和联系5.6 协作图例子 本文转载自:https://www.cnblogs.com/leafsunshin/p/11495300.html 作者...
  • UML——交互图(顺序图与协作图

    千次阅读 2020-05-28 15:10:06
    协作图 顺序图与协作图之间的关系 交互图 交互图用来描述系统中的对象是如何进行相互作用的。即一组对象是如何进行消息传递的。 交互图主要用来描述协作的动态行为方面 交互图有顺序图和协作图两种形式 ——...
  • UML--协作图详解

    万次阅读 2019-10-23 11:37:20
    协作图 协作图包含一组对象和以消息交互为联系的关联,用于描述系统的行为是如何由系统的成分合作实现的。在协作图中,类元角色描述了一个对象,关联角色描述了协作关系中的链,并通过几何排列表现交互作用中的各个...
  • UML协作图

    2019-02-16 09:55:39
    协作图是动态图的另一种表现。协作图和动态图极为相似,我先介绍一下它们的相同之处和不同之处。 相同之处 1、规定责任,两图都直观的规定了发送对象和只管对象的责任。就是发送对象和接受对象所需要干的事已经...
  • UML之协作图

    2020-09-03 13:11:25
    UML交互图包括时序图与协作图 交互图 交互图描述对象之间的动态合作关系以及合作过程中的行为次序。 交互图常常用来描述一个用例的行为,显示该用例中所涉及的对象以及这些对象之间的消息传递情况,即一个用例的实现...
  • 借阅者预定书籍的协作图 图书管理员处理借书的协作图 系统管理员删除书籍的协作图 客户取车协作图 客户预订车辆的协作图 学生下载文件的协作图 用户登录系统的协作图
  • 交互图有顺序图和协作图两种形式。 时序图中描述对象按照时间顺序的消息交换。 协作图着重描述系统成分如何协同工作。 时序图和协作图从不同角度表达了系统中的交互和系统行为,它们之间可以相互转化。 时序图...
  • UML--协作图

    2021-04-27 10:58:07
    协作图(Collaboration Diagram /Communication Diagram,也叫合作图、通信图)是另一种交互图(interaction diagram)。它强调的是对象之间的交互关系。表示了协作中各元素所处的位置。在一个协作中,描述了该协作中...
  • 基于网络商城的协作图设计,使其设计上更清楚,更完整。代码方面更简单
  • UML图中时序图和协作图转化

    千次阅读 热门讨论 2018-05-06 11:22:08
    运行IBM.Rational.Rose,然后在 Rose 中,时序图与协作图间的转换特别容易。 要从时序图转换为协作图,只需打开时序图,然后选择 Browse → Create collaboration Diagram 或直接按 F5 ; 要从协作图转换为时序图,...
  • UML-并发视图-协作图详解

    千次阅读 2019-10-20 04:06:22
    UML-并发视图-协作图 提示: 对UML基础还不太了解或想查阅学习其他UML图的戳这的戳这UML统一建模语言快速入门.CSDN 协作图显示了一系列的对象和在这些对象之间的联系,以及对象间发送和接收的消息 协作图也是一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 210,105
精华内容 84,042
关键字:

协作图