该增量逼近采用的步骤,一组号码,从开始发展去完成的进展的线性路径。
增量开发是从设计,实施,测试/验证,维护开始的步骤。这些可以进一步细分为子步骤,但是大多数增量模型都遵循相同的模式。该瀑布模型是一个传统的增量发展的道路。
该迭代方法具有的步骤没有定数,而发展是周期完成。
迭代开发与跟踪单个功能的进度无关。取而代之的是,重点放在首先创建可用的原型上,并在开发周期中添加功能,在这些开发周期中,每个周期都要完成增量开发步骤。敏捷建模是一种典型的迭代方法。
增量模型最初是按照工厂中使用的传统装配线模型开发的。不幸的是,软件设计和开发与制造实物几乎没有共同点。代码是蓝图,而不是开发的成品。在开发过程中经常会“发现”好的设计选择。在没有适当上下文的情况下将开发人员锁定在一组假设中,可能会导致最佳情况下的设计不佳,或者在最坏的情况下导致开发完全脱轨。
迭代方法现在变得越来越普遍,因为它更适合软件开发的自然发展路径。迭代方法无需花费大量时间/精力根据假设去追求“完美的设计”,而只是创建“足够好”的东西来开始并不断发展以满足用户的需求。
tl; dr-如果您是在增量模型下撰写论文,那么您将尝试一次从头到尾完美地撰写一篇论文。如果您是在“迭代模型”下编写的,则需要快速草拟并通过一系列修订阶段对其进行改进。
更新:
我修改了“渐进方法”的定义,以适应更实际的示例。
如果您曾经不得不处理合同问题,那么增量合同就是大多数合同(特别是军事合同)的执行方式。尽管典型的“瀑布模型”有许多细微的变化,但实际上大多数/所有模型都是以相同的方式应用的。
步骤如下:
- 合同授予
- 初步设计审查
- 关键设计评论
- 规格冻结
- 发展历程
- 实地/整合
- 验证
- 可靠性测试
PDR和CDR是创建和修改规范的地方。规范完成后,应将其冻结以防止示波器蠕变。如果使用该软件扩展现有系统,则会发生集成。验证用于检查应用程序是否符合规范。可靠性是一项测试,以证明应用程序在长期内将是可靠的,可以将其指定为类似于SLA(服务水平协议),其中系统需要维持一定百分比的正常运行时间(例如3个月的正常运行时间为99%) )。
该模型非常适合直接在纸上指定但难以生产的系统。很难在纸上指定任何详细程度的软件(例如UML)。负责管理/合同的大多数“业务类型”都没有意识到,就软件开发而言,代码本身就是规范。纸质规范通常需要花费与代码本身一样多的时间/精力来编写,而且在实践中通常证明不完整/劣等。
增量方法通过将代码本身视为规范来尝试浪费时间/资源。代码本身不需要经过多个修订周期,而不是通过多个修订步骤来运行纸张规范。