【发布时间】:2012-05-06 13:18:15
【问题描述】:
UML中的序列图和通信(协作)图有什么区别?
【问题讨论】:
标签: oop uml object-oriented-analysis
UML中的序列图和通信(协作)图有什么区别?
【问题讨论】:
标签: oop uml object-oriented-analysis
引用Wikipedia:
通信图显示许多与序列图相同的信息,但由于信息的呈现方式,其中一些信息在一张图中比在另一张图中更容易找到强>。通信图显示了每个元素与哪些元素进行了更好的交互,而序列图更清楚地显示了交互发生的顺序。
本质上,协作图强调哪些对象相互交互,而序列图更强调实际顺序。但它们实际上是等价的,除了在序列图中可见的更多细节,例如创建/销毁对象的时间和对象。
【讨论】:
序列图使跟踪交互变得更容易,因为它们是从上到下完成的,因此查找消息顺序非常简单。但是,如果您有很多对象交互,图表就会变得难以阅读。
通信图显示了对象之间传递的消息,并在消息的顶部写入序列。对于大量的对象,它比序列图更容易理解,但消息序列更难理解。
【讨论】:
在序列图生命线中,元素存在并可能参与交互。 在通信图中,生命线代表交互中的单个参与者。
【讨论】:
序列图和通信图显示几乎相同的信息,各自的优点和缺点是:
序列图:
很容易看到消息随时间从一个对象到另一个对象的顺序。
通讯图:
易于查看特定对象配置之间的链接、角色名称和流量。
【讨论】: