Skip to content

考点精要:UML 核心图谱与关系辨析 ​

MOD-04 面向对象考查题号:上午第 40 ~ 44 题 (约 3 ~ 4 分)⭐⭐⭐⭐⭐ 5星必考强贯通下午 (下午题3 必考15分)

🎯 45 分及格通关指引

  • 【45分必背核心得分点】:
    1. 静动二分法(必考分类题):
      • 静态结构图(4个):类图、对象图(快照)、构件/组件图、部署图(物理节点)。
      • 动态行为图(5个):用例图、顺序/时序图(按时间)、通信/协作图、状态机图、活动图(支持并发工作流)。
    2. 关系强弱与符号秒杀:
      • 依赖(虚箭头 uses-a)< 关联(实箭头 has-a)< 聚合(空心菱形,同生不同死)< 组合(实心菱形,同生共死)< 泛化(空心三角继承);
      • 菱形永远在整体端(如公司端是实心菱形,部门端是箭头)。
    3. 用例关系箭头:
      • 包含 <<include>>:基础用例 → 被包含用例(必须执行);
      • 扩展 <<extend>>:扩展用例 → 基础用例(可选执行,方向易设坑!)。
  • 【高分选读 / 考场可战略放弃点】:
    • 交互概览图、复合结构图、包图依赖深入语义(考频 <1%,直接蒙题放弃)。

一、 核心考纲与概念辨析 ​

1. UML 图谱全景分类矩阵(静态结构图 vs 动态行为图) ​

统一建模语言 (UML 2.x) 共有 14 种图,软考重点考查以下高频常用图:

大类UML 图名称核心用途与图元要素上/下午考查特点
结构图 (静态图)类图 (Class Diagram)描述系统中的类及其接口、属性、方法以及类之间的静态结构关系必考,贯通下午题 3 与设计模式填空
对象图 (Object Diagram)描述某一特定时间点上类的具体实例(对象)及其属性值和链类图在某运行瞬间的“快照”
构件图/组件图 (Component Diagram)描述软件代码构件、模块、库及接口之间的物理组织与依赖系统物理架构与二进制包划分
部署图 (Deployment Diagram)描述软件运行时的物理硬件节点、网络拓扑及软件构件在节点的部署配置硬件环境与中间件拓扑部署
行为图 (动态图)用例图 (Use Case Diagram)描述参与者(Actor)与用例之间的业务功能关系,刻画系统外部黑盒需求必考,下午题 3 需求分析高频图元
顺序图/时序图 (Sequence Diagram)按时间顺序展示对象之间交互消息传递的动态协作流程必考,重点在时间顺序、生命线、激活期
通信图/协作图 (Communication Diagram)强调收发消息的对象的组织结构,用序列号标明消息执行次序与时序图语义等价,可无损互转
状态机图/状态图 (State Machine Diagram)描述对象在其生命周期内经历的各种状态、事件触发及状态转移适合具有复杂状态流转的对象(如订单流转)
活动图 (Activity Diagram)描述业务流程或计算逻辑中的工作流控制流与并行分支(分岔与汇合)类似于流程图,但支持多泳道并发

2. 类图 6 大关系权威辨析(由弱到强排列) ​

类间关系由弱到强的顺序为:

依赖 (Dependency)<关联 (Association)<聚合 (Aggregation)<组合 (Composition)<泛化 (Generalization)≈实现 (Realization)
正在渲染架构图表...
关系名称语义本质典型代码表现 / 现实映射图形符号表示
依赖 (Dependency)uses-a(使用关系):某类在其方法形参、局部变量中临时使用另一类的对象void drive(Car car) 中的形参带箭头的虚线(指向被使用者)
关联 (Association)has-a(持有关系):类之间的长期结构化引用,彼此平级作为类的成员变量:private Person customer;带箭头的实线(或无箭头双向实线)
聚合 (Aggregation)has-a(部分与整体):部分可以脱离整体而独立存在,“同生不同死”汽车与轮胎;班级与学生空心菱形 + 实线箭头(菱形位于整体端)
组合 (Composition)contains-a(部分与整体):部分不可脱离整体独立存在,“同生共死”人与大脑;公司与部门;窗口与窗口按纽实心菱形 + 实线箭头(菱形位于整体端)
泛化 (Generalization)is-a(继承关系):子类继承父类的属性和方法Java 中的 extends 继承基类空心三角箭头 + 实线(指向父类)
实现 (Realization)类实现接口所定义的契约规范Java 中的 implements 实现接口空心三角箭头 + 虚线(指向接口)

二、 分析模型与关系判定决策树 ​

1. 类图整体与部分关系判定流程 ​

正在渲染架构图表...

