首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >序列图与协作图的区别

序列图与协作图的区别
EN

Stack Overflow用户
提问于 2013-01-14 21:10:12
回答 6查看 88.3K关注 0票数 19

当我通读UML规范的上层建筑时,发现有序列图和协作图,那么,它们之间的区别是什么?

序列图和协作图?

EN

回答 6

Stack Overflow用户

发布于 2013-01-29 00:11:22

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

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

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

票数 21
EN

Stack Overflow用户

发布于 2013-01-14 23:07:03

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

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

票数 5
EN

Stack Overflow用户

发布于 2013-09-29 20:27:40

序列图以时序方式指定可能在对象和/或类之间的交互。这些图是在早期精化阶段创建的,其中用例的每个流程都是根据序列定义的,即在每个步骤之后,接下来会发生什么。这种表示非常有助于理解和与客户讨论用例,两者都可以得到所有可能的功能方面。另一方面,协作图提供了对象之间的直接交互。当您设计关系的实现时,这些关系图似乎更多地用于开发的设计阶段。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14319015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档