撰文/张恂
与瀑布模型相对的是 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,一个两次瀑布的迭代模型。
Winston Royce 的儿子、著名软件工程专家、RUP 创始人之一 Walker Royce 后来这样形容他父亲和那篇著名的文章:
好了,几十年来被大家所公认的“瀑布之父”其实一直倡导的是迭代、递增和演进式开发,他在那篇文章中描述的瀑布模型其实只是一种最简单的情况,并不是普遍适用的,现在看也不是一种先进、最佳的方案。怎么样,软件工程界的以讹传讹现象很严重吧,从 1970 年开始,一传就传了近 40 年!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21682039/viewspace-607945/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21682039/viewspace-607945/