瀑布模型是现代软件工程的起源,软件工程的发展,很大部分都是构建于瀑布模型的基础之上的。起源是1970年,Winston Royce博士借鉴了建筑工程领域的思想,提出了瀑布开发模型,指出软件开发应有完整周期,把软件开发过程分成了若干阶段,类似于瀑布一样,从上往下,完成一个阶段继续下一个阶段。

    瀑布模型,像工厂流水线一样把软件开发分层化

瀑布模型把整个项目过程分成了六个主要阶段:

一、问题的定义及规划

    本阶段是需求方和开发方共同确定软件开发目标,同时做可行性研究,以确定项目可行,这个阶段产生需求文档和可行性研究报告

二、需求分析

    对需求方提出的所有需求要进行详细分析和反复确认,以保证能够充分理解客户需求,最终形成需求分析文档。

三、软件设计

    根据需求分析结果,对整个软件系统进行抽象和设计,如系统框架设计、数据库设计等,最终形成架构设计文档

四、程序编码

    将架构设计和界面设计的结果转换成计算机能运行的程序代码

五、软件测试

    编码完成后对可运行的结果对照需求分析文档进行严密测试,提Bug单,最终形成测试报告

六、运行维护

    软件开发完成正式投入使用,后续需要继续维护、修复错误和增加功能,交付时需要提供使用说明文档

瀑布模型因其简单可行,切实有效,在很多软件项目中快速应用起来,也有了“软件生命周期(Software Life Cycle,SLC)”概念。现在虽然瀑布模型已经不是最主流的开发模式,但是不管什么开发模式,需求、设计、编码和测试这四项活动都是起源于瀑布模型,也是瀑布模型中核心的部分。

    瀑布模型最大问题也就是不能及时响应需求变更,越到后期变更代价越大,而且通常要到后期才能看到项目结果是什么样子;这样会导致开发和测试阶段加班特别严重。

瀑布模型,像工厂流水线一样把软件开发分层化

总结:

    瀑布模型的出现,解决了软件项目开发中的几个重要问题:

  1. 让软件开发过程有序可控。瀑布模型每个阶段都有明确任务、交付产物和里程碑,整个过程可控,及早发现问题
  2. 让分工协作变成可能。瀑布模型的六个阶段,让软件开发产生基础分工:项目经理、产品经理、架构师、软件工程师、测试工程师、运维工程师。
  3. 质量有保障。瀑布模型每个阶段都需要交付相应的文档,文档的撰写和评审在动手之前都会把问题沟通清楚,编码结束后有严格的测试,测试验收通过才能部署上线,这让软件质量更有保障。

相关文章:

  • 2022-01-18
  • 2022-01-31
  • 2021-07-18
  • 2021-09-25
  • 2021-11-05
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-17
  • 2021-12-26
  • 2021-11-12
  • 2022-12-23
  • 2022-02-07
  • 2022-01-19
相关资源
相似解决方案