📚 软考软件设计师备考资料与题目总结
生成日期:2026-07-24
来源:AI 网络搜索整理(希赛网、叩课网、CSDN 等)
主题:软考软件设计师 / 中级 / 真题知识点 / 高频考点
🎯 一、考试概况
软考中级软件设计师考试分为两个科目:
| 科目 | 题型 | 满分 | 合格线 | 说明 |
|---|---|---|---|---|
| 基础知识 | 选择题(75题) | 75分 | 45分 | 上午场,覆盖面广 |
| 应用技术 | 案例分析题(5道大题) | 75分 | 45分 | 下午场,重在应用 |
两科必须一次同时达到 45 分及以上才算通过。
🔥 二、高频考点 TOP20(按历年真题统计)
1)计算机基础类
- 编译程序的基本原理(91次)——考试最重要知识点之一
- UML 概述(77次)+UML 中的图(57次)
- 存储系统(37次)——Cache 与主存映射
- 数据表示(23次)——原码、反码、补码、移码、浮点数
2)数据结构与算法类
- 二叉树(47次)——n0 = n2 + 1 必考
- 栈和队列(65次)
- 拓扑排序和关键路径(32次)
- 数组(27次)
3)网络与操作系统类
- TCP/IP 协议簇(42次)
- Internet 地址/服务(39次 + 35次)
- 进程间通信/PV 操作(40次)
- 输入输出技术(22次)
4)软件工程与数据库类
- 数据库与数据库管理系统(43次)
- E-R 模型(28次)
- 函数依赖(27次)
- 计算机软件著作权(34次)
- 加密技术和认证技术(32次)
- 行为设计模式/结构性设计模式
- 系统设计基本原理/系统维护
🧠 三、10 个高分易丢分必考点
1. PV 操作与前趋图
- P 操作:申请资源,S - 1;若 S < 0,进程阻塞
- V 操作:释放资源,S + 1;若 S ≤ 0,唤醒阻塞进程
- 前趋图规则:箭头起点放 V,箭头终点放 P
- 信号量最小值 = -(进程总数 - 初始资源数)
2. 软件开发模型
- 瀑布模型:需求明确、文档驱动、返工成本高
- 增量模型:分批交付,降低风险
- 螺旋模型:引入风险分析,适合大型高风险项目
- 原型化模型:需求不明确时快速构建原型
- 敏捷开发:以人为本、快速迭代、拥抱变化
3. 白盒测试与 McCabe 环路复杂度
覆盖强度排序:
路径覆盖 > 条件组合覆盖 > 判定/条件覆盖 > 条件覆盖 > 判定覆盖 > 语句覆盖
McCabe 公式:
- V(G) = 边数 - 节点数 + 2
- V(G) = 判定节点数 + 1
- V(G) = 闭环区域数 + 1(最快最准)
4. 内聚性与耦合性
- 内聚性:功能 > 顺序 > 通信 > 过程 > 时间 > 逻辑 > 偶然
- 耦合性:无直接 < 数据 < 标记 < 控制 < 外部 < 公共 < 内容
- 设计原则:高内聚、低耦合
5. 排序算法
稳定排序:冒泡、直接插入、归并、基数
不稳定排序:快速、简单选择、希尔、堆
时间复杂度:
- 最坏 O(n²):冒泡、直接插入、简单选择、快速
- 最坏 O(nlogn):堆、归并
- 最好 O(n):优化的冒泡、直接插入
6. 二叉树特性
- n = n0 + n1 + n2
- n0 = n2 + 1(必考)
- 第 k 层最多 2^(k-1) 个节点
- 深度 k 的二叉树最多 2^k - 1 个节点
- 哈夫曼树:WPL = Σ(叶子权值 × 路径长度)
7. 动态规划
- 适用场景:最优子结构、重叠子问题
- 经典题型:最长公共子序列、最大子段和、背包问题
- 与分治法区别:分治子问题独立,动态规划子问题重叠
- 与贪心法区别:贪心局部最优不回退,动态规划全局最优
8. 存储系统计算
- 存储单元数 = 结束地址 - 起始地址 + 1
- 总容量 = 单元数 × 每个单元字节数
- 芯片数 = 总容量 / 单芯片容量
- 页式存储:页内地址不变,只换页号对应的物理块号
- Cache 命中率:h = Nc / (Nc + Nm)
9. 编译过程与有限自动机
编译 6 阶段:
词法分析 → 语法分析 → 语义分析 → 中间代码生成 → 代码优化 → 目标代码生成
- 词法分析:正规式、有限自动机
- 语法分析:上下文无关文法 CFG
- 语义分析:类型检查、符号表
10. 贪心法
- 适用场景:最优子结构 + 贪心选择性质
- 经典题型:哈夫曼编码、Dijkstra 最短路径、Prim/Kruskal 最小生成树
- Dijkstra 不能处理负权边;Floyd 是动态规划,可处理负权边
📝 四、科目二 · 案例分析五大题型
| 题号 | 题型 | 核心考点 | 解题技巧 |
|---|---|---|---|
| 题1 | 数据流图(DFD) | 找外部实体、补充缺失数据流 | 根据输入/输出对应关系找数据流 |
| 题2 | 数据库设计 | ER图补全、关系模式转换、范式判定 | 掌握 ER 转关系规则、主外键识别 |
| 题3 | UML 建模 | 识别图类型、补充缺失元素 | 熟记类图、用例图、序列图元素 |
| 题4 | 算法设计 | 动态规划、贪心策略 | 重点理解 0/1 背包、最长公共子序列 |
| 题5/6 | 设计模式 / C++ / Java | 识别设计模式并填空 | 选最擅长的语言集中练习 |
🆕 五、2026 下半年新增 / 强化考点预测
| 方向 | 考点 | 备考建议 |
|---|---|---|
| AI 辅助编程 | LLM 应用场景、幻觉(hallucination) | 了解基本概念 |
| 云原生安全 | 容器化环境安全防护 | 关注云计算基础知识 |
| 微服务 / DevOps | CI/CD 流程、服务拆分原则 | 理解微服务基本思想 |
| 分布式系统 | CAP 定理、一致性协议 | 记忆核心结论 |
| Python 数据类型 | Number/String/Tuple/List/Dict/Set 可变性 | 重点区分可变性 |
| 专业英语 | architectural patterns、consistency、hallucination | 考前背诵高频词 |
Python 数据类型可变性速查
| 类型 | 可变性 | 考试陷阱 |
|---|---|---|
| Number | 不可变 | complex(3,4) = 3+4j |
| String | 不可变 | 不可原地修改,需重新赋值 |
| Tuple | 不可变 | 单元素必须写 (1,) |
| List | 可变 | list * 2 是复制拼接 |
| Dict | 可变 | 键必须是不可变类型 |
| Set | 可变 | 空集合是 set(),不是 {} |
✍️ 六、真题演练
真题 1(信息安全)
将明文信息通过密钥转换为不可直接读取的密文,防止数据被非法窃取的技术是( )。
A. 数据加密
B. 数据脱敏
C. 数据备份
D. 日志审计
答案:A
解析:数据加密是通过密钥对明文进行加密转换生成密文,保障数据安全。
真题 2(程序设计)
在 Java 和 C++ 面向对象开发中,用于实现代码复用、统一功能规范,仅声明方法不实现具体逻辑的结构是( )。
A. 实体类
B. 接口 / 抽象类
C. 工具类
D. 常量类
答案:B
解析:接口与抽象类可定义抽象方法,仅声明方法签名,不实现具体逻辑,强制子类重写。
真题 3(操作系统)
某系统有 n 个进程共享 m 个同类资源,每个进程最多需要 k 个资源。若采用银行家算法避免死锁,则至少应满足( )条件才能保证系统安全。
A. m ≥ n(k-1) + 1
B. m ≥ n(k+1) - 1
C. m ≥ n × k
D. m ≥ n + k
答案:A
解析:最坏情况下每个进程都已占用 k-1 个资源,再提供 1 个资源即可让某个进程完成并释放资源。
真题 4(数据结构)
一棵二叉树中度为 0 的节点有 8 个,度为 2 的节点有 7 个,则该二叉树中度为 1 的节点有( )个。
A. 0
B. 1
C. 2
D. 无法确定
答案:D
解析:n0 = n2 + 1 = 8,题目已知 n0=8,n2=7,符合公式。但度为 1 的节点数 n1 无法直接由 n0、n2 确定,需要更多信息。若题目问总节点数,n = n0 + n1 + n2。
真题 5(软件工程)
在软件设计中,模块 A 通过调用模块 B 的接口并传递简单数据参数完成通信,这种耦合属于( )。
A. 数据耦合
B. 标记耦合
C. 控制耦合
D. 公共耦合
答案:A
解析:模块间通过简单数据参数交换信息属于数据耦合,是较低程度的耦合。
📐 七、公式速记卡
| 公式 | 适用场景 |
|---|---|
| 2^k ≥ k + n + 1 | 海明码最少校验位 |
| T = T₁ + (n-1) × Δt | 流水线连续指令总时间 |
| V(G) = E - N + 2 | McCabe 环路复杂度 |
| Need = Max - Allocation | 银行家算法安全序列判定 |
| 2^借位数 - 2 | 子网划分计算 |
| 关键路径 = 最长路径 | AOE 网工期计算 |
| h = Nc / (Nc + Nm) | Cache 命中率 |
| n0 = n2 + 1 | 二叉树叶子节点数 |
🎓 八、考场策略
上午题(120分钟 / 75题)
- 先做送分题:知识产权、信息安全、专业英语
- 再做计算题:数据表示、Cache、页式存储、子网划分
- 最后攻难题:综合推理、复杂算法
- 平均每题约 1.6 分钟
下午题(120分钟 / 5大题)
- 先保铁三角:DFD → 数据库 → UML
- 再攻算法和设计模式
- 平均每题约 24 分钟
- 机考注意:提前熟悉画图工具
📅 九、冲刺规划建议
| 阶段 | 时间 | 重点任务 |
|---|---|---|
| 第1阶段 | 7.24 - 8.10 | 精读教材打基础,补齐计算题短板 |
| 第2阶段 | 8.11 - 9.10 | 真题专项训练(近5年),构建知识网络 |
| 第3阶段 | 9.11 - 10.10 | 模拟考试 + 查漏补缺,实操代码 |
| 第4阶段 | 10.11 - 考前 | 考前冲刺,公式速记 + 错题复盘 |
📌 十、参考资料来源
- 希赛网《2026软件设计师高频考点TOP20》
- 希赛网《2026下半年软考中级软件设计师考什么内容?怎么备考?》
- 叩课网《2026下半年软考中级软件设计师考试详解》
- CSDN《软件设计师10个高分易丢分必考点冲刺总结》
- CSDN《软考软件设计师题目总结 — 2026-07-21》
💡备考寄语:抓大放小,重点攻克高频考点;真题为王,通过做题巩固知识体系。祝考试顺利!