让上班族备考者用较短时间,掌握本章 80% 最值钱的内容,并能直接提升做题正确率。
软件工程
1. 本章速览
本章重要度:高
常见题型:选择题为主
建议阅读时长:25~35 分钟
本章一句话:
这章重点不是背定义,而是根据题干特征,快速识别开发模型、敏捷思想、软件过程、逆向工程层次和工具分类 。历年真题里,开发模型、敏捷开发、软件过程、逆向工程、开发环境与工具、构件工程是最主要的几个模块。
最值得先看:
- 开发模型
- 敏捷开发
- 软件过程与生命周期
- 逆向工程
2. 本章主线
这一章表面上知识点很多,其实主线很清楚:
先考你软件是怎么开发出来的 ,所以会考开发模型、生命周期、软件过程;
再考你面对变化和复杂度时怎么组织开发 ,所以会考敏捷;
接着考你旧系统怎么理解和改造 ,所以会考逆向工程和再工程;
最后考你开发活动靠什么支撑,所以会考开发环境、开发工具、配置管理和构件工程。
所以,这章真正的备考顺序不是"按教材背",而是:
模型 → 敏捷 → 过程 → 逆向 → 工具 → 构件
3. 高频考点
考点一:开发模型
是什么
开发模型就是软件开发过程的组织方式。真题最常考的是:增量模型、原型模型、螺旋模型、瀑布模型、喷泉模型、W 模型。
怎么考
一般不是直接问定义,而是给一段描述,让你判断是哪种模型。
比如:
- "更早交付、降低需求变更成本" → 增量模型
- "原型开发阶段 + 目标软件开发阶段" → 原型模型
- "增加风险评估环节" → 螺旋模型
- "前一阶段输出是后一阶段输入" → 瀑布模型
- "适合面向对象开发" → 喷泉模型
- "开发和测试同时进行" → W 模型
快速判断
- 看早交付:增量模型
- 看原型澄清需求:原型模型
- 看风险分析:螺旋模型
- 看线性顺序:瀑布模型
- 看面向对象:喷泉模型
- 看开发测试并行:W 模型
易混点
最容易混的是:
- 原型模型 vs 螺旋模型
- V 模型 vs W 模型
- 增量模型 vs 敏捷开发
记忆锚点
增量早交付,原型先试做,螺旋抓风险,喷泉面向对象,W 开发测试并行。
考点二:敏捷开发
是什么
敏捷开发是一种强调适应变化、以人为本、迭代增量、紧密协作、较少文档的软件开发思想和方法。
怎么考
常见考法有三种:
- 问"哪个不属于敏捷特点"
- 问"哪个说法错误"
- 把敏捷和 RUP、传统方法混在一起考辨析题
快速判断
只要题干出现这些词,优先想到敏捷:
- 适应变化
- 以人为本
- 迭代增量
- 紧密协作
- 较少生产文档
易混点
最爱混淆的是:
- 敏捷不是以过程为本
- 敏捷不是以用例为中心
- 敏捷不适合特别庞大的团队
- 敏捷强调适应性,不是可预测型
记忆锚点
敏捷四字诀:人、变、迭、协。
也就是:以人为本、适应变化、迭代增量、紧密协作。
考点三:软件过程与生命周期
是什么
这一块主要考两个东西:
第一,软件生命周期怎么分阶段 ;
第二,软件过程包含哪些活动。
怎么考
真题常考:
- 软件生命周期的三大阶段
- 可行性研究属于哪个阶段
- 软件过程的四大活动
- 哪一项定义软件功能和使用限制
快速判断
你先记住两组内容:
生命周期三阶段:
- 软件定义
- 软件开发
- 软件运行与维护
软件过程四大活动:
- 软件描述
- 软件开发
- 软件有效性验证
- 软件演化
易混点
- 可行性研究属于软件定义阶段
- "定义软件功能和使用限制"的是软件描述
- "后续修改维护"的是软件演化
记忆锚点
生命周期看三段,软件过程看四活。
考点四:逆向工程
是什么
逆向工程就是:
从已有程序出发,恢复出比源代码更高层次的抽象表示 。
再工程则是在这些信息基础上,修改或重构系统,产生新版本。
怎么考
逆向工程常考两类:
- 四个抽象层次分别是什么
- 逆向工程和再工程的区别
快速判断
四个层次要抓住最核心的区分:
- 实现级:最贴近代码,如抽象语法树
- 结构级:程序分量之间的依赖关系
- 功能级:程序段功能及其关系
- 领域级:与业务领域概念对应的高层语义
另外:
- 用户指导的搜索与变换方法 → 常恢复实现级、结构级
- 基于领域的方法 → 常恢复功能级、领域级
易混点
- 逆向工程:理解系统
- 再工程:修改系统、生成新版本
记忆锚点
逆向看抽象,再工出新版。
考点五:软件开发环境与工具
是什么
这一块主要考开发环境中的组成部分,以及常见工具的分类。
怎么考
常见考法:
- 某个库或服务器的作用是什么
- 某类工具属于哪一类
- 配置管理工具和版本控制工具怎么区分
快速判断
必记几个点:
- 环境信息库:存储开发相关信息,并支持交流共享
- 过程控制与消息服务器:实现过程集成和控制集成的基础
- 软件配置管理工具:包括版本控制、变更管理、配置状态管理、访问控制、安全控制
- 建模工具:如 Rose、Together、QuickUML
- SCCS:版本控制工具
易混点
- 版本控制工具只是配置管理工具的一部分
- 建模工具不是测试工具,也不是编程工具
- 软件工具按软件过程活动可分为:软件开发工具、软件维护工具、软件管理工具、软件支持工具
记忆锚点
共享看信息库,集成看消息服,配置管得最全,建模专画抽象。
考点六:基于构件的软件工程
是什么
构件工程主要考"构件是什么、接口是什么、构件演化和服务端构件模型"。
怎么考
真题常考:
- 哪个说法不属于构件特性
- 接口是什么
- 应用服务器适用哪类构件模型
- 构件演化时哪些说法过于绝对
快速判断
先记住三个构件特性:
- 独立部署单元
- 可作为第三方组装单元
- 没有外部可见状态
另外:
- 接口:一个已命名的一组操作的集合
- EJB 和 COM+:较适用于应用服务器
- "必须终止所有旧版本构件后才能装新版本"是错误说法
易混点
构件作为部署单元是不可拆分的,不要和模块、函数、对象混。
记忆锚点
构件三特性:独立、组装、无外显状态。接口是一组操作。
4. 易混点对比
原型模型 vs 螺旋模型
- 原型模型:重点是需求不清,先做原型再澄清
- 螺旋模型:重点是风险分析与控制
- 判断方法:题干看"需求"还是"风险"
V 模型 vs W 模型
- V 模型:开发与测试一一对应
- W 模型:开发与测试真正并行
- 判断方法:看到"同时进行"优先选 W
敏捷 vs RUP
- 敏捷:以人为本、适应变化、较少文档
- RUP:以用例为中心
- 判断方法:看到"以用例为中心"不要选敏捷
逆向工程 vs 再工程
- 逆向工程:从低层恢复高层抽象
- 再工程:基于这些信息改造系统
- 判断方法:题干有"产生新版本",优先选再工程
配置管理工具 vs 版本控制工具
- 版本控制:只是版本管理
- 配置管理:版本管理 + 变更管理 + 状态管理 + 权限安全
- 判断方法:功能更全的选配置管理工具
5. 真题考法总结
这一章最常见的题型其实就四类:
第一类:特征识别题
给一句描述,让你识别模型或方法。
这是最高频题型,比如螺旋、喷泉、W 模型、敏捷。
第二类:概念辨析题
把两个相似概念放一起,让你选对或选错。
比如敏捷 vs RUP,逆向 vs 再工程。
第三类:反向排除题
"以下错误的是""不属于的是"。
敏捷开发、构件工程、工具分类特别爱这么考。
第四类:映射匹配题
概念和作用、层次、工具类型做匹配。
比如逆向工程层次、开发环境组件、工具分类。
6. 做题触发器
看到下面这些表述,直接触发判断:
- 更早交付、更早获得价值 → 增量模型
- 原型开发阶段 + 目标开发阶段 → 原型模型
- 风险评估、风险控制 → 螺旋模型
- 面向对象开发过程 → 喷泉模型
- 开发和测试同时进行 → W 模型
- 适应变化、以人为本 → 敏捷
- 以用例为中心 → RUP,不是敏捷
- 定义软件功能和使用限制 → 软件描述
- 产生新版本 → 再工程
- 抽象语法树 → 实现级
- 模块依赖关系 → 结构级
- 版本控制 + 变更管理 + 状态管理 → 软件配置管理工具
7. 考前速背
一条主线
这章重点不是背概念,而是抓住题干特征,快速判断模型、过程、层级和工具分类。
五个必记点
- 螺旋模型看风险
- 增量模型看早交付
- 敏捷看"人、变、迭、协"
- 软件过程四大活动:描述、开发、验证、演化
- 逆向工程四层:实现、结构、功能、领域
五个一眼判断句
- 看风险,选螺旋
- 看早交付,选增量
- 看面向对象,选喷泉
- 看并行测试,选 W
- 看产生新版本,选再工程
8. 自测题
题 1
与瀑布模型相比,哪种模型更容易让客户更早使用软件并获得价值?
A. 原型模型
B. 增量模型
C. 螺旋模型
D. 喷泉模型
答案:B
一句解析: 题干核心是"更早交付并使用",直接指向增量模型。
题 2
以下哪项不属于敏捷开发的特点?
A. 迭代增量式开发
B. 紧密团队协作
C. 以用例为中心
D. 较少生产文档
答案:C
一句解析: "以用例为中心"是 RUP 的典型表述,不是敏捷。
题 3
在逆向工程中,反映程序各部分之间相互依赖关系的信息属于哪一层?
A. 实现级
B. 结构级
C. 功能级
D. 领域级
答案:B
一句解析: 依赖关系、调用关系、模块关系,都是结构级。
9. 本章学习建议
如果时间很少,先看这三块:
- 开发模型
- 敏捷开发
- 逆向工程
这三块最容易连续出题,也最能拉开分差。
如果基础一般,不要急着背全章,先背"做题触发器"和"考前速背"。
等这些能一眼反应出来,再回头补生命周期、开发环境、构件工程。
如果已经刷过题,重点查漏两类:
- 反向排除题
- 易混概念辨析题
因为这章丢分最多的,往往不是不会,而是眼熟但分不清。