当前位置: 首页 > article >正文

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

目录

瀑布模型

开发流程

开发特征

优缺点

适用场景

螺旋模型

开发流程

开发特征

优缺点

适用场景

增量与迭代开发

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

敏捷开发

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

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



http://www.kler.cn/a/273532.html

相关文章:

  • 为什么要使用Docker?
  • Echarts环形图引线设置
  • 如何对LabVIEW软件进行性能评估?
  • 【华为HCIP实战课程31(完整版)】中间到中间系统协议IS-IS路由汇总详解,网络工程师
  • 【系统架构设计师(第2版)】目录
  • clickhouse运维篇(三):生产环境一键生成配置并快速部署ck集群
  • Vue3学习日记 Day4 —— pnpm,Eslint
  • 软考真题详解-系统架构设计师-计算机基础知识(1)
  • 【精准】北斗同步时钟(北斗卫星授时服务器)助力医疗信息化
  • 生产环境中间件服务集群搭建-zk-activeMQ-kafka-reids-nacos
  • 深度解析大模型:概念、架构与应用价值
  • 20240318uniapp怎么引用组件
  • 苹果计划与谷歌合作使用Gemini AI技术,提升iPhone功能,同时探索与OpenAI合作可能性
  • WPF —— ListBox控件、GroupBox控件详解
  • linux安装WordPress问题汇总,老是提示无法连接到FTP服务器解决方案
  • Three.js--》探寻Cannon.js构建震撼的3D物理交互体验(一)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(画布组件:Canvas)
  • 从入门到精通:深入解析IO流之FileWriter类的使用技巧!
  • 能不能绕过c去学c++?
  • arm32机器的ubuntu1804的源突然不能update了
  • flutter使用记录(vscode开发)
  • 阿里巴巴国际站商品采集商品信息抓取API免费测试入口(英文商品信息跨境电商商品信息自动化抓取)
  • 05|输出解析:用OutputParser生成鲜花推荐列表
  • 使用JAXB生成XML的Java对象
  • Hive:数据仓库利器
  • 关系数据库标准语言SQL