《软件设计师》复习笔记(14.2)——统一建模语言UML、事务关系图
目录
1. UML概述
2. UML构造块
(1) 事物(Things)
(2) 关系(Relationships)
真题示例:
3. UML图分类
(1) 结构图(静态)
(2) 行为图(动态)
4. 核心UML图详解
5. UML 4+1视图模型
真题示例:
1. UML概述
- 定义:UML(Unified Modeling Language)是一种可视化建模语言,用于支持从需求分析到软件设计的全过程。
- 结构组成:
- 构造块:事物(类、接口等)、关系(依赖、关联等)、图(类图、用例图等)。
- 公共机制:实现特定目标的通用方法(如扩展机制)。
- 规则:构造块的组合规则(如类与类之间的关系)。
2. UML构造块
(1) 事物(Things)
- 结构事物(静态部分):类、接口、用例、构件等。
- 行为事物(动态部分):交互、活动、状态机等。
- 分组事物(组织部分):包(Package)。
- 注释事物(解释部分):注释、约束等。

(2) 关系(Relationships)
| 关系类型 | 描述 |
|---|---|
| 依赖 | 一个事物的变化影响另一个事物 |
| 关联 | 类之间的结构关系(分为组合/聚合) |
| 泛化 | 一般与特殊关系(继承) |
| 实现 | 类与接口的契约关系 |

