【面向对象】UML结构图:对象图 / 构件图 / 部署图

📅 2026/8/1 19:25:55
【面向对象】UML结构图:对象图 / 构件图 / 部署图
考点频率★★☆☆☆选择题偶尔出现1-2题下午题极少单独考查难度⭐⭐建议重点掌握三张图的核心用途和关键符号能区分“对象图vs类图”、“构件图vs部署图”即可1️⃣ 为什么这三张图放在一起讲在UML的14种图中对象图、构件图、部署图属于“结构图”家族但它们在软考中的考频远低于类图、用例图、顺序图。图名称考频考查方式类图★★★★★下午必考选择题必考对象图★★☆☆☆偶尔选择题考“对象图与类图的区别”构件图★★★☆☆选择题常考“构件图的组成元素”部署图★★★☆☆选择题常考“部署图与构件图的区别”策略建议这三张图不需要像类图那样死磕细节但每张图的核心概念和符号必须记住——选择题考到就是送分题。2️⃣ 对象图Object Diagram—— 类图的“快照”2.1 核心定义对象图是类图在某一时刻的实例快照。它展示了系统中具体对象及其之间的关系相当于“运行时的内存快照”。打个比方类图是“户型图”抽象设计对象图是“某户人家实际入住的家具摆放图”具体实例。2.2 对象图 vs 类图软考高频考点对比项类图Class Diagram对象图Object Diagram抽象程度抽象的模板/概念具体的实例/现实元素名类名如用户对象名如小明:用户或直接小明属性定义属性类型如姓名:字符串填写具体值如姓名小明关系表示类之间的关系长期稳定表示对象之间的关系某个时刻的快照2.3 对象图的表示法对象名下有下划线这是区分对象图和类图的唯一视觉标志。命名格式对象名:类名如小明:用户或只用对象名如小明。属性部分填写实际值而非类型定义。示例┌─────────────────┐ │ 小明:用户 │ ← 对象名:类名有下划线 ├─────────────────┤ │ 姓名 小明 │ ← 具体值 │ 年龄 25 │ ← 具体值 └─────────────────┘2.4 常见考点对象图是类图的一个实例化快照不是独立于类图存在的。对象图没有“方法”部分只展示属性值。对象图中的关系是“此时此刻”的关系不是长期稳定的结构。3️⃣ 构件图Component Diagram—— 系统的“零件图”3.1 核心定义构件图描述系统的物理组织展示软件构件Component之间的依赖关系和接口关系。它关注的是“代码/文件层面”的模块组织。打个比方构件图就像汽车的“零件分解图”——发动机是一个构件变速箱是一个构件它们之间通过标准接口螺丝孔传动轴连接。3.2 构件图的四个核心元素元素图形含义构件Component矩形 左侧两个小矩形一个可独立部署的软件模块如.jar、.dll、EJB接口Interface圆圈供接口或半圆需接口构件对外提供的服务或要求的外部服务依赖关系Dependency虚线箭头------一个构件依赖另一个构件端口Port矩形边框上的小方框构件与外部交互的“出入口”3.3 构件图的两个重要概念概念含义供接口Provided Interface构件提供的服务别人能用我干什么需接口Required Interface构件需要的服务我需要别人帮我干什么软考考点构件图强调的是可复用和可部署的单元而不是运行时对象。一个构件可以包含多个类。4️⃣ 部署图Deployment Diagram—— 系统的“机房布局图”4.1 核心定义部署图描述系统的物理部署——软件系统在硬件设备节点上的物理安装和分布情况。它是“运维视角”的图。打个比方部署图就像机房的“物理布局图”——哪台服务器上部署了哪个系统服务器之间用什么网络连接。4.2 部署图的核心元素元素图形含义节点Node3D立方体或矩形device物理硬件服务器、PC、嵌入式设备构件Artifact/Component矩形 artifact部署在节点上的软件文件.war、.exe、数据库连接Communication Path实线节点之间的物理通信路径网络、总线依赖Dependency虚线箭头软件构件之间的依赖关系4.3 构件图 vs 部署图易混淆对比项构件图部署图关注点软件的物理组织结构软件的物理部署位置元素构件、接口节点硬件、构件视角开发视角代码怎么组织运维视角系统部署在哪些机器上典型场景系统架构设计服务器配置、集群部署5️⃣ 一张表看懂三张图对比项对象图构件图部署图核心作用展示某个时刻的对象实例展示软件构件的组织和依赖展示软件在硬件上的物理部署主要元素对象、对象间关系构件、接口、依赖节点硬件、构件、通信路径关联的图类图的“快照”系统的静态实现视图系统的物理拓扑视图软考考频★★☆☆☆★★★☆☆★★★☆☆容易混淆与类图混淆与部署图混淆与构件图混淆6️⃣ 经典例题例题1以下关于对象图的叙述中正确的是 。A. 对象图是类图的抽象用于定义类的结构B. 对象图中的对象名称不需要加下划线C. 对象图展示了系统在某一时刻的对象实例及其关系D. 对象图可以包含类的操作方法解析A说反了——类图是抽象对象图是具体实例B错误——对象名必须加下划线D错误——对象图不包含操作只展示属性值。C正确。选C。例题2某系统的软件架构采用微服务风格每个服务被打包成独立的.jar文件服务之间通过RESTful接口调用。要描述这些.jar文件之间的依赖关系和接口关系最适合使用 。A. 类图B. 对象图C. 构件图D. 部署图解析.jar文件是构件构件之间的依赖和接口关系使用构件图描述。部署图关注的是“这些.jar部署在哪台服务器上”而非它们之间的依赖关系。选C。例题3构件图 vs 部署图某运维工程师需要绘制一张图展示公司的“用户管理系统”部署在3台应用服务器上数据库部署在2台独立数据库服务器上服务器之间通过网络连接。他应该使用 。A. 类图B. 顺序图C. 构件图D. 部署图解析题干涉及硬件节点服务器和物理连接网络→部署图。选D。7️⃣ 记忆口诀对象图是类快照名字下划线要记牢。构件图看零件表接口依赖包. jar包。部署图看硬件跑服务器上软件导。8️⃣ 小测验评论区对答案以下关于UML部署图的说法中正确的是 。A. 部署图用于描述软件系统在硬件节点上的物理部署B. 部署图与构件图的作用完全相同C. 部署图中不能出现任何软件构件D. 部署图属于UML行为图本专栏日更点击头像 → 专栏《软考中级高频考点》订阅第一时间接收新内容#软考中级 #软件设计师 #UML对象图 #构件图 #部署图 #面向对象 #软考备考