下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

增量模型基础讲解

作者:课课家教育     来源: http://www.kokojia.com点击数:1419发布时间: 2017-04-25 08:00:37

标签: 计算机系统开发网络工程师网络规划设计师

想学设计?来看看大师是如何完成作品的?

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

增量模型基础讲解_计算机系统开发_网络工程师_网络规划设计师_课课家教育

     迭代模型和增量模型都属于并行开发的软件生命周期模型,但是这两个模型大家往往容易混淆或者不好理解。下面对两个模型的区别和相同之处做一下介绍。

  迭代是不能并行的,迭代的并行是指迭代任务,比如从3.1-3.31号是一个迭代计划,该迭代计划需求人员可以分析功能点5-功能点10,设计人员可以做功能点3-功能点7的设计,开发人员可以做功能点2-功能点4的开发,测试人员可以做上个迭代周期发布的代码。迭代的并行是指工作流的并行。

  大家看到迭代计划是比较复杂的,因此对项目经理的经验要求很高。

  增量模型一般是指具有底层框架和平台的项目,在该稳定的框架和平台上,来开发和增加具体的业务功能。每个增量之间相对独立,各个增量可以并行开发,比如:3.1-31号实现增量1(包含5的功能点),3.20-4.15开发增量2(包含另外的4个功能点)。增量内部是瀑布模型。

  两种类型的区别在于迭代是基于IBM的RUP的以架构为核心,用例为驱动,角色职责划分不同,在同一时刻项目内部需求、设计、编码、测试的活动都在发生。迭代适合需求不明确、架构风险大的项目,增量适合需求比较明确,架构比较稳定,而且增量功能的实现基本不影响架构。

  还有一个不同就是迭代计划是基于角色的,增量计划是基于任务的。

  两种类型的相同之处,每个迭代和增量结束后都有产品发布。

增量模型一般是指具有底层框架和平台的项目,在该稳定的框架和平台上,来开发和增加具体的业务功能。每个增量之间相对独立,各个增量可以并行开发,比如:3.1-31号实现增量1(包含5的功能点),3.20-4.15开发增量2(包含另外的4个功能点)。增量内部是瀑布模型。    两种类型的区别在于迭代是基于IBM的RUP的以架构为核心,用例为驱动,角色职责划分不同,在同一时刻项目内部需求、设计、编码、测试的活动都在发生。迭代适合需求不明确、架构风险大的项目,增量适合需求比较明确,架构比较稳定,而且增量功能的实现基本不影响架构。    还有一个不同就是迭代计划是基于角色的,增量计划是基于任务的。    两种类型的相同之处,每个迭代和增量结束后都有产品发布。

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

  又称演化模型。与建造大厦相同,软件也是一步一步建造起来的。在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成.增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。但是,增量模型也存在以下缺陷:

  (1)由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。

  (2)在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。

  在使用增量模型时,第一个增量往往是实现基本需求的核心产品。核心产品交付用户使用后,经过评价形成下一个增量的开发计划,它包括对核心产品的修改和一些新功能的发布。这个过程在每个增量发布后不断重复,直到产生最终的完善产品。

  例如,使用增量模型开发字处理软件。可以考虑,第一个增量发布基本的文件管理、编辑和文档生成功能,第二个增量发布更加完善的编辑和文档生成功能,第三个增量实现拼写和文法检查功能,第四个增量完成高级的页面布局功能。采用增量模型的软件过程如图1-8所示。

  增量模型(incrementalmodel)与原型实现模型和其他演化方法一样,本质上是迭代的,但与原型实现不一样的是其强调每一个增量均发布一个可操作产品。早期的增量是最终产品的“可拆卸”版本,但提供了为用户服务的功能,并且为用户提供了评估的平台。

  增量模型的特点是引进了增量包的概念,无须等到所有需求都出来,只要某个需求的增量包出来即可进行开发。虽然某个增量包可能还需要进一步适应客户的需求并且更改,但只要这个增量包足够小,其影响对整个项目来说是可以承受的。

例如,使用增量模型开发字处理软件。可以考虑,第一个增量发布基本的文件管理、编辑和文档生成功能,第二个增量发布更加完善的编辑和文档生成功能,第三个增量实现拼写和文法检查功能,第四个增量完成高级的页面布局功能。采用增量模型的软件过程如图1-8所示。    增量模型(incrementalmodel)与原型实现模型和其他演化方法一样,本质上是迭代的,但与原型实现不一样的是其强调每一个增量均发布一个可操作产品。早期的增量是最终产品的“可拆卸”版本,但提供了为用户服务的功能,并且为用户提供了评估的平台。    增量模型的特点是引进了增量包的概念,无须等到所有需求都出来,只要某个需求的增量包出来即可进行开发。虽然某个增量包可能还需要进一步适应客户的需求并且更改,但只要这个增量包足够小,其影响对整个项目来说是可以承受的。

  优点

  1)由于能够在较短的时间内向用户提交一些有用的工作产品,因此能够解决用户的一些急用功能。

  2)由于每次只提交用户部分功能,用户有较充分的时间学习和适应新的产品。

  3)对系统的可维护性是一个极大的提高,因为整个系统是由一个个构件集成在一起的,当需求变更时只变更部分部件,而不必影响整个系统。

  缺点

  增量模型存在以下缺陷:

  1)由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。

  2)在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而使软件过程的控制失去整体性。

  3)如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程。

  更多详细内容,尽在课课家教育,我们期待您的咨询!

赞(24)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程