- 组合 vs 聚合:
- 组合(强关系):部分不能脱离整体存在(如
汽车和发动机)。 - 聚合(弱关系):部分可独立存在(如
汽车和轮胎)。
- 组合(强关系):部分不能脱离整体存在(如
真题示例:
采用面向对象方法进行软件开发时,将汽车作为一个系统。以下( )之间不属于组成(Composition)关系。
A.汽车和座位 B.汽车和车窗 C.汽车和发动机 D.汽车和音乐系统
理解组成关系(Composition)是强聚合关系,表示部分不能脱离整体存在(生命周期绑定)。本题存在争议,不需要纠结标准答案。
如图所示的UML类图中,Shop和Magazine之间为( )关系,Magazine和Page之间为( )关系。UML类图通常不用于对( )进行建模。
A.关联 B.依赖 C.组合 D.继承
A.关联 B.依赖 C.组合 D.继承
A.系统的词汇 B.简单的协作 C.逻辑数据库模式 D.对象快照
- Shop和Magazine:关联
- Magazine和Page:组合
- UML类图不用于:对象快照
- 类图描述静态结构(类、接口、关系),而对象快照属于对象图(特定时刻的实例状态)。
3. UML图分类
UML图分为结构图(静态)和行为图(动态)两大类:
(1) 结构图(静态)
| 图类型 | 用途 |
|---|---|
| 类图 | 展示类、接口及其关系(如继承、实现) |
| 对象图 | 类图的实例化(某一时刻的对象状态) |
| 构件图 | 显示系统构件及其依赖关系(如DLL、EXE) |
| 部署图 | 软硬件映射(节点部署) |
| 制品图 | 物理文件结构(如源代码、数据库) |
| 包图 | 模块化组织(分组管理类/组件) |
(2) 行为图(动态)
| 图类型 | 用途 |
|---|---|
| 用例图 | 系统与外部参与者的交互(功能需求) |
| 顺序图 | 按时间顺序的对象交互(强调时序) |
| 通信图 | 对象间的协作关系(强调组织结构) |
| 状态图 | 对象状态变化(如订单状态流转) |
| 活动图 | 业务流程或并行活动(类似流程图) |
| 定时图 | 强调时间约束的交互 |
4. 核心UML图详解
| UML图类型 | 分类 | 用途描述 | 关键元素/特点 |
|---|---|---|---|
| 类图 | 静态图 | 系统静态设计视图,展示类、接口、协作及它们之间的关系 | 类、接口、关联、组合/聚合、泛化、依赖 |
| 对象图 | 静态图 | 类图的实例快照,展示某一时刻对象的状态及关系 | 对象实例、链(对象间的连接) |
| 用例图 | 行为图 | 描述系统与外部参与者的交互及功能需求 | 参与者、用例、包含(<<include>>)、扩展(<<extend>>)、泛化关系 |
| 序列图 | 交互图 | 按时间顺序展示对象间的消息交互 | 生命线、同步消息(实心三角箭头)、异步消息(空心箭头)、返回消息(虚线箭头) |
| 通讯图 | 交互图 | 强调对象组织结构,展示交互中的对象连接关系 | 对象、链、消息(带序号) |
| 状态图 | 行为图 | 描述单个对象的状态变化及触发条件 | 状态、迁移(事件+监护条件+动作)、初始/终止状态 |
| 活动图 | 行为图 | 类似流程图,展示系统活动的并行或顺序流程 | 活动节点、分岔/汇合(粗水平线)、监护条件、分支 |





| 构件图 | 静态图 | 系统物理构件结构及依赖关系 | 构件(<<component>>)、接口(<<interface>>)、依赖关系(虚线箭头) |
| 部署图 | 静态图 | 展示软件如何部署到硬件节点及网络拓扑 | 节点(服务器/设备)、构件部署、通信连接(实线) |


5. UML 4+1视图模型

| 视图 | 描述 | 受众 |
|---|---|---|
| 逻辑视图 | 类、子系统设计 | 系统分析师 |
| 进程视图 | 并发与同步结构(线程/进程) | 系统架构师 |
| 实现视图 | 代码和构件组织 | 开发人员 |
| 部署视图 | 软硬件映射(节点部署) | 运维工程师 |
| 用例视图 | 最基本的需求分析模型(用户功能) | 产品经理/客户 |
真题示例:
用例(use case)用来描述系统对事件做出响应时所采取的行动。用例之间是具有相关性的。在一个会员管理系统中,会员注册时可以采用电话和邮件两种方式。用例“会员注册”和“电话注册”、“邮件注册”之间是( )关系。
A. 包含(include) B.扩展(extend) C.泛化(generalize) D.依赖(depends on)
- 泛化关系表示一般与特殊的关系。"会员注册"是通用用例,"电话注册"和"邮件注册"是其具体实现方式,符合泛化关系(类似父类与子类)。
以下关于UML状态图的叙述中,不正确的是( )
A、活动可以在状态内执行,也可以在迁移时执行
B、若事件触发一个没有特定监护条件的迁移,则对象离开当前状态
C、迁移可以包含事件触发器,监护条件和状态
D、事件触发迁移
- 没有监护条件不能直接迁移
在UML提供的系统视图中,( )是逻辑视图的一次执行实例,描述了并发与同步结构;( )是最基本的需求分析模型。
A. 进程视图 B.实现视图 C.部署视图 D.用例视图
A. 进程视图 B.实现视图 C.部署视图 D.用例视图
- 进程视图(描述并发与同步)
- 用例视图(需求分析模型)
如下所示的UML图是( ),图中(Ⅰ)表示( ),(Ⅱ)表示( )。
A. 序列图 B. 状态图 C. 通信图 D. 活动图
A. 合并分叉 B. 分支 C. 合并汇合 D. 流
A. 分支条件 B. 监护表达式 C. 动作名 D. 流名称
-
图示的UML图是(活动图)。 活动图用于描述系统的活动流程,展示从一个活动到另一个活动的控制流,类似于流程图。图中有活动节点(如Receive Order、Fill Order等)、分岔/汇合(粗水平线)以及分支(菱形判断)等元素,符合活动图的特征。
-
图中(Ⅰ)表示(合并分叉)。 图中的粗水平线(Ⅰ处)是活动图中用于表示并发开始的符号,即合并分叉,表示从一个活动可以同时开始多个并行的活动。
-
图中(Ⅱ)表示(监护表达式)。 在活动图的分支处(菱形判断),[not complete](Ⅱ处)这样的方括号括起来的表达式是监护表达式,用于判断条件是否成立,以决定流程走向,所以第五个空选B。
相关文章:
《软件设计师》复习笔记(14.2)——统一建模语言UML、事务关系图
目录 1. UML概述 2. UML构造块 (1) 事物(Things) (2) 关系(Relationships) 真题示例: 3. UML图分类 (1) 结构图(静态) (2) 行为图(动态) 4. 核心UML图详解 5.…...
Flash存储器(三):eMMC与UFS协议标准
目录 一.协议介绍 1.1 eMMC协议标准 1.1.1 设计背景 1.1.2 协议演进 1.2 UFS协议标准 1.2.1 设计背景 1.2.2 协议演进 二.特性对比 三.应用场景 在嵌入式存储领域,eMMC(嵌入式多媒体卡)和UFS(通用闪存存储ÿ…...
在RK3588上使用哪个流媒体服务器合适
在RK3588平台上选择合适的流媒体服务器时,需考虑其ARM Cortex-A76/A55架构、硬件编解码能力(如支持H.264/H.265/AV1解码)以及Linux/Android系统支持。以下是推荐的方案: 1. 轻量级方案:GStreamer RTSP 适用场景&…...
PHP8.2.9NTS版本使用composer报错,扩展找不到的问题处理
使用composer install时报错: The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl extension, you can disable this error, at y our own risk, by setting the ‘disable-tls’ option to true.…...
[文献阅读] EnCodec - High Fidelity Neural Audio Compression
[文献信息]:[2210.13438] High Fidelity Neural Audio Compression facebook团队提出的一个用于高质量音频高效压缩的模型,称为EnCodec。Encodec是VALL-E的重要前置工作,正是Encodec的压缩量化使得VALL-E能够出现,把语音领域带向大…...
【操作系统原理01】操作系统引论
文章目录 大纲一、中断与异常0.大纲1. 中断的作用2. 中断类型2.1 内中断2.2 外中断2.3 判断内外中断 3. 中断机制原理 二、系统调用0. 大纲1.什么是系统调用2.系统调用分类 三、操作性系统内核(了解)0.大纲1.内核2.各种操作系统结构特性 四、操作系统引论0.大纲1.磁盘存储 图片…...
http请求和websocket区别和使用场景
这个问题问得很好,下面我分几部分来详细讲解 WebSocket 的传输能力、适用场景,以及为什么即使用了 WebSocket,我们仍然会用 HTTP 接口👇 ✅ 一、WebSocket 可以传输多少内容? 理论上: WebSocket 协议本身…...
动态规划经典例题:最长单调递增子序列、完全背包、二维背包、数字三角形硬币找零
一.最长单调递增子序列 设计一个O(n^2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。 实验原理 状态转移方程(递推公式): 对于每个 i,遍历之前的元素 j,如果 nums[j] < nums[i]࿰…...
最新得物小程序sign签名加密,请求参数解密,响应数据解密逆向分析
点击精选,出现https://app.dewu.com/api/v1/h5/index/fire/index 这个请求 直接搜索sign的话不容易定位 直接搜newAdvForH5就一个,进去再搜sign,打上断点 可以看到t.params就是没有sign的请求参数, 经过Object(a.default)该函数…...
Day2—3:前端项目uniapp壁纸实战
接下来我们做一个专题精选 <view class"theme"><common-title><template #name>专题精选</template><template #custom><navigator url"" class"more">More</navigator></template></common…...
SQL系列:常用函数
1、【MySQL】合并字段函数(列转行) 它可以将两个字段中的数据合并到一个字段中。 1)CONCAT函数 CONCAT函数可以将多个字段中的数据合并到一个字段中。它的语法格式如下: SELECT CONCAT(字段1,字段2,...字段N) FROM 表名;SELEC…...
Python基于知识图谱的医疗问答系统【附源码、文档说明】
博主介绍:✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&…...
yarn的三个资源调度策略
1. 容量调度器(Capacity Scheduler) 策略原理:将集群资源划分为多个队列,每个队列有固定的资源容量,且可以设置资源的最大和最小使用量。不同的用户或应用程序可以被分配到不同的队列中,在队列内部&#x…...
股指期货跨期套利是如何赚取价差利润的?
股指期货跨期套利,简单来说,就是在同一交易所内,针对同一股指期货品种的不同交割月份合约进行的套利交易。投资者会同时买入某一月份的股指期货合约,并卖出另一月份的股指期货合约,待未来某个时间点,再将这…...
w297毕业生实习与就业管理系统
🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…...
Java集合框架中的List、Map、Set详解
在Java开发中,集合框架是处理数据时不可或缺的工具之一。今天,我们来深入了解一下Java集合框架中的List、Map和Set,并探讨它们的常见方法操作。 目录 一、List集合 1.1 List集合介绍 1.2 List集合的常见方法 添加元素 获取元素 修改元素…...
让机器学习更透明:使用 Python 开发可解释性模型工具包
友友们好! 我是Echo_Wish,我的的新专栏《Python进阶》以及《Python!实战!》正式启动啦!这是专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会…...
OpenStack Yoga版安装笔记(23)Swift安装
一、官方文档 Object Storage Install Guide — Swift 2.29.3.dev5 documentation 二、环境准备 之前的实验,已经有controller, compute1, block1节点,并已经完成Keystone、Glance、Nova、Neutron、Cinder等主要OpenStack Service的安装。 此处新增…...
MRO 工业品电商系统:智能精准匹配,快速满足采购需求
在竞争激烈的工业领域,企业对 MRO 工业品的采购需求越来越多。但传统 MRO 采购存在信息不透明、客户选型困难,流程复杂处理周期长、库存信息不明确、成本高和客户价格管理混乱等诸多问题。随着电商发展,MRO 工业品电商系统出现,给…...
2025年Q1数据安全政策、规范、标准以及报告汇总共92份(附下载)
一、政策演进趋势分析 (一)国家级政策新动向 数据要素市场建设 数据流通安全治理方案(重点解析数据确权与交易规则) 公共数据授权运营规范(创新性提出分级授权机制) 新兴技术安全规范 人工智能安全标准…...
基于Python Django 的全国房价大数据可视化系统(附源码,部署)
博主介绍:✌程序员徐师兄,7年大厂开发经验。全网粉丝12w,CSDN博客专家,同时活跃在掘金、华为云、阿里云、InfoQ等平台,专注Java技术和毕业项目实战分享✌ 🍅文末获取源码联系🍅 👇&a…...
项目班——0408——qt的多线程开发
目录 一、并发、并行的概念 1. 并发 例子 2. 并行 二、qt的多线程开发 三、Qt多线程开发方法 1、可以使用QTthread 创建线程 来执行线程函数 2、可以借助moveToThread将对象转移到另一个线程中,然后执行 一、并发、并行的概念 1. 并发 多个任务在同一时间…...
每天学一个 Linux 命令(25):more
可访问网站查看,视觉品味拉满: http://www.616vip.cn/25/index.html 每天学一个 Linux 命令(25):more 命令简介 more 是一个经典的分页显示文本文件内容的命令行工具,适用于逐页浏览长文本文件。它简单易用,适合快速查看内容,但功能比 less 更为基础(不支持向后翻…...
那就聊一聊mysql的锁
MySQL 的锁机制是数据库并发控制的核心,作为 Java 架构师需要深入理解其实现原理和适用场景。以下是 MySQL 锁机制的详细解析: 一、锁的分类维度 1. 按锁粒度划分 锁粒度特点适用场景全局锁锁定整个数据库(FLUSH TABLES WITH READ LOC…...
python(八)-数据类型转换
#数据类型转换 #转换为整型int #字符串str--》整数int #纯数字的字符串可以转换,否则会报错 s 2025 n int(s) print(type(s),type(n)) print(n)#浮点数float--》整数int s1 2.23 print(int(s1))#bool-->整数int s2,s3 True,False print(int(s2),int(s3))#转…...
Python语法系列博客 · 第7期[特殊字符] 列表推导式与字典推导式:更优雅地处理数据结构
上一期小练习解答(第6期回顾) ✅ 练习1:统计文件行数 with open("data.txt", "r", encoding"utf-8") as f:lines f.readlines()print(f"总行数:{len(lines)}")✅ 练习2:反…...
如何0基础学stm32?
如何0基础学stm32? 作为一个混迹嵌入式领域十余年的老兵,每次看到"0基础学STM32"这样的提问,我都忍不住想笑,又有些无奈。这就像问"如何0基础学开飞机"一样—虽然理论上可行,但过程恐怕没那么愉快…...
Cesium 加载 本地 b3dm 格式文件 并且 获取鼠标点击处经纬度 (亲测可用)
很奇怪cesium 里面只支持 相对路径 不支持绝对路径 我把 模型放在 /***/Cesium-1.128/Apps/SampleData/Cesium3DTiles/Tilesets 下面 "../../SampleData/Cesium3DTiles/Tilesets/terra_b3dms/tileset.json",所有源码 const viewer new Cesium.Viewer("cesiu…...
新能源汽车动力电池热管理方案全解析:开启电车续航与安全的密码
热管理:新能源汽车的隐形守护者 在新能源汽车飞速发展的今天,热管理系统作为保障车辆核心部件稳定运行的关键,正逐渐成为行业关注的焦点。据市场研究机构的数据显示,近年来新能源汽车的销量持续攀升,而与之相伴的是热…...
无需训练的具身导航探索!TRAVEL:零样本视觉语言导航中的检索与对齐
作者: Navid Rajabi, Jana Kosecka 单位:乔治梅森大学计算机科学系 论文标题:TRAVEL: Training-Free Retrieval and Alignment for Vision-and-Language Navigation 论文链接:https://arxiv.org/pdf/2502.07306 主要贡献 提出…...

