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

考点

选择题 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.mzph.cn/news/905297.shtml

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

相关文章

数据结构(七)——图

一、图的定义与基本术语 1.图的定义 图G由顶点集V和边集E组成&#xff0c;记为G(V,E)&#xff0c;其中V(G)表示图G中顶点的有限非空集&#xff1b;E(G)表示图G中顶点之间的关系&#xff08;边&#xff09;的集合 注意&#xff1a;线性表可以是空表&#xff0c;树可以是空树&…

Android7 Input(六)InputChannel

概述: 本文讲述Android Input输入框架中 InputChannel的功能。从前面的讲述&#xff0c;我们知道input系统服务最终将输入事件写入了InputChannel&#xff0c;而input属于system_server进程&#xff0c;App属于另外一个进程&#xff0c;当Input系统服务想要把事件传递给App进行…

【 Redis | 实战篇 秒杀实现 】

目录 前言&#xff1a; 1.全局ID生成器 2.秒杀优惠券 2.1.秒杀优惠券的基本实现 2.2.超卖问题 2.3.解决超卖问题的方案 2.4.基于乐观锁来解决超卖问题 3.秒杀一人一单 3.1.秒杀一人一单的基本实现 3.2.单机模式下的线程安全问题 3.3.集群模式下的线程安全问题 前言&…

如何用URDF文件构建机械手模型并与MoveIt集成

机械手URDF文件的编写 我们用urdf文件来描述我们的机械手的外观以及物理性能。这里为了简便&#xff0c;就只用了基本的圆柱、立方体了。追求美观的朋友&#xff0c;还可以用dae文件来描述机械手的外形。 import re def remove_comments(text):pattern r<!--(.*?)-->…

《构建社交应用的安全结界:双框架对接审核API的底层逻辑与实践》

用户生成内容如潮水般涌来。从日常的生活分享&#xff0c;到激烈的观点碰撞&#xff0c;这些内容赋予社交应用活力&#xff0c;也带来管理难题。虚假信息、暴力言论、侵权内容等不良信息&#xff0c;如同潜藏的暗礁&#xff0c;威胁着社交平台的健康生态。内容审核机制&#xf…

39:分类器流程

