Waterfall 软件工程

Waterfall 软件工程

《Royce, Winston (1970), “Managing the Development of Large Software Systems”Proceedings of IEEE WESCON 26 (August): 1–9. 》,这篇文章向你说明了软件工程鼻祖“Waterfall”的工程模型,这是40年前的论文,其中的十张插图很有强大,抽出来,让我们来看看什么叫Waterfall软件工程。

首先,让我先看一下小的程序是怎么做的,呵呵,很简单,两步。

接下来,就是我们最经典的Waterfall软件工程模型了,用户需求,软件需求,需求分析,设计,编码,测试,运维。

为了保证每个步骤都能正确实施,于是,每个步骤之间需要有一定的交互,这是我们所希望的样子。


然后,不幸的是,我们总是在测试的时候发现了设计甚至需求的问题,因此,不得不让我们返工。

为了解决上面的“返工”问题,我们可以使用下面的几步来解决。

第一步,叫Preliminary Design,程序设计先行,确定在进入需求分析之前,我们的概要设计要完整。

第二步,我们叫Document Design,书写设计文档,确认我们的设计是完整的。看到了吧,总共6个文档,1)软件需求,2)概要设计,3)接口设计,4)各种最终设计,5)测试设计/计划,6)测试结果。流程开始变得复杂了。

第三步,我们叫“Do it Twice”,双保险,把文档了的东西试着预先走一遍,看看能否成为最终产品。

第四步,计划,控制和监控测试。哇,流程很乱了。

第五步,用户介入,全程review各个环节。

好了,问题解决了,让我们看看最终的“无比强大的”——Waterfall软件工程模型!

现在,当你在使用waterfall开发软件的时候,知道为什么痛苦了吧,40年前就已经如此了。

下面是《Lone Star Ruby Conference 2010》的一个演讲叫《Real Software Engineer》,没有字幕,但我个人感觉英文很容易听懂,英文好的同学不妨看看。

(转载本站文章请注明作者和出处 酷 壳 – CoolShell ,请勿用于任何商业用途)

好烂啊有点差凑合看看还不错很精彩 (14 人打了分,平均分: 3.14 )
Loading...

Waterfall 软件工程》的相关评论

  1. 楼主需要再看一遍(虽然你觉得貌似容易听懂),视频里说的是这个waterfall model是不行的,另外,这篇论文本意是说waterfall来管理大规模软件开发是不能胜任的。演讲者举这篇论文时候提到了, 这篇论文是想说waterfall不行,但是却被大多数读了论文的人以为他主张应该用waterfall(由于写作水平问题)。
    所以不是“现在,当你在使用waterfall开发软件的时候,知道为什么痛苦了吧,40年前就已经如此了。” ,而是论文作者被误解了40年…

  2. @shell
    看来酷壳的很多读者还不习惯我的写作风格,当然,这已经不是第一次了。大家觉得我这篇文章是说Waterfall强大?还能能从我这篇文章中看出我鼓励大家使用waterfall了?!真的太娱乐大众了。呵呵。我这样讥讽和调侃waterfall,我这样娱乐大家都没有让大家看明白?!

  3. 陈皓同学博客的留言有很多装逼的主,还装得一本正经,曲解了博主的意思还误导订阅者

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注