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

软件工程----敏捷模型

定义:敏捷是指快速或适应性强的东西。基于迭代开发的软件开发方法称为“敏捷过程模型”。与瀑布模型不同,在软件测试的敏捷模型下,开发和测试操作都是同时进行的。

敏捷开发的核心价值

个体与交互重于过程和工具:强调高效沟通

可用的软件重于完备的文档:强调轻文档,文档不应该作为工作验收的标准

客户协作重于合同谈判:主动了解当下的需求

响应变化重于遵循计划:能够主动迎接变化。

轻文档、轻流程、重目标、重产出。

需求收集->设计需求->开发、迭代->测试->部署->审查、反馈

敏捷方法

Scrum

定义:Scrum是一种敏捷开发方法,专注于基于团队的开发环境中的任务管理。

Scrum Master:建立团队

Product Owner:创建产品积压工作

Scrum Team:团队组织和监督

Sprint:每次迭代都称为Sprint

Backlog:产品积压工作是一个列表,其中包含创建最终产品所需的所有信息

Sprint Backlog:开发里程碑

极限编程XP

当客户的需求或规格不断变化时,或者当他们不确定系统的功能时。

代码审查---测试---增量开发是有益的---简单---设计---集成测试

晶体方法论(水晶编程)

章程:创建开发团队,进行初步可行性分析,设计初始策略并微调开发方法是此阶段的一部分

循环交付:在主要开发期间,团队在两个或多个交付周期中更新和优化发布计划。通过一个或多个集成迭代地程序测试,实现需求的子集。一个完全集成的产品可供实际用户使用。

总结:此阶段包括部署到用户环境、部署后评审和反思等任务

动态软件开发方法(DSDM)

DSDM是一种软件开发快速应用程序开发技术,可提供敏捷的项目分发结构。用户必须主动连接才能使用DSDM,并且团队已被授予决策权限。DSDM采用以下技术:时间盒,MoSCoW规则,原型设计。

此方法涉及7个阶段,它们是:

项目前期

可行性研究

商业研究

功能模型迭代

设计和构件迭代

实现

项目后期

功能驱动开发(FDD)

功能驱动开发的主要目标是为客户提供及时更新的功能软件。在FDD的所有阶段,都需要报告和进度跟踪。“设计和构建”功能是此方法的核心。

生命周期:

构件模型

准备特征列表

根据功能进行规划

根据功能设计

根据功能构件

特点:

以客户为中心

短迭代是存在的,即FDD生命周期使用基本迭代和短迭代来有效地按计划完成工作,并保持大型项目的进行。

域模型和功能列表是在生命周期的前两个活动中构件的,而后两个活动则获得了70%以上的工作量

FDD确保定期向软件添加新功能,确保项目的长期成功。

精益软件开发(LSD)

即时生产的前提是精益软件开发过程的基础。其目标是在降低成本的同时加快软件开发速度。

开发过程:

摆脱浪费---促进学习---推迟承诺---及时交货---赋予团队全力---建立诚信---优化整个过程

敏捷模型

优势:

与客户进行一对一的沟通

持续交付

既高效又满足公司需求的设计

可以随时进行更新

减少了整体开发时间

客户满意度被定义为快速开发和交付有价值的软件

客户、开发人员和产品负责人经常会面,专注于客户的需求,而不是流程和工具

该产品开发迅速,并在几周内而不是一个月内定期提供

缺点:

对必要的设计和文档没有足够的关注

敏捷开发过程的成本比传统的开发成本略高

不适合小规模开发项目

项目专家有必要在会议期间做出批判性判断

如果项目经理不清楚他或她想要的要求和结果,项目很容易偏离轨道

一旦项目完成并且开发人员被分配到另一个项目,由于缺乏足够的文档,已完成项目的维护可能会变得具有挑战性。

相关文章:

  • 医疗UI的特殊法则:复杂数据可视化的“零错误”设计守则
  • MySQL 存储过程详解
  • 3D线上艺术展览:开启未来艺术观赏新纪元
  • 【 .sdL】具体解析方法思路和步骤
  • AGV入门基础问答
  • threeJs+vue 轻松切换几何体贴图
  • 【JAVA-数据结构】Map和Set
  • 2025-02-26 学习记录--C/C++-C语言 判断字符串S2是否在字符串S1中
  • 编写Redis开机自启动脚本
  • 《CentOS Stream 9 阿里云 yum 源修改:解锁系统更新新速度》
  • Unity百游修炼(3)——Tank_Battle(双人对战)详细制作全流程
  • Vue纷争:DefineProps 的作用是否因为DefineModel而减弱
  • 日语学习-日语知识点小记-构建基础-JLPT-N4N5阶段(12):普通(ふつう)形 :变化方式 :日常朋友家人之间对话
  • 基于SpringBoot + Spring AI + Vue的全栈AI对话系统开发全流程解析
  • 使用uniapp内置组件webview消息传递
  • Zookeeper(67) Zookeeper在HBase中的应用是什么?
  • MySQL进阶04-MVCC实现原理
  • Unity中动态切换光照贴图的方法
  • 京准电钟解读:为何不能用网络上的NTP时间源服务器
  • leetcode 1472. 设计浏览器历史记录 中等
  • 给政府做网站怎么报价/北京口碑最好的it培训机构
  • 宁波网络推广的公司报价/宁波seo费用
  • 做网站公司排行/南京seo培训
  • 滨湖区知名做网站价格/html制作网站
  • 软件外包公司创业/seo百度首页排名业务
  • 怎么做类似淘宝一样的网站/网站宣传推广方案