形形色色的软件生命周期模型(1)——瀑布型、增量型

摘要:
读大学时,我们曾经学习过不少软件生命周期模型,当时还不是很懂软件开发,你可能会觉得这些东西很新奇。在实际工作中,你会发现这些模型其实很难应用,与此同时你会接触到RUP、MSF等权威软件公司的生命周期模型。本文将向你介绍各种常见的软件生命周期模型及它们的优缺点,文章最后还会介绍吸取了各种模型优点的实用生命周期模型。


大纲:
1.瀑布型
2.增量型
3.进化型
4.原型
5.螺旋型
6.RUP的软件生命周期模型
7.MSF的软件生命周期模型
8.实用软件生命周期模型

本系列文章将为分四次为你分享,每次分享两种模型。


 
软件生命周期模型,是指软件由开始制作到最后被淘汰掉整个过程的模式。下面我们将逐一介绍各种常见的软件生命周期模型,最开始几种是我们读书时学习到的,后面是各种是实用生命周期模型,而最后一种是我在多年项目管理工作中总结出来的可能是最符合我们现状的开发模型。

瀑布型

瀑布型简单地说就是按照需求、设计、编码、测试、软件维护这个基本的顺序来研发软件,前面一个步骤不完成,后面的步骤不能开始,否则问题会滚到下个阶段,带来更多的问题。瀑布型的图如下:

 瀑布型.png

此图来自互联网

瀑布型是我们说得最多的模型,也最容易理解,但在实际工作中最不能执行。
我们普遍会认为,大型的、严谨程度高的项目应该采用瀑布型,恰恰相反,往往是规模很小的项目才适合这样做。
大型的项目,需求和技术都是很复杂的,如果死板地按照瀑布型,基本不可能适应复杂的需求与技术情况,也会让项目遥遥无期。而规模很小的项目,需求容易在前期就搞得很清楚,技术也不复杂,这时反而适用瀑布型。
但实际情况是规模很小在前期能搞定需求的项目基本上是没有的,能应用瀑布型的情况一般是项目的后期维护小版本,某个很小的升级版本可以用瀑布型的开发模式。



增量型

先看看增量型的图:

 增量型.png
此图来自互联网

该模式的特点是一次性地获取全部的需求,然后做出分版本实现各需求的计划,每个版本只实现一部分需求,通过多个版本逐步实现全部需求,而每个版本可以认为是一个“小瀑布”。
该模型的好处是可以尽快让系统上线,让客户先使用部分功能,尽早实现系统的价值。

该模型比较能符合实际的情况,我们往往也是通过多个版本来逐步实现全部需求,但需求是不可能在一开始就完全确定的,实际情况是往往最多只能确定80%,而后期通过各版本我们还会获取更多的新需求以及需求调整。将此模型稍微调整后,可以适用于大部分的实际项目。

请看下一篇……




作者:张传波

创新工场创业课堂讲师

软件研发管理资深顾问

《火球——UML大战需求分析》作者

www.umlonline.org 创办人

原文地址:https://www.cnblogs.com/keanuyaoo/p/3343305.html