2 ruoyeknight RuoYeKnight 于 2015.06.02 14:01 提问

关于增量模型和快速原型模型

这两个的区别具体在哪里?我看这两个都会发布出可运行的软件...另外增量模型的增量怎么理解?是增加功能吗?

我现在完成的软件是,先实现每个界面间的跳转,形成一个可运行的版本,然后逐步添加功能,这算是增量还是快速原型呢?

谢谢!

4个回答

guwei4037
guwei4037   Ds   Rxr 2015.06.02 14:14
已采纳

增量模型融合了瀑布模型的基本成分(重复应用)和原型实现的迭代特征,该模型采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。当使用增量模型时,第1个增量往往是核心的产品,即第1个增量实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。

快速原型模型又称原型模型,它是增量模型的另一种形式;它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。例如,客户需要一个ATM机软件,可以先设计一个仅包含刷卡、密码检测、数据输入和账单打印的原型软件提供给客户,此时还不包括网络处理与数据库存取以及数据应急、故障处理等服务。快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。

很多时候我们开发没有绝对的用哪个模型,往往都是模型的综合体。至于你说的属于快速原型模型。

wsh1992o
wsh1992o   Rxr 2015.06.02 15:07

快速原型模型的优点:(1)可以得到比较良好的需求定义,容易适应需求的变化;(2)有利于开发与培训的同步;(3)开发费用低、开发周期短且对用户更友好。
快速原型模型的缺点:(1)客户与开发者对原型理解不同;(2) 准确的原型设计比较困难;(3) 不利于开发人员的创新。
快速原型模型的使用范围:(1)对所开发的领域比较熟悉而且有快速的原型开发工具;(2)项目招投标时,可以以原型模型作为软件的开发模型;(3)进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的。

增量模型的优点:(1)采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源;(2)如果核心产品很受欢迎,则可增加人力实现下一个增量;(3)可先发布部分功能给客户,对客户起到镇静剂的作用。
增量模型的缺点:(1)并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构;(2)增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
增量模型的使用范围:(1)进行已有产品升级或新版本开发,增量模型是非常适合的;(2)对完成期限严格要求的产品,可以使用增量模型;(3)对所开发的领域比较熟悉而且已有原型系统,增量模型也是非常适合的。

devmiao
devmiao   Ds   Rxr 2015.06.02 21:03

增量迭代模型能够很好的控制前期风险并解决这些风险。例如要开发A、B、C、D四个业务功能,每个功能都需要开发两周的时间。则对于增量方法而言可以将四个功能分为两次增量来完成,第一个增量完成A、B功能,第二次增量完成C、D功能;而对于迭代开发来将则是分两次迭代来开发,第一次迭代完成A、B、C、D四个基本业务功能但不含复杂的业务逻辑,而第二个功能再逐渐细化补充完整相关的业务逻辑。如果遇到风险,那么最迟在第一周就可发现并设法解决。
螺旋模型考虑到了项目风险,螺旋模型的每一次循环都包含了以下步骤:
  1. 制定计划,确定目标、替代方案和约束
  2. 风险分析,识别和解决项目的风险
  3. 项目实施,开发和验证项目产品本次版本
  4. 客户评估,评估下一循环的技术方案和替代解决方案,当发现无法继续进行下去时可以及早的终止项目
瀑布模型要求软件开发严格按照需求→分析→设计→编码→测试的阶段进行,每一个阶段都可以定义明确的产出物和验证准则。瀑布模型在每一个阶段完成后都可以组织相关的评审和验证,只有在评审通过后才能够进入到下一个阶段。
对于前期需求不明确,而又很难短时间明确清楚的项目则很难很好的利用瀑布模型。
快速原型模型是本着开发人员对用户需求的初步理解,先快速开发一个原型系统,然后通过反复修改来实现用户的最终系统需求。
而面向对象方法则把客观事物归类为一个一个的对象,然后研究对象之间的消息传递机制,以实现系统。

sumcul
sumcul   2015.06.09 11:42

两个类似但是有区别。
快速原型主要解决两类问题:
一是在需求不是很明确的情况下,通过快速原型,与你的客户共同理解需求,达成对需求的理解;
二是到遇到一个技术实施难点,有多种选择的时候,你需要构建快速技术原型,来选择和验证技术可行性;
增量迭代模型是每个迭代周期发布的都是客户使用的业务功能;然后再下一个迭代周期里,进行增加新的功能或者优化现有功能。
提倡短迭代周期,与自动化测试、持续集成和持续交付等技术结合起来。
提倡用户和技术人员形成一个团队,面对面的沟通交流,在此过程中解决问题。
迭代研发模型:比较流行的是scrum,现在看板也比较流行,可以关注。

Csdn user default icon
上传中...
上传图片
插入图片