软件开发生命周期

软件开发生命周期
软件生命周期是指软件从开始研制到最终被废弃所经历的各个阶段。在不同的阶段里,由不同的组织和人员执行不同的任务,需要消耗不同的资源。

软件开发生命周期经历的阶段
需求分析-->软件设计-->程序编码-->软件测试-->运行维护

常见的软件开发生命周期模式
1.大爆炸模式
2.边写边改模式
3.瀑布模式
4.螺旋模式
5.敏捷开发模式

大爆炸模式

计划、进度安排和正规的开发过程几乎没有所有的精力都花费在开发软件和编码上。

优点:简单。
缺点:几乎没有什么测试,测试越深问题可能越大。

边写边改模式

最初可能是根据一些简单的想法,开始进行简单的设计,接着是漫长的编码、测试、修复,直到觉得没有问题就发布。

优点:可以快速看到成果
缺点:由于经常修改,可能旧版本都没有测试完,新版本就出来了

瀑布模式

瀑布模式是从最初构思到最终产品经过一系列步骤。每一个步骤结束时,项目小组审查决定是否进入下一步骤。如果没有准备好进入下一步,就停滞下来,直到完成。
该步骤流程是:构思-->分析-->设计-->开发-->测试-->最终产品

瀑布模式的3大特点:
1.强调产品的定义
2.瀑布模型的各步骤是独立的、没有交叉的。
3.瀑布模型是无法回溯的

优点:简捷、精致、在合适的项目中效果显著。
缺点:测试在后期进行,可能有些问题在早期就出现。

螺旋模型

螺旋模型主要思想是一开始不必定义所有细节,从小开始,定义重要功能,努力实现这些功能,接受用户反馈,然后进入下一阶段,重复过程,直到最终产品。

螺旋模型每一次循环包括6个步骤:
1.确定目标、可选方案和限制条件
2.明确并化解风险
3.评估可选方案
4.当前阶段开发和测试
5.计划下一阶段
6.确定进入下一阶段的方法

优点:发现问题较早,成本低

缺点:建设周期长,而软件技术发展比较快

敏捷开发模式

强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用。

核心思想:
1)人和交互重于过程和工具。
2)软件重于求全而完备的文档。
3)客户协作重于合同谈判。
4)随时应对变化重于循规蹈矩。

优点:能快速适应现实的变化,周期短
缺点:当规模增大,面对面沟通困难

你可能感兴趣的:(软件开发生命周期)