软考架构师考试-UML图总结

news2025/5/14 15:45:31

考点

选择题 2-4分
案例分析0~1题和面向对象结合考察,前几年固定一题。近3次考试没有出现。但还是有可能考。

UML图概述

1.用例图:描述系统功能需求和用户(参与者)与系统之间的交互关系,聚焦于“做什么”。
2.类图:展示系统的静态结构,描述类、接口、属性、方法及类之间的继承、关联、依赖等关系。
对象图:类图的运行时实例,显示某一时刻具体对象的状态及对象间的链接关系。
4.顺序图:强调对象间消息传递的时间顺序,通过垂直时间轴直观呈现交互时序。
5.协作图(通信图):侧重对象间的结构关联和协作路径,通过编号消息体现交互顺序。
6.活动图:描述业务流程或算法的动态流程,支持分支、并行、循环等逻辑,类似流程图。
7.状态图:描述对象在其生命周期内状态的变化及触发转换的事件,关注“状态驱动的行为”。

附加对比:
类图 vs 对象图:类图是“设计蓝图”,对象图是“运行时快照”。
顺序图 vs 协作图:顺序图重时序,协作图重结构(二者可互相转换,但侧重点不同)。
活动图 vs 顺序图:活动图关注流程控制,顺序图聚焦对象间消息时序。
活动图 vs 状态图:活动图关注流程控制,状态图关注单一对象的状态迁移。
状态图 vs 类图:类图描述静态结构,状态图描述动态行为

1.用例图

在这里插入图片描述

参与者:人形。
用例:椭圆。
系统:方框。

4种关系:
关联:横线。 参与者与用例之间。
泛化:横线+空心三角箭头。 用例之间,参与者之间。
包含:虚线+小箭头+标注<> 用例之间
扩展:虚线+小箭头+标注<> 用例之间。

使用场景:需求分析和需求规约时候的功能需求,常使用用例图来表示。
用例模型流程
1.识别参与者。
2.合并用例获得需求。
3.细化用例描述。
用例模版:
(1)用例名,
(2)用例ID,
(3)用例说明,
(4)前置条件,
(5)后置条件,
(6)事件流,
(7)优先级和非功能需求。
4.调整用例模型。

2.类图

类图(class diagram):类图描述一组类、接口、协作和它们之间的关系。
对象图(object diagram):对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。

三元关联

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

聚合

组合类经常涉及整体和部分之间的物理关系。因此,ATM机是一个由四个部分组成的组合类:“读卡器”(CardReader),“吐钞器”(Cash Dispenser),凭条打印机(Receipt Printer)以及“ATM客户键盘显示器”(ATM Customer Keypad Display)类(如图7-12所示)。ATM组合类和它的四个部分类中的每一个都有一个一对一关联。
在这里插入图片描述

组合

聚合层次是整体/部分关系的一种较弱的形式。在一个聚合里,部分实例能添加到聚合体中,也能从聚合整体中移除。由于这个原因,聚合有可能被用来对概念类建模,而不是对物理类建模。此外,一个部分可以属于多个聚合。聚合层次的一个例子是大学里的“学院”(College)(图 7-13),其部分是“管理办公室”(Admin Office)、一些“系”(Department)以及一些“研究中心”(Research Center)。可以创建新的系,时常也可以撤销老的系或者与其他系合并。可以创建研究中心,或者撤销、合并研究中心。
在这里插入图片描述

泛化

有一些类相似但不相同,它们有些共同的属性,也有其他不同的属性。在泛化 / 特化层次中,共同属性被抽象到一个泛化类,称作超类。不同的属性是特化类的性质,特化类被称作子类。在子类和超类之间有一个 Is a 的关系。超类也被称为父类或祖先类。子类也被称为孩子类或者子孙类。
在这里插入图片描述

3.顺序图

顺序图(sequence diagram, 序列图)。顺序图是一种交互图(interaction diagram),它强调对象之间消息发送的顺序,同时显示对象之间的交互。

在这里插入图片描述

在这里插入图片描述

4.通信图

通信图(communication diagram)。通信图也是一种交互图,它强调对象之间存在的信息收发关系,而不专门突出这些信息发送的时间顺序。

在这里插入图片描述

顺序图和通信图对比

以下是顺序图与通信图的对比表格:

