软件开发模型螺旋模型(Spi alModel)1988年,Ba yBoehm 正式 发表了软件系统开发的螺旋模型,它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统
瀑布模型:将软件生命周期划分为制订计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了他们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。其优点是:可以规范化过程,有利于评审;缺点在于:过于理想,缺乏灵活性,容易产生需求偏差。
V模型:在快速应用开发模型的基础上演变而来,由于将整个开发过程构造成一个V字形而得名。V模型强调软件开发的协作和速度,将软件实现和验证有机地结合起来,在保证较高的软件质量情况下缩短开发周期。优点:适合工程量小、人力资源少并且开发过程中改动不大的项目;缺点:错误发现时间迟,产生的风险费用高。
快速原型模型:第一步是建立一个快速原型,实现客户或未来的用户与系统的交互,客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。
演化模型:也是一种原型开发,但与快速原型模型不同的是,快速原型模型在获取真实需求后,将抛弃原型。而演化模型则不然,他将在快速开发一个原型的基础上,逐步演化成最终的软件。
增量模型:软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险,有利于快速开发软件。
螺旋模型:综合了瀑布模型和演化模型的优点,还增加了风险分析,特别适合于大型复杂的系统。采用螺旋模型时,软件开发演着自内向外旋转,每转一圈都要对风险进行识别和分析,螺旋线第一圈的开始点可能是一个概念项目。从第二圈开始,一个新产品开发项目开始了,新产品的演化演着螺旋线进行若干次迭代,一直运转到软件生命周期结束。