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

撰文/张恂

与瀑布模型相对的是 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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21682039/viewspace-607945/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值