软件过程模型

典型信息系统项目生命周期模型有六个:瀑布模型、增量模型、原型化模型、螺旋模型、喷泉模型、敏捷方法模型。
(1)瀑布模型
瀑布模型一般将软件开发分为可行性分析(计划)、需求分析、软件设计(概要设计、详细设计)、编码(含单元测试)、测试、运行维护等几个阶段。
为软件开发和维护提供了一种有效的管理模式,根据这种模式制定开发计划,进行成本预算,组织开发力量,以项目的阶段评审和文档控制为手段有效的对整个开发过程进行指导,是以文档为驱动的,适合于软件需求很明确的软件项目模型,它的变体之一是V模型,V模型适用于早起的软件工程工作。
(2)增量模型
增量模型是讲需求分段为一系列的增量产品,对每一增量可以分别开发,其中第一个增量往往是核心产品。增量模型是瀑布模型的一个变提,不仅具有瀑布模型的有点,还有第一个可交付版本所需要的成本和时间很少,承担风险不大,减少了用户需求的变更。不足在于如果没有对用户变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定,可能需要重新开发,重新发布,管理中所发生的成本,进度和配置的复杂性可能会超出组织的能力。
(3)原型化模型
原型化模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,经过和用户针对原型的讨论和交流,弄清需求以便真正把握用户需要的软件产品是什么样子的。充分了解后,再在原型基础上开发出用户满意的产品。
它适用于用户需求不清,需求经常变化的情况,当系统规模不是很大不是很复杂时,采用该方法比较好。
(4)螺旋模型
螺旋模型是一个演化软件过程模型,将原型实现的迭代特征与线性顺序(瀑布)模型中控制的和系统化的方面结合起来。使得软件的增量版本的快速开发成为可能。在螺旋模型中,软件开发是一系列的增量发布。其中主要强调的是风险分析。
螺旋模型支持用户需求的动态变化,为用户参与软件开发的所有关键决策提供了方便,有助于提高软件的适应能力,并且为项目管理人员及时调整管理决策方案提供了便利,从而降低了软件开发的风险。同时也需要开发人员具有相当丰富的风险评估经验的专门的技术支持。但是过多的迭代次数会增加开发成本,延迟提交时间。
(5)喷泉模型
主要包括分析,设计,实现,维护和演化五个阶段,各个阶段没有明显的界限,开发人员可以同步进行。
培全模型是一种以用户需求为动力,以面向对象作为驱动模型,适合于面向对象的开发方法,克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。
他可以提高软件项目的开发效率,节省开发时间。但由于在各个开发阶段是重叠的,在开发过程中需要大量的开发人员,不利于项目的管理。另外对文档的要求比较严格,使得审核难度加大。
(6)敏捷方法模型
敏捷开发时一种以人为核心、迭代、循序渐进的开发方法,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通、频繁交付新的软件版本、紧凑而自我组织型团队、能够很好的适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用。
敏捷方法使用户能够在开发周期的后期增肌或者改变需求,敏捷过程的方法有很多,这些方法对应一套原则,这是原则实现了敏捷宣言。
1)极限编程(XP):是一种轻量级,高效,低风险,柔性,可预测的,科学的软件开发方式。由价值观,原则,实践和行为4部分组成。包括,沟通,简单性,反馈和勇气;快速反馈,简单性假设,逐步修改,提倡更改和有优质工作;计划游戏,小型发布,隐喻,简单设计,测试先行,重构,结队编程,及集体代码所有制,持续集成,每周工作40小时,现场客户,编码标准
2)水晶法:对每一个不用的项目都需要一套不同的策略,约定和方法论,认为人对软件质量有重要的影响。因为随着项目质量和开发人员素质的提高,项目和过程的质量也随之提高,通过更高的交流和经常性的交付,软件生产力得到提高。
3)并列征求法:使用迭代的方法,把每30天一次的迭代成为一个冲刺,并按需求的优先级来实现产品,多个自组织和自治小组并行的递增实现产品。
4)自适应软件开发:*有一个使命为指导,特征被视为客户价值的关键点,过程中的等待很重要,变化不被视为改正,而是对实际情况的调整,确定交付时间使开发人员认真考虑生产版本的关键需求,风险包含其中。
5)敏捷统一过程:采用在大型上连续,在小型上迭代的原理来构建系统软件。包括建模,实现,测试,部署,配置及项目管理,环境管理等活动。

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值