聊聊UML(11)交互图-协作图
Posted 与小婧同行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊聊UML(11)交互图-协作图相关的知识,希望对你有一定的参考价值。
(图片来自UML 2.5)
Communication Diagrams focus on the interaction between Lifelines where the architecture of the internal structure and how this corresponds with the message passing is central. The sequencing of Messages is given through a sequence numbering scheme.
——UML 2.5
协作图也称为通信图,是用来表示对象之间的消息传递关系的。
协作图的元素构成比较简单:对象、消息。
在UML2.5中,对其描述也相当简单。
(图片来自UML 2.5)
这里需要注意的内容是消息的标签。
我们会看到消息线上有一些“文字描述”,文字描述的前面有一个阿拉伯数字的序号。
这个序号表示这个消息是第几个执行的。
(图片来自网络)
在UML 2.5的规范中也说明了“协作图”可以与我们上一次聊到的“时序图”互换。
Communication Diagrams correspond to simple Sequence Diagrams that use none of the structuring mechanisms such as InteractionUses and CombinedFragments. It is also assumed that message overtaking (i.e., the order of the receptions are different from the order of sending of a given set of messages) will not take place or is irrelevant.
——UML 2.5
这两种图只是表现方式上不一样,作用是差不多的。
硬要找区别,我们从名字上可以获悉一二。
时序图更强调各个部分的顺序,而协作图又称通信图强调消息的传递。
但是这两种图是可以互换的,甚至在Ross这类工具中,可以帮你实现自动转化。
(图片来自网络)
在《大象Thinking in UML》中,恰好有这样转换的例子,大家可以自行对比下,感受一下两者的不同。
业务模型
(图片来自《大象Thinking in UML》)
(图片来自《大象Thinking in UML》)
概念模型
(图片来自《大象Thinking in UML》)
(图片来自《大象Thinking in UML》)
对于协作图实在没什么好说的,容易理解也容易画。
只是个人觉得,和其他UML图形一样,并不是所有的情况都要建立协作图。
只有在描述复杂消息通信的时候,可以考虑用协作图。
小婧是一名行走在实践路上的资深业务分析师(BA),如果想与我同行,就请关注我吧!
以上是关于聊聊UML(11)交互图-协作图的主要内容,如果未能解决你的问题,请参考以下文章