软件开发方法学

本文对比了瀑布、螺旋、迭代和递增四种软件开发方法学。瀑布方法学过于僵化,可能导致项目延误;螺旋式方法学引入用户反馈,但仍有顺序限制;迭代式方法学强调阶段重复与一致性;递增式方法学按功能优先级逐步开发。每种方法学都有其优缺点,结合使用可优化软件开发流程。
摘要由CSDN通过智能技术生成

瀑布方法学

 瀑布方法学需要保证当前阶段被满意完成后,才会进入到下一个阶段。这是不切实际的,因为任何阶段都有可能出现不可预知的问题,最终整个项目可能延迟交付。

该方法存在如下问题:

①开发过程过于死板。开发时各阶段有着严格的顺序,并且整个过程是不可逆的

②重用性差。瀑布方法学总是集中于解决一个问题

③瀑布方法学试图一次性开发出完整的系统,而不是分部分地完成系统的开发

螺旋式方法学

在螺旋式方法学中,一旦完成了最初的编码,就可以对已有的部分系统进行测试。每一次循环完成后,开发人员都可以根据用户反馈对系统中的事务或功能进行调整。经过三四遍这样的开发过程后,就可以全面测试和部署系统。

螺旋式方法学的改进之处

①用户参与到了软件的开发周期

②通过重复软件开发阶段的方式,达到完善系统的目的

但螺旋式方法学仍存在以下问题

①开发阶段仍然需要按照有序的方式进行

②在下一次开发过程中才能对错误进行更正

螺旋式方法学可以理解为先构建出系统的框架或雏形,然后再对各个部分进行细化处理

迭代式方法学

 迭代式方法学允许重复各个阶段,根据需要在当前阶段前后反复开发。如上图所示,迭代在螺旋式方法学中应用。但迭代同样可以应用于瀑布方法学中。

迭代方法学为了避免混乱,需要坚持这三个原则:

①开发人员应清楚在每个阶段做什么,软件开发朝什么方向移动

②先前开发中的生产制品(图、代码、文档等)不应抛弃,应在部署系统之前不断改进

③生成制品时选用的软件工具和表示法应尽量相同,确保迭代开发中制品的一致性

迭代式方法学存在的问题:

部署系统前仍需要保证它的完整性

递增式方法学

 递增式方法学将根据功能的主次顺序对系统进行开发:

系统1.0版本:包含最基本、最重要的功能

系统1.1版本:添加附加的功能

系统2.0版本:对整体进行大的修改,延续系统的生命周期

递增式方法学可以满足不断变化的需求,适应变化的市场。

合并方法学

 将四种方法学合并,能够吸取它们各自的优点,消除它们各自的缺点。

总体层次上,递增式方法学规划了一系列递增部分;

螺旋式方法学要求每个递增部分都至少进行两遍;

每一遍开发过程中,瀑布式方法学指定了各个阶段和它们的顺序;

迭代式方法学允许对各个阶段进行重复或合并

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值