常见的敏捷开发框架

news/2024/5/5 15:05:28/文章来源:https://blog.csdn.net/bo_mask/article/details/126951636

读书笔记《敏捷测试:以持续测试促进持续交付》

极限编程

极限编程(eXtreme Programming,XP)是一种软件工程方法学, 是敏捷软件开发中最富有成效的几种方法学之一,基本思想是“沟通、 简单、反馈、勇气”。

一次迭代包括如下阶段:

  • 计划:选择要实现的用户故事及其要明确的细节。
  • 编码:实现用户故事。
  • 测试:至少每个类都要有相应的单元测试。
  • 验收测试:用来验证交付的软件是否满足用户需求。如果测试 成功,那么新功能开发完成;如果失败,则进入下一个迭代,直至验收 测试通过。

image.png
极限编程的优秀实践:
image.png
极限编程的特点:

  • 快速反馈
  • 假设简单 (任何问题都可以简单的方式解决,传统系统开发需要考虑未来的变化,代码的可重用性。极限编程拒绝这样做)
  • 增量变化 (例如:每三个星期发布一个包含小变化的新版本,小步前进)
  • 包容变化

行为驱动开发

image.png

行为驱动开发(behavior-driven development,BDD)是一种敏捷开 发的技术,可以看作验收测试驱动开发(acceptance test-driven development,ATDD)的延伸,在软件设计、编程前用场景来定义用户故事的验收标准,通过场景来澄清需求。ATDD只是强调在开发前要先 明确每个用户的验收标准。

行为书写格式
行为书写格式
故事标题(描述故事的单行文字)
As a[角色]
I want to[功能]
So that[利益] (用一系列的场景来定义验证标准)
场景标题(描述场景的单行文字)
Given[前提条件]
And[更多的条件]…
When[事件]
Then[结果]
And[其他结果]…


行为实例
故事:账户持有人提取现金
As a[账户持有人]
I want to[从ATM提取现金]
So that[可以在银行关门后取到钱]
场景:账户有足够的资金
Given[账户余额为100]
And[有效的银行卡]
And[提款机有足够的现金]
When[账户持有人要求取款20]
Then[提款机应该分发20]
And[账户余额应该为80]
And[应该退还银行卡]

特性驱动开发

特性驱动开发(feature-driven development,FDD)是由彼得·科 德、杰夫·德·卢卡、埃里克·勒菲弗共同开发的一套针对中小型软件开发 项目的开发模式。

FDD是一个以架构(architecture)为中心的,采用短迭代期,特性 (feature)驱动的开发过程。它首先对整个项目建立一个全局的模型轮 廓,然后通过两周一次的基于特性设计(design by feature)、基于特性 构建(build by feature)的迭代完成项目开发。此处的“特性”是指“用户 眼中最小的、有用的特性、功能”,它是可理解的、可度量的,并且可 以在有限的时间内(两个星期)实现。

image.png

Scrum开发框架

Scrum(源于:英 式橄榄球运动)将软件开发团队比拟成橄榄球队,有明确的最高目标, 熟悉开发流程中所需具备的最佳典范与技术,具有高度自主权、高度自 我管理意识,紧密地进行沟通与合作,以高度弹性的方式面对各种挑 战,确保每天、每个阶段都向着目标明确地进行推进。

Scrum开发流程通常以2~4周(或者更短的一段时间)为一个阶 段,以客户提供新产品的需求规格开始,开发团队与客户于每一个阶段 开始时按优先级挑选应该完成的部分,开发团队必须尽力在这个阶段交 付成果。团队每天用15分钟开会检查每个成员的进度与计划,了解所遇 到的困难并设法解决。

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_10783.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue 中 父子组件值交互怎么使用 this.$emit

前提条件 父页面:代号爸爸子界面一号:代号 儿子一号子界面二号:儿子二号 父子配合 首先儿子一号有一个点击方法 点击后出发 爸爸的 changeType 方法 爸爸中怎么接收 爸爸接收儿子一号的值 改变 this.sortType 符合条件会触发儿子二号 …

MYSQL 自动补全工具

MYSQL自动补全工具 1、yum install -y python3 #安装Python 更换PIP源 1、mkdir -p ~/.pip 2、vim pip.conf [global] index-url https://pypi.tuna.tsinghua.edu.cn/simple [install] trusted-host https://pypi.tuna.tsinghua.edu.cn 1、pip3 install --upgrade pip #更新 …

Hash,位图,布隆过滤器

文章目录哈希概念哈希冲突哈希函数除留余数法--(非常常用)直接定址法--(常用)平方取中法--(了解)折叠法--(了解)随机数法--(了解)数学分析法--(了解 )哈希冲突解决闭散列闭散列代码关键码函数扩容插入删除find全部代码开散列代码InsertFindErase迭代器全部代码闭散列…

`Promise`全面解析

Promise入门 1.Promise介绍 1.1 理解 1.抽象表达 Promise是一门新的技术(ES6规范) Promise是JS中进行异常编程的新解决方案 备注:旧方案是单纯使用回调函数【】 2.具体表达 从语法上来说:Promise是一个构造函数从功能上来说…

计算机毕业设计 SSM+Vue钢材销售管理系统 建材物资销售平台 钢材建材管理系统 Java

计算机毕业设计 SSM+Vue钢材销售管理系统 建材物资销售平台 钢材建材管理系统 Java💖🔥作者主页:计算机毕设老哥🔥 💖精彩专栏推荐订阅:在 下方专栏👇🏻👇🏻👇🏻👇🏻Java实战项目专栏 Python实战项目专栏 安卓实战项目专栏 微信小程序实战项目专栏目…

