UML通信图建模技术及应用例

新书速览|《UML 2.5基础、建模与设计实践》

在对系统的动态行为进行建模时,通信图常被用于按组织结构对控制流进行建模。与顺序图一样,一个单独的通信图只能显示一个控制流。

使用通信图建模时可以遵循如下策略:

(1)确定交互过程的上下文。

(2)确定参与交互过程的活动者与对象。

(3)如果需要,为每个对象设置初始特性。

(4)确定活动者、对象之间的链接。一般先确定关联的链接,因为这是最主要的,它代表了结构的链接。然后确定其他链接,用合适的路径构造型修饰,这表达了对象间是如何互相联系的。

(5)从引发该交互过程的初始消息开始,将每个消息附到相应的链接上,可以用带小数点的编号来表达嵌套。

(6)细化消息内容。比如需要说明时间或空间的约束,可以用适当的时间或空间约束来修饰每个消息。

【例6.4】在例6.1中有一个汽车与汽车钥匙的例子,本例根据它的场景描述绘制通信图。

UML顺序图的建模技术及应用示例-CSDN博客 (<===汽车与汽车钥匙的例子)

首先,确定属于通信图的元素,即对象CarKey、CarOwner、Car。

其次,建模这些元素之间的关系,着手建模早期阶段的通信图,在类元之间添加链接和关联角色。例如,CarOwner按下CarKey的按钮表示了CarOwner的请求;CarKey发送消息给Car,通知Car实现其pressKeyMessage(b)操作。

最后建模实例层的通信图,需要把类角色修改为对象实例,并且制定执行用例的消息序列。汽车和车钥匙通信图如图6.33所示。

图6.33  汽车和车钥匙通信图

在开发工具中,顺序图和通信图是可以相互转换的。

【例6.5】在例6.2中有一个ATM取款的例子,本例根据它的场景描述绘制通信图,如图6.34所示。

图6.34  ATM取款成功通信图

【例6.6】在例6.3中对图书管理系统的顺序图进行了建模,本例将顺序图转换成对应的通信图。

1)图书管理员处理借书通信图

图书管理员处理借书通信图如图6.35所示,它与对应的图6.20的顺序图表述相似,可以相互转换。

图6.35  图书管理员处理借书通信图

2)图书管理员处理还书通信图

图书管理员处理还书通信图如图6.36所示,它与对应的图6.21的顺序图表述相似,可以相互转换。

图6.36  图书管理员处理还书通信图

3)借阅者查询书目通信图

借阅者查询书目通信图如图6.37所示,它与对应的图6.22的顺序图表述相似,可以相互转换。

图6.37  借阅者查询书目通信图

4)系统管理员添加图书通信图

系统管理员添加图书通信图如图6.38所示,它与对应的图6.23的顺序图表述相似,可以相互转换。

图6.38  系统管理员添加图书通信图

5)系统管理员删除书目通信图

系统管理员删除书目通信图如图6.39所示,它与对应的图6.24的顺序图表述相似,可以相互转换。

图6.39  系统管理员删除书目通信图

6)系统管理员添加借阅者账户通信图

系统管理员添加借阅者账户通信图如图6.40所示,它与对应的图6.25的顺序图表述相似,可以相互转换。

图6.40  系统管理员添加借阅者账户通信图

其中,消息编号用来表示一个消息的时间顺序,通过消息的顺序编号可以更清楚地看出各消息之间的时间顺序,以及相互之间的关系。

《UML 2.5基础、建模与设计实践》(李波,姚丽丽,朱慧)【摘要 书评 试读】- 京东图书 (jd.com)

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

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

相关文章

Centos 8 配置网络源

备份当前的软件源配置文件&#xff1a; sudo cp -a /etc/yum.repos.d /etc/yum.repos.d.bak 清理原有的 yum 仓库配置信息&#xff1a; sudo rm -f /etc/yum.repos.d/*.repo 获取阿里云的 CentOS 8 源配置&#xff1a; sudo curl -o /etc/yum.repos.d/CentOS-Base.repo ht…

错误解决 error CS0117: ‘Buffer‘ does not contain a definition for ‘BlockCopy‘

Unity 2022.3.9f1 导入 Runtime OBJ Importer 后出现&#xff1a; error CS0117: ‘Buffer’ does not contain a definition for ‘BlockCopy’ 解决办法&#xff1a; 源代码&#xff1a; int DDS_HEADER_SIZE 128; byte[] dxtBytes new byte[ddsBytes.Length - DDS_HEAD…

【Vue实战教程】之Vue工程化项目详解

Vue工程化项目 随着多年的发展&#xff0c;前端越来越模块化、组件化、工程化&#xff0c;这是前端发展的大趋势。webpack是目前用于构建前端工程化项目的主流工具之一&#xff0c;也正变得越来越重要。本章节我们来详细讲解一下如何使用webpack搭建Vue工程化项目。 1 使用we…

Axure Web端元件库:从Quick UI到500+组件的飞跃

在快速变化的数字世界中&#xff0c;产品设计不仅仅是功能的堆砌&#xff0c;更是用户体验的精心雕琢。原型设计作为产品开发过程中的关键环节&#xff0c;其重要性不言而喻。Axure&#xff0c;作为业界领先的原型设计工具&#xff0c;凭借其强大的交互设计和丰富的功能&#x…

智慧工地视频汇聚管理平台:打造现代化工程管理的全新视界

一、方案背景 科技高速发展的今天&#xff0c;工地施工已发生翻天覆地的变化&#xff0c;传统工地管理模式很容易造成工地管理混乱、安全事故、数据延迟等问题&#xff0c;人力资源的不足也进一步加剧了监管不到位的局面&#xff0c;严重影响了施工进度质量和安全。 视频监控…

外行对自动驾驶汽车的一些想法-2024-

起源 前段时间有关于自动驾驶汽车的讨论&#xff0c;现在热度终于快过去了。 (⊙﹏⊙) 其实&#xff0c;完全不用担心自动驾驶取代人类。 引用 这是一篇24年4月的报道。 上图为引用&#xff0c;可以看到打工人的忙碌。 2023 一个热爱自动驾驶但妥妥外行之人的思考-2023-C…

mac怎样清理photoshop垃圾的方法 ps清理缓存和垃圾 苹果电脑暂存盘已满怎么清理

很多使用过ps&#xff0c;尤其是Adobe全家桶的小伙伴会发现&#xff0c;这些软件占用缓存很多&#xff0c;而且随着使用时间的增长&#xff0c;缓存也会越多&#xff0c;并不会自动清理。那么mac系统怎么清理ps暂存盘呢&#xff1f;mac又该怎么最高效清理磁盘空间呢&#xff1f…

芯片的计算能力由什么决定

芯片的计算能力由什么决定 芯片的计算能力由多个因素决定。 包括但不限于&#xff1a; 架构设计&#xff1a; 芯片的架构设计决定了其计算单元的数量和类型&#xff0c;以及它们之间的连接方式和通信方式。不同的架构可以提供不同的计算能力和性能。处理器速度&#xff1a; 处…

快速安装torch-gpu和Tensorflow-gpu(自用,Ubuntu)

要更详细的教程可以参考Tensorflow PyTorch 安装&#xff08;CPU GPU 版本&#xff09;&#xff0c;这里是有基础之后的快速安装。 一、Pytorch 安装 conda create -n torch_env python3.10.13 conda activate torch_env conda install cudatoolkit11.8 -c nvidia pip ins…

LeetCode_122(买卖股票的最佳时机)

public int maxProfit(int[] prices) {int ans 0;//int prices[] {7,1,5,3,6,4};for(int i1;i<prices.length;i){ansMath.max(0,prices[i]-prices[i-1]);}return ans;}

DevExpress WinForms自动表单布局,创建高度可定制用户体验(二)

使用DevExpress WinForms的表单布局组件可以创建高度可定制的应用程序用户体验&#xff0c;从自动安排UI控件到按比例调整大小&#xff0c;DevExpress布局和数据布局控件都可以让您消除与基于像素表单设计相关的麻烦。 P.S&#xff1a;DevExpress WinForms拥有180组件和UI库&a…

openmv学习笔记(24电赛笔记)

感光元件 openmv采用小孔摄像模式&#xff0c;将图像映射到感光原件上面&#xff0c;来传递图片&#xff0c;通过图片快速的刷新行成视频&#xff0c;在IDE中通过对感光原件的编辑可以控制视频的效果。 重置感光元件到默认状态 import sensor #导入感光元件这个库sensor.res…

IPD推行成功的核心要素(十五)项目管理提升IPD相关项目交付效率和用户体验

研发项目往往包含很多复杂的流程和具体的细节。因此&#xff0c;一套完整且标准的研发项目管理制度和流程对项目的推进至关重要。研发项目管理是成功推动创新和技术发展的关键因素。然而在实际管理中&#xff0c;研发项目管理常常面临着需求不确定、技术风险、人员素质、成本和…

如何在 Windows 上安装并配置 VNC 远程连接树莓派,并结合Cpolar实现公网远程访问

目录 ⛳️推荐 前言 1. 使用 Raspberry Pi Imager 安装 Raspberry Pi OS 2. Windows安装VNC远程树莓派 3. 使用VNC Viewer公网远程访问树莓派 3.1 安装Cpolar步骤 3.2 配置固定的公网地址 3.3 VNC远程连接测试 4. 固定远程连接公网地址 4.1 固定TCP地址测试 ⛳️推荐…

Godot游戏制作 05收集物品

创建新场景&#xff0c;添加Area2D节点&#xff0c;AnimatedSprite2D节点 &#xff0c;CollisionShape2D节点 添加硬币 按F键居中&#xff0c;放大视图。设置动画速度设为10FPS&#xff0c;加载后自动播放&#xff0c;动画循环 碰撞形状设为圆形&#xff0c;修改Area2D节点为Co…

通信原理-思科实验三:无线局域网实验

实验三 无线局域网实验 一&#xff1a;无线局域网基础服务集 实验步骤&#xff1a; 进入物理工作区&#xff0c;导航选择 城市家园; 选择设备 AP0&#xff0c;并分别选择Laptop0、Laptop1放在APO范围外区域 修改笔记本的网卡&#xff0c;从以太网卡切换到无线网卡WPC300N 切…

pmp证书是个什么样的证书?

PMP&#xff08;项目管理专业人士资格认证&#xff09;由美国项目管理协会&#xff08;Project Management Institute&#xff09;发起&#xff0c;在全球200多个国家和地区得到高度认可&#xff0c;PMP是项目管理领域重要的认证之一&#xff0c;受到业内广泛认可。 如果您想成…

C++ set

1. 背景 关联式容器 STL 中的部分容器&#xff0c;比如&#xff1a; vector 、 list 、 deque 、forward_list(C11)等&#xff0c;这些容器统称为序列式容器&#xff0c;因为其底层为线性序列的数据结构&#xff0c;里面存储的是元素本身。那什么是关联式容器&#xff1f;它与…

了解高防 IP

一、高防 IP 的基本概念 高防 IP 是指拥有强大防御能力的 IP 地址。它主要通过将攻击流量引流到高防机房进行清洗和过滤&#xff0c;再将正常的流量回注到源站&#xff0c;从而保障源站服务器的稳定运行。 二、高防 IP 的工作原理 当用户的服务器遭受 DDoS 攻击时&#xff0…

医疗器械上市欧美,需要什么样的网络安全相关申报文件?

医疗器械在欧美上市时&#xff0c;需要提交的网络安全相关申报文件主要包括以下几个方面&#xff0c;这些要求基于欧美地区的法律法规和监管机构的指导文件。 一、美国FDA要求 1. 网络安全管理计划 内容&#xff1a;制造商需要提交一份网络安全管理计划&#xff0c;该计划应包含…