原创

软件工程导论---第一章软件工程概述-2


软件工程-----第一章

1.软件过程


1.1瀑布模型

瀑布模型:说的直接点就是自顶向下,逐步细化,顺序性的开发过程模型。

  • 它的优点就是:1.每一模块之间的开发具有顺序性与依赖性(就是上一阶段的结束就是下一阶段的开始,两者相互依赖),2.程序代码推迟实现的特点(为什么说这是一个优点尼,因为软件开发是一个不急于求成的过程,只有前期准备的充分,后期的维护与修改的成本就会减少,这也就会避免导致软件危机)。3.质量比较有保证(每一阶段都有详细的说明文档,以后的维护与检查可以看说明文档进行)。
  • 它的缺点:在开发过程中,如果采取瀑布模型开发的话,最大的缺点就是如果后期发现问题,或者之前考虑不足的话,想要修改之前阶段开发的内容是非常困难的,因为每一阶段都是根据上一阶段内容进行开发与执行的。总的来说就是无法修改以前的错误。无反馈形式。

1.2快速原型模型

快速原型模型就是快速的简历用户所要的功能或者模块或者一个子模块,可以让用户真正的看到自己需求样式。这样 用户就可以按照快速开发出来的模块,提出自己的要求与不足的地方。

  • 它的优点:显而易见就是需求设计这方面更能满足用户的要求。用户可以提前适应这款软件。
  • 它的缺点:内部结构不好,质量低下,因为快速开发出来的软件在说明文档上与模块之间的内聚与耦合程度不一定号。这就导致了虽然系统设计出来了,但是系统内部构成与后期维护可能很难。

1.3 增量模型

所谓的增量模型就是把软件分为多个构件,每一个构件分别设计编码,集成与测试。每一个构建又由许多的模块构成并且完成特定的功能。

  • 它的优点:1.在较短的时间内完成部分用户所需要看到功能,同时也就是让用户提前熟悉软件。2. 结构开发,方便现有的软件添加新的功能与模块。
  • 它的缺点:对于开发者来说,必须有足够的开发经验,因为这种架构对于一般的开发者来说有点困难。需要高水平的开发人员。

1.4 螺旋模型

螺旋模型就是在增量模型上增加了风险分析(为什么加风险分析:1,假如开发出来的成本大于预算的成本,公司亏损。2,假如开发出来的软件别的公司已经开发出来,并且已经投入到市场运行,这对后期开发出来的软件是一种致命性的打击)所有在快速原型的基础上衍生出了螺旋开发模型的这种开发过程。

  • 它的优点:就是根据市场的变化合理的改变需求,降低开发成本与软件的开发风险。
  • 它的缺点:开发周期性长并且开发人员要有足够的洞察力和风险分析的能力,需要丰富的风险评估专家。 螺旋模型图

1.5喷泉模型

喷泉模型就是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。该模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。

  • 它的优点:该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。
  • 它的缺点:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。(以上是借鉴维基百科的内容---我可能称述不清楚)。

1.6其他开发过程模型

除了上面5中开发过程模型,还有许多的过程模型,比如Rational统一过程,他提供了理想开发环境软件开发过程的完美和完整的模式,是一个项目开发的良好开端。极限编程与敏捷过程,它硕士对不确定需求和变化快速反应的过程,更好的利用开发使用和有效的资源。还有微软过程,他是一个非常有效并且成功的有效过程,具有非常多的优点与特点,这里就不一一列举。 本章的 内容我自己就总结到这地方。

学习

评论