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

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

目录

瀑布模型

开发流程

开发特征

优缺点

适用场景

螺旋模型

开发流程

开发特征

优缺点

适用场景

增量与迭代开发

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

敏捷开发

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

什么是 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.lryc.cn/news/320993.html

相关文章:

  • 使用 Vue CLI 创建一个 Vue2 项目
  • Linux工具 - 耀眼的git
  • Spring Security的开发
  • C语言 实用调试技巧
  • GPT的实现细节
  • docker安装Milvus
  • HTML静态网页成品作业(HTML+CSS)——世博园介绍(2个页面)
  • 微信小程序订阅消息授权弹窗事件
  • 谷歌的后量子密码学威胁模型
  • 机器人在果园内行巡检仿真
  • 蓝桥杯算法基础(14):十大排序算法(归并排序)c语言版
  • 力扣刷题(DAY09-DAY11)
  • IPC之管道
  • VUE-组件间通信(二)$emit
  • java 程序连接 redis 集群 的时候报错 MUTLI is currently not supported in cluster mode
  • AVP-SLAM:自动泊车系统中的语义SLAM_
  • PHP反序列化--pop链
  • 单片机中的几种周期(振动/时钟,状态,机械,指令周期)表示的含义(51为例)
  • Spring Boot+Vue前后端分离项目如何部署到服务器
  • 【学习总结】Ubuntu中vscode用ROS插件调试C++程序
  • html--蝴蝶
  • 线程的 sleep()方法和 yield()方法有什么区别?为什么 Thread 类的 sleep()和 yield ()方法是静态的?
  • Java进阶 Maven基础
  • Spring Boot(六十八):SpringBoot 整合Apache tika 实现文档内容解析
  • jQuery+CSS3自动轮播焦点图特效源码
  • 面试经典150题(114-118)
  • HTML表单标签详解:如何用HTML标签打造互动网页?
  • Web 服务器-Tomcat
  • (德迅零域)微隔离安全平台是什么,有什么作用?
  • 这些问题,每年软考报名时都有人问