本节书摘来自华章计算机《软件建模与设计: UML、用例、模式和软件体系结构》一书中的第2章,第2.5节,作者:(美)Hassan Gomaa,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.5 交互图
通信图和顺序图是UML的两种主要类型的交互图,它们用来描绘对象间是如何进行交互的。在这些交互图中,对象用长方形方框表示,对象的名字不需要使用下划线标绘。2.5.1节和2.5.2节将描述这些图的主要特征。
2.5.1 通信图
通信图在UML 1.x中被称为协作图(collaboration diagram),它展示了合作对象间如何通过发送与接收消息进行动态的交互。通信图描绘了交互对象的组织结构。其中,对象用方框表示,连接方框的线代表了对象间的交互。与这些线相邻的带有标签的箭头表示了对象间消息传递的名字和方向。同时,对象间传递消息的顺序被进行了编号。通信图的表示法如图2-5所示。
其中,星号(*)表示一个可选的迭代,即一条消息被发送了多于一次。一个可选的条件(condition)表示一条消息在满足特定条件的情况下才会被发送。
2.5.2 顺序图
顺序图是另一种说明对象间交互方式的图,如图2-6所示,顺序图将对象交互通过时间序列的方式进行描绘。顺序图具有两个维度,其中参与交互的对象被描绘在水平方向,而垂直方向代表时间维度。从每一个对象框出发都有一条被称为生命线(lifeline)的垂直虚线。每条生命线可以选择性地具有一个使用双实线表示的激活杆(activation bar,图中未示出),它用来表示对象执行的时间。
图2-6 UML表示法中的顺序图
参与者通常显示在页面的最左端。带有标签的水平箭头代表消息。仅有箭头连接的源对象和目标对象是相关的,消息从源对象发送到目标对象。时间从页面的顶部开始增加直至底部。另外,消息之间的间隔是不相关的。
UML 2已大幅扩展了顺序图的表示法,增加了对循环和条件的描述,这些内容在第9章和第11章中介绍。