软件过程模型总结

首先,我们要了解软件过程模型是什么。

软件过程模型习惯上被称为软件开发模型,它是软件开发全部过程、活动和任务的结构框架。典型的有:瀑布模型、增量模型、演化模型(原型模型、螺旋模型)、喷泉模型、基于构建的开发模型和形式化方法模型。

那么它们具体都是怎么样的呢/p>

瀑布模型:是将软件生存周期中的哥哥活动规定为依线性顺序连接的若干阶段的模型,包括需求分析、设计、编码、测试、运行与维护。它规定了由前至后、相互衔接的固定次序,如同瀑布流水逐级下落。

瀑布模型为软件的开发和维护提供了一种有效的管理模式,它是以文档为驱动、适合软件需求很明确的软件项目的模型。

瀑布模型的优点是,容易理解,管理成本低。强调开发的阶段性早期计划及需求调查和产品测试。不足之处是客户必须能够完整、正确表达他们的需求;在开始的两个或三个阶段中,很难评估真正的进度状态。接近结束的时候,出现了大量的继承和测试工作;直到项目结束前,都不能演示系统的能力;设计或需求的错误只有到后期才能发现,对于项目风险控制能力较弱,从而导致项目常常延期完成。

增量模型:融合了瀑布模型的基本成分和原型实现的迭代特征,它假设可以把需求分段为一系列增量产品,每一产品可以分别开发。

增量模型作为瀑布模型的一个变体,具有瀑布模型的所有优点,还有其他优点:第一个可交付版本所需要的成本和时间很少;开发由增量表示的小系统所承担的风险不大;由于很快发布了第一个版本,因此可以减少用户需求的变更。运行增量投资,即在项目开始时。

增量模型的不足之处:如果没有对用户的变更要求进行规划,那么产生的初始值增量可能会造成后来增量的不稳定。若果需求不想早期思考的那样稳定和完整, 那么一些增量就可能需要重新开发,重新发布;管理发生的成本、进度和配置的复杂性可能会超过组织的能力。

演化模型:

软件类似于其他复杂的系统,会随着时间的推移而演化。

原型模型:在开发初期很难得到一个完整的、准确的需求规格说明,客户难以表达对未来系统的全面要求,开发者对要解决的应用问题模糊不清。在开发过程中,用户肯恩共产生新的要求,导致需求的变更。于是出现了快速原型。

原型可以分为:探索型、实验型、演化型。弹出行母的是为了弄清楚目标的要求,确定所希望的特性。实验型原型目的是为了验证方案或算法的合理性,是在大规模开发和实现前。演化型原型的目的是将原型作为目标系统的一部分,通过对原型的多次改进,逐步将原型演化成最终的目标系统。

螺旋模型:对于复杂的大型软件,开发一个原型往亡达不到要求。螺旋模型将瀑布模型和演化模型结合起来,加入了两种模型均忽略的风险分析,弥补了这两种模型的不足。

螺旋模型强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,从而做出应有的反应。因此,该模型特别使用于庞大、复杂并且具有高风险的系统。

与瀑布模型相比,螺旋模型支持用户需求的动态变化,为用户参加软件开发的所有关键决策提供了便利,有助于提高软件的适应能力,并且为项目管理人员计师调整管理决策提供了便利,从而降低了软件开发的风险。

缺点:使用螺旋模型进行开发时,需要开发人员具有相当丰富的风险评估经验和专门知识。另外过多的迭代次数会降低开发成本,延迟提交时间。

喷泉模型:是一种以用户需求为动力,以对象作为驱动的模型,适合作为驱动的模型,社和与面向对象的开发方法。它克服了瀑布模型不支持软件重用和多项开发活动继承的局限性。

喷泉模型的各个阶段没有明显的界限,开发人员可以同步进行。优点是可以提高软件项目的开发效率,节省开发时间。由于喷泉模型在各个开发接断是重叠的,在开发过程中需要大量的开发人员不利于项目的管理。要求严格管理文档,使得审核的难度加大。

敏捷方法

总体目标:通过“尽可能早地、持续地对有价值地软件地交付”使客户满意。通过在软件开发过程中加入灵活性,敏捷方法使用户能够在开发周期地后期增加或改变需求。敏捷过程的典型方法

1:极限编程(XP)

XP是一种轻量级(敏捷)、高效、低风险、柔性、可预测、科学的软件开发方式。

四大价值观:沟通、简单、反馈、勇气

五个原则:快速反馈、简单性假设、逐步修改、提倡更改和优质工作

十二个最佳实践:计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对、编程、集体代码所有制、持续集成、每周工作40个小时、现场客户和编码标准。

2:水晶法:

而那位每一个不同项目都需要一套不同的策略、约定和方法论,认为人对软件质量有着重要的影响,因此随着项目质量和开发人员素质的提高,项目和过程的质量页随之提高。通过更好地交流和经常性地交付,软件生产力得到提高。

3:并列争求法(Scrum):

并列征求发使用迭代地方法,其中把每三十天一次地迭代成为一个“冲刺”,并按需求地优先级别来实现产品。多个自组织和资质地小组并行地递增实现产品。协调是通过简单地日常情况会议来进行,就像橄榄球中的“并列争球”。

4:自适应软件开发(ASD)

六个原则:有一个使命作为指导;特征被证实为客户价值地关键点;过程中地等待是很重要的。因此“重做”与“做”同样关键;变化不被视为改正,而是被视为对软件开发史记情况的调整;确认的交付时间使开发人员认真考虑每一个生产的版本的关键需求;风险页包含在其中。

5:敏捷统一过程(AUP)

采用“在大型上连续”以及“在小型上迭代”的原理来构建软件系统。采用经典的UP阶段性活动,提供了一系列活动,能够是团队为软件项目构想出一个全面的过程流。

每个AUP迭代执行以下活动:建模、实现、测试、部署、配置及项目管理、环境管理。

 

来源:前端帅气小哥哥

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年4月12日
下一篇 2019年4月12日

相关推荐