对比维度顺序图(Sequence Diagram)通信图(Communication Diagram)
主要目的强调消息的时间顺序,展示对象间交互的时序逻辑。强调对象的结构关系,展示对象间的关联及协作方式。
消息序列表示通过垂直时间轴自然展示消息顺序,直观清晰。需通过消息编号(如1, 2, 3或嵌套1.1, 1.2)表示顺序,需主动阅读编号。
对象关联可视化对象间关联(如链接)较难直接观察,需通过消息推断。**对象间的链接(连线)**明确显示关联关系,结构布局一目了然。
复杂逻辑适应性循环、条件分支的可读性较差,需用片段(如loopalt)标记。通过编号和消息路径可灵活表示分支,但复杂度高时可能混乱。
多对象交互场景对象过多时,横向排列导致空间紧张,需分页或压缩。对象布局灵活,可自由排列,适合展示多对象的协作网络。
适用场景- 调试时序问题
- 分析用例执行流程
- 需要明确操作顺序时。
- 设计对象协作模式
- 理解系统结构关系
- 重构对象交互时。
优点- 时序清晰
- 适合展示动态流程
- 易理解消息触发顺序。
- 结构关系明确
- 适合展示静态协作
- 灵活适应复杂布局。
缺点- 对象关联隐式
- 分支/循环降低可读性
- 横向扩展性差。
- 消息顺序需主动解析
- 编号复杂时易混乱
- 时序不够直观。
  • 优先用顺序图:当关注**“何时发生什么”**(如API调用顺序、事件流程)。
  • 优先用通信图:当关注**“谁与谁协作”**(如微服务架构中的对象依赖关系)。

5.活动图

活动图是一种描述控制流和活动中序列的UML 图。活动图显示了活动序列、决策结点和循环,甚至还有并发活动。活动图在工作流建模中被广泛使用,例如,在面向服务的应用中。

在这里插入图片描述

6.状态图

状态图是UML中的一种行为图,专注于描述单个对象在其生命周期内可能经历的不同状态,以及触发状态变化的事件。

在这里插入图片描述

架构师考试 出题内容

选择题:

(1)根据描述选择是哪种类型图。

在这里插入图片描述
(2)根据描述选择是哪种关系。
在这里插入图片描述

案例分析题

前几年考过案例分析题,案例分析题属于和面向对象设计相结合考察,
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

论文学习_Trex: Learning Execution Semantics from Micro-Traces for Binary Similarity

摘要&#xff1a;检测语义相似的函数在漏洞发现、恶意软件分析及取证等安全领域至关重要&#xff0c;但该任务面临实现差异大、跨架构、多编译优化及混淆等挑战。现有方法多依赖语法特征&#xff0c;难以捕捉函数的执行语义。对此&#xff0c;TREX 提出了一种基于迁移学习的框架…

在VirtualBox中安装虚拟机后不能全屏显示的问题及解决办法

在VirtualBox中安装Windows或Linux虚拟机后&#xff0c;将遇到启动虚拟机后&#xff0c;只能在屏幕中的一块区域里显示虚拟机桌面&#xff0c;却不能全屏显示的问题。要解决此问题&#xff0c;需要在虚拟机中安装与VirtualBox版本相对应的VBox GuestAdditons软件。 这里…

element-ui分页的使用及修改样式

1.安装 npm install element-ui -S 2.在main.js中引入,这里是全部引入&#xff0c;也可以按需引入 import ElementUI from element-ui import element-ui/lib/theme-chalk/index.css Vue.use(ElementUI) 3.使用 layout"prev, pager, next, jumper" &#xff1a;jumpe…

从数据中台到数据飞轮:数字化转型的演进之路

从数据中台到数据飞轮&#xff1a;数字化转型的演进之路 数据中台 数据中台是企业为整合内部和外部数据资源而构建的中介层&#xff0c;实现数据的统一管理、共享和高效利用&#xff0c;目标是打破信息孤岛&#xff0c;提高数据使用效率&#xff0c;支持业务决策和创新 实施成本…

2025年5月-信息系统项目管理师高级-软考高项一般计算题

决策树和期望货币值 加权算法 自制和外购分析 沟通渠道 三点估算PERT 当其他条件一样时&#xff0c;npv越大越好

zst-2001 上午题-历年真题 算法(5个内容)

回溯 算法 - 第1题 找合适的位置&#xff0c;如果没有位置就按B回家 d 分治 算法 - 第2题 b 算法 - 第3题 a 算法 - 第4题 划分一般就是分治 a 算法 - 第5题 分治 a 0-1背包 算法 - 第6题 c 算法 - 第7题 最小的为c 3100 c 算法 - 第8题 …

udp多点通信和心跳包

刷题 # UDP多点通信核心要点## 基础通信模式### 单播通信- 一对一通信方式- UDP默认通信模式- 地址指向具体目标主机### 广播通信- 一对多通信机制- 地址范围&#xff1a;xxx.xxx.xxx.255- 仅限局域网传输- 需设置SO_BROADCAST标志### 组播通信- 多对多群组通信- 地址范围&…

音视频学习:使用NDK编译FFmpeg动态库

