软件过程模型

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

  • 瀑布模型

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

瀑布模型为软件的开发和维护提供了一种有效的管理模式,根据这一模式制定开发计划,进行成本预算,组织开发力量,以项目的阶段评审和文档控制为手段有效的对整个开发过程进行指导,所以他是以文档作为驱动、适合于软件需求很明确的软件项目模型。

优点:瀑布模型的优点是,容易理解,管理成本低;强调开发的阶段性计划及需求调查和产品测试。

缺点:不足之处是,客户必须能够完整、正确和清晰的表达他们的需要。在开始的两个或3个阶段中,很难评估真正的进度状态;当接近项目结束时,出现了大量的集成和测试工作;指导项目结束之前,都不能演示系统的能力。在瀑布模型中,需求或设计中的错误往往只有到了项目后期才能够被发现,对于项目风险的控制能力较弱,从而导致项目非常延期完成,开发费用超出预算。

变体:V模型

                 V模型提供了一种将验证确认活动应用于早期软件工程工作中的方法。

 

  • 增量模型

它假设可以将需求分段为一系列增量产品,每一增量可以分别开发。该模型采用随这日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。

增量模型作为瀑布模型的一个变体,具有瀑布模型的所有优点。

优点:第一个可交付版本所需要的成本和时间很少;开发由增量标识的小系统所程度的风险不大;可以减少用户需求的变更;可以仅对一个或两个增量投资

缺点:如果没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定;如果需求没有像早期思考的那样稳定和完整,那么一些增量可能需要重新开发;

 

  • 演化模型
  1. 原型模型

原型方法比较适合于用户需求不清、需求经常变化的情况。当系统规模不是很大的时候,采用该方法比较好。

原型模型开始于沟通,其目的是定义软件的总统目标,标识需求,然后快速制定原型开发的计划,确定原型目标和范围,采用快速射击的方式对其进行建模,并构建模型。

根据使用原型的不同,原型可以分为探索型原型、实验型原型和演化型原型。探索性原型的目的是要弄清目标的要求,确定所希望的特性,并探讨多种方案的可行性。实验原型的目的是验证方案或算法的合理性,是在大规模开发和实现前,用于考查方案是否合适、规格说明是否可靠等。演化型原型的目的是将原型作为目标系统的一部分,通过对原型的多次改进,逐步将原型演化成最终的目标系统。

  1. 螺旋模型

螺旋模型将瀑布模型和演化模型结合起来,加入 了两种模型均忽略的风险分析,弥补了这两种模型的不足。

螺旋模型分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符合。每个螺旋周期分为如下4个工作步骤

  1. 制定计划。确定软件的目标,选定实施方案,明确项目开发的限制条件。
  2. 风险分析。分析所选的方案,识别风险,消除风险。
  3. 实施工程。实施软件开发,验证阶段性产品
  4. 用户评估。评价开发工作,提出修正建议,建立下一个周期的开发计划。

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

与瀑布模型相比,螺旋模型支持用户需求的动态变化为用户参与软件开发的所有关键决策提供了方便,有助于提高软件的适应能力,并且为项目管理人员及时调整决策提供了便利,从而降低了软件开放的风险。在使用螺旋模型进行软件来访时,需要开发人员具有相当丰富的风险评估经验和专门知识。

  • 喷泉模型

喷泉模型是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。

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

 

  • 给予构件的开发模型

基于构件的开发是指利用预先包装的构件来构造应用系统。

一种基于构建的开发模型包括领域工程和应用系统工程两部分。

领域工程的目的是构建领域模型、领域基准体系结构和可复用构件库。为达到此目的,先要进行领域分析,分析该领域中各种应用系统的公共部分或相似部分,构建领域模型和领域基准体系结构,表示领域的候选构件,对候选构件进行可变性分析,以适应多个应用系统的需要,最后构件可复用构件,经严格测试和包装后存入可复用构件库。

 

  • 形式话方法模型

形式化方法是建立在严格数学基础上的一种软件开发方法,其主要活动是生成计算机软件形式化的数学规格说明。

形式化方法用严格的数学语言和语义描述功能规约和设计规约,通过数学的分析和推导,易于发现需求的歧义性、不完整性和不一致性,易于对分析模型、设计模型和程序进行验证。这种方法的变形是净事软件工程。

 

  • 统一过程模型

统一过程定义了4个技术阶段及其制品

起始阶段

起始阶段专注于项目的初创活动,产生的主要工作产品有构想文档、初始用例模型、初始项目术语表、初始业务用例、初始风险评估、项目计划、业务模型以及一个或多个原型

精化阶段

精华阶段在理解了最初的领域范围之后进行需求分析和构架演进,产生的主要工作产品有用例模型、补充需求、分析模型、软件体系结构描述、可执行软件体系结构原型、初步的设计模型、修订的风险列表、项目计划以及初始用户手册。

构建阶段

构建阶段关注系统的构建,产生实现模型,产生主要工作产品有设计模型、软件构件、集成的软件增量、测试计划及步骤、测试用例以及支持文档。

移交阶段

移交阶段关注于软件提交方面的工作,产生软件增量,产生的主要工作产品有提交的软件增量、测试报告和综合用户反馈。       

         初始阶段:生命周期目标。

         精化阶段:生命周期构架。

         构建阶段:初始运作功能。

         移交阶段:产品发布。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值