第一步 创建支持向量机分类器 create_class_svm (7, rbf, KernelParam, Nu, |ClassNames|, one-versus-one, principal_components, 5, SVMHandle) 第二步 添加样本到分类器里 for ClassNumber : 0 to |ClassNames| - 1 by 1 *列出目录下的所有文件 list_files (ReadPath…

LangChain对话链:打造智能多轮对话机器人

LangChain对话链:打造智能多轮对话机器人 目录 LangChain对话链:打造智能多轮对话机器人ConversationChain 是什么核心功能与特点基本用法示例内存机制自定义提示词应用场景与其他链的结合`SequentialChain` 是什么![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0…

el-select 结合 el-tree:树形下拉数据

一、单选 <template><div class"selectTree-wapper"><el-selectv-model"selectValue"placeholder"请选择"popper-class"custom-el-select-class"ref"selectRef"clearableclear"clearHandle">&…

BFS算法篇——从晨曦到星辰,BFS算法在多源最短路径问题中的诗意航行(下)

文章目录 引言一、01矩阵1.1 题目链接&#xff1a;https://leetcode.cn/problems/01-matrix/description/1.2 题目分析&#xff1a;1.3 思路讲解&#xff1a;1.4 代码实现&#xff1a; 二、飞地的数量2.1 题目链接&#xff1a;https://leetcode.cn/problems/number-of-enclaves…

Leetcode (力扣)做题记录 hot100(49,136,169,20)

力扣第49题&#xff1a;字母异位词分组 49. 字母异位词分组 - 力扣&#xff08;LeetCode&#xff09; 遍历数组&#xff0c;将每一个字符串变成char数组 然后排序&#xff0c;如果map里面有则将他的值返回来&#xff08;key是排序好的字符串&#xff09; class Solution {pu…

【自学30天掌握AI开发】第1天 - 人工智能与大语言模型基础

自学30天掌握AI开发 - 第1天 &#x1f4c6; 日期和主题 日期&#xff1a;第1天 主题&#xff1a;人工智能与大语言模型基础 &#x1f3af; 学习目标 了解人工智能的发展历史和基本概念掌握大语言模型的基本原理和工作机制区分不同类型的AI模型及其特点理解AI在当前社会中的…

WebRTC 源码原生端Demo入门-1

1、概述 我的代码是比较新的&#xff0c;基于webrtc源码仓库的main分支的&#xff0c;在windows下把源码仓库下载好了后&#xff0c;用visual stdio 2022打开进行编译调试src/examples/peerconnection_client测试项目,主要是跑通这个demo来入手和调试&#xff0c;纯看代码很难…

【LeetCode】删除排序数组中的重复项 II

题目 链接 思路 双指针 我好聪明啊&#xff0c;自己想出了这个双指针的办法&#xff0c;哈哈哈哈哈哈哈&#xff0c;太高兴了 代码 class Solution(object):def removeDuplicates(self, nums):""":type nums: List[int]:rtype: int"""nlen…

通义千问席卷日本!开源界“卷王”阿里通义千问成为日本AI发展新基石

据日本经济新闻&#xff08;NIKKEI&#xff09;报道&#xff0c;通义千问已成为日本AI开发的新基础&#xff0c;其影响力正逐步扩大&#xff0c;深刻改变着日本AI产业的格局。 同时&#xff0c;日本经济新闻将通义千问Qwen2.5-Max列为全球AI模型综合评测第六名&#xff0c;不仅…

第J7周:对于ResNeXt-50算法的思考

目录 思考 一、代码功能分析 1. 构建 shortcut 分支&#xff08;残差连接的旁路&#xff09; 2. 主路径的第一层卷积&#xff08;11&#xff09; 4. 主路径的第三层卷积&#xff08;11&#xff09; 5. 残差连接 激活函数 二、问题分析总结&#xff1a;残差结构中通道数不一致的…

如何解决Jmeter中的乱码问题?

在 JMeter 中遇到乱码问题通常是由于字符编码不一致导致的&#xff0c;常见于 HTTP 请求响应、参数化文件读取、报告生成等场景。以下是系统化的解决方案&#xff1a; 1. HTTP 请求响应乱码 原因&#xff1a; 服务器返回的字符编码&#xff08;如UTF-8、GBK&#xff09;与 J…

# YOLOv2:目标检测的升级之作

YOLOv2&#xff1a;目标检测的升级之作 在目标检测领域&#xff0c;YOLO&#xff08;You Only Look Once&#xff09;系列算法以其高效的速度和创新的检测方式受到了广泛关注。今天&#xff0c;我们就来深入探讨一下 YOLOv2&#xff0c;看看它是如何在继承 YOLOv1 的基础上进行…

小白入!WiFi 技术大解析

WiFi&#xff0c;全称Wireless Fidelity&#xff0c;是一种无线局域网技术&#xff0c;允许电子设备通过无线电波连接到互联网。以下是对WiFi的一些介绍&#xff1a; 一、基本概述 定义&#xff1a;WiFi是一种基于IEEE 802.11标准系列的无线局域网技术&#xff0c;使设备能够…

【prometheus+Grafana篇】基于Prometheus+Grafana实现windows操作系统的监控与可视化

&#x1f4ab;《博主主页》&#xff1a; &#x1f50e; CSDN主页 &#x1f50e; IF Club社区主页 &#x1f525;《擅长领域》&#xff1a;擅长阿里云AnalyticDB for MySQL(分布式数据仓库)、Oracle、MySQL、Linux、prometheus监控&#xff1b;并对SQLserver、NoSQL(MongoDB)有了…

推荐一个感觉非常好的文章,是知识图谱的

为了省浏览的事儿&#xff0c;以后打算写文章都短一些&#xff0c;这样不用被强制登录、关注了 正文 链接是 https://blog.csdn.net/Appleyk/article/details/80422055 放个截图 推荐理由 两个&#xff0c;第一内容确实硬核。第二算是缘分吧&#xff0c;我之前公司好像&am…