软件工程的开发模型主要有什么模型

如题所述

1. 瀑布模型
瀑布模型的特点包括阶段间的顺序性和依赖性,前一阶段的输出作为后一阶段的输入;推迟实现观点,尽可能推迟程序的物理实现;强调质量保证观点,每个阶段必须完成规定的文档,每个阶段结束前完成文档以便及早改正错误。该模型优点是原理简单,容易掌握,各阶段间都有验证和确认环节,以便进行质量管理。缺点是缺乏灵活性,不能适应用户的需求变化,且是线性的软件开发模型,回溯性差。瀑布模型适用于需求明确或很少变化,且开发人员可以一次性获取到全部需求的场合,以及开发技术成熟、工程管理严格的场合,一般用于低风险的项目,适合开发人员具有丰富的经验。
2. 快速原型模型
快速原型模型通过快速建立起来的可运行的程序,即软件的一个早期可运行的版本,来获取用户的真正需求。该模型增强了开发者与用户间的交流,有助于满足用户的真实需求,用户可及早得到有用的产品,可及早发现问题,随时纠正错误,减小技术、应用风险,可降低开发费用,缩短开发时间。快速原型模型的缺点包括缺乏丰富而强有力的软件工具和开发环境,对设计人员及开发环境要求较高,难于做到彻底测试,更新文档较为困难。适用于预先不能确切定义需求的软件系统,或需求多变的系统,开发人员对设计方案没信心或对将要采用的技术手段不熟悉或把握性不大,原型模型可作为单独的过程模型使用,也常被作为一种方法或实现技术应用于其他的过程模型中。
3. 渐增模型
渐增模型也叫增量模型,将软件产品作为一系列增量构件来设计、编码、集成和测试,在项目开发过程中以一系列的增量方式来逐步开发系统。渐增模型的优点是可分批次提交软件产品,方便用户及时了解软件开发进展情况,及早发现问题,以组件为单位进行开发,降低了软件开发的风险,开发顺序灵活,优先级最高的服务首先交付。缺点是由于对整个软件系统的需求没有一个完整的定义,会给总体设计带来麻烦,在把每个新的增量构件集成到现有软件结构中时,必须不破坏原来已开发出的产品,软件的体系结构必须是开放的,即向产品中加入新构件的过程必须简单、方便。适用场合包括软件产品可以分批次地进行交互,待开发的软件系统能够被模块化,软件开发人员对应用领域不熟悉、难以一次性地进行软件开发时,项目管理人员把握全局的水平较高时,对软件需求把握不准确、设计方案有一定风险的项目。
4. 喷泉模型
喷泉模型体现了迭代和无间隙特性,各阶段相互重叠,反映了软件过程的并行性,以分析为基础,资源消耗呈塔形,在分析阶段消耗的资源最多,反映了软件过程迭代的自然特性,从高层返回低层无资源消耗,强调增量开发,依据分析一点、设计一点为原则,不要求一个阶段完成,整个过程是一个迭代的逐步提炼过程。
5. 螺旋模型
螺旋模型是在结合瀑布模型与快速原型模型基础上演变而成的,加入了风险分析。其基本思想是,使用原型及其它方法来尽量降低风险。在螺旋模型中,将软件过程表示为一个螺旋线,在螺旋线上的每一个循环表示过程的一个阶段。整个过程的实现按指定计划、风险分析、工程实施、客户评估四个步骤完成。螺旋模型适用于面向规格说明、面向过程和面向对象的软件开发方法,也适用于几种开发方法的组合和产生的组合模型。该模型的缺点是要求开发人员必须具有丰富的风险评估经验和专门知识。
温馨提示:答案为网友推荐,仅供参考
相似回答