Refresh

This website coolshell.cn/articles/2941.html is currently offline. Cloudflare's Always Online™ shows a snapshot of this web page from the Internet Archive's Wayback Machine. To check for the live version, click Refresh.

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微信公众账号和微信小程序

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

——=== 访问 酷壳404页面 寻找遗失儿童。 ===——
好烂啊有点差凑合看看还不错很精彩 (14 人打了分,平均分: 3.14 )
Loading...

Waterfall 软件工程》的相关评论

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

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

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

发表回复

您的电子邮箱地址不会被公开。