UML-通信图和交互概览图(通信图和顺序图的区别与联系)

UML-通信图和交互概览图(通信图和顺序图的区别与联系)

  • 一、通信图简介
    • 1.消息
    • 2.链接
  • 二、通信图和[顺序图](https://blog.csdn.net/weixin_65032328/article/details/135587782)的联系与区别
  • 三、交互概览图
  • 四、顺序图转化为通信图练习


一、通信图简介

  • 通信图从另一个角度描述系统对象之间的链接,强调的是发送和接受消息的对象之间的组织结构。
  • 通信图由参与者对象链接消息构成。
  • 通信图使用长方形框表示对象,参与者使用人型符号来表示。
  • 当两个对象间有消息传递时用没有箭头的直线连接,表示这两个对象之间的链接。而两个对象间传递的消息使用带箭头的直线表示,由消息发出方指向接收方。
  • 顺序图通过激活期的垂直位置描述交互的时间顺序,但通信图是没有代表时间轴的生命线的,因此为表示发送消息的时间顺序,通信图的每个消息前都需要附加数字编号。顺序图中的消息编号可以省略,通信图不能省略。

1.消息

  • 通信图中的消息与顺序图中的消息一样,用于描述元素间的交互明细。
  • 通信图上的消息使用直线和实心箭头从消息发送者指向消息接收者。
  • 与顺序图一样,通信图上的系统元素也能发送传递给自身的消息。传递给自身的消息需要一个从对象到其本身的协作链接,以便能够调用消息。

2.链接

  • 链接是通信图特有的元素,是对象间发送消息的路径。链接以链接两个参与者的单一线条来表示。
  • 消息是对象之间传递的数据,而链接时消息传递的基础,只有有着链接的对象才可以传递消息。

二、通信图和顺序图的联系与区别

  • 通信图和顺序图在语义上是等价的,所以顺序图和通信图可以彼此转换而不会损失信息
    • 顺序图针对一个用例或子系统。
    • 通信图描述对象间的协作关系及影响,针对的是整个过程中的对象。
    • 顺序图侧重于描述对象交互序列,通常能够表达系统执行中的工作流。
    • 通信图侧重于描述系统各对象间的关系
    • 顺序图适用于描述对象间复杂的交互。
    • 通信图适用于描述多对象间的相互影响,适用于复杂的对象。
    • 通信图用于组织复杂的对象群体,通过对象群体间的协作关系,实现系统行为和功能。通信图更有利于描述给定对象间的所有影响,也更适合过程设计。
  • 通信图和顺序图的选择:
    • 如果主要针对特定交互期间的消息流,可以使用顺序图。
    • 如果集中处理交互所涉及的不同参与者与对象之间的链接,则可以使用通信图。

三、交互概览图

  • 交互概览图是活动图顺序图的混合版,其主要结构像活动图,表示一个功能的实现流程。但是参与流程的节点不是一般的动作,取而代之的是交互
  • 交互概览图是活动图的一种形式,它的节点代表交互图。交互图包含顺序图、通信图、交互概览图和时间图。大多数交互概览图标注和活动图一样。
  • 交互概览图将系统内单独的交互结合起来,并针对每个特定交互使用最合理的表示法,以显示出它们如何协同工作来实现系统的主要功能。
  • 交互概览图将活动图中的动作改为交互概览图的交互关系
  • 交互概览图的构成元素有初始状态终止状态工作流中的顺序图通信图交互以及判定决策点
  • 交互概览图将系统工作流中的每个过程使用顺序图或通信图来描述,并通过箭头和判定决策点将这些模型联系起来,构成一个完整的工作流。
  • 交互概览图与活动图一样,都是从初始节点开始,并以最终节点结束。在这两个节点之间的控制流为两者之间的所有交互。
  • 以交互概览图为用例建模时,首先必须将用例分解成单独的交互,并确定最有效表示交互的图类型。
    在这里插入图片描述

四、顺序图转化为通信图练习

  • 下图为某零售过程的顺序图,请根据此设计结果画出对应的通信图, 用于描述各个对象两两之间的协作关系。
    在这里插入图片描述
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2.2 物理层

2.2 物理层 2.2.1 物理层的基本概念 1、物理层主要解决在各种传输媒体上传输比特0和1的问题,进而给数据链路层提供透明传输比特流的服务 2、由于传输媒体的种类太多(例如同轴电缆、光纤、无线电波等),物理连接方式也有很多例如…

vs c++ qt 打包成exe

1 vs2019QT 打包项目 可执行文件exe_哔哩哔哩_bilibili 2 在开始中 找到 qt5142\5.14.2\msvc2017_64 类似于cmd命令行 3 windeployqt.exe 形态环境变量 qt安装包搜索windeployqt.exe D:\qt\5.15.2\winrt_x64_msvc2019\bin 4 \x64\Release\ vs调到Release x64 重新生成 5 运…

libcurl开源库的编译与使用全攻略

libcurl简介 libcurl 是一个广泛使用的、支持多种协议的、开源的客户端URL传输库,提供了许多用于数据传输的API,例如文件传输、FTP、HTTP、HTTPS、SMTP等。libcurl 的主要特点包括 支持多种协议:libcurl 支持多种协议,如 HTTP、F…

Spring集成

目录 概述1 声朋一个简单的集成流1.1 使用XML定义集成流1.2 使用Java配置集成流1.3 使用Spring lntegration 的 DSL 配置 2 Spring integration 功能概览2.1 消息通道2.2 过滤器2.3 转换器2.4 路由器2.5 切分器2.6 服务激活器2.7 网关2.8 通道适配器2.9 端点模块 概述 就像我们…

JDK8-JDK17版本升级

局部变量类型推断 switch表达式 文本块 Records 记录Records是添加到 Java 14 的一项新功能。它允许你创建用于存储数据的类。它类似于 POJO 类,但代码少得多;大多数开发人员使用 Lombok 生成 POJO 类,但是有了记录,你就不需要使…

逸学Docker【java工程师基础】3.1安装Jenkins

1.下载镜像 docker pull jenkins/jenkins:lts 2.运行容器 docker run -d -u root -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkins/jenkins:lts 3.要启动名为 jenkins 的 Docker 容器 docker st…

HarmonyOS-LocalStorage:页面级UI状态存储

管理应用拥有的状态概述 上一个章节中介绍的装饰器仅能在页面内,即一个组件树上共享状态变量。如果开发者要实现应用级的,或者多个页面的状态数据共享,就需要用到应用级别的状态管理的概念。ArkTS根据不同特性,提供了多种应用状态…

OpenGauss源码分析-SQL引擎

所讨论文件大多位于src\common\backend\parser文件夹下 总流程 start_xact_command():开始一个事务。pg_parse_query():对查询语句进行词法和语法分析,生成一个或者多个初始的语法分析树。进入foreach (parsetree_item, parsetree_list)循环…

LeetCode 每日一题 Day 37-43

终于考完试了,寒假期间将会每天持续更新! 447. 回旋镖的数量(Day 37) 给定平面上 n 对 互不相同 的点 points ,其中 points[i] [xi, yi] 。回旋镖 是由点 (i, j, k) 表示的元组 ,其中 i 和 j 之间的欧式距离和 i 和 k 之间的欧…

Ai网站收藏,备注

ai网站 有良心的up会留下地址: 1.【codeformer】https://replicate.com/sczhou/codeformer(在线版);https://pan.baidu.com/s/1L9m6YS9w3oOaywjUncaNyw?pwdiw8f(本地版,4个G) 2.【Magisto】&a…

通过开源端点可见性改善网络安全响应

在当今复杂的数字环境中,企业内的许多不同端点(从数据中心的服务器到咖啡店的笔记本电脑)创建了巨大且多样化的攻击面。每个设备都存在网络安全威胁的机会,每个设备都有其独特的特征和复杂性。攻击者使用的多种攻击媒介不仅是一个…

正则表达式中的“回引用(回溯)”——别名引用与序号引用的差异及正则表达式中的“P”关键字

读到一段巧妙的正则表达式,勾起我对正则表达式欠缺知识点的探寻: P y t h o n Python Python正则表达式中的“回引用(回溯)”——分组别名引用与序号引用的差异及正则表达式中的“P”关键字详情。 (笔记模板由python脚本于2024年01月14日 07:49:35创建&a…

pytorch集智4-情绪分类器

1 目标 从中文文本中识别出句子里的情绪。和上一章节单车预测回归问题相比,这个问题是分类问题,不是回归问题 2 神经网络分类器 2.1 如何用神经网络分类 第二章节用torch.nn.Sequantial做的回归预测器,输出神经元只有一个。分类器和其区别…

第九部分 使用函数 (三)

目录 一、文件名操作函数 1、dir 2、notdir 3、suffix 4、basename 5、addsuffix 6、addprefix 7、join 一、文件名操作函数 下面我们要介绍的函数主要是处理文件名的。每个函数的参数字符串都会被当做一个或是 一系列的文件名来对待。 1、dir $(dir <names..>…

QT——connect的第五个参数 Qt::ConnectionType (及qt和c++的多线程的区别)

一直对QT的多线程和c的多线程的区别有疑惑&#xff0c;直到看到文档中这一部分内容才豁然开朗 一.ConnectionType参数的类型和区别 首先是官方文档中对于该枚举值的区别介绍&#xff1a; 对于队列&#xff08;queued &#xff09;连接&#xff0c;参数必须是 Qt 元对象系统已知…

强化学习应用(四):基于Q-learning的物流配送路径规划研究(提供Python代码)

一、Q-learning算法简介 Q-learning是一种强化学习算法&#xff0c;用于解决基于马尔可夫决策过程&#xff08;MDP&#xff09;的问题。它通过学习一个值函数来指导智能体在环境中做出决策&#xff0c;以最大化累积奖励。 Q-learning算法的核心思想是使用一个Q值函数来估计每…

边缘计算:挑战与机遇并存

边缘计算&#xff1a;挑战与机遇并存 在数字化时代&#xff0c;数据成为了驱动创新和经济增长的关键要素。然而&#xff0c;随着数据的不断增长&#xff0c;传统的集中式计算模式已经难以满足实时处理和分析的需求。边缘计算作为一种新兴的计算模式&#xff0c;通过将数据处理…

el-table 可编辑表格大数据渲染性能优化

背景与分析 可编辑表格&#xff1a;是指表格单元格是一个form表单元素&#xff0c;或者有可能会变成表单元素。 1、不可分页的表格&#xff0c;大数据渲染 当数据量足够大时&#xff0c;比如说1000条数据&#xff0c;页面渲染就会卡死&#xff0c;需要卡5s到10s&#xff0c;才…

BC7 缩短二进制

描述 我们处理的整数通常用十进制表示&#xff0c;在计算机内存中是以二进制补码形式存储&#xff0c;但通常二进制表示的整数比较长&#xff0c;为了便于在程序设计过程中理解和处理数据&#xff0c;通常采用八进制和十六进制&#xff0c;缩短了二进制补码表示的整数&#xf…

助力工业园区作业违规行为检测预警,基于YOLOv7【tiny/l/x】不同系列参数模型开发构建工业园区场景下作业人员违规行为检测识别系统

在很多工业园区生产作业场景下保障合规合法进行作业生产操作&#xff0c;对于保护工人生命安全降低安全隐患有着非常重要的作用&#xff0c;但是往往在实际的作业生产中&#xff0c;因为一个安全观念的淡薄或者是粗心大意&#xff0c;对于纪律约束等意思薄弱&#xff0c;导致在…