软件工程模块复盘:高频考点清单 + 5 道真题汇总
软件工程是软件设计师考试的 “核心模块”,上午选择题(每年 3-4 道)和下午案例题(占 25% 分值)均有涉及,核心考点集中在 “开发模型、需求分析、软件测试、软件维护” 四大块。今天咱们先梳理高频考点清单(附记忆技巧和易错点),再用 5 道近 3 年真题实战练手,帮你查漏补缺,避免 “记混考点、踩坑丢分”。
一、高频考点清单(按考频排序,附记忆技巧)
1. 软件开发生命周期模型(考频★★★★★,每年 1-2 道)
核心考 “瀑布模型、敏捷开发” 等主流模型的特点及适用场景,用 “开奶茶店” 的类比就能轻松记熟:
模型类型 | 核心特点(考试必记) | 适用场景 | 记忆技巧(奶茶店类比) | 易错点提醒 |
瀑布模型 | 阶段固定(需求→设计→编码→测试→维护),不可逆 | 需求明确、变更少的项目(如政府系统、工具软件) | 传统开店:先选址→装修→备料→开业,步骤固定不能反 | 别记混 “适用场景”:需求不明确的项目不适合瀑布模型 |
敏捷开发 | 迭代式开发(2-4 周 1 个迭代),快速响应需求变更 | 需求多变、追求快速上线的项目(如互联网 APP、电商系统) | 快闪店:先小范围试营业,根据顾客反馈每周调整菜单 | 别和 “原型模型” 混淆:敏捷是 “多次迭代”,原型是 “先做 demo 验证需求” |
原型模型 | 先做简易原型(demo),验证需求后再开发 | 需求模糊、需要用户确认的项目(如新型产品软件) | 试喝活动:先做小杯奶茶让顾客试喝,确定口味再批量做 | 原型是 “验证需求”,不是 “正式开发”,别误解为 “迭代开发” |
考试高频问法: “某互联网 APP 需求多变,适合用哪种开发模型?”(答案:敏捷开发);“瀑布模型的核心特点是?”(答案:阶段不可逆、需求提前明确)。
2. 需求分析(考频★★★★☆,下午案例题常考)
核心考 “需求分类” 和 “需求分析文档”,记清 “用户想要的 vs 系统要做的” 区别:
考点类型 | 核心内容(考试必记) | 记忆技巧 | 案例题踩分点 |
需求分类 | ① 功能需求:系统要实现的功能(如 “用户登录”“查询订单”);② 非功能需求:系统的性能、安全等要求(如 “登录响应时间≤1 秒”“数据加密存储”);③ 约束需求:开发的限制条件(如 “必须用 Java 开发”“兼容 Windows 10”) | 功能 =“能做啥”,非功能 =“做得怎么样”,约束 =“不能怎么做” | 案例题中 “用户要求 APP 能扫码支付” 是功能需求,“支付过程不能卡顿” 是非功能需求,要能准确区分 |
需求分析文档(SRS) | 核心输出物,包含 “功能需求、非功能需求、数据需求”,是后续设计、开发的依据 | SRS=“需求说明书”,是 “用户和开发团队的约定” | 案例题问 “需求分析阶段的核心文档是?”(答案:SRS);问 “文档中应包含哪些内容?”(答:功能、非功能、数据需求) |
易错点: 别把 “非功能需求” 归为功能需求,比如 “系统支持 1000 人同时在线” 是 “性能需求(非功能)”,不是 “功能需求”。
3. 软件测试(考频★★★★☆,上午选择 + 下午案例均考)
核心考 “黑盒测试 vs 白盒测试” 的区别,用 “奶茶试喝” 类比就能分清:
测试类型 | 核心特点(是否看内部逻辑) | 常用方法 | 记忆技巧(奶茶试喝类比) | 考试高频问法 |
黑盒测试 | 不看代码内部逻辑,只看 “输入→输出” 是否符合需求 | 等价类划分、边界值分析(如 “测试登录时输入 0-6 位密码”) | 盲喝试喝:只尝奶茶口味(输出),不管制作过程(内部逻辑) | “测试登录功能时,不看登录代码,只输入账号密码验证结果,属于哪种测试?”(答案:黑盒测试) |
白盒测试 | 看代码内部逻辑,测试分支、循环等(如 “测试 if-else 分支是否都执行到”) | 语句覆盖、分支覆盖(如 “确保所有代码语句都被执行过”) | 看配方试喝:对照奶茶配方(代码逻辑),检查每一步原料是否加对 | “测试代码中所有 for 循环是否正常执行,属于哪种测试?”(答案:白盒测试) |
关键区别: 黑盒 “不看内部”,白盒 “看内部逻辑”,考试选择题必考两者的区分。
4. 软件维护(考频★★★★☆,上午选择题每年 1 道)
核心考 4 类维护的区分,记清 “修错误、适配环境、加功能、防风险” 的核心差异:
维护类型 | 核心目的 | 典型例子 | 记忆口诀 | 考试高频选项 |
更正性维护 | 修复上线后发现的错误(bug) | 修复 APP 闪退、解决订单计算错误 | “修错误” | 选项中 “解决软件运行时的崩溃问题” 属于此类 |
适应性维护 | 适配外部环境变化(操作系统、硬件) | 软件适配 Windows 11、支持新打印机 | “改环境” | 选项中 “让老软件能在新电脑上运行” 属于此类 |
完善性维护 | 满足用户新需求,新增功能 | 给 APP 加夜间模式、到货提醒功能 | “加功能”(占比最高,50% 以上) | 选项中 “根据用户反馈新增支付方式” 属于此类 |
预防性维护 | 优化老代码,预防未来问题 | 重构 5 年前的老代码、增加注释 | “防风险”(考得最少) | 选项中 “优化代码逻辑减少未来 bug” 属于此类 |
易错点: 别把 “适应性维护” 和 “完善性维护” 混淆 —— 前者是 “适配环境,不新增功能”,后者是 “新增功能,不管环境”。
二、5 道真题汇总(近 3 年真题,附详细解析)
真题 1:(2023 上午第 32 题)某电商平台需要快速响应市场需求,每月根据用户反馈调整功能(如大促前新增 “优惠券叠加” 功能),该平台的软件开发适合采用哪种模型?
A. 瀑布模型 B. 敏捷开发模型 C. 原型模型 D. 螺旋模型
解析: 题干关键词 “需求多变、快速响应、每月调整功能”,符合敏捷开发 “迭代式、快速响应变更” 的特点;瀑布模型适合需求固定,原型模型适合验证需求,螺旋模型侧重风险控制。
答案:B
真题 2:(2023 下午案例题第 1 问)某校园打卡 APP 的需求中,“用户可扫描校园二维码打卡”“打卡记录保存 1 年”“支持 1000 人同时打卡不卡顿”,分别属于哪种需求类型?
解析: 按 “功能 = 能做啥,非功能 = 做得怎么样” 区分:
- “扫描二维码打卡” 是功能需求(APP 要实现的功能);
- “打卡记录保存 1 年” 是非功能需求(数据存储的时间要求,属于可靠性需求);
- “1000 人同时打卡不卡顿” 是是非功能需求(性能需求,响应能力要求)。
踩分点: 每类需求对应正确,关键词 “功能需求”“非功能需求” 要明确写出。
真题 3:(2022 上午第 33 题)下列关于软件测试的说法,正确的是?
A. 黑盒测试需要查看软件的源代码
B. 白盒测试只关注软件的输入和输出
C. 边界值分析是黑盒测试的常用方法
D. 语句覆盖是黑盒测试的覆盖准则
解析: 逐一排除错误选项:A(黑盒不看源代码)、B(白盒看内部逻辑,不止输入输出)、D(语句覆盖是白盒准则);C(边界值分析是黑盒常用方法,如测试密码长度的 0 和 6 位边界)正确。
答案:C
真题 4:(2022 上午第 34 题)某办公软件原本支持 Windows 7 系统,随着 Windows 7 停止服务,开发团队修改软件使其支持 Windows 10,这种维护属于?
A. 更正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护
解析: 题干关键词 “适配新操作系统(Windows 10)”,符合适应性维护 “适配外部环境变化” 的特点;更正性是修 bug,完善性是加功能,预防性是防未来问题。
答案:B
真题 5:(2021 上午第 31 题)软件需求分析阶段的核心输出文档是?
A. 概要设计说明书 B. 需求规格说明书(SRS) C. 详细设计说明书 D. 测试计划
解析: 需求分析阶段的核心输出是 SRS(需求规格说明书);A、C 是设计阶段输出,D 是测试阶段输出。
答案:B
三、模块备考建议(零基础必看)
- 优先记 “对比表”:把 “开发模型对比表”“维护类型对比表”“黑盒白盒对比表” 抄在笔记本上,每天花 5 分钟看一遍,重点记 “核心特点 + 典型例子”,3 天就能记熟;
- 案例题多练 “关键词提取”:遇到需求分析、维护类型的案例题,先圈出题干中的关键词(如 “需求多变”→敏捷,“新增功能”→完善性维护),再对应考点;
- 错题只记 “混淆点”:比如错把 “适应性维护” 选成 “完善性维护”,只记 “适配环境 = 适应,新增功能 = 完善”,不用抄完整题干,节省时间。
通过以上考点梳理和真题练习,软件工程模块的核心分数基本能轻松拿下,后续复习时只需偶尔回顾对比表和错题,就能保持高正确率。