1.开发分阶段
瀑布开发模式把软件项目的开发分隔成各个开发阶段,分别是:需求分析、要件定义、基本设计、详细设计、编码、单体测试、结合测试、系统测试等。
2.各个环节独立
设计、开发、测试、运维各个环节是独立的,当前一个环节完全搞定,下一个环节才开始介入。
3.能够简化项目控制
瀑布开发模式能够简化项目控制,并减少开发阶段不必要的跨团队交流。无需频繁修改计划,项目评估与管理也不再繁琐。
4.重视和强调过程文档
重视和强调过程文档,在开发的中后期才会看到软件原型,早起只能通过文档来了解系统的模样。在这种情况下,文档的重要性仿佛已经超过了代码的重要性。
5.没有迭代与反馈
瀑布模型对反馈没有涉及,所以对变化的客户需求非常不容易适应,瀑布就意味着没有回头路。
6.需求和开发周期固定
瀑布模型中认为,需求需要事先完整地确定下来,然后形成文档后交给开发进行架构、数据库、编码的设计。因此,瀑布开发模式的需求是固定的,其开发周期也是固定的。
瀑布开发和敏捷开发有哪些区别?
瀑布开发模式是重视阶段性产出文档以开启下一阶段,但也是需要迭代的。而敏捷开发模式则重视反馈,重视个人也就是人性,弱化文档的重要性也同样是使用迭代的生命周期,其流程也是需求分析、设计、开发和测试。瀑布开发和敏捷开发的主要区别有: 1.适用项目不同 瀑布式开发,要求明确的需求,大家按照需求一步步做好规划。这种模式一般适用于需求比较明确、to B 端项目。 敏捷开发,首先把客户最关注的软件原型先做出来,交付或者上线,在实际场景中去修改弥补需求中的不足,快速修改,再次发布版本。适用于需求不明确的项目、创新性的项目或者需要抢占市场的项目。 2.设计不同 瀑布模式下,一般都会做从上到下的设计,有个漫长的设计过程,设计人员做到看似完美,这个过程和提需求的人没有关系;而敏捷模式下,首要任务开发出原型。 3.研发不同 瀑布模式下,研发和业务接触相对较少,只需按 project 规划走即可;而敏捷模式下,有 4 个重要的会议,研发在开发的过程中能确认和需求的对接。 4.沟通不同 瀑布模式下,研发研发之间的沟通较多,讨论的技术较多;而敏捷模式下,不仅要讨论技术,还需要学习不同层面的沟通,学会分享,视团队为自己。