Uml 序列图和通信图的区别是什么?

Uml 序列图和通信图的区别是什么?,uml,sequence-diagram,communication-diagram,Uml,Sequence Diagram,Communication Diagram,有人能解释一下序列图和通信图之间的区别吗?这两个图给出了相同的信息,但序列图在其布局中强调时间,通信图在其布局中强调通信的对象 时间在序列图中是隐式的(通过垂直位置推断),而在通信图中是显式的(通过数字) 引用 通信图和序列图之间的主要区别在于,序列图擅长显示顺序逻辑,但不太擅长提供“大局观”,而通信图恰恰相反 下面的链接是序列图和通信之间差异的简短答案。 请参考 序列图以一种围栏格式演示交互,其中每个新对象都添加到右侧 这在代码中可能表示什么?很可能,类A有一个名为doOne的方法和一个类型为

有人能解释一下序列图和通信图之间的区别吗?

这两个图给出了相同的信息,但序列图在其布局中强调时间,通信图在其布局中强调通信的对象

时间在序列图中是隐式的(通过垂直位置推断),而在通信图中是显式的(通过数字)

引用

通信图和序列图之间的主要区别在于,序列图擅长显示顺序逻辑,但不太擅长提供“大局观”,而通信图恰恰相反


下面的链接是序列图和通信之间差异的简短答案。 请参考


序列图以一种围栏格式演示交互,其中每个新对象都添加到右侧

这在代码中可能表示什么?很可能,类A有一个名为doOne的方法和一个类型为B的属性。同样,类B有一个名为doTwo和doThree的方法。也许A类的部分定义是:

public class A
   {
   private B myB = new B();

   public void doOne()
   {
   myB.doTwo();
   myB.doThree();
   }
   // . . 
   }
通信图以图形或网络格式演示对象交互,其中对象可以放置在图上的任何位置(其墙壁绘制优势的本质)

序列图与沟通图的优缺点是什么

每种图表类型都有其优点,建模者有其独特的偏好——没有绝对“正确”的选择。然而,UML工具通常强调序列图,因为它们具有更大的符号能力

序列图比通信图有一些优势。也许最重要的是,UML规范更以序列图为中心,在符号和语义方面投入了更多的思想和精力。因此,工具支持更好,可以使用更多的符号选项。此外,通过从上到下的顺序图更容易看到调用流顺序。使用通信图,我们必须读取序列号,如“1:”和“2:”。因此,序列图非常适合用于文档编制或轻松阅读反向工程调用流序列,该序列是使用UML工具从源代码生成的


但另一方面,当应用“UML作为草图”在墙上绘制(一种敏捷建模实践)时,通信图具有优势,因为它们更节省空间。这是因为这些盒子可以很容易地放在任何水平或垂直的地方或擦除。因此,使用通信图修改墙壁草图也更容易(在创造性的高变化OO设计工作中),在一个位置擦除一个框,在其他位置绘制一个新框,并在框上绘制一条线是很简单的。相反,序列图中的新对象必须始终添加到右边缘,这是有限的,因为它会快速消耗和耗尽页面(或墙上)的右边缘空间;垂直维度中的自由空间未得到有效利用。与通信图相比,在墙上绘制序列图的开发人员很快就会感到绘图的痛苦

强调消息的时间顺序(使用序列图)

强调交互对象之间的结构关系(使用通信图)


参考:UML用户手册

面向对象设计中的一个基本规则是根据不同的目的使用不同的图表。在这方面,序列图用于建模顺序逻辑,同时显示多个对象协同工作以实现共同目的的行为。可以使用通信图,以前在UML 1.x中称为协作图。-阅读更多>>此处链接不鼓励提问,因为如果链接消失,答案将毫无意义。如果你在此处向他解释你自己,那会更好