关键区别——序列图与协作图
在开发软件之前,有必要很好地理解应该开发什么。因此,需要对系统进行设计。它可以使用统一建模语言(UML)来完成。它不是一种编程语言,如Java、C#。它用于获得系统的可视化表示。随着面向对象程序设计(OOP)的引入,大多数程序和软件都得到了开发。它是一个范例,有助于用对象对软件进行建模。继承、封装等面向对象的概念可以用UML表示。这很容易理解。它甚至可以被非程序员使用。一般来说,一个图表不足以理解整个系统。有各种类型的UML图,每种图都包含不同的方面。序列图和协作图是两个交互图。序列图和协作图的关键区别在于,时序图用于时间序列更重要的时候,而协作图则用于对象组织更重要的时候。本文讨论了序列图和协作图之间的区别。
目录
1. 概述和主要区别
2. 什么是序列图
3.什么是协作图
4. 序列图与协作图的相似性
5. 并列比较-顺序图与表格形式的协作图
6. 摘要
什么是序列图(sequence diagram)?
序列图用于表示对象之间在特定时间段内的交互作用。请求消息用深色箭头表示,返回消息用虚线箭头表示。矩形垂直框表示每个对象的激活时间。
根据上图,customer对象向product对象发送一条消息,以查看产品是否可用。product对象向stock对象发送一条消息,以确定该产品是否在stock中可用。根据产品的可用性,库存将回复产品,产品将回复客户。然后customer对象向payment对象发送payment消息。最后,将接收消息发送给客户。请求的产品,付款请求。它们用黑色箭头表示。是/否、回执是返回消息。它们用虚线箭头表示。客户对象在整个过程中都是活动的。产品和库存对象在开始时处于活动状态。付款对象在结束时处于活动状态,因为应该激活它以完成付款。总的来说,序列图提供了特定时间段内对象之间交互的信息。
什么是协作图(collaboration diagram)?
协作图关注对象之间的交互。它显示对象组织。数字表示方法调用序列。每个数字代表它被调用的方法。
根据上面的协作图,对象用矩形表示。消息由箭头和序列号表示。第一条消息是订单产品。第二条消息是get price,第三条消息是do payment。同样,每个消息都有一个序列号。因此,这个数字表示如何一个接一个地调用这些方法。条件语句用方括号表示。通过master和visa支付是单独的条件。船长付款和**付款属于支付。因此,它们用3.1和3.2表示。
序列(sequence)和协作图(collaboration diagram)的共同点
- 序列图和协作图都是UML中的交互图。
- 序列图和协作图都描述了系统的行为方面。
序列(sequence)和协作图(collaboration diagram)的区别
序列图与协作图 | |
序列图是一种UML表示,用于可视化系统中执行特定功能的调用序列。 | 协作图是一种UML表示,用于可视化对象的组织及其交互。 |
代表 | |
序列图表示从一个对象流向另一个对象的消息序列。 | 协作图表示系统的结构组织以及发送和接收的消息。 |
使用 | |
如果时间序列很重要,可以使用序列图。 | 如果组织图是重要的,那么协作图是很重要的。 |
总结 - 序列图(sequence diagram) vs. 协作图(collaboration diagram)
在开发软件时,不可能直接开始开发。必须了解系统。UML用于对系统进行图形化的理解。UML比通用编程语言(如java、C++等)更容易。其中两个是序列图和协作图。序列图和协作图的区别在于,时序图是在时间序列比较重要的时候使用的,而协作图是在对象组织比较重要的时候使用的。