通信图

除了序列图可以表达一群对象之间的交互外,UML还有另一款通信图(communication diagram)一样可以呈现一群对象交互的情况,所以这两款图也合称为交互图(interaction diagram)。

由于,这两款图所蕴含的内容大致相同,所以多数的UML开发工具都有提供转换两图的功能,像是通信图7-28便是根据序列图7-26自动输出。

图7-28 通信图(转自序列图7-26)

比较两图的主要差异,如下所述

• 片段的设计—通信图无法表达片段设计,像是前面我们使用过的循环、序列或引用片段均无法呈现,不利于片段设计的重用,也无法表达控制流程的设计。

• 对象的链接—在序列图中,没有呈现对象之间的链接。但在通信图中,对象之间的链接是焦点所在。所以,通过通信图的对象链接,立即就可以明白两个对象之间必须先建立起链接,随后才能传送消息。

• 消息的顺序—序列图擅于呈现依序发送消息的情况,即便隐藏了消息的序号,从图上仍旧可以清楚获知由上而下依序发送消息的交互状况,如图7-29所示。可是反观图7-30,隐藏序号之后的通信图,几乎是无法阅读的。

图7-29 由上至下按顺序发送消息

 

图7-30 隐藏消息序号

posted on 2009-08-01 12:15  yurow  阅读(1268)  评论(0编辑  收藏  举报

导航