UML交互图-协作图

概述

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

一、协作图的基本模型

协作图是一种类图,它包含对象和对象间的关联。协作图只对相互间具有交互作用的对象和对象间的关联建模,而忽略了其他对象和关联。如图8-1所示为一个简单的协作图。

二、对象的表示法

对象用来表示不同的主体,这样,多个对象之间才能够进行交互。对象使用一个方框表示,并写入对象的名称,使用下画线表示,如图8-2所示。

这里的对象就是前文中所讲解的对象图,因此我们可以设置它所属于的类类型,采用冒号表示类,如图 8-3所示。

如果类的类型是角色类型,则对象不再使用方框表示,而是使用一个角色的人形标志表示,对象名及类名写在人形标志的下方,如图8-4所示。

三、连接的表示法

在协作图中,不同的对象之间通过线段连接起来,表示它们之间拥有事件调用关系,如图8-5所示。

四、消息的表示法

消息可以用依附于链接的带标记的箭头表示。每个消息包括一个顺序号和一个名字。顺序号包括线程的名字(可选),同一个线程内的所有消息按照顺序排列。除非有一个明显的顺序依赖关系,不同线程内的消息是并行的。两个对象之间可能存在双向的调用关系,因此可以分别在连接线的两边使用两个方向的箭头分别表示,如图8-6所示。

与序列图中的消息类似,这里的消息也分为3种类型:

  • 同步消息:在箭头的末尾画一个叉,表示消息的调用是同步的。
  • 异步消息:箭头采用单边表示,表示消息的调用是异步的。
  • 定时消息:消息名后画一个圈,表示该消息是定时调用的。

五、自调用消息的表示法

以上的消息调用处于两个不同的对象之间,除此之外,消息还可以进行自调用,就好比类调用了自身的方法一样。在 UML图中,只需要画一个折回的箭头即可,如图8-7所示。

相关推荐
艾利克斯冰1 天前
Java设计模式详解-七大设计原则(持续更新中)
设计模式·uml·开闭原则
HEADKON1 天前
尼洛替尼300mg每日两次空腹服用治慢粒,QT延长风险高,低钾低镁需纠正后用药
uml
rolt3 天前
PlantUML描述《分析模式》第4章企业财务观察(2)
领域模型·架构师·uml
吴声子夜歌6 天前
PlantUML——状态图
uml·plantuml·状态图
吴声子夜歌6 天前
PlantUML——序列图
uml·plantuml·序列图
吴声子夜歌6 天前
PlantUML——活动图
uml·plantuml·活动图
吴声子夜歌7 天前
PlantUML——类图(一)
uml
吴声子夜歌7 天前
PlantUML——类图(二)
uml·plantuml·类图
吴声子夜歌7 天前
PlantUML——对象图
uml·plantuml·对象图
吴声子夜歌8 天前
PlantUML——用例图
uml·plantuml