1. 环境 1.1 基础配置 NDK 22b (r22b)FFmpeg 4.4Ubuntu 22.04 1.2 下载ffmpeg 官网提供了 .tar.xz 包&#xff0c;可以直接下载解压&#xff1a; wget https://ffmpeg.org/releases/ffmpeg-4.4.tar.xz tar -xvf ffmpeg-4.4.tar.xz cd ffmpeg-4.41.3 安装基础工具链 sudo …

如何使用 Qwen3 实现 Agentic RAG?

今天&#xff0c;我们将学习如何部署由阿里巴巴最新Qwen 3驱动的Agentic RAG。 这里是我们的工具栈&#xff1a; CrewAI用于代理编排。 Firecrawl用于网络搜索。 LightningAI的LitServe用于部署。 顶部的视频展示了这一过程。 图表显示了我们的Agentic RAG流程&#xff1…

相机、雷达标定工具,以及雷达自动标定的思路

本篇我们来看一下自动驾驶传感器配置一个非常重要的模块&#xff0c;也就是传感器的标定。这里主要是对我之前修改的功能包的使用进行一个介绍. 对应的资源也已经上传了&#xff0c;0积分下载 安装 首先整个项目是使用ros1来进行启动的,但是要想正常编译,需要先安装三个对应的…

vsomeip环境搭建保姆级教程

vsomeip环境搭建保姆级教程 ubuntu环境搭建 {% links %} site: VMware搭建ubuntu保姆级教程 url: https://zhuanlan.zhihu.com/p/1903219373906327339 desc: flechazo image: https://q1.qlogo.cn/g?b=qq&nk=2861099&s=5 color: “#9d5b8b” {% endlinks %} vsomei…

我的MCP相关配置记录

1.VSCode的Cline中的MCP {"mcpServers": {"github.com/modelcontextprotocol/servers/tree/main/src/github": {"autoApprove": [],"disabled": false,"timeout": 60,"command": "cmd","args&quo…

我们来学nacos -- 集群nacos2.5.1mysql8.4

2.5.1集群搭建 架构下载解压到3个文件夹初始化数据库&数据迁移检查端口可用配置cluster.confapplication.properties 使用mysql8.4的jar启动db.num is null报错datasource错误成功 nginx反向代理集群查看 架构 其中包含3个nacos节点&#xff0c;然后一个负载均衡器代理3个…

Rollup入门与进阶:为现代Web应用构建超小的打包文件

我们常常面临Webpack复杂配置或是Babel转译后的冗余代码&#xff0c;结果导致最终的包体积居高不下加载速度也变得异常缓慢&#xff0c;而在众多打包工具中Rollup作为一个轻量且高效的选择&#xff0c;正悄然改变着这一切&#xff0c;本文将带你深入了解这个令人惊艳的打包工具…

专题四:综合练习( 找出所有子集的异或总和再求和)

以leetcode1863题为例 题目分析&#xff1a; 找到每个子集&#xff0c;然后子集中的元素异或之后全部相加 算法原理分析&#xff1a; 画决策树&#xff1a;第一层为这个子集有一个元素 第二层这个子集有两个元素 从上往下罗列&#xff0c;把所有子集都罗列出来&#xf…

STM32 修炼手册

第一章 计算机体系结构(了解) 后续在板子上开发的时候&#xff0c;需要考虑是否有操作系统 方式一&#xff1a;有操作系统&#xff0c;通过c库通过os api操作硬件方式二&#xff1a;无操作系统&#xff0c; 通过c库通过固件库操作硬件 第二章 STM32开发板概述 板子/开发板&…

缓存(2):数据一致性

概述 一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据的值是一致的。 强一致性:这种一致性级别是最符合用户直觉的,它要求系统写入什么,读出来的也会是什么,用户体验好,但实现起来往往对系统的性能影响大弱一致性:这种一致性级别约束了系统在写入成功…

ppy/osu构建

下载 .NET (Linux、macOS 和 Windows) | .NET dotnet还行 构建&#xff1a;f5 运行&#xff1a;dotnet run --project osu.Desktop -c Debug

基于几何布朗运动的股价预测模型构建与分析

基于几何布朗运动的股价预测模型构建与分析 摘要 本文建立基于几何布朗运动的股价预测模型&#xff0c;结合极大似然估计与蒙特卡洛模拟&#xff0c;推导股价条件概率密度函数并构建动态预测区间。实证分析显示模型在标普500指数预测中取得89%的覆盖概率&#xff0c;波动率估…

python如何提取Chrome中的保存的网站登录用户名密码?

很多浏览器都贴心地提供了保存用户密码功能&#xff0c;用户一旦开启&#xff0c;就不需要每次都输入用户名、密码&#xff0c;非常方便。作为python脚本&#xff0c;能否拿到用户提前保存在浏览器中的用户名密码&#xff0c;用以自动登录呢&#xff1f;必须有&#xff0c;小爬…