UML交互图-协作图

概述

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

一、协作图的基本模型

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

二、对象的表示法

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

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

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

三、连接的表示法

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

四、消息的表示法

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

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

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

五、自调用消息的表示法

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

相关推荐
weixin_4569042712 天前
数据库设计与UML图
数据库·uml
希赛网16 天前
软考软件设计师常考知识点:(一)计算机组成与体系结构
软考·uml·编程语言·计算机基础·软件设计师
rolt17 天前
[pdf、epub]320道《软件方法》强化自测题业务建模需求分析共279页(202509更新)
产品经理·ddd·架构师·uml·领域驱动设计
攻心的子乐19 天前
软考 UML类图 泛化继承 实现 聚合 组合(最强) 依赖(最弱
uml
攻心的子乐20 天前
软考 UML 用例图 extend扩展关系 include包含关系 泛化继承inherit关系
uml
「QT(C++)开发工程师」1 个月前
UML | 最好的类图设计工具结合CSDN天启呈现-领路架构师
数据库·uml·类视图
小鱼儿LY1 个月前
软考系统架构设计师之UML统一建模语言
系统架构·软考·uml·架构设计师
workflower1 个月前
GitHub宕机自救指南
测试用例·需求分析·uml·敏捷流程·结对编程
青草地溪水旁2 个月前
Astah UML 中,状态机(State Machine)的建模最合适使用「UML 状态图(State Diagram)」
uml·状态机
Liquad Li2 个月前
UML(统一建模语言)详解
架构·uml