• 软件开发模型、瀑布模型、V模型、原型模型、增量模型、螺旋模型、喷泉模型


    一、瀑布模型

    1、概念

    • 是将软件的生命周期,按照活动的规律划分成若干个 依次线性连接的 结构。
    • 瀑布模型将软件划分成 定义阶段、开发阶段、运维阶段三个大的阶段。每个阶段的阶段成果出来之后,评审通过才会进入下一阶段。
    • 将整个过程分为 软件计划、需求分析、软件设计、程序编码、软件测试、运行维护。

    2、特点

    • 易理解。
    • 管理起来成本低。
    • 强调早期的需求分析阶段,需求需要明确。如果早期的需求分析阶段有问题,那么后期的软件设计、程序编码、软件测试就都会存在问题,如果在软件测试阶段发现问题再去解决问题,成本是很高的。

    3、缺点

    • 客户必须能够正确完整清晰的表达自己的需求。
    • 在定义阶段很难评估软件开发阶段的进度。由此会导致大量的测试工作在尾部时间节点进行,发现问题后修改成本高、软件质量可能会出问题,也会造成开发进度延期、成本超预算等问题。 

    4、应用场景

    • 主要用于需求明确、解决方案明确的项目。

    5、考点:瀑布模型的特点及适应场景

    二、V模型

    1、概念

    • 是对瀑布模型的改良,V模型纠正了瀑布模型中对软件测试阶段的不重视。

    2、特点

    • V模型中将软件测试阶段与系统开发阶段对应起来了,将软件测试分为4个阶段:单元测试、集成测试、系统测试、验收测试。
    • V模型的软件测试策略既包括低层测试(单元测试)又包括高层测试(验收测试)。

    3、缺点

    • V模型欸有从根本上解决瀑布模型的问题。由上图箭头的方向可知,单元测试开始依然实在程序编码阶段后,所以软件测试阶段相当于还是在项目交付之前的的尾部阶段进行的,软件质量依然可能会存在问题。

    4、应用场景

    • 主要用于需求明确、解决方案名曲、对性能、安全要求较高的项目。

    5、考点:V模型特点及应用场景

    三、原型模型

    1、概念

    • 始于沟通,需求分析人员和软件开发人员,与客户进行沟通了解需求后,快速做的一个模型,然后再与用户进行沟通,确认模型中展示的功能与用户需求不一致的地方并进行改进,经过多个这样的交流过程,最终能够明确用户的需求,最后将构建的原型转换成一个软件系统,这样过程叫做原型法。
    • 我们创建的体现系统核心功能的,可运行的一个版本,叫做原型。只是一个原型,可能是还没有开发实现的,例如一个简单的UI界面图。补充:原型分为抛弃型原型和演化型原型。
    • 原型法是明确用户的需求后再进行一步步开发,所以最终的交付只有 一次。

    2、特点

    • 最初不要求用户能够正确完整清晰的描述自己的需求。
    • 便于与用户进行沟通,明确用户的需求。

    3、缺点

    • 因为原型模型各个阶段都要求快速,所以整个软件生命周期中有部分工作是来不及做的,例如文档编写工作。
    • 采用抛弃型原型时,构建原型的工作可能会被浪费。

    4、应用场景

    • 主要用于需求不明确,需求动态变化(例如界面开发)的项目。

    5、考点:原型模型的特点及应用场景

    四、增量模型

    1、概念

    • 注意:不要将增量模型与原型模型中的演化型原型搞混淆。
    • 增量模型的最终交付有很多次。增量n次就会交付n次。
    • 增量模型结合了瀑布模型将软件生命周期按照活动规律分阶段,再结合原型模型不断地迭代的一种开发模型。

    2、特点

    • 客户只需描述出大概的、主要的需求,软件分析人员根据用户主要的需求梳理出用户的核心需求,基于核心需求开发第一个版本交付给用户使用。
    • 分阶段分批次逐渐的激发用户的需求。
    • 可以将复杂的系统分多次开发和交付,降低了整个系统失败的风险。

    3、缺点

    • 增量的粒度不好衡量。
    • 如果早期交付的系统在完整性、稳定性方面有问题,就增大了后期开发的复杂度,重新部署的难度等。

    4、应用场景

    • 主要用于需求大部分明确、系统较为复杂,有一定技术风险的项目。

    5、考点:增量模型的特点及应用场景

    五、螺旋模型

    1、概念

    • 螺旋模型采用周期性方法进行开发,结合了演化原型法和瀑布模型。

    2、特点

    • 具有原型的迭代,每一个迭代又分为需求计划的制定、风险的分析、实施、评审。
    • 螺旋模型最大的特点就是每一阶段都有风险分析。

    3、缺点

    • 风险分析需要有经验的分析人员来做,所以风险分析人员的经验会直接影响到这个项目的风险。

    4、应用场景

    • 主要用于庞大、复杂并具有高风险的系统。

    5、考点:螺旋模型的特点及应用场景

    六、喷泉模型

    1、概念

    • 以用户需求为动力,以对象为驱动的一种开发模型。

    2、特点

    • 喷泉模型的分析、设计、实现阶段可以重叠进行,开发人员可以边做分析边做实现,这样就节约了开发时间。
    • 由于阶段区分界限不是很明确,采用喷泉模型开发对文档要求比较严格。
    • 喷泉模型适用于面向对象开发的软件。

    3、缺点

    • 因为阶段划分不是很明确,所以项目初期就需要投入大量人员,人员多了不利于项目管理。
    • 对文档的审计难度会增加。
    • 面向对象开发过程中,信息和需求在不断地增加,使得管理起来比较复杂。

    4、应用场景

    • 主要用于采用对象技术的软件开发项目。

    5、考点:喷泉模型的特点及应用场景

  • 相关阅读:
    Accelerate 0.24.0文档 三:超大模型推理(内存估算、Sharded checkpoints、bitsandbytes量化、分布式推理)
    IoTBrowser V2.0:引领物联网时代的全新浏览器
    在一次又一次的失败中, 我总结了这份万字的《MySQL 性能调优笔记》
    ssh基于WEB的农产品销售管理系统
    MySQL基础学习总结(四)
    TiDB 工具下载
    Java学习路线(13)——Collection集合类:List集合与Set集合
    word技巧之--表格与文本的转换(WPS版)
    SpringBoot+Redis实现不重复消费的队列
    【笔记】javaweb万字学习笔记
  • 原文地址:https://blog.csdn.net/qq_46071165/article/details/126695267