首页 > 编程知识 正文

敏捷模型和增量模型的区别,敏捷开发的模型

时间:2023-05-04 11:14:19 阅读:190409 作者:2463

文章目录4增量模型(Incremental Model ) 4.1好处4.2坏处5螺旋模型(Spiral Model ) 6敏捷模型(Agile Modeling ) )。

转载自博文:

软件开发的11种模式

3359 blog.csdn.net/Xi _ gua _ gua/article/details/53107283

软件开发过程和模型

3359 blog.csdn.net/Oscar 999/article/details/79168778

4增量模型(Incremental Model )

在增量模型中,软件被设计、实现、集成和测试为一组增量组件。 每个组件都由一个代码片段组成,该代码片段由多个交互模块组成,提供特定的功能。

增量模型并不提供完整的可在每个阶段执行的产品,而是提供满足客户需求的子集的可执行产品。 整个产品分解为几个部件,开发人员按部件交付产品,软件开发能够很好地应对变化,能够不断地看到客户开发的软件,具有降低开发风险的优点。 但是,增量模型也有以下缺点。

由于每个组件都嵌入到现有的软件体系结构中,所以添加组件时必须不破坏构建的系统部分。 这需要软件有一个开放的体系结构。

在开发过程中,不可避免地会发生需求的变化。 与瀑布模型和快速原型模型相比,增量模型的灵活性可以大幅提高其应对这一变化的能力,但容易退化为在制作的同时改变模型,从而失去软件过程控制的整体性。

使用增量模型时,第一个增量模型往往是实现基本需求的核心产品。 核心产品交付用户使用后,经过评估形成下一阶段的开发计划,包括核心产品的修改和一些新功能的发布。 在分阶段发布后,这个过程将继续重复,直到最终成品产生。

例如,使用增量模型开发文字处理软件。 首先,考虑逐步释放基本的文件管理、编辑、文档生成功能,然后进一步完善编辑和文档生成功能,再逐步实施拼写检查和语法检查功能,第四完成高级页面布局功能。

这样也可以理解(从灵巧的万宝路课件) :

将系统功能分解为互不重叠的子功能,引入了增量封装的概念。 不用等到所有需求都出来,只要有某个需求的增量软件包出来就可以开发。 增量软件包可能需要进一步修改以满足客户的需求,但只要此增量软件包足够小,其影响对整个项目来说是可以接受的。

每次全力实现一个子功能。 因为每次只提交用户的一部分功能,所以用户有充分的时间学习和适应新产品。

增量模型融合了瀑布模型的基本成分(重复应用)和原型实现的迭代特征。 该模型采用随着调度时间的推移而交错的线性序列,每个线性序列生成软件可发布的“增量”。 使用增量模型时,第一个增量模型往往是核心产品,这意味着第一个增量模型满足了基本需求,但许多补充特征尚未发布。 客户使用新功能,将每个阶段的使用和评估作为下一个阶段发布。 每个阶段公布后,这个过程也会重复,直到最终完成的产品产生

子功能全部完成后,系统开发结束。

4.1优势人员分配灵活,最初不需要投入大量人员

先推出核心产品,再增加相应功能

能够分阶段有计划地管理技术风险

适用于需求频繁变化的软件开发过程

4.2缺点增量数据包之间存在交叉时,如果处理不好,必须进行全面的系统分析

5螺旋模型(Spiral Model ) 1988年,RRDNHT ) BarryboEHM )正式发表了开发软件系统的“螺旋模型”。 它将瀑布模型与快速原型模型相结合,强调了其他模型忽略的风险分析,特别适用于大型复杂系统。

螺旋模型沿螺旋重复多次,图中的四个象限表示以下活动:

制定计划:确定软件目标,选定实施方案,明确项目开发限制条件;

风险分析)对所选方案进行分析评估,考虑如何识别和消除风险;

实施步骤:实施软件开发和验证;

客户评估:评估开发工作,提出修改方案,制定下一步计划。

螺旋模型由风险驱动,突出了选项方案和约束条件以支持软件复用,有助于将软件质量作为特殊目标纳入产品开发。 但螺旋模型也有一定的限制条件,具体如下。

螺旋模型强调风险分析,但不容易让广大客户接受并相信该分析,并做出相关反应,因此该模型往往适应内部大规模软件开发。

当执行风险分析严重影响项目效益时,进行风险分析是没有意义的,因此螺旋模型只适合大型软件项目。

软件开发人员应善于寻找可能的风险,并准确分析风险。 否则,会带来更大的风险

某个阶段需要首先确定该阶段的目标,完成这些目标的选择方案及其约束条件,然后从风险的角度分析方案的开发战略,努力消除潜在的风险,有时还需要通过构建原型来完成。 如果不能排除某些风险,该程序将立即终止。 否则,开始下一个开发步骤。 最后,评估这个阶段的结果,设计下一个阶段。

螺旋模型很大程度上是风险驱动的方法体系。 因为在各阶段之前和频繁发生的周期之前,首先需要进行风险评估

关于这个模型,简单总结如下(来自灵巧的万宝路课件)。

.采用瀑布模型和快速成型模型相结合的迭代方法进行系统开发

.软件项目被分解得很多

个不同的版本完成
  ③.每个版本的开发过程都需要用户参与
  ④.根据前一个版本的反馈计划下一个版本
  ⑥.风险驱动的螺旋模型适用于内部开发的大型软件项目,但是,只有在开发人员具有风险分析和排除风险的经验及专门知识时,使用这种模型才会获得成功。

6 敏捷模型(Agile Modeling)

敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

敏捷开发小组主要的工作方式:
①作为一个整体工作;
②按短迭代周期工作;
③每次迭代交付一些成果,关注业务优先级,检查与调整。

敏捷开发的4个核心思想:
①强调面对面的沟通,人和人的相互交流胜于任何流程和工具
②把精力集中在可执行的程序上,可以运行的产品胜于编制综合性文档,强调了原型、模型、demo等的重要性
③团队合作和团队激励,合作胜于谈判,敏捷开发能将需求、开发、测试等全部团队成员融合成一个整体,大家都是一条线上的蚂蚱
④超强的适应能力,适应变化胜于按部就班,敏捷开发的特点就是快速

敏捷软件开发要注意项目规模,规模增长,团队交流成本就上去了,因此敏捷软件开发暂时适合不是特别大的团队开发,比较适合一个组的团队使用。

简而言之,就是:
①一切从简 ②拥抱变化 ③高效工作 ④持续开发

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。