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

目录

瀑布模型

开发流程

开发特征

优缺点

适用场景

螺旋模型

开发流程

开发特征

优缺点

适用场景

增量与迭代开发

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

敏捷开发

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

[什么是 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/迭代回顾总结


相关推荐
测试老哥3 天前
Jmeter自动化性能测试常见问题汇总
自动化测试·软件测试·测试工具·jmeter·接口测试·压力测试·性能测试
测试19983 天前
Web自动化测试:测试用例流程设计
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
测试老哥5 天前
pytest+requests+allure自动化测试接入Jenkins学习
自动化测试·软件测试·学习·测试工具·职场和发展·jenkins·pytest
程序员三藏6 天前
Selenium+python自动化测试:解决无法启动IE浏览器及报错问题
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
程序员曦曦9 天前
10:00开始面试,10:06就出来了,问的问题有点变态。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
天才测试猿9 天前
常见的Jmeter压测问题
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·压力测试
天才测试猿10 天前
接口自动化测试难点:数据库验证解决方案
自动化测试·软件测试·数据库·python·测试工具·职场和发展·接口测试
CoCode88812 天前
破解测试数据困境:5招兼顾安全与真实性
软件测试·cocode自动生成测试用例·测试数据·测试场景真实性