• 软件工程学习5-瀑布模型总结


    1 瀑布模型怎么来的?

    (1)所谓软件危机

    瀑布模型算是现代软件工程的起源,软件工程的发展,很大部分都是构建于瀑布模型的基础之上的。在校期间做的项目相对简单,通常不会涉及到诸如性能测试等,通常为边写边改,但是一旦

    项目变复杂,开发人员水平参差不齐,从而导致软件开发与维护过程中出现一系列严重问题,这个现象也被称之为“软件危机”。

    (2)边写边改的缺点

    • 开发的过程不可控
    • 项目的人数多了以后,不方便协作分工
    • 对需求分析的理解误差,导致返工,从而影响项目交付
    • 没有有效的测试,上线问题一堆

    (3)瀑布模型的诞生

      1970 年,Winston Royce 博士借鉴了其他工程领域的思想,比如建筑工程,提出了瀑布开发模型,指出软件开发应有完整之周期,并将软件开发过程分成了若干阶段。像瀑布一样,从上往下,完成一个阶段继续下一个阶段

     2 瀑布模型案例

    按照一个我曾经毕业设计的案例

    (1) 项目的定义和规划

      毕业设计是做一个c++的网络嗅探器,所用库为libpcap,可行性没问题,老师大概给我说了下需要做哪些功能,然后说两个月完成吧。啊,你怕是在开玩笑,当时读本科一天天都是在摸鱼。。初步定下时间吧

           需求分析——1 周;
      软件设计——1周;
      程序编码——4 周;
      软件测试——1周。

    的确如此,软件测试在当时开来就是功能测试,实现功能就完事,哎!!!

    (2) 需求分析阶段

      通过查看论文文献,使用viso画了一个项目的结构图,然后去和老师讨论,然后加了一些需求,并需要形成文档,然后再和老师谈论,最终确定了需求的文档,现在的时间变成这个样子。

           需求分析——2周
      软件设计——1周;
      程序编码——3 周;
      软件测试——1周。

           需求阶段多花了一周时间,这样子程序的编码就被压缩了一周,因为需要在规定的时间尽量完成任务嘛,毕业要紧!!

    (3) 软件的设计

      这个时候,老师就对应公司里面的架构师角色,画了一个图说明采用什么架构,用什么来界面展示,数据库采用什么。差不多就确定了,但是我写了差不多一周代码后,老师问我进展,需要我加上一些数据包统计功能等

    这样子前前后后,软件的设计花了两周的时间。

         需求分析——2周;
      软件设计——2周
      程序编码——2 周
      软件测试——1周。

    (4)编码

      有了文档,开始编码,时间压缩了很多,加班呀,使劲加班!!但是身体受不了,只好问老师能不能往后延迟两周,编码,调试,有时候老师还要加功能,前前后后差不多花了4周时间。这样子相当于项目延期2周。

      需求分析——2周;
      软件设计——2周;
      程序编码——4周
      软件测试——1周。

    (5)测试

      前期需求多了一周,软件设计多花了一周,在既定的时间里,只能压缩编码和测试的时间,加班!!

    综上可知,这样子分层的思想,的确可以在每一步的实施上面可以效率比较高,这种编码前先设计、编码后测试、整个过程重视文档的方式,开发出来的产品,质量相对是有保障的。但是一旦前面某个环节出了问题,返工的操作不是延期就是压缩编码测试的时间。从而成了9116.。。。。。

    3 瀑布模型的优缺点

      最大的问题就是不能及时响应需求变更,越到后期变更代价越大

    优点

    • 简单易行
    • 可以进行阶段检查,能够及时发现问题
    • 较好的分工协作,不同阶段不同职位,架构师,项目经理,开发工程师,测试工程师,运维工程师
    • 对质量有一定的保障,因为每个阶段有详细的文档

    缺点

    • 难以响应需求的变更
    • 工作量分配不均匀
    • 前期阶段受阻压缩后期进展

    4 总结

      瀑布模型的出现,也解决了软件项目开发中的几个重要问题。进行了模块划分,各个阶段负责各个阶段的内容,所谓分工明确。质量有了保证,每个阶段都有相应的文档评审,可以帮助大家少走弯路,提高工作效率。

  • 相关阅读:
    Scala入门基础1
    LitePal数据库的基本操作
    Android操作SQLate数据库
    Android广播的使用(自定义广播和本地广播)
    Android广播的使用(动态注册和静态注册)
    Android碎片的使用
    linux--硬链接与软连接
    linux下python环境的搭建
    系统时间的修改
    linux命令--文件和目录管理
  • 原文地址:https://www.cnblogs.com/lanjianhappy/p/11934284.html
Copyright © 2020-2023  润新知