【软工】软件过程模型

1、瀑布模型(Waterfall Model

    1)瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品

     2)核心思想:按工序将问题简化

     3)软件生命周期:制定计划→需求分析→软件设计→程序编写→软件测试→软件维护


    瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:

      1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。

      2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险。

      3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。

2、快速原型模型

     1)快速原型模型,是增量模型的另一种形式,它是在开发真实系统之前,构造一个原型,在该原型的基础上逐渐完成整个系统的开发工作

     2)快速原型是利用原型辅助软件开发的一种新思想。经过简单快速分析,快速实现一个原型,用户与开发者在试用原型过程中加强通信与反馈,通过反复评价和改进原型,减少误解,弥补漏洞,适应变化,最终提高软件质量。


         这种模型适合预先不能确切定义需求的软件系统的开发。使用这个模型的前提是要有一个展示性的产品原型,因此在一定程度上可能会限制开发人员的创新。

3、增量模型

   (1)增量模型融合了瀑布模型的基本成分和原型实现的迭代特征,采用随着日程时间的进展而交错的线性序列,每个线性序列产生软件的一个可发布的增量

   (2)引进了增量包的概念

        由于增量模型需要软件具备开放式的体系结构,很容易退化为边做边改模型,从而使软件过程的控制失去整体性,这种模型将功能细化后分别开发的方法比较适合于需求经常改变的软件开发过程

4、螺旋模型

      1)螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控

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

       3)每轮循环包含六个步骤:确定目标,可选项,以及强制条件→识别并化解风险→评估可选项→开发并测试当前阶段→规划下一阶段→确定进入下一阶段的方法步骤

    螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:

      1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;

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

      3)实施工程:实施软件开发和验证;

      4)客户评估:评价开发工作,提出修正建议,制定下一步计划。

         螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。

       螺旋模型只适用于大规模软件项目,建设周期长,无法满足当前用户需求,而且软件开发人员应该擅长寻找可能的风险

5、喷泉模型(fountain model)

     1)喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。

     2)该模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。

    由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。

总结

        所谓软件过程模型就是一种开发策略,这种策略针对软件工程的各个阶段提供了一套范形,使工程的进展达到预期的目的。对一个软件的开发无论其大小,我们都需要选择一个合适的软件过程模型,这种选择基于项目和应用的性质、采用的方法、需要的控制,以及要交付的产品的特点。一个错误模型的选择,将迷失我们的开发方向



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 21
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值