ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 软件工程史上最大的误解:瀑布之父与瀑布的真相

软件工程史上最大的误解:瀑布之父与瀑布的真相

原创 Linux操作系统 作者:Craig_Larman 时间:2009-06-30 16:13:39 0 删除 编辑

撰文/张恂

与瀑布模型相对的是 IID(迭代递增式开发)模型。

Craig Larman 和 Victor Basili 教授在 2003 年发表于 IEEE Computer 杂志的封面文章《Iterative and Incremental Development: A Brief History》中为我们讲解了一段非常精彩的有关瀑布模型的历史故事,这也可以说是世界软件工程史最大的误解之一。

几十年来大家所熟悉的软件工程瀑布模型(waterfall model)概念,起源于 Winston Royce 发表于 1970 年的著名文章 "Managing the Development of Large Software Systems" (Proc. Westcon, IEEE CS Press, 1970, pp. 328-339)。自此,世界上很多人错误地认为 Royce 在这篇文章中倡导的是对于软件开发,尤其大型、复杂系统和产品的开发,应当采用当今大家早已烂熟于胸的瀑布模型,即一个严格、顺序(sequential)、单次(single-pass)的瀑布生命周期,包括需求分析阶段、设计阶段、实现阶段和测试阶段等等。

而实际上瀑布之父 Winston Royce 真正倡导的是什么?他建议的其实是 do it twice,一个两次瀑布的迭代模型。

If the computer program in question is being developed for the first time, arrange matters so that the version finally delivered to the customer for operational deployment is actually the second version insofar as critical design/operations areas are concerned.


Winston Royce 的儿子、著名软件工程专家、RUP 创始人之一 Walker Royce 后来这样形容他父亲和那篇著名的文章:

He was always a proponent of iterative, incremental, evolutionary development. His paper described the waterfall as the simplest description, but that it would not work for all but the most straightforward projects. The rest of his paper describes [iterative practices] within the context of the 60s/70s government-contracting models (a serious set of constraints).


好了,几十年来被大家所公认的“瀑布之父”其实一直倡导的是迭代、递增和演进式开发,他在那篇文章中描述的瀑布模型其实只是一种最简单的情况,并不是普遍适用的,现在看也不是一种先进、最佳的方案。怎么样,软件工程界的以讹传讹现象很严重吧,从 1970 年开始,一传就传了近 40 年!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21682039/viewspace-607945/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-05-18

  • 博文量
    7
  • 访问量
    14584