序列图和协作图之间的差异

Car*_*los 19 uml modeling tool-uml

当我阅读UML规范上层结构时,有序列图并且有一个协作图所以,它们之间有什么区别

序列图和协作图?

Mar*_*lla 21

序列和协作图都旨在描述对象之间的动态交互.您可以描述的信息基本相同,但这两个模型有不同的侧重点:

  • 序列图通过沿(垂直)时间轴显示调用和响应并通过显式显示对象的激活时间来突出显示更多时间方面.序列图显示了对象如何根据消息的时间顺序相互通信.时间流是这些图中最明显的方面,因为消息是根据垂直时间轴排序的,并且还报告了与这些消息关联的对象的生命周期.下图(摘自我们的)显示了一个序列图的示例,该序列图描述了3个对象(类Shipment,Invoice和PartList的实例)以及彼此之间交换的消息.交互图描述了系统的执行方案.

UML序列图示例

  • 协作图旨在通过定义在彼此之间流动的消息来显示对象之间发生的通信.它们基本上包括将通信动作叠加在对象图上.通过使用顺序标签对交互进行编号,也可以在此显示时间方面.协作图根据链接(连接可以交互的元素的实心无向线)和流经链接的消息显示对象或类之间的交互.这同时描述了系统的某种静态结构(链接和节点)和动态行为(消息).一个例子如下所示.

UML协作图示例


小智 5

UML1:这些图是相同的,但从不同的角度呈现数据。

UML2:协作图更名为通信图(存在误解,因为人们认为协作图是用来显示协作的)。这些图几乎是相同的,但是序列图具有更多的可视化可能性(例如,组合片段、状态不变量)。


rai*_*mar 1

序列图是动态的,更重要的是,它是按时间排序的。协作图在其实现的目的上与序列图非常相似;换句话说,它显示了系统中对象的动态交互。协作图的一个显着特征是它显示了对象以及它们与系统中其他对象的关联,除了它们如何相互交互之外。对象之间的关联不在序列图中表示。

链接:http ://www.developer.com/design/article.php/3102981/Collaboration-Diagram-in-UML.htm