【软工视频】-开发模型

什么是软件开发模型?

  软件开发模型是指软件开发全过程、的活动和任务的结构框架。软件开发包括:需求、设计、编码、和测试几个阶段,有时也包括运行和维护阶段。

软件开发模型分为哪些种类:

  1.边做边改模型
  2.瀑布模型
  3.快速原型模型
  4.增量模型
  5.螺旋模型
  6.演化模型
  7.喷泉模型
  8.智能模型
  9.混合模型
  10.RAD模型

软工视频中讲了几类?
【软工视频】-开发模型

要掌握的几种模型:

一、瀑布模型

【软工视频】-开发模型
  定义:瀑布模型是将软件的生存周期中的各项活动按规定顺序连接而成所形成的阶段工作,形式像瀑布流水,最终得到软件产品。

  思想:功能的实现与设计分开,便于分工协作。

优点:

1.为项目提供了按阶段划分的检查点
2.奠定了软件工程方法的基础、
3.流水依赖便于分工协作、
4.易于修改文档

缺点:

1.各个阶段的划分完全固定,每个阶段之间产生大量的文档,极大的增加了工作量。
2.开发模型为线性的,用户只能等到整个过程的末期才能见到开发结果,增加了开发风险
3.通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
4.瀑布模型的突出缺点是不适应用户需求的变化。

二、b模型

【软工视频】-开发模型
 在瀑布模型基础上加了维护循环的过程,保证了软件开发更加完善,维护的工作量不能超过软件开发工作的一半,超过就不用维护,就成为二次开发。

特点:注重开发过程,维护成本比较高。

三、快速原型模型

【软工视频】-开发模型
  定义:快速原型模型需要迅速建造一个可以运行的软件原型 ,以便理解和澄清问题,使开发人员与用户达成共识,最终在确定的客户需求基础上开发客户满意的软件产品。

优点:

1.克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险.(这种模型适合预先不能确切定义需求的软件系统的开发)

缺点:

选用的开发技术和工具不一定符合主流的发展,建立起来的系统结构连续的修改会导致产品质量低下。

四、演化模型

 定义:根据用户需求,快速分析并构造出软件一个初始可运行版本,初始的通常称为原型,然后根据用户在使用原型的过程中提出意见和建议对原型进行改进,获得一个原型的新版本。

优点:

1.第一次完成检验需求分析是否正确,在第一次开发基础上,在进行开发。

2.开发中的经验教训反馈应用于本产品的下一个循环过程,大大提高质量与效率。

缺点:

1.缺乏严格的过程管理的话,这个生命周期模型很可能退化为一个原始的无计划的“试错改”模式。

2.不加以控制地让用户接触开发汇总尚未测试稳定的功能,可能对开发人员及用户都产生负面的影响。

五、螺旋模型

【软工视频】-开发模型
 采用一种周期性的方法进行系统开发,会导致开发出众多的中间版本。

分四个象限:

    指定计划:确定软件目标,选定实施方案,理清楚项目开发的限制条件
   风险分析:评价所选的方案,识别风险,消除风险
   实施工程:实施软件开发,验证工作产品
   客户评估:评价开发工作,提出修正建议,指定下一步计划。

限制条件:适应于大型软件项目的开发

优点:

1.设计上的灵活性,可以在项目的各个阶段进行变更。
2.以小的分段来构建大型系统,使成本计算变得简单容易。

缺点:

建设周期长

螺旋模型项目适用:

1.对于新近开发,需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。

2.螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。

六、喷泉模型

【软工视频】-开发模型
1.迭代:重复、演进

优点:

1.喷泉模型的各个阶段没有明显的界限,开发人员可以同步进行开发。

2.可以提高软件项开发效率,节省开发时间,适应于面向对象的软件开发过程。

缺点:

1.各个阶段是重叠的,开发过程中需要大量开发人员,不利于项目管理。
2.喷泉模型要求严格管理文档,审核难度加大,

七、 原型(渐增型):

基本思想:允许从部分需求出发,先建立一个不全面的系统通过测试这个系统,进一步使系统扩充和完善。

优点:

开发的始终开发人员和用户都共同参与,有问题可以随时修改,从而很好的满足了用户的需求。

适用范围:适用与那些知识型软件系统的开发

特点:

1.从整体结构上步入瀑布模型清晰。
2.软件的文档步入瀑布模型的划分严格
3.周期长,成本高
4.与用户见面块,开发效率高

八、变换型

思想:从软件需求的形式规格说明出发,经过一系列的程序变化,得到最终结果。

特点:有严格的数学理论和形式化的技术支持,但目前在研究和实验阶段,不能实用。

喷泉型:认为软件的各个周期是相互重叠的和多次反复的

螺旋型:多次原型反复并增加风险评估的开发模型