有关传统软件开发方式的深入了解及其与XP极限编程的不同

有关传统软件开发方式的深入了解及其与XP极限编程的不同

在软件开发的过程中,大致分为两种形式。一种是传统的软件开发过程,而另一种为敏捷开发过程。这两种虽然都为软件开发,但原理有着本质上的区别。
一.浅谈传统软件开发模型
传统软件开发模型主要分为瀑布模型、V-model模型、快速原型开发模型、增量模型以及螺旋模型等,在这五种模型的基础上,传统软件开发模型主要由线性推进以及递归推进两种形式进行(即5中基本的传统软件开发模型基本都是由这两种推进形式的某一种或者由两种推进形式联合组合而成)。
1.瀑布模型
瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。瀑布模型主要被分为大致五步,如下图所示:
在这里插入图片描述

瀑布模型主要是由线性推进方式组成,从而形成瀑布流水。主要适用于不再应用户要求而更改的软件开发过程,如军用软件即设备。
2.V-model模型
这种模型主要侧重于对每一环节的测验,在每一环节结束之后都会进行相应的测试,确保软件开发步骤中每一步的正确性。如下图所示故称V型:
在这里插入图片描述

3.快速原型模型
快速原型模型需要迅速建造一个可以运行的软件原型 ,以便理解和澄清问题,使开发人员与用户达成共识,最终在确定的客户需求基础上开发客户满意的软件产品。
具体操作:例如,软件人员先开发一个软件界面,开发已完成就将这部分呈现给客户,而客户向开发者反馈这种开发是否满足了客户的需求,这种开发还有哪些需求没有满足等等。
通过这种方式防止当软件完全开发完成后再修改有关用户意见方面需求会浪费大量的开发时间,即提高了软件开发的成本。流程图如下图所示:
在这里插入图片描述

4.增量模型
增量模型就是先实现软件的主要核心功能满足用户需求,但一些补充性功能还未发布,通过后期不断完善迭代,最终实现一个完善的软件产品。
增量模型类似于串行发的瀑布模型,即增量式。相较于瀑布模型更容易适应用户需求的增加。而它也有部分缺点:例如由于类似串行瀑布模式,它的架构要开放;除此之外,他的接口设计一定要精细,防止出现不相容的问题。

在这里插入图片描述

5.螺旋模型
是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。
这是传统开发模型中相较十分复杂的一种模型,但它有区别于其它模型的独特之处:它只适用于长周期的软件开发过程,因为短周期的软件开发过程来不及螺旋模型正式开始便已经结束了,故软件开发周期至少要在半年以及一年往上。

在这里插入图片描述

二.敏捷开发以及XP极限编程
敏捷开发是一种从1990年代开始逐渐引起广泛关注的新型软件开发方法,是一种能应对快速变化需求的软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于"非敏捷",更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重做为软件开发中人的作用。(来自百度百科)
其中,极限编程(XP)是敏捷软件开发方法的代表。XP是一种轻量(敏捷)、高效、低风险、柔性、可预测、科学而且充满乐趣的软件开发方式。
如图所示,XP拥有在这几个方面的特点:
在这里插入图片描述
在更短的周期内,更早地提供具体、持续的反馈信息。在迭代的进行计划编制,首先在最开始迅速生成一个总体计划,然后在整个项目开发过程中不断的发展它。依赖于自动测试程序来监控开发进度,并及早地捕获缺陷。依赖于口头交流、测试和源程序进行沟通。倡导持续的演化式设计。依赖于开发团队内部的紧密协作。尽可能达到程序员短期利益和项目长期利益的平衡。
除此之外,更有着一人编程另一人review,而在适当时间交换编程人员以及review人员的规则。并还有这用户的极限参与,即用户也同时参与到了软件开发的环节中,更能时事的向程序员提供自己的意见以及想法,从而达到真正的“极限编程”,最大限度的提高了编程的效率,紧凑利用着每一份在软件开发时所能用到的资源。

三.总结
每种不同软件开发方式都有着自己不同的特点以及适用之处,例如:虽然瀑布模型不适合反应用户需求的增加或者更改,但他在用户需求一次性确定的时候不失为那种情况最后的软件开发方式。
因此,在今后软件开发的过程中,不能局限与只用哪种软件开发方式,在内心放大了它的有点而遗忘了它的缺点,这会在软件开发过程中造成不必要的时间以及开发成本损失。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值