当前位置: 首页 > news >正文

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

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

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


一、通信图简介

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

1.消息

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

2.链接

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

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

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

三、交互概览图

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

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

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

相关文章:

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

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

Linux 使用PS命令掌握进程管理

在Linux系统中,进程管理是系统管理员和开发人员必备的技能之一。而PS命令作为进程管理的重要工具,可以帮助我们查看和监控系统中运行的进程。本文将详细解析PS命令的使用方法和输出结果,帮助读者全面掌握进程管理的利器。 PS命令概述&#xf…...

Debian 10.13.0 安装图解

引导和开始安装 这里直接回车确认即可,选择图形化安装方式。 选择语言 这里要区分一下,当前选中的语言作为安装过程中安装器所使用的语言,这里我们选择中文简体。不过细心的同学可能发现,当你选择安装器语言之后,后续安…...

SQLite 3.45.0 发布!

SQLite 开发团队于 2024 年 01 月 18 日发布了 SQLite 3.45.0 版本,带来了一些 JSON 和优化器增强,让我们一睹为快! JSON 函数 SQLite 3.45.0 版本开始,所有的 JSON 函数将会使用全新的内部格式存储 JSON 数据,也就是…...

MongoDB聚合:$set

聚合$set阶段可以为文档添加新的字段。$set输出的文档包含输入文档中的所有现有字段和新添加的字段。$set是$addFields的别名,从MongoDB4.2开始支持。$set和$addFields等价于$project阶段,这两个阶段都等同于 $project 阶段,后者明确指定输入…...

《Python数据分析技术栈》第01章 02 Jupyter入门(Getting started with Jupyter notebooks)

02 Jupyter入门(Getting started with Jupyter notebooks) 《Python数据分析技术栈》第01章 02 Jupyter入门(Getting started with Jupyter notebooks) Before we discuss the essentials of Jupyter notebooks, let us discuss…...

【征服redis5】redis的Redisson客户端

目录 1 Redisson介绍 2. 与其他Java Redis客户端的比较 3.基本的配置与连接池 3.1 依赖和SDK 3.2 配置内容解析 4 实战案例:优雅的让Hash的某个Field过期 5 Redisson的强大功能 1 Redisson介绍 Redisson 最初由 GitHub 用户 “mrniko” 创建,并在…...

React16源码: React中的beginWork的源码实现

beginWork 1 )概述 在 renderRoot 之后,要对我们的 Fiber 树每一个节点进行对应的更新更新节点的一个入口方法,就是 beginWork这个入口方法会有帮助我们去优化整棵树的更新过程 react 它的节点其实是非常多的,如果每一次子节点的…...

5-微信小程序语法参考

1. 数据绑定 官网传送门 WXML 中的动态数据均来自对应 Page 的 data。 数据绑定使用 Mustache 语法&#xff08;双大括号&#xff09;将变量包起来 ts Page({data: {info: hello wechart!,msgList: [{ msg: hello }, { msg: wechart }]}, })WXML <view class"vie…...

数组练习 Leetcode 566.重塑矩阵

在 MATLAB 中&#xff0c;有一个非常有用的函数 reshape &#xff0c;它可以将一个 m x n 矩阵重塑为另一个大小不同&#xff08;r x c&#xff09;的新矩阵&#xff0c;但保留其原始数据。 给你一个由二维数组 mat 表示的 m x n 矩阵&#xff0c;以及两个正整数 r 和 c &#…...

Linux centos中find命令的多种用途:按照具体应用来详细说明find的用法举例

目录 一、find命令 二、find命令的语法 &#xff08;一&#xff09;语法格式 &#xff08;二&#xff09;选项 1、选项(option)介绍 2、控制符号链接的option 3、调试选项debugopts 4、优化选项 &#xff08;三&#xff09;表达式expression 1、选项options 2、测试…...

服务器数据恢复—OceanStor存储raid5热备盘同步数据失败的数据恢复案例

服务器数据恢复环境&#xff1a; 华为OceanStor某型号存储&#xff0c;存储内有一组由24块硬盘组建的raid5阵列&#xff0c;配置1块热备盘。 服务器故障&#xff1a; 该存储raid5阵列中有一块硬盘离线&#xff0c;热备盘自动激活并开始同步数据&#xff0c;在热备盘同步数据的…...

Xline v0.6.1: 一个用于元数据管理的分布式KV存储

Xline是什么&#xff1f;我们为什么要做Xline&#xff1f; Xline是一个基于Curp协议的&#xff0c;用于管理元数据的分布式KV存储。现有的分布式KV存储大多采用Raft共识协议&#xff0c;需要两次RTT才能完成一次请求。当部署在单个数据中心时&#xff0c;节点之间的延迟较低&a…...

【CSS】解决height = line-height 文字不垂直居中(偏上、偏下)的问题

解决办法1&#xff1a; 查看 font-family 属性&#xff0c;确认是否是因为字体而导致的不垂直居中问题。 其他小知识&#xff1a; 基线就是小写x字母的下边缘(线) 就是我们常说的 基线。line-height 属性设置的行高也就是定义的两行文字基线之间的距离! 参考文章&#xff1a;…...

天津想转行学python培训班靠谱吗?

