`

协作图

阅读更多

 

  协作图(Collaboration Diagram,也叫合作图)是一种交互图(interaction diagram),强调的是发送和接收消息对象之间的组织结构。一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。对象通常是命名或匿名的的实例,也可以代表其他事物的实例,例如协作、组件和节点。使用协作图来说明系统的动态情况。

      协作图(Collaboration Diagram)显示某组对象如何为了由一个用例描述的一个系统事件而与另一组对象进行协作的交互图。使用协作图可以显示对象角色之间的关系,如为实现某个操作或达到某种结果而在对象间交换的一组消息。如果需要强调时间和序列,最好选择序列图;如果需要强调上下文相关,最好选择协作图。

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

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

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

      协作图强调参与一个交互对象的组织,它由以下基本元素组成:活动者(Actor)、对象(Object)、连接(Link)和消息(Message)。在UML中,使用实线标记两个对象之间的连接,

      协作图中的消息,由标记在连接上方的带有标记的箭头表示。协作图包含类元角色和关联角色,而不仅仅是类元和关联。类元角色和关联角色描述了对象的配置和当一个协作的实例执行时可能出现的连接。当协作被实例化时,对象受限于类元角色,连接受限于关联角色。关联角色也可以被各种不同的临时连接所担当,例如过程参量或局部过程变量。连接符号可以使用构造型表示临时连接(《parameter》或《local》)或调用同一个对象(《self》)。虽然整个系统中可能有其他的对象,但只有涉及到协作的对象才会被表示出来。换而言之,协作图只对相互之间具有交互作用的对象和对象间的关联建模,而忽略了其他对象和关联。

 

协作图的内容

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

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

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

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics