软考71-上午题-【面向对象技术2-UML】-UML中的图2
一、用例图
上午题,考的少;下午题,考的多。
1-1、用例图的定义
用例图展现了一组用例、参与者以及它们之间的关系。
用例图用于对系统的静态用例图进行建模。
可以用下列两种方式来使用用例图:
1、对系统的语境建模;
2、对系统的需求建模。
1-2、用例图包含以下内容:
1、用例

2、参与者

3、关系:
①用例之间的关系:扩展关系(《extend》)、包含关系(《include》)、泛化关系;
②参与者之间的关系:泛化关系;
③参与者和用例之间的关系:关联关系。
示例:

包含关系:
用例和用例之间的关系。

示例1:

用例可以理解为参与者(用户)的行为。
参与者与用例之间,关联关系:一条直线。
示例2:

扩展关系
用例和用例之间的关系。
一个用例执行时,可能会发生一些特殊的情况,或者可选的情况,这种情况就是用例的扩展用例。

示例1:特殊情况

示例2:可选情况

泛化关系
参与者-参与者;
用例-用例;

示例:

1-3、真题
真题1:

真题2:

二、 交互图
交互图用于对系统的动态方面进行建模。一张交互图表现的是一个交互。
类图、对象图、用例图:静态图
一张交互图由:一组对象、他们之间的关系、他们之间可能传递的消息。
交互图一般包括:对象、链、消息。
交互图的分类:
- 序列图:强调消息时间顺序的交互图;
- 通信图:强调接收、发送消息的对象的结构组织的交互图。
2-1、序列图(顺序图)
2-1-1、序列图的定义
序列图描述了以时间顺序组织的对象之间的交互活动。
示例:

首先把参加交互的对象放在图的上方,沿水平方向排列。
通常把发起交互的对象放在左边,下级对象依次放在右边。然后,把这些对象发送和接收的消息沿垂直方向按时间顺序从上到下放置。这样,就提供了控制流随时间推移的清晰的可视化轨迹。
2-1-2、序列图有两个不同于通信图的特点
1、序列图有对象生命线;
对象生命线是一条垂直的虚线,表示一个对象在一段时间内存在。
对象,生命线的开始、结束:
1、对象可以在交互过程中创建,他们的生命线从接收到构造型为create的消息时开始;
2、对象可以在交互过程中撤销,他们的生命线从接收到构造型为destory的消息时结束;(并给出一个×的标记)
2、序列图有控制焦点;
控制焦点是一个瘦高的矩形,表示一个对象执行一个动作所经历的时间段。
矩形的顶部,表示动作的开始,底部表示动作的结束。
2-1-3、序列图的消息:

2-1-4、序列图实例:

2-1-5、真题
真题1:

Account实现的方法,看指向Account类的箭头。
evaluation虽然也指向Account类,但是它不是一个方法,因为不是:evaluation()
真题2:

真题3:

2-2、通信图(协作图)
2-2-1、通信图的定义
通信图强调收发消息的对象的结构组织。
- 首先,将参加交互的对象作为图的顶点;(矩形)
- 然后把连着这些对象的链作为图的弧;(直线)
- 最后用对象发送和接收的消息来修饰这些链。
2-2-2、通信图有两个不同于序列图的特性
1、通信图有路径。
为了指出一个对象如何与另一个对象链接,可以在链的末端附上路径构造型(如构造型《local》,表示指定对象对发送者而言是局部的)。
通常只需要显式地表示以下几种链的路径:local(局部)、parameter(参数)、global(全局)以及self(自身),但不必表示 association(关联)。
2、通信图有顺序号。
表示一个消息的时间顺序,可以给一个消息加上一个数字前缀。(从1号消息开始),在控制流中,每个新消息的顺序号单调增加(如 2、3等)。
为了显示嵌套,可使用带小数点的号码(1表示第一个消息;1.1 表示嵌套在消息1中的第一个消息,1.2 表示嵌套在消息1中的第二个消息,等等)。嵌套可为任意深度。
还要注意的是,沿同一个链可以显示许多消息(可能发自不同的方向),并且每个消息都有唯一的一个顺序号。
序列图和通信图是同构的,它们之间可以相互转换。
2-2-3、通信图的实例

2-2-4、真题
真题1:

真题2:

相关文章:
软考71-上午题-【面向对象技术2-UML】-UML中的图2
一、用例图 上午题,考的少;下午题,考的多。 1-1、用例图的定义 用例图展现了一组用例、参与者以及它们之间的关系。 用例图用于对系统的静态用例图进行建模。 可以用下列两种方式来使用用例图: 1、对系统的语境建模;…...
使用hashmap优化时间复杂度,leetcode1577
1577. 数的平方等于两数乘积的方法数 已解答 中等 相关标签 相关企业 提示 给你两个整数数组 nums1 和 nums2 ,请你返回根据以下规则形成的三元组的数目(类型 1 和类型 2 ): 类型 1:三元组 (i, j, k) ÿ…...
3、设计模式之工厂模式1
工厂模式是什么? 工厂模式是一种创建者模式,用于封装和管理对象的创建,屏蔽了大量的创建细节,根据抽象程度不同,主要分为简单工厂模式、工厂方法模式以及抽象工厂模式。 简单工厂模式 看一个具体的需求 看一个…...
一个Promise全新API
1. 资讯速览 最近,Promise 新出了一个方法,已经进入 Stage 3 (候选阶段) ,相信很快就能达到 Stage 4 (完成阶段),并在项目中广泛使用。 这个方法就是 Promise.withResolvers。它是…...
【力扣hot100】刷题笔记Day25
前言 这几天搞工作处理数据真是类似我也,还被老板打电话push压力有点大的,还好搞的差不多了,明天再汇报,赶紧偷闲再刷几道题(可恶,被打破连更记录了)这几天刷的是动态规划,由于很成…...
webpack5零基础入门-4使用webpack处理less文件
1.安装less npm install less -D 2.创建less文件 .box{width: 100px;height: 100px;background: red; } 3.引入less文件并打包 执行npx webpack 报错无法识别less文件 4.安装less-loader并配置 npm install less-loader9 -D 这里指定一下版本不然会因为node版本过低报错 …...
Python机器学习预测+回归全家桶,新增TCN,BiTCN,TCN-GRU,BiTCN-BiGRU等组合模型预测...
截止到本期,一共发了4篇关于机器学习预测全家桶Python代码的文章。参考往期文章如下: 1.机器学习预测全家桶-Python,一次性搞定多/单特征输入,多/单步预测!最强模板! 2.机器学习预测全家桶-Pythonÿ…...
一文了解Cornerstone3D中窗宽窗位的3种设置场景及原理
🔆 引言 在使用Cornerstone3D渲染影像时,有一个常用功能“设置窗宽窗位(windowWidth&windowLevel)”,通过精确调整窗宽窗位,医生能够更清晰地区分各种组织,如区别软组织、骨骼、脑组织等。…...
部署 LVS(nginx)+keepalived高可用负载均衡集群
目录 一、集群的概述 1、什么是集群 2、普通集群与负载均衡集群 2.1 普通集群(Regular Cluster) 2.2 负载均衡集群(Load Balancing Cluster) 2.3 高可用集群(High Availability Cluster) 2.4 区别 …...
Qt/QML编程之路:fork、vfork、exec、clone的对比及使用(46)
前言: 系统调用system call是OS提供的服务提供接口。系统调用fork()、vfork()、exec()和clone()都用于创建和操作进程。Linux下Qt编程也会用到vfork进行多进程间通信。让我们看一下以下每个系统调用的概述和比较: fork()、vfork()和clone()的工作原理相似,但在处…...
Go语言框架路由Controller控制器设计思路gin路由根据控制器目录分层生成路由地址
Controller设计好处 框架设计用controller分请求路由层级,应用从app目录开始对应请求url路由地址,这样设计师方便开发时候通过请求地址层级快速定位接口方法对应的代码位置。 例如api接口请求路径为:http://localhost:8110/busines…...
突破编程_C++_设计模式(责任链模式)
1 责任链模式的概念 责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许对象以链式的方式组织起来,以便对请求进行处理。这种模式为多个对象处理同一请求提供了一个灵活的机制,而无需在发送者和多…...
php开发100问?
什么是 PHP?PHP 是一种什么类型的语言?PHP 的优缺点是什么?如何在服务器上配置 PHP?PHP 中的变量是如何声明和使用的?如何在 PHP 中输出文本和变量?什么是 PHP 的数据类型?如何在 PHP 中实现条件…...
flink实战--Flink任务资源自动化优化
背景 在生产环境Flink任务资源是用户在实时平台端进行配置,用户本身对于实时任务具体配置多少资源经验较少,所以存在用户资源配置较多,但实际使用不到的情形。比如一个 Flink 任务实际上 4 个并发能够满足业务处理需求,结果用户配置了 16 个并发,这种情况会导致实时计算资…...
tsv文件在大数据技术栈里的应用场景
是的,\t 是指制表符(tab),它通常用作字段分隔符在 TSV(Tab-Separated Values)格式的文件中。TSV是一种简单的文本格式,它使用制表符来分隔每一列中的值,而每一行则代表一个数据记录。…...
vscode设置setting.json
{ // vscode默认启用了根据文件类型自动设置tabsize的选项 "editor.detectIndentation": false, // 重新设定tabsize "editor.tabSize": 2, // #每次保存的时候自动格式化 // "editor.formatOnSave": true, // #每次保存的时候将代码按eslint格式…...
Docker的安装及镜像加速的配置
文章目录 一.切换到root二.卸载旧版docker三.配置docker的yum库四.安装Docker五.Docker的启动和验证六.配置Docker阿里云镜像加速(全程免费) 该文章文章演示在Linux系统中安装docker,Windows安装docker请参考以下文章 Windows系统中安装docker及镜像加速的配置 一…...
AIGC时代IT人的迷茫有解(1):从“商业画布”到“个人画布”
IT人的迷茫和心态调整 最近打开新闻,各种IT老大都在说“AIGC时代,只要会说话,人人都会具备程序员的能力”,身边也有很多程序员朋友也已经在用GPT类的产品编程了。随着AIGC的发展,除了程序员,可能很多职业都会被替代或…...
Qt/QML编程之路:openglwidget和倒车影像的切换(43)
关于如何实现一个基于OpenGL的3d 图形,这个有很多专门的介绍,我在开发中遇到了这么一个问题: 如何实现一个倒车影像的video显示与一个3D物体显示的切换,因为开窗在同样的一个位置,如果车子倒车启动,则需要将原本显示3D的地方切换为视频图像的显示。 class testOpenGl : …...
Spring 初学者遇到的问题
TagLibraryValidator Spring 实战 5.2 中有个表单需要在 jsp 中遍历数组,添加:<% taglib uri"http://java.sun.com/jsp/jstl/core" prefix"c" %>,访问时发现有些问题: java.lang.NoClassDefFoundError…...
模拟IC设计进阶指南:MOS开关电路的非理想特性与优化策略
1. MOS开关电路的非理想特性揭秘 第一次用MOS管做开关电路时,我天真地以为它就是个完美的电子开关——导通时零电阻,关断时完全绝缘。直到在采样保持电路里看到信号波形出现诡异的台阶,才意识到教科书里的理想模型都是"卖家秀"。实…...
终极指南:如何免费升级老旧Mac到最新macOS系统
终极指南:如何免费升级老旧Mac到最新macOS系统 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher是一款革命性的开源工具&a…...
ComfyUI-Manager终极指南:如何快速解决SVD模型加载错误并优化AI工作流
ComfyUI-Manager终极指南:如何快速解决SVD模型加载错误并优化AI工作流 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enabl…...
Flutter应用安全保护:代码混淆的重要性与Android/iOS混淆步骤详解
前言 本文将会和大家说下保护代码的重要性,和如何给程序加上混淆编译功能。 尽可能的不要在你的程序中写死各种服务秘钥,比如 oss 容易被盗用。 参考 https://docs.flutter.dev/deployment/obfuscatehttps://www.guardsquare.com/blog/obstacles-in-…...
Git 版本管理下的 Pixel Mind Decoder 模型迭代与部署实践
Git 版本管理下的 Pixel Mind Decoder 模型迭代与部署实践 1. 为什么需要版本管理 在AI项目开发中,我们经常遇到这样的困扰:上周还能正常运行的模型,这周突然效果变差了;团队里不同成员使用的模型版本不一致导致结果无法复现&am…...
通义千问1.8B-Chat-GPTQ-Int4企业应用:电力巡检报告自动生成与缺陷分类辅助
通义千问1.8B-Chat-GPTQ-Int4企业应用:电力巡检报告自动生成与缺陷分类辅助 1. 引言:当AI遇见电力巡检 想象一下这个场景:电力巡检员小王,刚刚结束了一天的野外巡检工作。他拖着疲惫的身体回到办公室,面对的不是一杯…...
7.ARP 代理与端口隔离:满足通信需求,保证通信安全
所谓ARP代理就是网络设备代替目标设备回应 ARP 请求 ,将自身 MAC 地址提供给请求方,以此满足了不同子网、VLAN 内及 VLAN 间设备的通信需求,在不同网络区域间搭建起通信桥梁。同时,它通过隐藏内部网络结构、限制广播域范围&#x…...
WiiChuk_compat:高兼容Nunchuk驱动库详解
1. WiiChuk_compat 库概述WiiChuk_compat 是一个专为嵌入式平台设计的开源 Arduino 兼容库,其核心目标是实现对任天堂 Wii 遥控器扩展配件——Nunchuk(常被误拼为 “Numchuck”、“Nunchuck” 或 “Nunchuk”)的高可靠性、宽兼容性 IC 接口驱…...
鸡翅Club项目学习文档 - 第一部分
## 学习进度- [x] 第一部分:项目整体架构与核心概念 - [ ] 第二部分:设计模式详解 - [ ] 第三部分:代码实战演练---## 一、项目概述### 1.1 项目定位| 项目名称 | 鸡翅Club刷题系统 | |----------|------------------| | 英文名 | jc-club&am…...
需求用例的写法
一、为什么写需求用例 流程图为需求用例提供了关键路径,而需求用例则是对业务场景的全面还原。本文将从以下四个方面阐述用例的信息: 用例的定义用例的粒度用例的例子用例的关键点解释 我写需求文档有几大准则,是需要时刻铭记和实践的&…...



