软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或激动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。
瀑布模型
瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。
组成:包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。
优点:可强迫开发人员采用规范的方法;严格规定了各阶段必须提交的文档;要求每个阶段结束后,都要进行严格的评审。
缺点:过于理想化,缺乏灵活性,无法解决软件需求不明确或不准确地问题。
适用于:需求明确的项目
演化模型
获取一组需求后,通过快速分析构造出该软件的一个初始可运行版本(即原型),然后根据用户在使用原型的过程中提出的意见和建议对原型进行改进。
是一种“渐进式”的原型化方法。
增量模型
把软件产品划分为一系列的增量构件,分别进行设计、编程、集成和测试。
是一种“增量式”的原型化方法。
喷泉模型
喷泉模型是一种以用户需求为动力,以对象作为驱动的模型。主要用于描述面向对象的开发过程。
适用于:面向对象的开发方法。
优点:开发过程具有迭代性和无间隙性。
各种模型的比较
每个软件开发组织应该选择适合于该组织的软件开发模型,并且应该随着当前正在开发的特定产品特性而变化,以减小所选模型的缺点,充分利用其优点。下表列出了几种常见模型的优缺点。
模型 |
优点 |
缺点 |
瀑布模型 |
文档驱动 |
系统可能不满足客户的需求 |
快速原型模型 |
关注满足客户需求 |
可能导致系统设计差、效率低,难于维护 |
演化模型 |
有助于早期建立产品开发的配置管理 |
不加控制地让用户接触开发中尚未测试稳定的功能,可能对开发人员及用户都产生负面的影响 |
增量模型 |
开发早期反馈及时,易于维护 |
需要开放式体系结构,可能会设计差、效率低 |
螺旋模型 |
风险驱动 |
风险分析人员需要有经验且经过充分训练 |
喷泉模型 |
开发过程具有迭代性和无间隙性 |
不利于项目的管理. |
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!