一、什么是协作图?
顾名思义协作图就是合作图,有合作就涉及到多个对象。
协作图(Collaboration Diagram /Communication Diagram,也叫合作图)是一种交互图(interaction diagram),显示某组对象如何为了由一个用例描述的一个系统事件而与另一组对象进行协作的,使用协作图可以显示对象角色之间的组织关系。
二、对比
1、协作图和时序图。
两者表的消息时一样的,只是强调的重点不同。协作图表达的是在实现某个用例期间,对象之间的合作关系,而时序图表达的是对象之间产生合作发生消息的时间顺序。前一篇博客中有不在赘述。
两者可以相互转化。(rational rose 快捷键F5。)
2、协作图和活动图
(1)活动图本质上是一种流程图,每个“活动”可以是某个具体的“事务”,比如审核单据等。用不太严谨的表述来说,活动图是一种粒度比较粗的事件流程图,多在需求阶段使用。
协作图就不一样了,协作图里的基本单元是对象(或者概念类),表达这些对象之间的协作关系,多在设计阶段使用。
(2)活动图是一个具体活动的表示图,有活动起点和活动终点;协作图是对象之间关系的表示图,没有起点和终点 。
三、协作图的构成
时序图跟协作图可以相互转化,不难理解,协作图的构成有角色,对象,连接,消息。具体含义同时序图。
协作图表现的是对象在空间上的联系,所以不存在时序图中的生命线和激活器。
看一下简单的例子。
图一是管理员结账的协作图。
图二是图一转换的时序图