✅ 操作成功!

敏捷开发模型

发布时间:2023-06-06 作者:admin 来源:文学

敏捷开发模型

敏捷开发模型

岭南文化-格力电器财务报表

2023年2月20日发(作者:股权赠与协议)

瀑布式开发和敏捷开发区别

敏捷开发,⾸先把客户最关注的软件原型先做出来,交付或者上线,在实际场景中去修改弥补需求中的不⾜,快速修改,再次发布版本。再

次上线或者交付。通过⼀些敏捷实践⽅式,细化story,可以提供更⼩的迭代。如此循环,直到⽤户(客户)满意。适⽤于需求不明确的项

⽬、创新性的项⽬或者需要抢占市场的项⽬。

瀑布式开发,要求明确的需求,⼤家按照需求⼀步步做好规划,在项⽬运作过程中严格产出各种⽂档,按着流程⼀步步⾛下去。这种模式⼀

般适⽤于需求⽐较明确、toB端项⽬

但总的来说,在现在管理项⽬过程中,并没有严格的按照完全的敏捷或者完全的瀑布模式,都是各⾃掺杂了其他的⽅式。在实际项⽬过程

中,过于强调模式并没有意义,重要的是能不能预防问题的发⽣,在问题发⽣之后能不能⽤最⼩的成本解决,模式更多起⼀个参考作⽤

1.瀑布模型

1.1瀑布模型介绍

1970年温斯顿·罗伊斯(WinstonRoyce)提出了著名的“瀑布模型”,直到80年代早期,它⼀直是唯⼀被⼴泛采⽤的软件开发模型。

1.2瀑布模型核⼼思想

瀑布模型核⼼思想是按⼯序将问题化简,将功能的实现与设计分开,便于分⼯协作,即采⽤结构化的分析与设计⽅法将逻辑实现与物理实

现分开。将软件⽣命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运⾏维护等六个基本活动,并且规定了它们⾃上⽽

下、相互衔接的固定次序,如同瀑布流⽔,逐级下落。

1.3瀑布模型有以下优点

(1)为项⽬提供了按阶段划分的检查点。

(2)当前⼀阶段完成后,您只需要去关注后续阶段。

(3)可在迭代模型中应⽤瀑布模型。

增量迭代应⽤于瀑布模型。迭代1解决最⼤的问题。每次迭代产⽣⼀个可运⾏的版本,同时增加更多的功能。每次迭代必须经过质量和集成

测试。

1.4瀑布模型有以下缺点

(1)在项⽬各个阶段之间极少有反馈。

(2)只有在项⽬⽣命周期的后期才能看到结果。

(3)通过过多的强制完成⽇期和⾥程碑来跟踪各个项⽬阶段。

(4)瀑布模型的突出缺点是不适应⽤户需求的变化。

2.迭代模型

2.1什么是迭代模型

在某种程度上,开发迭代是⼀次完整地经过所有⼯作流程的过程:需求、分析设计、实施和测试⼯作流程。实质上,它类似⼩型的瀑布式

项⽬。RUP认为,所有的阶段都可以细分为迭代。每⼀次的迭代都会产⽣⼀个可以发布的产品,这个产品是最终产品的⼀个⼦集。

2.2迭代模型的使⽤条件

(1)在项⽬开发早期需求可能有所变化。

(2)分析设计⼈员对应⽤领域很熟悉。

(3)⾼风险项⽬。

(4)⽤户可不同程度地参与整个项⽬的开发过程。

(5)使⽤⾯向对象的语⾔或统⼀建模语⾔(UnifiedModelingLanguage,UML)。

(6)使⽤CASE(ComputerAidedSoftwareEngineering,计算机辅助软件⼯程)⼯具,如Rose(Rose是⾮常受欢迎的物件软体开发⼯

具。)。

(7)具有⾼素质的项⽬管理者和软件研发团队。

2.3迭代模型的优点

与传统的瀑布模型相⽐较,迭代过程具有以下优点:

(1)降低了在⼀个增量上的开⽀风险。如果开发⼈员重复某个迭代,那么损失只是这⼀个开发有误的迭代的花费。

(2)降低了产品⽆法按照既定进度进⼊市场的风险。通过在开发早期就确定风险,可以尽早来解决⽽不⾄于在开发后期匆匆忙忙。

(3)加快了整个开发⼯作的进度。因为开发⼈员清楚问题的焦点所在,他们的⼯作会更有效率。

