一个软件项目只能有一个生命周期模型。
因为每产生一个新的周期模型,都是因为原有的生命周期模型存在这样或那样的缺点(见下表),并不适合某种类型软件的开发。
生命周期模型 |
缺点 |
瀑布模型 |
瀑布模型的缺点是只能按顺序完成每个阶段的工作任务 |
增量模型 |
若软件系统的组装和拆卸性不强,或开发人员全局把握水平不高,或者客户不同意分阶段提交产品,都不宜采用这种模型 |
迭代模型 |
迭代模型是采取循环的工作方式,每次循环均使工作产品更靠近目标产品一次,这就要求项目组成员具有很高的水平井掌握先进的开发工具 |
原型模型 |
必须事先有一个展示性的产品原型,不利于开发人员的创新 |
所以,每个软件项目都应该根据自身的特点去选择适合自己的生命周期模型。生命周期模型选择条件见下表:
生命周期模型 |
选择条件 |
瀑布模型 |
(1)在开发时间内需求没有或很少变化。 |
增量模型 |
(1)在整个项目开发过程中,需求都可能发生变化,客户接受分阶段交付。 |
迭代模型 |
(1)在项目开发早期需求可能有所变化。 |
原型模型 |
(1)已有产品或产品的原型,只需客户化的工程项目。 |
不同的生命周期模型适用于不同的项目。
如果非要把不同的生命周期模型放到一个项目中,只能给项目管理带来混乱——瀑布模型需求稳定,所以你可以像瀑布那样做完需求开发、需求确认之后再开始设计、实现和测试;而增量和迭代的需求不稳定,它们都是先确认部分需求,就完成设计、实现和测试,再确认另一部分需求,再完成设计、实现和测试,那么如果一个项目中既有瀑布模型,又有增量或迭代模型,就会出现这样情况:瀑布模型在项目初期需求分析阶段就可以拿出完整的需求规格说明,增量或迭代模型却是要到项目后期才会有完整的需求规格说明,那么项目的阶段和里程碑怎么做?
PS:也许有些组织定义的生命周期模型并不是像瀑布模型、原型模型、增量模型这种意义上的模型,他们所定义的模型实际上是瀑布模型的变种,即基本模型是瀑布模型,但却因为项目的重要程度等原因实施了不同的裁剪,由此得出的模型(据说有些组织的生命周期模型有100多种),那就是另外的概念了。
当然,一个软件项目是可以有管理多个软件配置项的。多个软件配置项的开发统一管理,这样可以降低很多管理成本。但是,这种做法也不是没有任何限制的,否则可能会带来更多的管理成本,失去了多个软件配置项统一管理的意义。
要建立一个包含多个软件配置项的项目,建议考虑以下条件:
这正是:
一个项目一模型,模型多了可不中
管理混乱难操作,管理成本可不轻
文章来自,软件工程之思
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!