原文:[UML]UML系列——协作图(通信图)collaboration diagram
系列文章
[UML]UML系列——用例图中的各种关系(include、extend)
[UML]UML系列——类图class的关联关系(聚合、组合)
[UML]UML系列——类图class的实现关系Realization
[UML]UML系列——活动图activity diagram
[UML]UML系列——时序图(顺序图)sequence diagram
引言
用例图、活动图、时序图之间的关系?
时序图与协作图之间的关系
共同点:二者都是用对象间的交互来描述用例的。
案例:时序图
协作图
共同点:时序图与协作图均显示了对象间的交互。
不同点:时序图强调交互的时间次序。
协作图强调交互的空间结构。
案例剖析
这里还使用上片文章中的赤壁之战的时序图来分析。
思考:孔明向哪些对象发送了消息?又接收了哪些对象发送的消息?(可以根据这个典故,想想)
协作图
时序图按照时间顺序布图,而写作图按照空间结构布图
协作图与时序图在语义上是等价的,二者可以相互转换,而不会丢失信息。(通过上面的例子,你可能已经看出他们之间的转化关系)
协作图的构成
对象、链接、消息
对象
链接
1、链接的概念
链接用来在协作图中关联对象,链接的目的是让消息在不同的系统对象之间传递。
2、链接的符号表示
链接以连接两个对象的单一线条表示。
消息
1、消息的概念
消息是协作图中对象与对象之间通信的方式
2、消息的类型与符号表示
时序图与协作图的转换
时序图和协作图在语义上是等价的,所以时序图和协作图可以彼此转换而不会损失信息。(具体转换方式在下面Rose建模中讲到)
协作图的Rose建模
一、新建协作图
方法1:
方法2:
二、重命名协作图并双击打开
三、添加对象
方法1: a.将事先创建的类从浏览器拖到协作图中
b.双击对象,在弹出的窗口中设置对象的名称
方法2:
a.通过工具栏的对象按纽在协作图中添加一个对象
b.双击对象,在弹出的窗口中设置对象名和类
四、添加链接
用工具栏中的链接按纽进行连接
五、添加消息
方法1:
a.用工具栏上的消息按纽点击链接线
b.双击消息,在弹出的窗口中设置消息的名称
方法2:
a.双击链接线,弹出如下窗口
六、设置消息的类型
七、时序图与协作图的相互转换
总结
以上就是协作图的相关内容,希望对您有所帮助。在实际运用中,时序图用的比较多,我比较喜欢从时序图转换为协作图,其实时序图协作图,要其一就可以。不必要两种图都画,个人见解。