(4)由于⽤户的需求并不能在⼀开始就作出完全的界定,它们通常是在后续阶段中不断细化的。因此,迭代过程这种模式使适应需求的变化会

更容易些。

3.敏捷开发模型

3.1什么是敏捷开发

敏捷开发是⼀种从1990年代开始逐渐引起⼴泛关注的⼀些新型软件开发⽅法,是⼀种应对快速变化的需求的⼀种软件开发能⼒。相对于“⾮

敏捷”,更强调程序员团队与业务专家之间的紧密协作、⾯对⾯的沟通(认为⽐书⾯的⽂档更有效)、频繁交付新的软件版本。能够很好地

适应需求变化的代码编写和团队组织⽅法,也更注重软件开发中⼈的作⽤。敏捷建模(AgileModeling,AM)的价值观包括了XP的四个

价值观:沟通、简单、反馈、勇⽓,此外,还扩展了第五个价值观:谦逊。

3.2敏捷开发特点

(1)⼈和交互重于过程和⼯具。

(2)可以⼯作的软件重于求全⽽完备的⽂档。

(3)客户协作重于合同谈判。

(4)随时应对变化重于循规蹈矩。

项⽬的敏捷开发,敏捷开发⼩组主要的⼯作⽅式可以归纳为:作为⼀个整体⼯作;按短迭代周期⼯作;每次迭代交付⼀些成果:关注业务优

先级;检查与调整。最重要的因素恐怕是项⽬的规模。规模增长,⾯对⾯的沟通就愈加困难,因此敏捷⽅法更适⽤于较⼩的队伍,40、

30、20、10⼈或者更少。

4.螺旋模型

螺旋模型是⼀种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最⼤的特点在于引⼊

了其他模型不具备的风险分析,使软件在⽆法排除重⼤风险时有机会停⽌,以减⼩损失。同时,在每个迭代阶段构建原型是螺旋模型⽤以减

⼩风险的途径。螺旋模型更适合⼤型的昂贵的系统级的软件应⽤。

1988年,巴利·玻姆(BarryBoehm)正式发表了软件系统开发的“螺旋模型”,它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视

的风险分析,特别适合于⼤型复杂的系统。

5.快速原型模型

快速原型模型需要迅速建造⼀个可以运⾏的软件原型,以便理解和澄清问题,使开发⼈员与⽤户达成共识,最终在确定的客户需求基础上开

发客户满意的软件产品。快速原型模型允许在需求分析阶段对软件的需求进⾏初步⽽⾮完全的分析和定义,快速设计开发出软件系统的原

型,该原型向⽤户展⽰待开发软件的全部或部分功能和性能;⽤户对该原型进⾏测试评定,给出具体改进意见以丰富细化软件需求;开发⼈

员据此对软件进⾏修改完善,直⾄⽤户满意认可之后,进⾏软件的完整实现及测试、维护。

6.⼏种模型间的对⽐

瀑布式开发

传统的瀑布式开发,也就是从需求到设计,从设计到编码,从编码到测试,从测试到提交⼤概这样的流程,要求每⼀个开发阶段都要做到

最好。特别是前期阶段,设计的越完美,提交后的成本损失就越少。

迭代式开发

迭代式开发,不要求每⼀个阶段的任务做的都是最完美的,⽽是明明知道还有很多不⾜的地⽅,却偏偏不去完善它,⽽是把主要功能先搭

建起来为⽬的,以最短的时间,最少的损失先完成⼀个“不完美的成果物”直⾄提交。

然后再通过客户或⽤户的反馈信息,在这个“不完美的成果物”上逐步进⾏完善。

螺旋开发

螺旋开发,很⼤程度上是⼀种风险驱动的⽅法体系,因为在每个阶段之前及经常发⽣的循环之前,都必须⾸先进⾏风险评估。

敏捷开发

敏捷开发,相⽐迭代式开发两者都强调在较短的开发周期提交软件,但是,敏捷开发的周期可能更短,并且更加强调队伍中的⾼度协

作。敏捷⽅法有时候被误认为是⽆计划性和纪律性的⽅法,实际上更确切的说法是敏捷⽅法强调适应性⽽⾮预见性。适应性的⽅法集中在快

速适应现实的变化。当项⽬的需求起了变化,团队应该迅速适应。这个团队可能很难确切描述未来将会如何变化。

👁️ 阅读量:0