zoukankan      html  css  js  c++  java
  • 迭代与增量开发模型的共性与区别

      在关于软件过程的书籍和文章里,增量、迭代可以说是如雷贯耳,但也带来了概念上的混淆,不知道他们有什么共同之处和区别,甚至以为是同一个概念。下面也实例来说明他们有什么相似之处与不同之处。
        假设一个软件共有A、B、C、D、E五个功能,怎么来开发呢?
        我们可以五个功能同时做,由粗到细,逐步求精,最终完成整个软件。整个过程可以是先做出A、B、C、D、E五个功能的原型,然后完成他们的基本功能,接着对这些功能进行优化,最终得到功能完整的软件。这样的开发过程就是迭代模型。
        我们也可以由少多到的进行开发,先完成一部分功能,然后再完成一部分功能,直至完成整个软件。例如先开发出功能A、B,然后开发出功能C、D,最后开发出功能E。这样的开发过程就是增量模型。
        先对迭代、增量有了个感性认识,我们再看一看为什么要用这样的模型。对于一个软件来说,很难做到一步到位,就像吃东西一样,要一口一口的吃,想要把整个东西吞下去就容易噎着。于是,就出现了分阶段进行开发的模型,逐步达到目标,迭代模型、增量模型就是这样的。
        他们的共同点是,通过若干个阶段的开发,完成整个软件,每阶段完成之后,都有一个新版本发布。这就有一个好处,相对于整个漫长的开发周期来说,每阶段都会见到亮光,有利于鼓舞团队的士气,降低项目的风险。
        至于不同点,主要是阶段的划分上不太一样。增量模型是从功能量上来划分的,每阶段完成一定的功能。迭代模型是从深度或细化的程度来划分的,每阶段功能得到完善、增强
        增量模型适用于需求比较明确,架构比较稳定的软件开发,每次增量不影响已有的架构,在已有的架构下增加新的功能。迭代模型适用于需求不甚明确、难度比较大的软件开发。
        在实际应用中,增量、迭代经常一起使用,如迭代时加入新的功能进行开发,这也是他们经常一起出现的原因。我们在开发自己的软件时,需要根据软件项目的实际情况,进行不同的增量、迭代组合,以充分利用资源,降低项目风险。

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tsun7263/archive/2009/06/30/4311393.aspx

  • 相关阅读:
    OnWndMsg处理功能
    SpringMVC Ajax返回的请求json 的方式来解决在中国字符串乱码问题
    【Shell剧本练习】得出的结论是当前用户
    C++指针和引用简介
    HDU 3126 Nova [2009 Asia Wuhan Regional Contest Online]
    工作过程的编译器
    ubuntu selinux
    Maven创建工程 WEB
    Weblogic集群
    Dubbo
  • 原文地址:https://www.cnblogs.com/allenblogs/p/2068651.html
Copyright © 2011-2022 走看看