OOAD 3 迭代、进化和敏捷(Iterative,Evolutionary,and Agile)
介绍
- 迭代开发(Iterative development) 是OOAD成为最佳实践的核心。
- 敏捷实践/敏捷建模(Agile Modeling) 是有效地应用UML的关键。
modern approach vs traditional approach
- 迭代和进化式开发(iterative and evolutionary development):
- 短期快速的开发、反馈和适应来明
确需求和设计 - 对部分系统及早地引入了编程和测
试,并重复这一循环。
- 瀑布或顺序生命周期(waterfall or
sequential lifecycle)
试图在编程之前:
- (详细)定义所有或大部分需求
- 创建出完整的设计(或模型集)
Unified Process
UP所倡导的核心思想是:短时间定量迭代、进化和可适应性开发。
UP的四个阶段:
- 初始(inception) 大体上的构想、业务案例、范围和模糊评
- 细化(elaboration) 已精化的构想、核心架构的迭代实现、高风险的解决、确定
大多数需求和范围以及进行更为实际的评估 - 构造(construction) 对遗留下来的风险较低和比较简单的元素进行迭代实现,
准备部署 - 移交(transition) 进行beta测试和部署
迭代开发
优点:
- 减少项目失败可能性,提高生产率,降低缺陷率。对迭代和进化式方法的研究表明了这一点。
- 在早期缓解高风险
- 早期可见的进展
- 吗早期反馈、用户参与和调整,会产生更接近涉众真实需求的精化系统。
- 可控复杂性;团队不会被“分析瘫痪”或长期且复杂的步骤所淹没
- 一次迭代中的经验可以被系统地用于改进开发过程本身,并如此反复进行下去。
敏捷建模(Agile Modeling)
- 敏捷开发方法通常应用时间定量的迭代和进化式开发、使用自适应计划、提倡增量
- 交付并包含其他提倡敏捷性(快速和灵活的响应变更)的价值和实践。
- 采用敏捷方法并不意味着不进行任何建模,这是错误的理解
- 建模和模型的目的主要是用于理解和沟通,而不是构建文档
- 不要对所有或大多数软件设计建模或者应用UML
- 尽可能使用最简单的工具
OOAD 3 迭代、进化和敏捷(Iterative,Evolutionary,and Agile)相关推荐
- 浅谈软件研发模式中瀑布模型、迭代模型、敏捷模型
要比较模型的区别,首先说说什么叫软件开发.软件开发是一项包括版本计划.需求捕捉.需求分析.设计到代码编写.调试.维护的一系列过程.软件开发不仅仅是编程.而对于软件研发(Reserch and Deve ...
- 软件开发模式之瀑布式 | 迭代式 | 螺旋式 | 敏捷式
软件开发模式有瀑布.迭代.螺旋以及敏捷模式等等. (1)瀑布开发模式 瀑布模型是由W.W.Royce在1970年最初提出的软件开发模型, 瀑布式开发是一种老旧的计算机软件开发方法.瀑布模型式是最典型的 ...
- python实现迭代的快速排序(Iterative Quick Sort)
python实现迭代的快速排序(Iterative Quick Sort) 快速排序(Quicksort)是对冒泡排序算法的一种改进. 快速排序由C. A. R. Hoare在1960年提出.它的基本 ...
- 迭代最近点算法 Iterative Closest Points
研究生课程系列文章参见索引<在信科的那些课> 基本原理 假定已给两个数据集P.Q, ,给出两个点集的空间变换f使他们能进行空间匹配.这里的问题是,f为一未知函数,而且两点集中的点数不一定相 ...
- 迭代的快速排序(Iterative Quick Sort)
原文地址:Iterative Quick Sort 译者注:教科书中一般介绍的是递归的快速排序,当年在百度校招面试的时候被问到这个问题,没写出来,真是遗憾-- 下面是一种典型的递归的实现,用最后一个元 ...
- 瀑布式开发、迭代开发、敏捷开发的区别
瀑布式开发.迭代开发,区别[都属于,生命周期模型] 两者都是一种开发模式,就像设计模式一样,考虑的角度不一样,个人感觉谈不到取代一说. 传统的瀑布式开发,也就是从需求到设计,从设计到编码,从编码到测试 ...
- 敏捷框架SAFe(Scaled Agile Framework)实践
有关SAFe实质概要介绍 面向企业的Scrum-SAFe 常规的敏捷框架适用于中小型项目团队,而且不具有扩展性.基于常规的敏捷框架,SAFe定义了一个可扩展的敏捷框架模型,它适用于大型团队的合作开发, ...
- UML-2-迭代、进化和敏捷
1.UP UP:Unified Process,统一过程.RUP:Rational Unified Process,Rational 公司制定的UP,是对UP的精细化. UP的过程: 初始 不是需求, ...
- python日期迭代_计算敏捷项目中迭代时间安排(Python3版)
节奏是敏捷开发的核心,保持合理固定的节奏,能有效的促使各个环节协调统一,高效运行.针对产品的不同周期,方案有所不同. 迭代开发.jpg 通常,我们需要在一个时间盒中去分配一个项目中不同阶段的时间,在项 ...
- 瀑布模型、迭代模型和敏捷开发
瀑布模型: 瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开.将软件生命周期划分为制定计划.需求分析.软件设计.程序编写. ...
最新文章
- 生成对抗网络(GAN)的理论与应用完整入门介绍
- 学学这个垃圾×××网站怎么埋头赚大钱的!
- 数据库:SQL Server与MySQL
- webpack从入门到精通(二)开发环境的基本配置
- mysql 交集_MySQL 查询结果取交集的实现方法
- 里加一列为1_一素一菩提 @ 素牛排薯泥amp;百香龙珠气泡饮
- vba发送邮件 签名_如何更改“从Windows 10的邮件发送”签名
- C#23种设计模式WebCast讲解笔记大全(25讲)
- 数据结构链表之符号表,Python3实现——8
- Android下拉刷新效果实现
- lua笔记之userdata
- 深入浅出OOP(一): 多态和继承(早期绑定/编译时多态)
- 小米路由器梅林_小米路由器刷Merlin
- QQ拼音输入法实属流氓软件
- 计算机术语bisoin,[焦仔推荐]菜鸟起飞!让你清楚认识电脑BIOS(经典知识性文章)...
- 可用于近红外光谱数据分析的网上公开数据集
- Sicily 2014 Dairy Queen
- 薛定谔的猫、量子纠缠、和量子计算机
- 多元统计分析-橄榄油数据集
- 关于Tomcat在启动时的socket bind failed 730048 错误