四种开发模式
前言
一、瀑布型模型
概述:
一个完整的软件开发生命周期,需要将上一阶段完成后进行下一阶段工作,上一阶段产出作为下一阶段输入。
优点:
1 快速定位预期成本和时间
2 之前阶段完成分析文档,便于有效知识传达
缺点:
1 需求变动成本较高,原则上不允许需求变动
2 时间成本无法估算,效率低不能做到并行
适用场景:
用户需求清楚全面;用户使用场景稳定;开发工作对用户参与度要求低。
v字型开发模型
概论:
V”模式开发模型是将瀑布模型进一步细化,将代码编写放在最后一部
优点:
1 在软件编码完成前,系统测试用例、软件测试用例以及单元测试用例已经完成
2 将编码放在最后一步,用户需求变更及时做出修改
3 并行提高了开发成效率
缺点:
在V模型中,只是把测试作为编码之后的一个阶段,并没有在需求开发阶段就进入测试
适用场景:
传统的软件开发模式,一般适用于传统信息系统应用的开发。
w字型开发模型
概念:
W模型是由两个V模型组成,一个是开发阶段,一个测试阶段
优点:
开发伴随着整个开发周期,需求和设计同样要测试;
更早的介入测试,可以发现初期的缺陷,修复成本低;
分阶段工作,方便项目整体管理。
缺点:
开发和测试依然是线性的关系,需求的变更和调整,依然不方便;
如果没有文档,根本无法执行w模型;对于项目组成员的技术要求更高
适用场景:
传统的系统开发,需求变动不大。
敏捷开发模式
概念:
一种应对快速变化的需求的一种软件开发能力。更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重做为软件开发中人的作用。
优点:
1 满足实时变化的需求
2 提高开发效率
3 个人任务看板清晰明确
缺点:
不适用于大规模的团队,面对面沟通就难以实现。
适用场景:
适用于较小的队伍,客户需求可能实时发生变化。