瀑布模型|面向IT护照考试讲解开发方法的基础
针对IT护照考试,整理瀑布开发的流程、优缺点、适用场景以及与敏捷开发的区别。
什么是瀑布模型
瀑布模型是一种按顺序推进系统开发各阶段的传统开发方法。顾名思义,开发流程像瀑布一样从上流流向下游。该概念由Royce于1970年提出,最初是以讽刺的口吻描述的,但最终却得到了广泛普及。
开发流程
从需求定义开始,依次进行基本设计、详细设计、实现、测试,最后进入运维阶段。各阶段的详细内容请参考系统开发流程。
优点
瀑布模型具有多个优点。由于所有阶段都事先确定,因此易于制定计划和进行进度管理。各阶段的结束标准作为交付物被明确定义也是一大优势。它适用于大规模开发,多人分工明确。此外,由于文档完备,便于维护和交接。
缺点
另一方面,缺点也不容忽视。如果在后续阶段发生需求变更,就需要重新设计,返工成本很高。直到测试阶段才能确认实际运行的软件,因此问题发现往往较晚。难以察觉与客户认知的偏差,规格确定后难以变更,这也是需要注意的一点。
适用与不适用场景
适用场景
瀑布模型适用于需求明确、变更较少的项目。它适合那些因法规或合同而预先确定了阶段和交付物的公共类或大型SI项目。在大规模、多人团队中也能发挥效果。
不适用场景
相反,它不适用于需求频繁变更的项目。在重视速度的初创公司,或者需要通过与客户反复沟通来确定规格的情况下,敏捷开发更为合适。
V字模型
V字模型是瀑布模型的扩展版,其特点是将设计与测试对称配置。需求定义与验收测试、基本设计与系统测试、详细设计与集成测试、实现与单元测试分别对应。
与敏捷开发的区别
| 视角 | 瀑布模型 | 敏捷开发 |
|---|---|---|
| 推进方式 | 按顺序进行各阶段 | 短周期迭代 |
| 需求变更 | 困难 | 灵活应对 |
| 文档 | 多 | 必要最小限度 |
| 客户参与 | 仅在上游阶段 | 贯穿整个周期 |
关于与敏捷开发区别的详细内容,请参考敏捷开发与Scrum。
IT护照考试的出题要点
在IT护照考试中,瀑布模型的阶段顺序是高频考点。优缺点对应问题,以及与敏捷开发的区分使用问题也经常出现。
历年真题的典型模式
- “关于瀑布开发的特征,以下哪项是正确的?”型
- “当预计需求频繁变更时,适合采用哪种开发方法?”型 → 敏捷开发
相关术语
- 系统开发流程(系统开发流程)
- 敏捷开发(敏捷开发与Scrum)
- DevOps(什么是DevOps)
学习技巧
作为学习技巧,首先要扎实记住阶段顺序。即从需求定义到基本设计、详细设计、实现、测试、运维的流程。理解需求稳定性作为判断适用与不适用场景的标准非常重要。请同时学习V字模型的对应关系。
总结
只要掌握阶段顺序、优缺点以及适用与不适用场景这三个要点,就能确保在瀑布模型相关题目上得分。如需全面练习管理类内容,请参考管理类汇总。如需进行模拟考试形式的练习,推荐使用模拟考试。
相关文章
系统开发流程梳理|从需求定义到运维,面向IT护照考试
针对IT护照考试,整理软件开发生命周期(需求定义、基本设计、详细设计、实现、测试、运维)中各阶段的角色与交付物。
BPR与BPM|面向IT护照考试梳理业务改革与业务管理的区别
面向IT护照考试,梳理BPR(Business Process Reengineering・根本性改革)与BPM(Business Process Management・持续改进)的区别及应用场景。
CMMI与能力成熟度模型|IT护照考试备考
面向IT护照考试,整理评估软件开发组织成熟度的CMMI(5个级别)概要、各级别特征及应用场景。