# 软考软件设计师 · 每日考点推送 整理日期: 2026年7月15日(周三) | 下半年备考倒计时 **101天** | 基础精读第15天
软考软件设计师 · 每日考点推送
📅 整理日期: 2026年7月15日(周三) | 下半年备考倒计时101天| 基础精读第15天
一、今日头条
2026下半年考纲UML与面向对象模块重大变化
基于EduCity最新统计,UML相关考点累计被考134次(UML概述77次+UML中的图57次),是软考第二高频知识点。2026下半年考纲在UML模块有三项关键变化:
| 变化项 | 核心内容 | 备考影响 |
|---|---|---|
| BPMN取代部分DFD | 业务流程建模图新增BPMN符号识别 | 需同时掌握DFD+BPMN两种建模 |
| C4模型四层架构 | 新增系统/容器/组件/代码四层 | 下午题可能出系统设计类大题 |
| 设计模式场景化 | 不再考死记模式定义,结合场景识别 | 必须理解模式意图+应用场景 |
二、核心专题:UML 14种图全解速查(下午题必考15分)
2.1 UML图型分类体系
UML共14种图(新版标准),分为三大视图:
UML 14种图 ├── 结构图(静态建模)4种 │ ├── 类图 Class Diagram ★★★★★ 必考 │ ├── 对象图 Object Diagram ★★ │ ├── 包图 Package Diagram ★★ │ └── 构件图 Component Diagram ★★★ ├── 行为图(动态建模)7种 │ ├── 用例图 Use Case Diagram ★★★★★ 必考 │ ├── 活动图 Activity Diagram ★★★ │ ├── 状态机图 State Machine Diagram ★★★★ │ ├── 交互图(子类)3种 │ │ ├── 序列图/顺序图 Sequence Diagram ★★★★ │ │ ├── 通信图 Communication Diagram ★★ │ │ └── 交互概览图 Interaction Overview Diagram ★ │ └── 定时图 Timing Diagram ★ └── 部署图 Deployment Diagram ★★2.2 软考核心6图深度精讲
📊 用例图(Use Case Diagram)——需求阶段核心
考点定位:描述"系统做什么",从用户视角捕获功能需求
| 组成元素 | 符号 | 说明 |
|---|---|---|
| 参与者 Actor | 🧑 小人图标 | 系统外部的人或系统 |
| 用例 Use Case | ⬭ 椭圆 | 系统提供的功能 |
| 系统边界 | ▭ 矩形框 | 框内为系统功能,框外为参与者 |
| 关联 Association | ── 实线 | 参与者与用例之间的交互 |
| 包含 include | <<include>>虚线箭头 基→子 | 基用例每次都执行子用例 |
| 扩展 extend | <<extend>>虚线箭头 子→基 | 子用例在条件满足时执行基用例 |
⭐ include vs extend 秒杀口诀:
include =in(每次必包含)→ 箭头从基用例指向子用例
extend =extra(额外扩展)→ 箭头从子用例指向基用例
真题示例:
- “用户登录"必须包含"身份验证” →
<<include>>(登录→验证) - “支付成功后可选开发票” →
<<extend>>(开发票→支付)
📊 类图(Class Diagram)——设计阶段核心
考点定位:描述系统静态结构,下午题必考!被考频率最高
六种关系从弱到强:
| 排序 | 关系 | 符号 | 含义 | 代码级等价 |
|---|---|---|---|---|
| 1 | 依赖 Dependency | -->虚线箭头 | 临时使用 | 参数/局部变量 |
| 2 | 关联 Association | ——→实线箭头 | 长期引用 | 成员变量 |
| 3 | 聚合 Aggregation | ——◇空心菱形 | 整体-部分(可分离) | 成员变量(可null) |
| 4 | 组合 Composition | ——◆实心菱形 | 整体-部分(不可分离) | 成员变量(不可null) |
| 5 | 泛化 Generalization | ——▷实线三角箭头 | 继承 | extends |
| 6 | 实现 Realization | --▷虚线三角箭头 | 实现接口 | implements |
速记口诀:
依关聚组泛实(依赖<关联<聚合<组合<泛化<实现)
空心可分离,实心共存亡(聚合空心菱形可独立/组合实心菱形共存亡)
多重度常见标注:
| 标注 | 含义 | 标注 | 含义 |
|---|---|---|---|
| 1 | 恰好1个 | 0…1 | 0或1个 |
| * 或 0…* | 0到多个 | 1…* | 1到多个 |
| n | 恰好n个 | n…m | n到m个 |
📊 状态机图(State Machine Diagram)
考点定位:描述对象生命周期中的状态变迁,被考频率中等偏高
| 元素 | 符号 | 说明 |
|---|---|---|
| 初始状态 | ● 实心圆 | 对象创建时的状态 |
| 终止状态 | ⊙ 双圈+实心 | 对象销毁时的状态 |
| 状态 | ⬭ 圆角矩形 | 对象所处的状态 |
| 转换 | → 实线箭头 | 状态间变迁 |
| 事件/条件 | 事件[条件] | 触发转换的条件 |
| 动作 | /动作 | 转换时执行的操作 |
典型场景:订单状态(待支付→已支付→待发货→已发货→已完成→已取消)
真题秒杀关键词:
- 看到"生命周期"→状态图
- 看到"状态变迁/状态转换"→状态图
- 看到"对象状态"→状态图
📊 序列图/顺序图(Sequence Diagram)
考点定位:描述对象间按时间顺序的消息交互
| 元素 | 符号 | 说明 |
|---|---|---|
| 对象/生命线 | ▭ 矩形框+虚线 | 参与交互的对象 |
| 同步消息 | → 实线箭头 | 调用并等待返回 |
| 异步消息 | ⤑ 实线箭头+开放式 | 发送不等待 |
| 返回消息 | –→ 虚线箭头 | 返回响应 |
| 激活条 | ▭ 窄矩形 | 对象正在执行 |
真题秒杀:看到"交互时序/消息顺序/调用过程"→序列图
📊 活动图(Activity Diagram)
考点定位:类似流程图,描述业务流程和工作流
| 元素 | 符号 | 说明 |
|---|---|---|
| 动作状态 | ⬭ 圆角矩形 | 一个活动步骤 |
| 决策节点 | ◇ 菱形 | 条件分支 |
| 分叉/汇合 | ════ 粗横线 | 并发执行 |
| 泳道 | ▭ 矩形区域 | 按角色/部门划分 |
活动图 vs 流程图区别:
- 活动图支持并发(分叉/汇合),流程图不支持
- 活动图有泳道,流程图没有
📊 构件图与部署图
| 图型 | 核心内容 | 考点 |
|---|---|---|
| 构件图 | 系统物理组件(JAR/DLL/EXE)+接口+依赖 | 识别组件间依赖关系 |
| 部署图 | 硬件节点(服务器/客户端)+通信路径 | 识别部署架构 |
三、核心专题:OOA面向对象分析三大模型
3.1 三大模型速查表
| 模型 | 描述什么 | 核心工具 | 关注点 | 口诀 |
|---|---|---|---|---|
| 对象模型 | 系统静态结构(“有什么”) | 类图 | 类/属性/方法/关系 | 静态骨骼 |
| 动态模型 | 系统行为变化(“怎么变”) | 状态图+序列图 | 状态变迁+消息交互 | 行为脉搏 |
| 功能模型 | 系统对外服务(“做什么”) | 用例图+DFD | 功能需求+数据流 | 对外服务 |
3.2 OOA五步法
- 标识对象→ 从需求描述中提取名词
- 标识结构→ 建立类间关系(继承/组合/聚合)
- 标识主题→ 划分子系统/模块
- 定义属性→ 为每个类确定数据
- 定义消息/方法→ 为每个类确定行为
四、核心专题:面向对象七大设计原则实战秒杀
4.1 SOLID + 2 完整对比表
| 原则 | 全称 | 核心定义 | 正面例子 | 违反例子 | 口诀 |
|---|---|---|---|---|---|
| SRP | 单一职责原则 | 一个类只负责一个职责 | UserDao只做增删改查 | UserDao既做DB又发邮件 | 一职一责 |
| OCP | 开闭原则 | 对扩展开放,对修改关闭 | 用策略模式添加新折扣 | 修改已有if-else | 开扩闭改 |
| LSP | 里氏替换原则 | 子类可替换父类而不影响程序 | 正方形→矩形继承OK | 企鹅继承鸟类但不会飞 | 子替父行 |
| ISP | 接口隔离原则 | 接口应小而专,不应大而全 | 分别定义读接口和写接口 | 一个接口包含所有方法 | 接口最小 |
| DIP | 依赖倒置原则 | 依赖抽象不依赖具体 | 依赖接口不依赖实现类 | 直接new具体类 | 依赖抽象 |
| DRP | 迪米特法则 | 一个对象应最少了解其他对象 | A→B→C,A不直接与C交互 | A直接调用C的方法 | 最少知道 |
| CRP | 合成复用原则 | 优先使用组合/聚合而非继承 | 用组合HAS-A替代继承IS-A | 滥用继承导致类爆炸 | 组合优先 |
4.2 真题秒杀关键词
| 题干关键词 | 对应原则 |
|---|---|
| “修改已有代码” | → 违反开闭原则 |
| “一个类承担过多职责” | → 违反单一职责原则 |
| “子类不能替换父类” | → 违反里氏替换原则 |
| “接口方法太多” | → 违反接口隔离原则 |
| “依赖具体实现类” | → 违反依赖倒置原则 |
| “直接访问不相关对象” | → 违反迪米特法则 |
| “过度使用继承” | → 违反合成复用原则 |
五、核心专题:下午题六大题型防御性解题策略
5.1 防御性解题三步法(基于tsight最新分析)
审题阶段(5分钟):
- 圈出名词→ 类/实体
- 圈出动词→ 方法/关系
- 圈出形容词(“即时”“原子性”“互斥”)→ 设计约束(非功能需求!)
建模阶段(15-20分钟):
- 所有答案必须源于题目描述,不要脑补
- 类图属性/方法必须与说明书一一对应
- 凭空创造的属性/方法直接扣分!
检查阶段(5分钟):
- 检查多重度标注是否完整
- 检查图型符号是否标准(实心/空心别画错)
- 检查数据流方向是否正确
5.2 六大题型拿分路线图
| 题型 | 难度 | 目标分 | 核心策略 | 高频陷阱 |
|---|---|---|---|---|
| 数据流图 DFD | ⭐ 保底 | 12/15 | 三铁律+父图平衡 | 出现控制流箭头 |
| 数据库设计 | ⭐ 保底 | 11/15 | ER图→关系模式+范式 | 主键冗余/M:N漏独立表 |
| UML建模 | ⭐⭐ 中等 | 10/15 | 六关系+多重度+include/extend | 聚合vs组合混淆 |
| 设计模式 | ⭐⭐ 中等 | 10/15 | 15高频模式场景识别 | 过度设计/张冠李戴 |
| 面向对象 | ⭐⭐⭐ 较难 | 8/15 | 继承+多态+接口填空 | 遗漏方法/类型错误 |
| 算法填空 | ⭐⭐⭐⭐ 最难 | 7/15 | 五大必填空模板 | 边界条件/数组下标/递归终止 |
5.3 下午题做题顺序建议
先做保底三铁三角(DFD→数据库→UML)→ 再做设计模式 → 最后做算法填空
每题严格控制在25-30分钟,超时立即跳下一题
六、核心专题:BPMN vs DFD 对比(2026新考纲)
| 对比维度 | DFD(数据流图) | BPMN(业务流程图) |
|---|---|---|
| 核心目的 | 描述数据在系统中如何流动 | 描述业务流程如何执行 |
| 四大元素 | 外部实体/加工/数据存储/数据流 | 事件/活动/网关/连接对象 |
| 网关类型 | 无 | XOR(排他)/AND(并行)/OR(包含) |
| 事件类型 | 无 | 开始事件/中间事件/结束事件 |
| 适用阶段 | 需求分析+系统设计 | 需求分析+业务流程建模 |
| 2026考纲 | 仍然必考 | 新增/权重提升 |
BPMN核心符号速记:
- ⭕开始事件(细线圆)→ ◉结束事件(粗线圆)
- ⬭活动/任务(圆角矩形)
- ◇网关(菱形):XOR=排他(只走一条)、AND=并行(全走)、OR=包含(走满足条件的)
- →顺序流(实线箭头)
- ⤑消息流(虚线箭头,跨泳道)
七、每日10题精练
一、选择题(上午题风格)
1.在UML类图中,如果一个"班级"包含多个"学生",但"学生"可以独立于"班级"而存在,应使用哪种关系?
- A. 依赖
- B. 组合
- C. 聚合
- D. 泛化
✅答案:C。聚合表示整体-部分关系且部分可独立存在。"班级"删除不影响"学生"存在。
2.以下关于UML include和extend关系的说法,正确的是?
- A. include箭头从子用例指向基用例
- B. extend箭头从基用例指向子用例
- C. include表示条件满足时才执行
- D. include箭头从基用例指向子用例,每次执行基用例都必须执行子用例
✅答案:D。include = 基→子(每次必执行),extend = 子→基(条件执行)。
3.在面向对象设计中,"一个接口不应该强迫客户依赖它们不用的方法"这一原则是?
- A. 单一职责原则
- B. 开闭原则
- C. 接口隔离原则
- D. 依赖倒置原则
✅答案:C。接口隔离原则(ISP)= 接口小而专。
4.UML状态机图中,表示对象初始状态的符号是?
- A. ⊙ 双圈
- B. ● 实心圆
- C. ▭ 矩形
- D. ◇ 菱形
✅答案:B。●实心圆=初始状态,⊙双圈=终止状态。
5.在设计模式中,"优先使用组合而非继承"体现的是哪个原则?
- A. 迪米特法则
- B. 合成复用原则
- C. 里氏替换原则
- D. 开闭原则
✅答案:B。合成复用原则(CRP/CRP)= 组合优先于继承。
6.某系统中,"支付"用例在"订单金额大于1000元"时需要增加"身份验证"步骤,这属于哪种关系?
- A. <>
- B. <>
- C. 泛化
- D. 依赖
✅答案:B。条件满足才执行→extend。子用例(身份验证)→基用例(支付)。
7.BPMN中,XOR网关的含义是?
- A. 所有分支都执行
- B. 只执行一个满足条件的分支
- C. 执行满足条件的多个分支
- D. 不执行任何分支
✅答案:B。XOR=排他网关=只走一条。
8.在OOA中,描述系统"做什么"的模型是?
- A. 对象模型
- B. 动态模型
- C. 功能模型
- D. 架构模型
✅答案:C。功能模型=对外服务,核心工具是用例图+DFD。
9.以下关于C4模型的描述,正确的是?
- A. C4模型包含5个层次
- B. Level 2 Container描述模块内部结构
- C. Level 1 System Context展示系统与外部用户/系统的关系
- D. C4模型只适用于微服务架构
✅答案:C。Level 1=系统上下文(全局视图),面向所有人;Level 2=容器视图;Level 3=组件视图;Level 4=代码视图。共4层。
10.软件设计师下午题中,设计模式题性价比最高的复习方式是?
- A. 背诵23种模式的完整类图
- B. 理解7个高频模式的意图和适用场景
- C. 只看模式名称不学结构
- D. 研究GoF设计模式原书所有代码
✅答案:B。高频7模式(单例/工厂方法/适配器/装饰器/观察者/策略/模板方法),理解意图+场景即可秒杀。
二、判断题
11.UML序列图中,虚线箭头表示同步消息。(×)
虚线箭头表示返回消息,实线箭头表示同步消息。
12.在UML类图中,聚合关系用实心菱形表示。(×)
聚合=空心菱形,组合=实心菱形。
13.活动图支持并发执行,流程图不支持。(✓)
14.开闭原则的核心含义是"对修改关闭,对扩展开放"。(✓)
八、必考公式速查卡
计算机组成类
| 公式 | 说明 |
|---|---|
| 流水线时钟周期 = Δt_max | 取最长阶段时间 |
| 总时间 T = (k+n-1) × Δt_max | k=段数,n=指令数 |
| 吞吐率 = n/T | 单位时间完成指令数 |
| 海明码校验位 r:2^r ≥ m+r+1 | m=数据位 |
| Cache Tag位数 = 主存地址位数 - 行号位数 - 块内偏移位数 | 直接映射 |
操作系统类
| 公式 | 说明 |
|---|---|
| 缺页率 = 缺页次数 / 访问总次数 | 注意Belady异常仅FIFO |
| TLB命中 EAT = h×(t+tm) + (1-h)×(t+tm+tm) | t=TLB查找时间 |
| 死锁资源 M ≥ n×(R-1)+1 | n=进程数,R=每进程最大需求 |
| 银行家 Need = Max - Allocation | 安全状态判断 |
网络与多媒体类
| 公式 | 说明 |
|---|---|
| 音频容量 = 采样率 × 量化位 × 声道 × 时间 / 8 | 单位Byte |
| 图像容量 = 宽 × 高 × 位深 / 8 | 单位Byte |
| 子网主机数 = 2^(32-掩码位数) - 2 | 减去网络号+广播号 |
九、今日必记9条
- ⭐UML六关系弱到强:依关聚组泛实(依赖→关联→聚合→组合→泛化→实现)
- ⭐include方向:基→子(每次必执行);extend方向:子→基(条件执行)
- ⭐聚合=空心菱形可分离;组合=实心菱形共存亡
- OOA三大模型:对象模型(类图)+ 动态模型(状态图+序列图)+ 功能模型(用例图)
- 七大原则SOLID+2:单一/开闭/里氏/接口隔离/依赖倒置/迪米特/合成复用
- BPMN三网关:XOR排他(一条)、AND并行(全走)、OR包含(满足条件的走)
- C4模型四层:System Context → Container → Component → Code
- 下午题做题顺序:DFD → 数据库 → UML → 设计模式 → 面向对象 → 算法
- 防御性审题:圈名词(→类)+ 圈动词(→方法)+ 圈形容词(→约束)
十、每日自检清单
- 能默写UML六种关系从弱到强的名称、符号和代码等价
- 能区分include和extend的方向和执行条件
- 能说出OOA三大模型的名称、核心工具和关注点
- 能对应七大设计原则的题目关键词
- 能识别BPMN三网关(XOR/AND/OR)的含义
- 能说出C4模型四层名称和面向受众
- 能说出下午题六题型的做题顺序
- 完成今日10题精练并核对答案
- 复习昨日错题本
📌 距2026下半年软考(10月24-27日)还有101天!
📌 本周进度:基础精读W3第2天 | 累计完成15天/101天
📌 下次推送:2026-07-16 · 预计主题:设计模式12高频模式场景秒杀 + 23种模式分类速记 + 下午题设计模式填空实战