核心交换机、汇聚交换机、接入交换机的概念

先从百度上扒几个图下来看看。 我是外行。看了很多的网络拓扑图,这些拓扑图里面包含很多的设备,共有的设备包括服务器,防火墙,交换机,路由器。先从交换机入手,解释下基本概念,学习下。 核心交换…

常用设计模式学习总结

设计模式是人们经过长期编程经验总结出来的一种编程思想。随着软件工程的不断演进,针对 不同的需求,新的设计模式不断被提出(比如大数据领域中这些年不断被大家认可的数据分片思 想),但设计模式的原则不会变。基于设计…

ArcGIS 底图服务前端加载某些级别不显示问题

一、只前面几个级别 在js中加载,只能显示前面几级切片,放大到4,5级之后就无法放大。 分析原因 前一次发布切片,切片了5级之后的切片。 第二次发布切片时,出现了大比例尺图层组级别在ArcMap中没有勾选显示图层&#x…

【js】获取未来七天日期判断星期几

作为一个前端你要自给自足,自己造数据(内心:有一句mmp不知道当讲不当讲) 要求: .获取未来七天的日期和星期几,遍历数组进行渲染,要求从明天开始,不算今天 效果图如下:&a…

中国20强游戏公司2022上半年年报分析:复合因素下业绩增长承压,海外新兴市场蕴含增长新趋势

易观分析:2022上半年,国内游戏版号恢复发放、海外新兴市场迅速崛起,游戏行业迎来新转折点,但新游匮乏、买量效果差、投融资事件减少等因素仍持续影响行业发展。关注头部上市游戏企业上半年财务表现,可深入了解行业当下…

ubuntu18.04安装pcl1.9.1

ubuntu18.04安装pcl1.9.1所需的cmake3.14.3和vtk8.2.0 先安装Qt5,X11,OpenGL 根据VTK的要求要先安装Qt5,X11,OpenGL 根据 官方文档 ,先更新qt5的依赖,python、Perl、Ruby 再进入 官网 下载Qt5:https://download.qt.…

诡异的定时任务-quartz

引出问题 现在是2022年9月19日14:38:19 定时任务上一次执行的时间是2022-09-14 15:03:12.620 将近5天的时间没执行。 造成的结果是,数据没入库。 上次重启是2个月之前。2022-7-21 上午9:52 肯定是有问题的。需要排查下原因。 解决步骤 使用的是quartz 看…

Flutter快学快用03 Hello Flutter:三步法掌握 Flutter,开始你的第一个应用

本课时将进入 Flutter 开发实践应用。在进入实践应用之前,我先讲解最基础的环境搭建,然后会应用 Dart 语言开发第一个 App — Hello Flutter,最后再讲解一些开发过程中常用的调试方法和工具。 本课时需要一定的实践动手能力,因此…

关于java中的反射,我只能努力到这一步了

文章目录反射是什么反射的用途反射的缺点反射的基本运用获取Class 类对象类相关的反射获取包名获取supperClass获取Public成员类获取声明的类获取所有Public构造方法获取泛型参数获取实现的接口获取所有Public方法获取所有Public字段获取所有注释获取权限修饰符字段相关反射获取…

基于注解实现缓存的框架 -- SpringCache

目录 1、介绍 2、注解 3、 入门案例 3.1 环境准备 3.2 CachePut注解 3.3 CacheEvict注解 3.4 Cacheable注解 3.4.1 测试 3.4.2 缓存非null值 4 、集成Redis 1、介绍 Spring Cache是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解…

Java开发学习---Maven私服(二)本地仓库访问私服配置与私服资源上传下载

一、本地仓库访问私服配置 我们通过IDEA将开发的模块上传到私服,中间是要经过本地Maven的 本地Maven需要知道私服的访问地址以及私服访问的用户名和密码 私服中的仓库很多,Maven最终要把资源上传到哪个仓库? Maven下载的时候,又需要携带用…

花了 3000 美元,我在 SaaStr 大会学到了什么?——码农驱动的 SaaS 增长之路

Michael Yuan,WasmEdge Runtime 创始人SaaStr 是 SaaS 领域最具影响力的大会之一。 历经疫情阴霾,SaaStr 盛会2022年再次归来。尽管 SaaS 估值如过山车一般疯涨又跌落,但即使在当下所谓的萧条中,SaaS 公司和产品的收入也在以前所未…

点成分享 | 带你了解移液器的原理及其分类

移液器,全称叫微量移液器,也叫移液枪、取样枪,是实验室定量移取微量液体体积的精密仪器,一次可量取0.1μL-10mL的液体,可实现精准的液体配比转移,多用于环境检测、医学实验室、生物技术实验室、食品检测实验…

一次明白 JDBC,ORM,JPA,SpringDataJPA 之间的关系

java持久层框架访问数据库一般有两种方式: 以SQL为核心,封装JDBC操作,如:MyBatis以java实体类为核心,将实体类和数据库表之间映射的ORM框架,比如:Spring Data JPA和Hibernate 接下来就是详细的…

青岛大学数据结构与算法——第4章

一 概述 串数组广义表 二 串 串定义:定义、串名、串值、串长、子串/真子串、字符位置、空格串 案例:病毒感染检测 串类型定义、存储结构及其运算 定义:ADT String 操作:strAssign、strCompare、strLength、concat、其他 存储…