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 无删改 仅以此纪念陈皓(左耳朵耗子)
家里的台式机,有时候设置了休眠(已经黑屏),准备去干别的或者去睡觉。 在没碰鼠标和键盘的情况下(甚至离电脑桌都还有一段距离),屏幕被点亮了,能听到机箱内部也开始有轻微声音了。 …
各位大佬,小弟是一位交互设计师,现在领导分派了任务,要研究下运用 AI 技术实现设计稿转换为前端代码; 小弟毫无前端知识,完全没有方向。 求助各位大佬有没有一些开源的实现方案或…
本人 10t 的硬盘,都满了, 究其原因,大量重复文件.不同时期的系统镜像,手机照片的非增量备份.这些东西如果软件去重,会花费大量的时间, 有没有的类似网盘重复文件保留一份的方…