首页 百科知识 4.3.7协作图

4.3.7协作图

时间:2022-10-15 百科知识 版权反馈
【摘要】:协作图也是交互图的一种,它主要描述在一定的语境中一组对象以及用来实现某些功能的对象之间的相互作用和对象之间的关系。同一个线程内的所有消息按照顺序排列。从中我们可以清晰地看到顺序图与协作图之间的对应关系,读者可以自己比较它们的不同。表4-5是协作图的一些元语。顺序图清楚地表示了交互作用中的时间顺序,但没有明确表示对象间的关系。顺序图常常用于表示方案,而协作图用于过程的详细设计。

4.3.7 协作图

协作图也是交互图的一种,它主要描述在一定的语境中一组对象以及用来实现某些功能的对象之间的相互作用和对象之间的关系。协作图可以看成是在对象图的基础上,加入了对象之间的消息通讯,以描述对象之间的交互。与顺序图不同,协作图重点是在空间上描述对象的交互。

协作图除了具有对象图的模型元素之外,还加入了消息(Message),消息是对象之间的通讯,从而实现对象的交互,每个消息包括一个顺序号、一张可选的前任消息的表、一个可选的监护条件、一个名字和参量表、可选的返回值表。顺序号包括线程的名字(可选)。同一个线程内的所有消息按照顺序排列。消息可以分为:指向源的简单消息、指向目的的简单消息、指向源的异步消息、指向目的的异步消息、指向源的同步消息、指向目的的同步消息,指向源和指向目的都是表示简单消息的流向,只是图形表示的指向不同而已,指向源的简单消息和指向目的的简单消息都用带箭头的线段表示,指向源的简单消息只指向左边,指向目的的简单消息只指向右边,指向源的异步消息用带有下半个箭头的实线段表示,指向目的的异步消息用带有上半个箭头的实线段表示,指向源的同步消息和指向目的的同步消息用带实心三角箭头的实线段表示,指向源的同步消息只指向左边,指向目的的同步消息只指向右边。

下面是一个简单的由时间引发的计算工资程序的顺序图4-14以及与之对应的协作图4-15。

img74

图4-14

从中我们可以清晰地看到顺序图与协作图之间的对应关系,读者可以自己比较它们的不同。表4-5是协作图的一些元语。

交互图中的对象基本上可以分为四组:存在于整个交互作用中的对象;在交互作用中创建的对象(使用约束{new});在交互作用中销毁的对象(使用约束{destroyed});在交互作用中创建并销毁的对象(使用约束{transient})。设计交互图时可以首先表示操作开始时可得的对象和连接,然后决定控制如何流向图中正确的对象去实现操作。

img75

图4-15

表4-5

img76

协作图和顺序图都表示出了对象间的交互作用,但是它们侧重点不同。顺序图清楚地表示了交互作用中的时间顺序,但没有明确表示对象间的关系。协作图清楚地表示了对象间的关系,但时间顺序必须从顺序号获得。顺序图常常用于表示方案,而协作图用于过程的详细设计。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