当我阅读 UML 规范超级结构时,发现有序列图和协作图两种类型。那么,这两种图有什么区别呢?
序列图和协作图都旨在描述对象之间的动态交互。
UML1: 这些图表相同,但从不同的角度呈现数据。
UML2: 协作图已更名为通信图(因为人们认为协作图用于展示协作而产生了误解)。 这些图表几乎相同,但序列图具有更多的可视化可能性(例如,组合片段、状态不变量)。
序列图以时间顺序的方式指定交互,可能涉及对象和/或类。这些图表在早期详细阶段创建,在该阶段中,每个用例的流程都以序列形式定义,即在每个步骤之后会发生什么。这种表示方法非常有助于理解和与客户讨论用例,双方可以提出所有可能的功能方面。 另一方面,协作图提供了对象之间的直接交互。这些图表似乎在开发设计实现关系时更常用。
序列图和协作图之间有区别。序列图展示对象在时间上的交互(因此不需要对消息进行编号),但协作图不展示对象在时间上的交互(需要对消息进行编号)。
注:
现在协作图也被称为通信图。
序列图是动态的,更重要的是它是按时间顺序排列的。协作图与序列图非常相似,因为它们都展示了系统中对象之间的动态交互。协作图的一个区别在于它展示了对象及其与系统中其他对象的关联,而不仅仅是它们彼此之间的交互。序列图中不表示对象之间的关联。
链接:http://www.developer.com/design/article.php/3102981/Collaboration-Diagram-in-UML.htm
使用序列图来展示时间并强调交互的顺序或排序。
使用通信图来强调参与者之间的联系。通信图可以作为对象图的有益补充。