编辑推荐: |
本文来自于csdn,主要讲解了瀑布模型、演化模型、喷泉模型、增量模型
这四种。 |
|
定义
软件过程模型又称为软件开发模型,它是软件开发全部过程、活动和任务的结构框架。
分类
瀑布模型
瀑布模型是一种线性的过程,瀑布模型要求有明确的需求分析,而要达到这一点在现实开发中几乎不可能。这种模型是最早也是应用最广泛的软件过程模型。
优点:容易理解,管理成本低;强调开发的阶段性早期计划及需求调查和产品测试。
缺点:1、用户不确定需求
2、开发人员不确定
3、开发人员用户很难沟通
适用对象:以文档为驱动,适合于软件需求很明确的软件项目。
增量模型
融合了瀑布模型的基本成分和原型实现的迭代特征。增量模型强调每一个增量均发布一个可操作的产品。增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品
优点:1、人员分配灵活
2、第一个可交付版本所需要的成本和时间很少
缺点:1、软件具备开放式体系结构
2、容易退化为边做边改,使软件过程的控制失去整体性。
3、至始至终开发者和客户纠缠在一起,直到完全版本出来。
演化模型
1)原型法
最大特点就是它采用了一种动态定义需求的方法。即不需要有明确的需求。被开发的原型应交付客户使用,并收集客户的反馈意见,可在下一轮中对原型进行改进。
原型又分为探索型、实验性和演化型。
探索型原型的目的是要弄清楚目标的要求,确定所希望的特性,并探讨多种方案的可行性。
实验型原型的目的是验证方案或算法的合理性,是在大规模开发和实现前,用于考查方案是否合适、规格说明是否可靠等。
演化型原型的目的是将原型作为目标系统的一部分,通过对原型的多次改进,逐步将原型演化成最终的目标系统。
优点:能够快速、低成本地构建原型
缺点:没有考虑软件的整体质量和长期的可维护性
适用对象:开发初期用户需求是不完整、不准确的
2)螺旋模型
结合了瀑布模型和演化模型的优点,最主要的特点在于加入了风险分析。它是由指定计划、风险分析、实施工程、客户评估这一循环组成的,它最初从概念项目开始第一个螺旋。
优点:支持用户需求的动态变化。
缺点:1、需要开发人员具有相当丰富的风险评估经验和专门知识。
2、增加开发成本和延迟提交时间。
3、支持用户需求的动态变化
使用对象:庞大、复杂且具有高风险的系统。
喷泉模型
以用户需求为动力,已对象作为驱动的模型。适用面向对象的开发过程,最核心的特点是迭代性和无间隙性。所有的开发活动没有明显的边界,允许各种开发活动同步进行。
优点:提高软件项目的开发效率,节省开发时间。
缺点:1、需要大量的开发人员,不利于项目的管理。
2、要求严格管理文档,使得审核的难度加大。 |