与顺序图一样,协作图也是一种交互图,用于描述对象之间的协作关系,其模型元素与序列图的基本相同,但它侧重于描述对象之间是如何相互连接的,强调的是发送和接收消息的对象之间的组织结构。顺序图着重体现对象间消息传递的时间顺序,协作图着重于哪些对象间有消息传递,表达了对象之间的静态连接关系。顺序图和协作图是同构的,它们相互之间可以转化而不损失信息,依靠工具协作图和顺序图可互相转换。
图4.7 注册新课程的协作图
图4.7给出了注册新课程的协作图,图中描述了注册者、课程表单、管理员和课程对象之间的协作关系,对象之间的连接关系上给出了发送和接收的消息。
4.6 UML图之间的关系
连载2-4给出了多种类型的图,这些图之间存在着或直接或间接的关系(如图4.8),这体现了UML中的辩证法。
图4.8 UML图的关系
用例图主要用来描述系统的外部行为;类图和对象图用来定义类和对象以及它们的属性和操作;状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件;顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图强调对象间的动态合作关系;活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。
除此之外,我们还没有详细讲解的包图用于描述系统的分层结构,构件图描述代码部件的物理结构及各部件之间的依赖关系,配置图定义系统中软硬件的物理体系结构。