软件生命周期模型概述及使用准则

本文介绍了软件开发的几种生命周期模型,包括瀑布模型、原型+瀑布模型、增量模型和迭代模型,阐述了各自的特点和适用场景,并提供了选择生命周期模型的准则,帮助项目经理更好地规划和执行项目。
摘要由CSDN通过智能技术生成

1.  概述

在做过程改进的几年中发现软件项目的失败都是由于没有选好作业模式,也就是没有选择出合适的生命周期模型来执行项目。正确的选择生命周期模型是软件开发成功的第一部。下面是几个常用的生命周期模型的介绍,以及他们的使用准则。

2.  瀑布模型

有时也称为V模型,它是一种线型顺序模型,是项目自始至终按照一定顺序的步骤从需求分析进展到系统测试直到提交用户使用,它提供了一种结构化的、自顶向下的软件开发方法,每阶段主要工作成果从一个阶段传递到下一个阶段,必须经过严格的评审或测试,以判定是否可以开始下一阶段工作,各阶段相互独立、不重叠。瀑布模型是所有软件生命周期模型的基础。

瀑布模型

图:瀑布模型示意图

3.  原型+瀑布模型

原型模型本身是一个迭代的模型,是为了解决在产品开发的早期阶段存在的不确定性、二义性和不完整性等问题,通过建立原型使开发者进一步确定其应开发的产品,使开发者的想象更具体化,也更易于被客户所理解。原型只是真实系统的一部分或一个模型,完全可能不完成任何有用的事情,通常包括抛弃型和进化型两种,抛弃型指原型建立、分析之后要扔掉,整个系统重新分析和设计;进化型则是对需求的定义较清楚的情形,原型建立之后要保留,作为系逐渐增加的基础,采用进化型一定要重视软件设计的系统性和完整性,并且在质量要求方面没有捷径,因此,对于描述相同的功能,建立进化型原型比建立抛弃型原型所花的时间要多。原型建立确认需求之后采用瀑布模型的方式完成项目开发。

原型+瀑布

图:原型+瀑布模型示意图

4.  增量模型

与建造大厦相同,软件也是一步一步建造起来的。在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。

一些大型系统往往需要很多年才能完成或者客户急于实现系统,各子系统往往采用增量开发的模式,先实现核心的产品,即实现基本的需求,但很多补充的特性(其中一些是已知的,另外一些是未知的)在下一期发布。增量模型强调每一个增量均发布一个可操作产品,每个增量构建仍然遵循设计-编码-测试的瀑布模型。

 

增量模型

图:增量模型示意图

概要设计是软件开发中一个重要的关注点,大部分需求在概要设计完成后系统会被分为相关的子系统和功能模块,每个功能模块间的接口都可以定义清楚,在这种情况下,当某个模块的详细设计做完成后没有必要等到其它模块的详细设计都要完全作完就能进行编码,这样就可以在概要设计完成后将系统分为多个模块并行开发,每个子系统或子模块仍然遵循设计-编码-测试的瀑布模型,这也是一种增量开发的模型。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值