【软件工程】几种常见的软件开发模型:(瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)模型的概念特点优点缺点和不同。

(瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)各种模型的概念特点优点缺点和不同。

(张海藩,吕云翔)著-软件工程 复习记录

文章目录

  • 一、瀑布模型
  • 二、快速原型模型
  • 三、增量模型
  • 四、螺旋模型
  • 五、喷泉模型
  • 六、参考资料

一、瀑布模型

在20 世纪80 年代之前,瀑布模型一直是唯一被广泛采用的生命周期模型。现在,它仍然是软件工程中应用最广泛的过程模型。如图所示为传统的瀑布模型。

【软件工程】几种常见的软件开发模型:(瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)模型的概念特点优点缺点和不同。

当在后面阶段发现前面阶段的错误时,需要沿图中左侧的反馈线返回前面的阶段,修正前面阶段的产品之后再回来继续完成后面阶段的任务。

  1. 优点:
    (1) 可强迫开发人员采用规范的方法
    (2) 严格地规定了每个阶段必须提交的文档
    (3) 要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证

  2. 缺点:
    (1) “瀑布模型是由文档驱动的”,在可运行的软件产品交付给用户之前,用户只能通过文档来了解产品是什么样的。很可能导致最终开发出的软件产品不能真正满足用户的需求。

"瀑布模型是由文档驱动的“这个事实也是它的一个主要缺点。在可运行的软件产品交付给用户之前,用户只能通过文档来了解产品是什么样的。要求用户不经过实践就提出完整准确的需求,在许多情况下都是不切实际的。总之,由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。

二、快速原型模型

快速原型(rapid prototype)是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。下图描述了快速原型模型(图中实线箭头表示开发过程,虚线箭头表示维护过程)。

【软件工程】几种常见的软件开发模型:(瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)模型的概念特点优点缺点和不同。

增量模型

  1. 与瀑布模型和快速原型模型的不同:
    采用瀑布模型或快速原型模型开发软件时,目标都是一次就把一个满足用户需求的产品提交给用户。增量模型则与之相反,它分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。
  2. 优点:
    (1) 能在较短时间内向用户提交可完成一些有用的工作的产品
    (2) 逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。
    (3) 缺点:
    增量模型本身是自相矛盾的。它一方面要求开发人员把软件看做一个整体,另一方面又要求开发人员把软件看做构件序列,每个构件本质上都独立于另一个构件。除非开发人员有足够的技术能力协调好这一明显的矛盾,否则用增量模型开发出的产品可能并不令人满意。

增量模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。整个软件产品被分解成许多个增量构件,开发人员一个构件接一个构件地向用户提交产品。每次用户都得到一个满足部分需求的可运行的产品,直到最后一次得到满足全部需求的完整产品。

能在较短时间内向用户提交可完成一些有用的工作的产品,是增量模型的一个优点。增量模型的另一个优点是,逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。
使用增量模型的困难是,在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品。此外,必须把软件的体系结构设计得便于按这种方式进行扩充,向现有产品中加入新构件的过程必须简单、方便。也就是说,软件体系结构必须是开放的。

从长远观点看,具有开放结构的软件拥有真正的优势,这种软件的可维护性明显好于封闭结构的软件。尽管采用增量模型比采用瀑布模型和快速原型模型需要更精心的设计,但在设计阶段多付出的劳动将在维护阶段获得回报。如果一个设计非常灵活而且足够开放、足以支持增量模型,那么这样的设计将允许在不破坏产品的情况下进行维护。

四、螺旋模型

在软件开发过程中必须及时识别和分析风险,并且采取适当措施以消除或减少风险的危害。构建原型是一种能使某些类型的风险降至最低的方法。降低交付给用户的产品不能满足用户
需要的风险。

  • 螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险。理解这种模型的一个简便方法,是把它看做在每个阶段之前都增加了风险分析过程的快速原型模型,如图所示。图中带箭头的点画线的长度代表当前累计的开发费用,螺线旋过的角度值代表开发进度。

【软件工程】几种常见的软件开发模型:(瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)模型的概念特点优点缺点和不同。

喷泉模型

为避免使用喷泉模型开发软件时开发过程过分无序,应该把一个线性过程(例如,快速原型模型或螺旋模型中的中心垂线)作为总目标。但是,同时也应该记住,面向对象范型本身要求经常对开发活动进行迭代或求精。

六、参考资料

[1] 张海藩,吕云翔. 软件工程(第4版)[M]. 北京:人民邮电出版社,2013 软件工程
[2] 张海藩,吕云翔. 软件工程(第4版)学习辅导与习题解析[M]. 北京: 人民邮电出版社,2013

来源:渐若窥宏大

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年10月17日
下一篇 2019年10月18日

相关推荐