了解常用开发模型 -- 瀑布模型、螺旋模型、增量与迭代、敏捷开发

目录

瀑布模型

开发流程

开发特征

优缺点

适用场景

螺旋模型

开发流程

开发特征

优缺点

适用场景

增量与迭代开发

什么是增量开发?什么是迭代开发?

敏捷开发

什么是敏捷开发四原则(敏捷宣言)?

[什么是 scrum 框架?](#什么是 scrum 框架?)

[scrum 框架中的三大角色分别是什么?](#scrum 框架中的三大角色分别是什么?)

[scrum 框架的基本工作流程](#scrum 框架的基本工作流程)


瀑布模型

开发流程

问题定义 => 可行性研究 => 需求分析 => 计划 => 设计 => 编码 => 测试 => 上线运维


开发特征

  • 线性顺序开发

优缺点

  • 优点:

    • 通过早期计划及需求调查等工作,在每个开发阶段都有明确的阶段性目标。
  • 缺点:

    • 由于项目的测试在最后阶段 ,发现问题时项目已经基本完成,此时则需要重新回溯至问题阶段排查问题,这可能导致许多前期工作变成无用功,增加了开发风险。

    • 需求明确后就不再更改,不能适应需求变化的情况。

    • 由于是线性顺序开发,开发中获得的经验教训无法反哺本项目。


适用场景

  • 小型项目开发

螺旋模型

开发流程

  • 循环执行如下步骤:

    1. 客户需求沟通

    2. 方案计划及目标拟定

    3. 风险分析

    4. 计划实施、编码、测试

    5. 成果评估


开发特征

  • 渐进式迭代开发

优缺点

  • 优点:

    • 全过程风险分析管理,每个阶段都进行质量及风险验证。

    • 阶段性总结经验教训,可以反哺本项目。

    • 阶段性对项目可行性进行评估,控制沉没成本。

  • 缺点:

    • 严格的计划和进度控制,风险的识别、分析、控制,这些都使得投入的人力财力大大增加,对管理水平提出了更高的要求。

适用场景

  • 适用于规模庞大、复杂度高、风险大的项目

增量与迭代开发

什么是增量开发?什么是迭代开发?

  • 增量开发是在项目基础上不断根据需求进行扩展 ,优点是显著降低项目风险,结合需求持续构建。

  • 迭代开发是指原项目满足基本需求后就上线,后续才在原基础上不断细化迭代,做到迅速投产,逐步优化。


敏捷开发

什么是敏捷开发四原则(敏捷宣言)?

四原则包括:

  • 个体与交互重于过程和工具

  • 可用的软件重于完备的文档

  • 客户协作重于合同谈判

  • 响应变化重于遵循计划


什么是 scrum 框架?

  • 敏捷开发是一种思想,而scrum框架就是这种思想的具体实现,是一种基于持续学习和需求多变的启发式框架。

scrum 框架中的三大角色分别是什么?

  • scrum 框架通常具备三大角色:

    • product owner(产品经理人):简单理解,产品经理人面向需求,主要负责整合客户需求,并传达给项目经理。

    • scrum master(项目经理):简单理解,项目经理面向行动,主要负责研发团队的调度安排,进度计划的把控。

    • team(研发团队):简单理解,进行具体工作的一大帮人。


scrum 框架的基本工作流程

  • 基本流程

    • product backlog/产品需求

    • sprint backlog/计划安排

    • Sprint/具体实施

    • daily scrum meeting/每日例会

    • Sprint Review/迭代评审

    • Sprint Retrospective/迭代回顾总结


相关推荐
泽众云测试17 小时前
国产化替代国外性能测试工具推荐:泽众PerformanceRunner
软件测试·测试工具·性能测试
尚云第三方软件测试3 天前
第三方软件测试公司怎么做接口测试?用例设计、工具链与常见漏测场景
软件测试·软件验收测试·第三方软件测试公司
j7~5 天前
【软件测试】(用例篇)
软件测试·测试用例·测试用例的设计方法·场景设计·错误猜测法·测试用例的粒度和评价
.又是新的一天.6 天前
AI接口测试03(操作数据库/管理文档/mock/自动化测试/定时任务/AI导师)
软件测试·测试工具·接口测试·apifox
zuozewei6 天前
第00篇-为什么是-k6-AI-时代的工具选型
软件测试·jmeter·性能测试·ai测试·k6
测试者家园16 天前
不写测试用例也能做自动化测试?
自动化测试·软件测试·人工智能·测试用例·智能化测试
爱学习的执念25 天前
助力金九银十1000道软件测试面试题(功能、接口、自动化、WEB、APP.......)附答案
软件测试·面试