# 软考软件设计师题目总结 — 2026下半年备考 > **第10期 · 软件测试与项目管理突破 + 数据库进阶专题** 软考软件设计师题目总结 — 2026下半年备考第10期 · 软件测试与项目管理突破 数据库进阶专题生成时间2026-07-22 02:47 | 随机码rj_4048距离2026下半年考试10月24-27日约94 天一、2026下半年考试关键情报速览项目说明考试时间2026年10月24-27日比往年提前约2周报名时间预计8月中旬开始9月下旬截止考试形式全科无纸化机考取消纸笔作答合格标准两科均≥45分满分各75分一次通过无单科保留教材动态第5版教程已发行7年下半年存在启用新教材可能科目一综合知识75道单选120分钟科目二案例分析6道大题前4必答后2选1120分钟最新考情趋势基于2026年5月真题趋势表现应对策略AI主题英语英文阅读以LLM/ML为题材掌握AI/ML/Cloud等前沿英文术语设计模式场景化不再考理论定义给实际场景选模式练习从场景识别设计模式Python考点增加引用传递、元组陷阱、推导式等系统复习Python基础语法回溯法算法填空下午算法题改为回溯法需补全5空掌握DFS剪枝撤销选择模板分布式新题CAP定理、BASE理论选择题学习分布式系统核心概念二、本期专题A软件测试深度突破白盒/黑盒/McCabe2.1 黑盒测试 vs 白盒测试 — 本质区别维度黑盒测试白盒测试别称功能测试、数据驱动测试结构测试、逻辑驱动测试关注点输入/输出是否符合预期代码内部逻辑路径是否正确是否看代码不看内部结构完全了解程序结构对应阶段系统测试、验收测试单元测试、集成测试常用方法等价类划分、边界值分析、因果图、错误推测逻辑覆盖、基本路径测试、数据流测试2.2 白盒测试 — 逻辑覆盖强度金字塔重要路径覆盖最强 ↑ 条件组合覆盖 ↑ 判定/条件覆盖 ↑ ↙ ↘ 判定覆盖 条件覆盖 ↘ ↙ 语句覆盖最弱覆盖标准定义强弱最少用例数语句覆盖每条语句至少执行一次★ 最弱取决于分支结构判定覆盖每个判定的真/假分支各执行一次★★取决于判定数条件覆盖每个条件的真/假取值各执行一次★★取决于条件数判定/条件覆盖同时满足判定覆盖 条件覆盖★★★综合考虑条件组合覆盖每个判定中所有条件的取值组合至少一次★★★★2^nn条件数路径覆盖所有可能执行路径至少一次★★★★★ 最强 环路复杂度V(G)2.3 McCabe环路复杂度 — 必考计算题核心公式V(G) E − N 2E边数N节点数V(G) P 1P判定节点数V(G) 封闭区域数 1真题实战题目某程序控制流图有 8 个节点、11 条边其中 3 个为判定节点。则该程序的环路复杂度为多少独立路径最少测试用例数为多少解析公式1V(G) 11 − 8 2 5公式2V(G) 3 1 4⚠️注意陷阱两种公式结果不一致时应以 E−N2 为准或重新检查控制流图中判定节点的识别是否正确。本题答案为5最少测试用例数 5。基本路径测试法标准步骤下午案例分析题套路根据代码绘制程序控制流图计算环路复杂度 V(G)确定独立路径条数 V(G)列出所有独立路径为每条独立路径设计测试用例2.4 软件测试阶段全景阶段测试类型主要方法目标单元测试白盒为主逻辑覆盖、基本路径验证单个模块正确性集成测试灰盒自顶向下/自底向上/三明治验证模块间接口系统测试黑盒为主功能测试、性能测试验证完整系统验收测试黑盒α测试、β测试用户确认交付2.5 2026常考测试辨析题白盒测试方法不包括等价类划分那是黑盒方法黑盒测试方法不包括基本路径测试那是白盒方法McCabe复杂度适用于白盒测试 → 基本路径测试法等价类划分 边界值分析最经典的黑盒测试组合因果图法处理输入条件有组合关系时的黑盒测试三、本期专题B项目管理深度突破PERT/CPM/甘特图/风险管理3.1 甘特图 vs PERT图 — 必考对比维度甘特图 (Gantt)PERT图 (项目评审技术)表示方式横向条形图有向网络图时间基准日历时间任务依赖关系优点直观显示起止时间、并行任务清晰反映依赖关系、关键路径缺点不能反映任务依赖关系较复杂不易直观理解适用场景进度汇报工期估算与优化3.2 PERT图 — 关键路径算法核心考点关键概念关键路径从起点到终点的最长路径决定项目最短工期关键活动关键路径上的活动时间裕量为0最早开始时间(ES)正向推导取最大值最晚开始时间(LS)反向推导取最小值时间裕量(松弛时间) LS − ES真题实战题目某软件项目包含A~G共7个活动依赖关系如下A(3天)→B(4天), C(2天)B(4天)→D(5天), E(3天)C(2天)→E(3天), F(6天)D(5天)→G(2天)E(3天)→G(2天)F(6天)→G(2天)求1关键路径及长度 2活动E的最晚开始时间解析1逐条路径计算A→B→D→G3452 14天A→B→E→G3432 12天A→C→E→G3232 10天A→C→F→G3262 13天∴关键路径为 A→B→D→G长度14天2先求各节点最早开始时间ESA:0, B:3, C:3, D:7, E:max(7,5)7, F:5, G:max(12,10,11)12项目工期14天G的LF14倒推E的LF G的LF − 2 − 3 14 − 2 − 3 9E的LS 9ES 7松弛 2天答案E的最晚开始时间为第9天。秒杀口诀关键路径取最长正向ES取最大反向LS取最小松弛LS减ES。3.3 软件开发模型速查模型特点适用场景常考关键词瀑布模型线性顺序阶段分明需求明确稳定的项目文档驱动、不可回溯V模型测试与开发并行对应对质量要求高的项目验证↔确认原型模型快速构建可运行原型需求不明确的项目快速原型、用户反馈螺旋模型迭代风险管理大型高风险项目风险驱动、迭代增量模型分批交付可运行产品需求分批明确增量、逐步交付敏捷(Scrum)短迭代、快速响应变化需求变化频繁Sprint、站会、用户故事喷泉模型面向对象迭代无间隙OO开发项目面向对象、迭代3.4 风险管理核心概念风险识别头脑风暴、德尔菲法、SWOT分析风险评估风险概率 × 风险影响 风险值风险应对策略规避消除风险源转移外包/保险如购买第三方组件规避自研风险缓解降低概率或影响接受主动接受预留应急储备或被动接受四、本期专题C数据库进阶专题4.1 事务ACID特性特性说明破坏场景原子性(Atomicity)事务全部完成或全部回滚中途崩溃一致性(Consistency)事务前后数据满足所有约束违反约束隔离性(Isolation)并发事务互不干扰并发问题持久性(Durability)已提交事务永久保存系统崩溃4.2 事务隔离级别 — 高频辨析题隔离级别脏读不可重复读幻读性能READ UNCOMMITTED✗✗✗最高READ COMMITTED✓✗✗高REPEATABLE READ✓✓✗中SERIALIZABLE✓✓✓最低记忆口诀读未提交全不防读已提交防脏读可重复读防脏重串行化全防性能差。真题实战题目某电商系统使用MySQL默认隔离级别REPEATABLE READ。以下描述正确的是 。A. 事务A可读到事务B未提交的修改B. 事务A两次读取同一行事务B在期间修改并提交了该行事务A两次读到相同结果C. 事务A查询某条件范围事务B插入新行并提交事务A再次查询可看到新行D. 以上都不正确答案B解析REPEATABLE READ可防脏读A错和不可重复读B对但不能防幻读C错。4.3 并发控制 — 锁机制锁类型说明兼容性共享锁(S锁/读锁)允许其他事务读禁止写S与S兼容S与X不兼容排他锁(X锁/写锁)禁止其他事务读和写X与任何锁都不兼容意向锁(IS/IX)表级锁表示将在行上加S/X锁提高加锁效率两段锁协议(2PL)所有加锁操作在解锁操作之前 → 保证可串行化。4.4 分布式数据库 — CAP定理与BASE理论CAP定理三选二C一致性 Consistency所有节点同一时刻数据相同A可用性 Availability每个请求都能得到响应P分区容错性 Partition Tolerance网络故障时系统仍能工作BASE理论AP的实践BABasically Available基本可用SSoft State软状态EEventually Consistent最终一致性2026常考分布式系统中通常选择AP牺牲强一致性保可用性采用最终一致性方案。五、2026全真模拟冲刺题10道·精选上午选择题每题1分1. 软件测试以下关于白盒测试的说法错误的是 。A. 语句覆盖是最弱的逻辑覆盖标准B. 条件组合覆盖的测试用例数等于判定节点数的平方C. 路径覆盖的测试用例数等于环路复杂度 V(G)D. McCabe复杂度公式为 V(G) E − N 2答案B解析条件组合覆盖的测试用例数 2^nn该判定中条件个数而非判定节点数的平方。2. 项目管理某项目有活动A(3天)→B(4天), A(3天)→C(5天), B(4天)→D(2天), C(5天)→D(2天)则关键路径长度为 。A. 7天 B. 9天 C. 10天 D. 11天答案C解析路径A→B→D为3429天A→C→D为35210天。取最长关键路径10天。3. 数据库在数据库设计中将E-R图转换为关系模式时对于M:N联系应 。A. 将联系属性并入任一端实体对应的关系模式B. 创建一个独立的关系模式包含两端实体的主键和联系自身属性C. 将联系属性并入N端实体D. 将联系属性并入M端实体答案B解析M:N联系必须创建独立关系模式主键由两端实体的主键组合而成。4. 计算机网络以下关于TCP和UDP的说法正确的是 。A. TCP提供无连接、不可靠的数据传输B. UDP提供面向连接、可靠的数据传输C. TCP通过三次握手建立连接四次挥手释放连接D. UDP使用序列号和确认机制保证可靠传输答案C解析TCP面向连接可靠三次握手/四次挥手UDP无连接不可靠无确认机制。5. 操作系统·PV操作信号量S的初值为1当前值为-2则表示 。A. 有2个进程在等待该资源B. 有1个进程在使用该资源2个进程在等待C. 有2个进程在使用该资源D. 系统出错答案A解析S0时|S|表示等待队列中的进程数。信号量初值1表示1个资源当前−2表示有2个进程在等待。6. 数据结构对序列 {15, 9, 7, 8, 20, -1, 4} 进行一趟快速排序以第一个元素为基准结果为 。A. {4, 9, 7, 8, -1, 15, 20}B. {4, 9, 7, 8, 15, -1, 20}C. {9, 7, 8, 4, -1, 15, 20}D. {4, 9, 8, 7, -1, 15, 20}答案A解析基准15从左找15的20从右找15的4交换继续从右找15的-1从左找15的无基准与右指针元素交换。结果{4, 9, 7, 8, -1, 15, 20}。7. UML在UML类图中以下哪种关系使用空心菱形实线表示 A. 泛化继承B. 实现C. 聚合D. 组合答案C解析聚合(空心菱形)→部分可独立存在组合(实心菱形)→部分不可独立泛化(空心三角)→继承实现(空心三角虚线)→接口实现。8. 设计模式某文字处理系统需要在运行时动态地为文本添加不同的格式效果加粗、斜体、下划线且这些效果可以组合叠加。最适用的设计模式是 。A. 策略模式 B. 装饰器模式 C. 适配器模式 D. 观察者模式答案B解析装饰器模式(Decorator)用于动态地给对象添加额外职责且可以组合叠加如Java IO中的BufferedReader→InputStreamReader→FileInputStream。运行时动态添加可组合叠加是装饰器模式的特征词。9. Python考点·2026新增以下Python代码的输出是 。deffunc(a,lst[]):lst.append(a)returnlstprint(func(1))print(func(2))A. [1] 和 [2]B. [1] 和 [1, 2]C. [1] 和 [1]D. 报错答案B解析Python的默认参数在函数定义时只计算一次。第一次调用func(1)时lst[1]第二次调用func(2)时lst还是同一个列表对象所以结果是[1, 2]。这是Python高频陷阱10. 专业英语The design principle that states “a class should have only one reason to change” is called ( ).A. Open-Closed PrincipleB. Liskov Substitution PrincipleC. Single Responsibility PrincipleD. Dependency Inversion Principle答案C解析单一职责原则(SRP)一个类应该只有一个引起变化的原因。六、下午案例分析·5道大题详解题1数据流图(DFD) — 在线教育平台场景描述某在线教育平台开发一套课程管理系统主要功能如下学生通过前端提交选课请求系统验证学生身份后将选课信息写入选课记录表教师上传课程视频系统生成课程信息存入课程库并向选课学生推送课程更新通知管理员可查看课程统计数据系统从选课记录表和课程库中提取数据生成统计报表问题1请列出该系统的外部实体。答案学生、教师、管理员问题2根据描述补充以下数据流图中缺失的数据流。缺失数据流学生 → 验证身份 学生信息选课记录表 → 生成统计报表 选课数据课程库 → 推送通知 课程信息问题3简述分层DFD中的父图与子图平衡原则。答案父图中某加工的输入/输出数据流必须与对应子图中所有子加工的输入/输出数据流保持一致数量和内容即父图的输入输出数据流在子图中不能凭空消失或新增。问题4该系统中有哪些数据存储用表格列出。数据存储名说明选课记录表存储学生的选课记录课程库存储课程视频及元数据题2数据库设计 — 在线考试系统场景描述某在线考试系统包含以下信息学生学号、姓名、班级试卷试卷号、科目、总分、创建时间题目题号、试卷号、题型、分值、内容、答案答题记录记录号、学号、题号、考生答案、得分、提交时间已知一张试卷包含多道题目一个学生可做多张试卷每道题对应一条答题记录。问题1请补充完整的E-R图标出实体、联系及类型。E-R分析实体学生、试卷、题目、答题记录试卷与题目1:N一张试卷包含多道题目学生与试卷M:N一个学生考多张试卷一张试卷被多个学生考→ 通过答题记录实现学生与答题记录1:N题目与答题记录1:N问题2将E-R图转换为关系模式标出主键和外键。学生(学号, 姓名, 班级) PK: 学号 试卷(试卷号, 科目, 总分, 创建时间) PK: 试卷号 题目(题号, 试卷号, 题型, 分值, 内容, 答案) PK: 题号 FK: 试卷号→试卷 答题记录(记录号, 学号, 题号, 考生答案, 得分, 提交时间) PK: 记录号 FK: 学号→学生, 题号→题目问题3写出SQL查询得分≥60分的学生姓名、科目、得分按得分降序排列。SELECTs.姓名,p.科目,SUM(d.得分)AS总得分FROM学生 s,答题记录 d,题目 t,试卷 pWHEREs.学号d.学号ANDd.题号t.题号ANDt.试卷号p.试卷号GROUPBYs.学号,s.姓名,p.科目HAVINGSUM(d.得分)60ORDERBY总得分DESC;题3UML建模 — 图书馆管理系统场景描述某图书馆管理系统的用例包括借书、还书、查书、续借。类图中包含Reader读者属性有readerId, name; 方法有borrow(), return(), renew()Book图书属性有bookId, title, status; 方法有checkOut(), checkIn()LoanRecord借阅记录属性有loanId, loanDate, dueDateLibrarian管理员继承自Reader额外有manageBooks()方法问题1画出Reader和Librarian之间的类图关系。答案Librarian 继承 Reader → 泛化关系空心三角实线子类指向父类问题2Reader和LoanRecord之间是什么关系说明多重性。答案1:N一个读者可以有多条借阅记录一条记录只属于一个读者问题3补充Book类的状态图可借→已借出→已归还→可借。请添加续借和丢失状态。可借 --借出-- 已借出 已借出 --归还-- 可借 已借出 --续借-- 已借出dueDate延长 已借出 --丢失-- 已丢失 已丢失 --赔偿-- 可借题4算法设计 — 最长公共子序列(LCS)题目给定两个字符串 X “ABCBDAB” 和 Y “BDCABA”求最长公共子序列。问题1请写出动态规划的状态转移方程。设 dp[i][j] 表示 X[0..i-1] 和 Y[0..j-1] 的LCS长度 若 X[i-1] Y[j-1]: dp[i][j] dp[i-1][j-1] 1 否则: dp[i][j] max(dp[i-1][j], dp[i][j-1])问题2请完善以下C语言代码填空。intLCS(char*X,char*Y,intm,intn){intdp[m1][n1];for(inti0;im;i){for(intj0;jn;j){if(i0||j0)dp[i][j]____(1)____;// 0elseif(X[i-1]Y[j-1])dp[i][j]____(2)____1;// dp[i-1][j-1]elsedp[i][j]____(3)____;// max(dp[i-1][j], dp[i][j-1])}}return____(4)____;// dp[m][n]}答案(1) 0 (2) dp[i-1][j-1] (3) max(dp[i-1][j], dp[i][j-1]) (4) dp[m][n]问题3上述算法的时间复杂度和空间复杂度分别是多少答案时间复杂度 O(m×n)空间复杂度 O(m×n)可优化为 O(min(m,n))。题5设计模式 — 策略模式实现支付系统场景描述某电商系统需要支持多种支付方式支付宝、微信支付、银行卡且未来可能新增支付方式。请使用策略模式设计。问题1画出该场景的UML类图标出Strategy接口和具体策略类。interface PaymentStrategy pay(amount: double): void △ | ┌─────────┼──────────┐ │ │ │ AlipayPay WechatPay BankCardPay pay() pay() pay() PaymentContext - strategy: PaymentStrategy setStrategy(PaymentStrategy) executePay(double)问题2写出Java代码框架实现支付策略接口和支付宝策略类。// 策略接口interfacePaymentStrategy{voidpay(doubleamount);}// 支付宝策略classAlipayPayimplementsPaymentStrategy{publicvoidpay(doubleamount){System.out.println(支付宝支付amount元);}}// 微信支付策略classWechatPayimplementsPaymentStrategy{publicvoidpay(doubleamount){System.out.println(微信支付amount元);}}// 上下文类classPaymentContext{privatePaymentStrategystrategy;publicvoidsetStrategy(PaymentStrategystrategy){this.strategystrategy;}publicvoidexecutePay(doubleamount){strategy.pay(amount);}}// 客户端调用PaymentContextctxnewPaymentContext();ctx.setStrategy(newAlipayPay());ctx.executePay(100.0);// 支付宝支付100.0元问题3策略模式和状态模式的主要区别是什么答案策略模式客户端主动选择不同算法如选支付方式策略之间互不知晓状态模式对象内部状态改变时自动切换行为如订单状态流转状态之间可以相互转换七、2026下半年 10 大新增考点预测序号预测考点考查形式重要度1AI辅助软件设计LLM在需求分析、代码生成中的应用与局限英语阅读 上午选择★★★★★2CAP/BASE理论分布式系统一致性权衡上午选择★★★★3软件测试覆盖标准语句/判定/条件/路径覆盖强度比较上午选择下午案例★★★★★4PERT/CPM关键路径最早/最晚开始时间计算上午选择★★★★5事务隔离级别脏读/不可重复读/幻读与对应隔离级别上午选择★★★★6Python陷阱题默认参数、引用传递、元组不可变上午选择★★★7C4模型Context/Container/Component/Code 四层架构视图上午选择★★★8敏捷/DevOpsScrum角色、CI/CD流水线上午选择★★★9国密算法SM2/SM3/SM4 对标 RSA/SHA-256/AES上午选择★★10零信任安全模型“永不信任始终验证”上午选择★★八、公式速记卡12个核心公式序号公式适用场景1V(G) E − N 2McCabe环路复杂度2V(G) P 1判定节点法3海明码2^k ≥ n k 1校验位数量4流水线时间 (kn−1)×Δtn条指令、k级流水线5流水线加速比 nk/(kn−1)非流水线vs流水线6Cache命中率 命中次数/总访问次数性能计算7平均访问时间 h×tc (1−h)×tmCache主存8关键路径 max(所有路径长度)项目管理9子网数 2^(借用主机位数)IP子网划分10时间复杂度递推T(n)aT(n/b)f(n)Master定理11死锁必要条件 互斥请求保持不可剥夺环路等待操作系统12范式判断部分依赖→1NF, 消除部分→2NF, 消除传递→3NF, 消除主属性部分→BCNF数据库范式九、94天冲刺·三阶段复习计划阶段时间核心任务每日任务第一阶段系统强化第1-40天逐模块突破基础知识点完成教材视频学习章节练习30题 错题回顾第二阶段真题攻坚第41-75天刷2018-2026所有真题至少2遍上午75题 下午1道大题第三阶段模拟冲刺第76-94天全真模拟错题回归公式速记2天一套全真模拟 查漏补缺每周重点模块轮动表周次重点模块第1-2周计算机组成原理 操作系统第3-4周数据结构 算法第5-6周数据库 计算机网络第7-8周软件工程 面向对象 UML第9-10周设计模式 信息安全 知识产权第11-12周真题冲刺 案例分析专项第13-14周模拟考试 考前速记十、考场策略10条第10期更新版先易后难上午题遇到卡壳先标记跳过最后统一回来思考DFD题先找外部实体从题干描述中找所有与系统交互的角色ER图转换口诀1:1→任一端1:N→N端M:N→独立表UML关系速记继承空心三角实线实现空心三角虚线聚合空心菱形组合实心菱形关联普通实线依赖虚线箭头McCabe计算先画流程图→再数节点和边→套公式不要硬套PERT关键路径列出所有路径→算各自总时长→取最大值PV操作信号量先判断是互斥二值信号量还是同步一般信号量再确定P/V位置设计模式选型找题干关键词→对照模式特征表→选最匹配算法代码填空先理解算法思想→确定空所在位置的作用→从上下文推断Java/C选做题选自己熟悉的语言提前熟悉一种设计模式的完整代码实现十一、专业英语附录20个2026高频词英文中文2026考试热点LLM (Large Language Model)大语言模型AI英语阅读 ★★★★★hallucination幻觉AI局限性 ★★★★Single Responsibility Principle单一职责原则设计原则 ★★★★cyclomatic complexity环路复杂度McCabe ★★★★★critical path关键路径PERT ★★★★dirty read脏读事务隔离 ★★★★non-repeatable read不可重复读事务隔离 ★★★★phantom read幻读事务隔离 ★★★★eventually consistent最终一致性CAP/BASE ★★★partition tolerance分区容错性CAP定理 ★★★strategy pattern策略模式设计模式 ★★★★★decorator pattern装饰器模式设计模式 ★★★encapsulation封装面向对象 ★★polymorphism多态面向对象 ★★backtracking回溯法算法 ★★★★dynamic programming动态规划算法 ★★★★★pipelining流水线计组 ★★★semaphore信号量PV操作 ★★★★normalization规范化范式数据库 ★★★★DevOps开发运维一体化敏捷/DevOps ★★★十二、考前30秒速记清单□ 进程三态就绪 ↔ 运行 ↔ 阻塞 □ UML六关系泛化(继承)、实现、关联、聚合、组合、依赖 □ 海明码2^k ≥ nk1 □ 范式速记1NF原子性 → 2NF消部分 → 3NF消传递 □ 银行家四步算Need → 试分配 → 安全性检查 → 安全则分配 □ 设计模式分类创建型5/结构型7/行为型11 □ PV操作P(-1)申请资源、V(1)释放资源 □ 软件测试单元(白盒)→集成(灰盒)→系统(黑盒)→验收(黑盒) □ 排序稳定性速记不稳-快选堆希 / 稳定-冒归插基 □ CAP三选二要么CP(一致性)要么AP(可用性)P必须选下期预告·第11期算法专项突破——动态规划七大经典模型 回溯法分支限界 贪心证明技巧本期共 12 个板块涵盖软件测试、项目管理、数据库进阶、10道全真模拟题、5道案例分析、10大预测考点、12个核心公式、12周冲刺计划、10条考场策略、20个英语高频词。祝你备考顺利