第一种瀑布模型

什么是瀑布模型?瀑布模型是在1970年由温斯顿·罗伊斯(Winston Royce)提出,它将软件的逻辑实现和物理实现分开,将功能的实现与设计分开,它定义了6个阶段,制定计划->需求分析->系统设计->编码->测试->运行维护,这个软件开发过程就按照该6个阶段展开,层层递进,就像瀑布一样,一层一层往下落,所以叫做瀑布模型。


瀑布模型实际就是一个项目开发的架构,软件开发的过程就是按照这一些列定义好的顺序展开。在软件工程才刚刚开始的早期阶段,瀑布模型的提出,使人们开始以工程化和工序化的眼光看待软件开发过程。(软件有架构,软件开发的过程一样有架构)


瀑布模型的优点:1,非常清晰的定义出了软件开发过程的六个阶段,软件开发团队只需要按照定义好的阶段按部就班的做该阶段的工作就是了

                2,工序化,流水线式的作业,已完成的阶段,不需要关注

缺点:1,只适用于前期需求非常清晰且明确,并且在开发过程中需求不会变动,遇到需求不明且变动频繁的情况,采用该模式,项目失败的风险是非常之高。

      2,软件产品只有在软件全部开发完成之后,才会呈现给用户,如果遇到开发出来的产品不满足用户需求,失败的风险也是非常之高

      3,软件测试在软件开发完成之后开始进行,在这个阶段发现出来的缺陷,去修复的成本是非常之高,软件测试并没有贯穿这个项目周期。


总结:在软件工程思想刚刚兴起的时候,瀑布模型无疑是一种非常优良的管理软件开发过程的模式,但是随着软件变得越来越复杂,用户的需求变得越来快且要求越来越多,要求交付的时间变短,这种模式无疑是无法满足的,且得及其的笨重和缓慢,所以在当下更加流行的是敏捷开发模式,与其说流行不如说该模式更符合当下软件开发的现状,更能更快更好的满足用户的需求,但是瀑布模型做为一种经典的开发模式,也是值得去细细玩味的。