一.瀑布模型有以下优点:
1.为项目提供了按阶段划分的检查点。
2.当前一阶段完成后,您只需要去关注后续阶段。
3.可在迭代模型中应用瀑布模型。增量迭代应用于瀑布模型。迭代1解决最大的问题。每次迭代产生。
4.一个可运行的版本,同时增加更多的功能。每次迭代必须经过质量和集成测试。
5.它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
瀑布模型有以下缺点:
- 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
- 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
- 通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
- 瀑布模型的突出缺点是不适应用户需求的变化。
二、最近几年,不止一个人像Brooks一样得出相同的结论。有些人企图粉饰太平,假装正经,还有人通过制定技术标准的形式来达到类似立法的目的,希冀着在集市中引入秩序和结构。到目前为止,他们的努力全部以失败告终,因为在集市中迷失的这一代.COM神奇小子,从来就没有见过大教堂,也不可能知道你为什么需要大教堂,更不用说去想象教堂是个什么样子了。这么挖苦别人,其实我心里也很难过。真的,那些最需要看看《设计原本》的人,可能会发现这本书完全无法理解。但对于那些怀疑过构建一个Web浏览器居然要使用M4宏来配置autoconf,要写shell脚本,要检测26种Fortran编译器,而且又觉得这怎么说都有点南辕北辙的人,Brooks也谨慎地指出了方向:还有更好的方式。
三、通过学习软件工程方法论,学习系统的,科学的理论框架,吸收前人的经验,可以提高我们软件开发的速度和质量。