ONEPSOFT | 软考学习知识库
speedrun11|第7章 软件工程·生命周期与过程模型速通
画像适配:把软件开发想成 " 盖楼 "——生命周期=从立项到拆毁,过程模型=不同的施工组织法(瀑布=按图施工、原型=先搭样板间、螺旋=边干边评估风险、敏捷=小步快跑改需求)。下面全程用盖楼类比。
一、章节定位
一句话概括:本章讲软件从生到灭的生命周期,以及各类开发过程模型(瀑布/演化/螺旋/喷泉/V/原型/构件/敏捷)的特点与适用。选择题高频考模型特点对比。
二、本章在讲什么(系统性阐述)
软件生命周期=从概念→开发→使用→维护→退役的全过程(GB/T 8566:可行性、需求、概要/详细设计、实现、测试、使用、维护、退役)。开发模型是 " 怎么组织这个过程 " 的方法论:瀑布严格分阶段、演化/原型应对需求不清、螺旋强调风险、喷泉/V 偏面向对象与测试对应、构件组装靠复用、敏捷小步快跑拥抱变化。
类比盖楼:瀑布=按图严格分阶段施工、后期才试住;演化/原型=先搭样板间让用户提意见再改;螺旋=每轮都做风险评审(地基稳不稳)再往下干;喷泉=各工种穿插并行;V=每道工序对应一项验收;构件组装=买成品预制件拼装;敏捷=先盖一小间入住、边住边改扩建。
三、教材原文精摘(原封不动)
【软件生命周期】 " 软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程……一个完整的软件生命周期是以需求为出发点……阶段划分:可行性研究和项目开发计划、需求分析、概要设计、详细设计、实现、组装测试、确认测试、使用、维护、退役。"
【瀑布模型】 " 一种严格定义方法,将软件开发过程分为软件计划、需求分析、软件设计、程序编码、软件测试和运行维护 6 个阶段,形如瀑布流水……缺点:依赖早期需求调查,不能适应需求变化;风险往往推迟至后期才显露。"
【演化模型】 " 主要针对事先不能完整定义需求的软件开发,在快速开发原型基础上,根据用户反馈不断改进,重复这一过程直到演化成最终产品。"
【螺旋模型】 " 瀑布模型与演化模型相结合,并加入风险分析。沿螺旋线进行若干次迭代,每次迭代包括制订计划、风险分析、实施工程和客户评估 4 方面……特别适用于庞大、复杂并具有高风险的系统。"
【喷泉模型】 " 以用户需求为动力,以对象为驱动的模型,主要用于面向对象开发。各阶段相互重叠和多次反复。"
【V 模型】 " 将开发过程构造成 V 字形……明确标明了测试级别及其与开发阶段的对应关系(单元/集成/系统/验收)。"
【构件组装】 " 构件相互直接集成或是用专门编写的 ' 胶水代码 ' 将它们整合在一起……顺序组装、层次组装、叠加组装。"
【敏捷】 " 强调开发团队与用户紧密协作、面对面沟通、频繁交付新版本、紧凑自组织团队……敏捷宣言:个体和交互胜过过程和工具;可工作的软件胜过大量文档;客户合作胜过合同谈判;响应变化胜过遵循计划。"
逐段讲解:
四、核心知识树
第 7 章 软件工程
├── 生命周期 (10 阶段)
└── 过程模型
├── 瀑布 (需求明)
├── 演化/原型 (需求糊)
├── 螺旋 (高风险)
├── 喷泉/V(OO/测试)
├── 构件组装 (复用)
└── 敏捷 (变需求)
五、知识脑图总结
思维导图(结构化呈现)
六、关键概念速解
| 概念 | 教材定义(原文关键词) | 大白话速解 | 考试怎么考 |
|---|---|---|---|
| 生命周期 | 概念→退役全过程 | 从立项到拆毁 | 选择:阶段 |
| 瀑布 | 严格分阶段、不适应变化 | 按图施工 | 选择:适用 |
| 螺旋 | 瀑布 + 演化 + 风险分析 | 每轮评风险 | 选择:高风险 |
| 喷泉 | 对象驱动、阶段重叠 | 各工种并行 | 选择 |
| V 模型 | 测试对应开发级 | 每工序有验收 | 选择 |
| 敏捷 | 小版本、响应变化 | 边住边改 | 选择:变需求 |
七、记忆口诀 & 类比
八、易混淆点对比
| 易混项 A | 易混项 B | 核心区别 |
|---|---|---|
| 瀑布 | 演化/原型 | 前者需求明确、不适应变;后者需求不清、迭代 |
| 螺旋 | 瀑布 | 螺旋多了每轮风险分析,适合高风险 |
| 喷泉 | V 模型 | 喷泉阶段重叠 (OO);V 开发测试逐级对应 |
九、与其他章节的关联
十、本章一句话总结 & 备考提醒
生命周期=需求出发的 10 阶段;模型按 " 需求是否明确/风险高低/是否 OO/是否变 " 选型:瀑布 (明)、演化原型 (糊)、螺旋 (险)、喷泉 (V/OO)、构件 (复用)、敏捷 (变)。记清每张 " 选型条件 ",选择 + 案例 + 论文通吃。