UML交互图-协作图

概述

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

一、协作图的基本模型

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

在这里插入图片描述

二、对象的表示法

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

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

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

在这里插入图片描述

三、连接的表示法

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

在这里插入图片描述

四、消息的表示法

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

在这里插入图片描述
与序列图中的消息类似,这里的消息也分为3种类型:

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

五、自调用消息的表示法

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/687976.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用紫铜管制作半波天线的折合振子

一、概述 半波天线是一种简单而有效的天线类型,其长度约为工作波长的一半。它具有较好的辐射特性和较高的增益,广泛应用于业余无线电、电视接收等领域。使用紫铜管制作折合振子,不仅可以提高天线的机械强度,还能增强其导电性能。 …

k8s——Pod容器中的存储方式及PV、PVC

一、Pod容器中的存储方式 需要存储方式前提:容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。 首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态&…

如何让tracert命令的显示信息显示*星号

tracert命令如果在中间某一个节点超时,只会在显示信息中标识此节点信息超时“ * * * ”,不影响整个tracert命令操作。 如上图所示,在DeviceA上执行tracert 10.1.2.2命令,缺省情况下,DeviceA上的显示信息为:…

Xamarin.Android实现通知推送功能(1)

目录 1、背景说明1.1 开发环境1.2 实现效果1.2.1 推送的界面1.2.2 推送的设置1.2.3 推送的功能实现1.2.3.1、Activity的设置【重要】1.2.3.2、代码的实现 2、源码下载3、总结4、参考资料 1、背景说明 在App开发中,通知(或消息)的推送&#x…

k8s小型实验模拟

(1)Kubernetes 区域可采用 Kubeadm 方式进行安装。(5分) (2)要求在 Kubernetes 环境中,通过yaml文件的方式,创建2个Nginx Pod分别放置在两个不同的节点上,Pod使用hostPat…

Gradio 案例——将文本文件转为词云图

文章目录 Gradio 案例——将文本文件转为词云图界面截图依赖安装项目目录结构代码 Gradio 案例——将文本文件转为词云图 利用 word_cloud 库,将文本文件转为词云图更完整、丰富的示例项目见 GitHub - AlionSSS/wordcloud-webui: The web UI for word_cloud(text t…

AI产品经理岗位需求量大吗?好找工作吗?

前言 在当今这个科技日新月异的时代,人工智能(AI)已不再仅仅是一个遥远的概念,而是深深嵌入到我们生活的方方面面,从日常的语音助手到复杂的自动驾驶系统,AI的触角无处不在。随着AI技术的广泛应用和持续进…

kettle列转行(行扁平化)的使用

kettle行扁平化节点是将多行数据合并为一行数据如,其行为类似于css中的float排列 将上表格数据转换为下表格数据 namecategorynumjack语文10jack数学20jack英语40rose英语50 name语文数学英语jack102040rose50 使用行扁平化节点配置需要扁平化的字段&#xff0c…

泛微开发修炼之旅--09Ecology作为所有异构系统的待办中心,实现与kafka对接源码及示例

文章链接:泛微开发修炼之旅--09Ecology作为所有异构系统的待办中心,实现与kafka对接源码及示例

龙迅LT6911GX HDMI 2.1桥接到四 PORT MIPI或者LVDS,支持图像处理以及旋转,内置MCU以及LPDDR4

龙迅LT6911GX描述: LT6911GX是一款高性能的HDMI2.1到MIPI或LVDS芯片,用于VR/显示器应用。HDCP RX作为HDCP中继器的上游端,可以与其他芯片的HDCP TX协同工作,实现中继器的功能。对于HDMI2.1输入,LT6911GX可配置为3/4车…

JavaScript的核心语法

JavaScript JavaScript:JavaScript的组成:核心语法:Hello:变量:JS的基本数据类型:特殊点: 数组:流程控制语句:函数:函数的重载:函数的递归:预定义…

python-windows10普通笔记本跑bert mrpc数据样例0.1.001

python-windows10普通笔记本跑bert mrpc数据样例0.1.000 背景参考章节获取数据下载bert模型下载bert代码windows10的cpu执行结果注意事项TODOLIST背景 看了介绍说可以在gpu或者tpu上去微调,当前没环境,所以先在windows10上跑一跑,看是否能顺利进行,目标就是训练的过程中没…

WWDC24即将到来,ios18放大招

苹果公司即将在下周开全球开发者大会(WWDC),大会上将展示其人工智能技术整合到设备和软件中的重大进展,包括与OpenAI的历史性合作。随着大会的临近,有关iOS 18及其据称采用AI技术支持的应用程序和功能的各种泄露信息已经浮出水面。 据报道,苹果将利用其自主研发的大…

WPF国际化的最佳实践

WPF国际化的最佳实践 1.创建项目资源文件 如果你的项目没有Properties文件夹和Resources.resx文件,可以通过右键项目-资源-常规-添加创建或打开程序集资源 2.添加国际化字符串 打开Resources.resx文件,添加需要翻译的文本字符,并将访问修…

深入了解 Postman 中的变量

在我们进行 API 开发和测试时,使用诸如 Postman 之类的工具可以极大地简化工作流程,提高效率。Postman 的一个强大功能就是变量(Variables)。利用变量,我们可以使我们的请求变得更加动态和灵活,避免重复输入…

计算机组成实验---Cache的实现

直接映射 先看懂cache的映射原理,根据cache大小与主存大小来计算各个信号线的位数 各个信号线位数 主存地址在逻辑上分为区号、块号、块内地址 Cache结构 Cache访问原理 基本过程 状态机:“三段式”实现 6.3 Verilog 状态机 | 菜鸟教程 (runoob.com) …

问题:当频点数大于载波数时,() #学习方法#知识分享

问题:当频点数大于载波数时,() A.基带跳频可以执行,混合跳频可以执行 B.基带跳频不可以执行,混合跳频可以执行 C.基带跳频可以执行,混合跳频不可以执行 D.基带跳频不可以执行,混…

2024-06-07 Unity 编辑器开发之编辑器拓展8 —— Scene 窗口拓展

文章目录 1 Handles 类1.1 Scene 响应函数1.2 自定义窗口中监听 Scene1.3 Handles 常用 API2.2.1 颜色控制2.2.2 文本2.2.3 线段2.2.4 虚线2.2.5 圆弧2.2.6 圆2.2.7 立方体2.2.8 几何体2.2.9 移动、旋转、缩放2.2.10 自由移动 / 旋转 2 Scene 窗口中显示 GUI3 HandleUtility4 G…

React 18

创建 React 18 脚手架项目 全局安装 create-react-app npm install -g create-react-app yarn global add create-react-app . 确认是否已安装 create-react-app npm list -g create-react-app yarn global list | grep create-react-app . 如果安装失败 有时&#xff0…

YOLOv8---seg实例分割(制作数据集,训练模型,预测结果)

YOLOv8----seg实例分割(制作数据集,训练模型,预测结果) 内容如下:【需要软件及工具:pycharm、labelme、anaconda、云主机(跑训练)】 1.制作自己的数据集 2.在yolo的预训练模型的基础…