协作图(也叫合作图)是一种交互,强调的是发送和接收消息的对象之间的组织结构。
一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。对象通常是命名或匿名的类的实例,也可以代表其他事物的实例,例如协作、组件和节点。
使用协作图来说明系统的动态情况。
协作图使描述复杂的程序逻辑或多个平行事务变得容易。
3 构成①角色 ②对象 协作图包含类元角色和关联角色,而不仅仅是类元和关联。 ③连接 ④消息 协作图中的消息,由标记在连接上方的带有标记的箭头表示。
为什么要使用协作图
协作图作为一种在给定语句中描述协作中各个对象之间的组织交互关系的空间组织结构图形化方式,在私用其进行建模时,可以将其作用分为三个方面:
1 通过描绘对象之间的消息的传递情况来反映具体的使用语境的逻辑表达。一个使用情景的逻辑可能是一个用例的一部分,或是一条控制流。这和序列图的作用类似。
2显示对象及其交互关系的空间组织结构。协作图显示了在交互过程中各个对象之间的组织交互关系以及对象彼此之间的链接。
区别(和顺序图的比较)
协作图用于表示对象间的消息往来。虽然序列图在某种定义上也能表示对象的协作动作,但能明确描述对象间的协作关系的还是协作图。
与顺序图相比,他们虽然都属于交互图。但顺序图侧重时间顺序,协作图侧重对象间的关系。
4 协作图