2. 用例图三大核心关系辨析 ​

  • 包含关系 (<<include>>):
    • 核心特征:基础用例执行时必须无条件执行被包含用例。抽取出多个用例公共的子功能,消除重复。
    • 箭头方向:基础用例 ⟶ 被包含用例(虚线箭头,标注 <<include>>)。
  • 扩展关系 (<<extend>>):
    • 核心特征:在特定扩展点和满足特定监护条件时,被扩展用例才可能被执行。基础用例自身流程完整独立,被扩展用例提供的是附加或可选行为。
    • 箭头方向:扩展用例 ⟶ 基础用例(虚线箭头,标注 <<extend>>,出题人最爱在此设置反向陷阱!)。
  • 泛化关系 (Generalization):
    • 核心特征:通用抽象用例与具体特化用例之间的父子继承关系。
    • 箭头方向:子用例 ⟶ 父用例(实线空心三角箭头)。例如微信支付、支付宝支付指向“在线支付”。

三、 命题题眼与陷阱防御 ​

🚨 常见命题陷阱盘点

  1. 聚合与组合的菱形混淆:
    • 空心菱形 = 聚合(松散,能分开);
    • 实心菱形 = 组合(紧密,不能分开,同生共死)。菱形永远画在“整体(Whole)”这一侧,绝不能画在“部分(Part)”一侧!
  2. 包含与扩展的箭头方向极易颠倒:
    • 包含 <<include>>:主用例 → 被包含用例(我要做 A,必须顺带做 B,故 A 指向 B);
    • 扩展 <<extend>>:扩展用例 → 主用例(B 是对 A 的补充,故 B 指向 A!)。出题人 80% 的干扰选项都会把扩展关系的箭头方向倒置!
  3. 静态图与动态行为图分类混淆:
    • 静态图核心四剑客:类图、对象图、组件图、部署图;
    • 状态机图、活动图、时序图、用例图均为动态行为图。

四、 典型真题溯源与逐项排错解析 (Distractor Analysis) ​

【真题精选 1】(考查静态结构图与动态行为图分类 · 2024上-机考回忆-Q41) ​

题干:UML 2.0 提供了多种用于建模的图,它们被分为结构图和行为图两类。下列 UML 图中,属于动态行为图的是( )。

  • A. 类图 (Class Diagram)
  • B. 构件图 (Component Diagram)
  • C. 活动图 (Activity Diagram)
  • D. 部署图 (Deployment Diagram)
💡 点击展开【正确答案与逐项排错剖析】
  • 【正确答案】:C
  • 【核心切入点】:把握静态图(类、对象、构件、部署)与动态图(用例、时序、活动、状态)的标准二分法。

逐项排错剖析 (Distractor Analysis) ​

  • 选项 A 错误:类图展现类与接口的静态结构特征,是典型的结构图(静态图)。
  • 选项 B 错误:构件图展现可执行模块与代码库之间的依赖组织,属于静态物理实现图。
  • 选项 C 正确:活动图(Activity Diagram)用于展示业务工作流的控制逻辑与分支并行,属于典型的动态行为图。
  • 选项 D 错误:部署图展现物理硬件节点与网络配置,属于静态架构结构图。

【真题精选 2】(考查类图组合关系判定 · 2024下-机考回忆-Q42) ​

题干:在面向对象建模中,窗口类 Window 和菜单栏类 MenuBar 之间存在整体与部分的关系。当窗口对象被销毁时,其包含的菜单栏对象也随之被销毁而不能独立存在。这种关系在 UML 类图中应表示为( )。

  • A. 依赖关系 (Dependency)
  • B. 聚合关系 (Aggregation)
  • C. 组合关系 (Composition)
  • D. 泛化关系 (Generalization)
💡 点击展开【正确答案与逐项排错剖析】
  • 【正确答案】:C
  • 【核心切入点】:“同生共死、部分不可脱离整体独立存活”直接锁定组合关系(实心菱形)。

逐项排错剖析 (Distractor Analysis) ​

  • 选项 A (依赖) 错误:依赖是临时的“uses-a”方法形参或局部调用关系,不存在整体与部分的长期结构持有。
  • 选项 B (聚合) 错误:聚合虽然也是部分与整体关系,但强调“同生不同死”(如班级解散了,学生依然独立存在);题干明确指出窗口销毁菜单栏也随之销毁,属于强依赖的组合。
  • 选项 C (组合) 正确:组合(Composition)表示生命周期强绑定的部分-整体关系,同生共死,完全符合题意。
  • 选项 D (泛化) 错误:泛化是“is-a”继承关系(如猫是一种动物),窗口和菜单栏显然不存在父子继承语义。

考点通关与速查导航 ​

全国计算机技术与软件专业技术资格(水平)考试 · 软件设计师(中级)