协作图

协作图描述了对象间交互的一种模式;它通过对象之间的连接和它们相互发送的消息来显示参与交互的对象。
主题

简介 返回页首

协作图用于显示对象之间如何进行交互以执行特定用例或用例中特定部分的行为。设计员使用协作图和序列图确定并阐明对象的角色,这些对象执行用例的特定事件流。它们是主要的信息来源,用于确定类的职责和接口。

与序列图不同,协作图显示了对象之间的关系。序列图和协作图表述的是相似的信息,但表述的方式却不同。协作图显示对象之间的关系,它更有利于理解对给定对象的所有影响,也更适合过程设计。

协作图的格式决定了它们更适合在分析活动中使用(请参见活动: 用例分析)。它们特别适合用来描述少量对象之间的简单交互。随着对象和消息数量的增多,理解协作图将越来越困难。此外,协作图很难显示补充的说明性信息,例如时间、判定点或其他非结构化的信息,而在序列图中这些信息可以方便地添加到注释中。

协作图的内容 返回页首

协作图中可以有对象和主角实例,以及描述它们之间关系和交互的连接和消息。 通过说明对象间如何通过互相发送消息来实现通信,协作图描述了参与对象中发生的情况。您可以为用例事件流的每一个变化形式制作一个协作图。

描述回收机系统接收储存项用例中部分事件流的协作图。

对象 返回页首

对象用一个对象符号表示,显示对象的名称和它所属的类(带有下划线),两者之间用冒号隔开:

对象名:类名

在协作图中,您可以按照以下方式使用对象:

  • 可以不指定对象的类。通常先制作只带有对象的协作图,而后再指定它们的类。
  • 可以给对象命名,但如果您要区分同一个类的不同对象,则应给对象命名。
  • 如果对象的类主动参与了协作,则可以将类本身在协作图中表现出来。

主角 返回页首

主角实例通常作为交互的调用方出现在协作图中。如果同一个图中有多个主角实例,请尽量将它们置于图的外围区域。

连接 返回页首

连接定义如下:

  • 连接是对象间的一种关系,对象通过连接互相发送消息。在协作图中,连接显示为两个对象之间的一条实线。
  • 一个对象通过与其他对象间的连接与这些对象进行交互或导航。
  • 连接可以是关联关系的一个实例,它可以是匿名的,即它的关联关系是未经说明的。
  • 连接附带消息流,请参见消息

消息 返回页首

消息是对象之间的通信,它在传达信息的同时期望活动随之发生。在协作图中,消息显示为连接旁带有标注的箭头。这表示连接用于传送,或通过别的途径向目标对象发送消息。箭头沿着连接的方向指向目标对象(接收消息的对象)。箭头通过消息名称及消息参数来标记。为了显示消息在整个交互中的顺序,还可以用顺序号来标记消息箭头。顺序号常用在协作图中,因为它们是说明消息相对顺序的唯一方法。

消息可以是未被分配的,这意味着它的名称是描述消息总体意义的临时字符串。您可以在随后通过指定消息目标对象的操作来分配消息。所指定的操作将替换消息的名称。

© 1987 - 2001 Rational Software Corporation。版权所有。

分栏显示 Rational Unified Process

Rational Unified Process