现在的职业如此繁多&#xff0c;很多人把高薪当成衡量工作好坏的重要标准&#xff0c;因此IT行业以超出其他行业几倍薪资水平成为不错的选择&#xff0c;而Python又以其简单易学好上手成为大家所青睐的学习目标。 Python发展前景如何 Python语言就业发展方向广泛&#xff1a;…...

(C语言)冒泡排序

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>//实现buble_sort函数&#xff1b; void buble_sort(int arr[], int sz) {//初始化变量值&#xff1b;int i 0;//嵌套循环冒泡排序&#xff1b;//外层循环&…...

怎么样的布局是符合可制造性的PCB布局?

满足可制造性、可装配性、可维修性要求&#xff0c;方便调试的时候于检测和返修&#xff0c;能够方便的拆卸器件&#xff1a; 1&#xff09;极性器件的方向不要超过2种&#xff0c;最好都进行统一方向等要求&#xff0c;如图1-1所示&#xff1b; 图1-1 极性器件方向统一摆放 2…...

第28关 k8s监控实战之Prometheus(九)

------> 课程视频同步分享在今日头条和B站 大家好&#xff0c;我是博哥爱运维。早期我们经常用邮箱接收报警邮件&#xff0c;但是报警不及时&#xff0c;而且目前各云平台对邮件发送限制还比较严格&#xff0c;所以目前在生产中用得更为多的是基于webhook来转发报警内容到企…...

安全防御之可信计算技术

可信计算技术是一种计算机安全体系结构&#xff0c;旨在提高计算机系统在面临各种攻击和威胁时的安全性和保密性。它通过包括硬件加密、受限访问以及计算机系统本身的完整性验证等技术手段&#xff0c;确保计算机系统在各种攻击和威胁下保持高度安全和保密性。 一、可信计算基…...

FPGA引脚物理电平(内部资源,Select IO)-认知2

引脚电平 The SelectIO pins can be configured to various I/O standards, both single-ended and differential. • Single-ended I/O standards (e.g., LVCMOS, LVTTL, HSTL, PCI, and SSTL) • Differential I/O standards (e.g., LVDS, Mini_LVDS, RSDS, PPDS, BLVDS, and…...

PBR材质纹理下载

03:10 按照视频里的顺序 我们从第6个网站开始倒数 点击本行文字或下方链接 进入查看 6大网站地址 网址查看链接&#xff1a; http://www.uzing.net/community_show-1962-48-48-35.html 06 Tectures Wood Fence 001 | 3D TEXTURES 简介&#xff1a;最大的纹理网站之一&#x…...

mac PyCharm 使用conda环境

1 使用conda创建虚拟环境 conda create -n test6 python3.9 -y conda activate test62 选择conda环境 本地 选择已经存在的conda环境 右下角会显示现在的环境。...

10个常用的正则表达式

1 电话号码 let r1 /^1[3-9]\d{9}$/g console.log(r1.exec(18596932371)) 2 qq号 let r2 /^[1-9][0-9]{4,9}$/g console.log(r2.exec(123456)) 3 十六进制的方式表示颜色 let r3 /^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/g // # 可能可有可无&#xff0c;如果不需要#&a…...

对一手游的自定义 luajit 字节码的研究

对一手游的自定义 luajit 字节码的研究 前言 最近闲下来之后无聊研究起了一个unity手游 大量使用了 lua &#xff08;或者说就是 lua 写的 &#xff09; 看到网上已有的一些针对方案 都觉得太不方便 于是深入研究了一下 他自定义的 luajit 情况研究 首先 这是一个 unity的 传…...

1125. 牛的旅行 (Floyd算法,最短路)

1125. 牛的旅行 - AcWing题库 农民John的农场里有很多牧区&#xff0c;有的路径连接一些特定的牧区。 一片所有连通的牧区称为一个牧场。 但是就目前而言&#xff0c;你能看到至少有两个牧区不连通。 现在&#xff0c;John想在农场里添加一条路径&#xff08;注意&#xff…...

oracle “Interested Transaction List”(ITL)的概念

“Interested Transaction List”&#xff08;ITL&#xff09;的概念。让我们逐点理解&#xff1a; 块头和ITL&#xff1a; 每个数据库段块的块头都包含一个Interested Transaction List&#xff08;ITL&#xff09;。ITL用于确定数据库开始修改块时某个事务是否未提交。 ITL的…...

kali下-MSF-ftp_login模块破解FTP账号及密码

一、环境准备 两台设备在同一个网络内 一台kali系统&#xff1a;192.168.10.128 一台winserver2016&#xff1a;192.168.10.132 二、MSF介绍 metasploit 全称是The Metasploit Framework&#xff0c;又称MSF&#xff0c;是Kali 内置的一款渗透测试框架&#xff0c;也是全球…...

ELK之Filebeat输出日志格式设置及输出字段过滤和修改

一、Filebeat输出日志格式设置 1.1 编辑vim filebeat.yml文件,修改输出格式设置 # output to console output.console:codec.format: string: %{[@timestamp]} %{[message]}pretty: true### 1.2 测试 执行 ./filebeat -e 可以看到/tmp/access.log(目前文件里只有140.77.188…...

【开源】基于JAVA的河南软件客服系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统管理人员2.2 业务操作人员 三、系统展示四、核心代码4.1 查询客户4.2 新增客户跟进情况4.3 查询客户历史4.4 新增服务派单4.5 新增客户服务费 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的河…...

基于SpringBoot的社区帮扶对象管理系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…...