介绍

  • 迭代开发(Iterative development) 是OOAD成为最佳实践的核心。
  • 敏捷实践/敏捷建模(Agile Modeling) 是有效地应用UML的关键。

modern approach vs traditional approach

  • 迭代和进化式开发(iterative and evolutionary development)
  1. 短期快速的开发、反馈和适应来明
    确需求和设计
  2. 对部分系统及早地引入了编程和测
    试,并重复这一循环。
  • 瀑布或顺序生命周期(waterfall or
    sequential lifecycle)

    试图在编程之前:
  1. (详细)定义所有或大部分需求
  2. 创建出完整的设计(或模型集)

Unified Process

UP所倡导的核心思想是:短时间定量迭代、进化和可适应性开发。

UP的四个阶段:

  1. 初始(inception) 大体上的构想、业务案例、范围和模糊评
  2. 细化(elaboration) 已精化的构想、核心架构的迭代实现、高风险的解决、确定
    大多数需求和范围以及进行更为实际的评估
  3. 构造(construction) 对遗留下来的风险较低和比较简单的元素进行迭代实现,
    准备部署
  4. 移交(transition) 进行beta测试和部署

迭代开发

优点:

  1. 减少项目失败可能性,提高生产率,降低缺陷率。对迭代和进化式方法的研究表明了这一点。
  2. 在早期缓解高风险
  3. 早期可见的进展
  4. 吗早期反馈、用户参与和调整,会产生更接近涉众真实需求的精化系统。
  5. 可控复杂性;团队不会被“分析瘫痪”或长期且复杂的步骤所淹没
  6. 一次迭代中的经验可以被系统地用于改进开发过程本身,并如此反复进行下去。

敏捷建模(Agile Modeling)

  • 敏捷开发方法通常应用时间定量的迭代和进化式开发、使用自适应计划、提倡增量
  • 交付并包含其他提倡敏捷性(快速和灵活的响应变更)的价值和实践。
  • 采用敏捷方法并不意味着不进行任何建模,这是错误的理解
  • 建模和模型的目的主要是用于理解和沟通,而不是构建文档
  • 不要对所有或大多数软件设计建模或者应用UML
  • 尽可能使用最简单的工具

OOAD 3 迭代、进化和敏捷(Iterative,Evolutionary,and Agile)相关推荐

  1. 浅谈软件研发模式中瀑布模型、迭代模型、敏捷模型

    要比较模型的区别,首先说说什么叫软件开发.软件开发是一项包括版本计划.需求捕捉.需求分析.设计到代码编写.调试.维护的一系列过程.软件开发不仅仅是编程.而对于软件研发(Reserch and Deve ...

  2. 软件开发模式之瀑布式 | 迭代式 | 螺旋式 | 敏捷式

    软件开发模式有瀑布.迭代.螺旋以及敏捷模式等等. (1)瀑布开发模式 瀑布模型是由W.W.Royce在1970年最初提出的软件开发模型, 瀑布式开发是一种老旧的计算机软件开发方法.瀑布模型式是最典型的 ...

  3. python实现迭代的快速排序(Iterative Quick Sort)

    python实现迭代的快速排序(Iterative Quick Sort) 快速排序(Quicksort)是对冒泡排序算法的一种改进. 快速排序由C. A. R. Hoare在1960年提出.它的基本 ...

  4. 迭代最近点算法 Iterative Closest Points

    研究生课程系列文章参见索引<在信科的那些课> 基本原理 假定已给两个数据集P.Q, ,给出两个点集的空间变换f使他们能进行空间匹配.这里的问题是,f为一未知函数,而且两点集中的点数不一定相 ...

  5. 迭代的快速排序(Iterative Quick Sort)

    原文地址:Iterative Quick Sort 译者注:教科书中一般介绍的是递归的快速排序,当年在百度校招面试的时候被问到这个问题,没写出来,真是遗憾-- 下面是一种典型的递归的实现,用最后一个元 ...

  6. 瀑布式开发、迭代开发、敏捷开发的区别

    瀑布式开发.迭代开发,区别[都属于,生命周期模型] 两者都是一种开发模式,就像设计模式一样,考虑的角度不一样,个人感觉谈不到取代一说. 传统的瀑布式开发,也就是从需求到设计,从设计到编码,从编码到测试 ...

  7. 敏捷框架SAFe(Scaled Agile Framework)实践

    有关SAFe实质概要介绍 面向企业的Scrum-SAFe 常规的敏捷框架适用于中小型项目团队,而且不具有扩展性.基于常规的敏捷框架,SAFe定义了一个可扩展的敏捷框架模型,它适用于大型团队的合作开发, ...

  8. UML-2-迭代、进化和敏捷

    1.UP UP:Unified Process,统一过程.RUP:Rational Unified Process,Rational 公司制定的UP,是对UP的精细化. UP的过程: 初始 不是需求, ...

  9. python日期迭代_计算敏捷项目中迭代时间安排(Python3版)

    节奏是敏捷开发的核心,保持合理固定的节奏,能有效的促使各个环节协调统一,高效运行.针对产品的不同周期,方案有所不同. 迭代开发.jpg 通常,我们需要在一个时间盒中去分配一个项目中不同阶段的时间,在项 ...

  10. 瀑布模型、迭代模型和敏捷开发

    瀑布模型: 瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开.将软件生命周期划分为制定计划.需求分析.软件设计.程序编写. ...

最新文章

  1. 生成对抗网络(GAN)的理论与应用完整入门介绍
  2. 学学这个垃圾×××网站怎么埋头赚大钱的!
  3. 数据库:SQL Server与MySQL
  4. webpack从入门到精通(二)开发环境的基本配置
  5. mysql 交集_MySQL 查询结果取交集的实现方法
  6. 里加一列为1_一素一菩提 @ 素牛排薯泥amp;百香龙珠气泡饮
  7. vba发送邮件 签名_如何更改“从Windows 10的邮件发送”签名
  8. C#23种设计模式WebCast讲解笔记大全(25讲)
  9. 数据结构链表之符号表,Python3实现——8
  10. Android下拉刷新效果实现
  11. lua笔记之userdata
  12. 深入浅出OOP(一): 多态和继承(早期绑定/编译时多态)
  13. 小米路由器梅林_小米路由器刷Merlin
  14. QQ拼音输入法实属流氓软件
  15. 计算机术语bisoin,[焦仔推荐]菜鸟起飞!让你清楚认识电脑BIOS(经典知识性文章)...
  16. 可用于近红外光谱数据分析的网上公开数据集
  17. Sicily 2014 Dairy Queen
  18. 薛定谔的猫、量子纠缠、和量子计算机
  19. 多元统计分析-橄榄油数据集
  20. 关于Tomcat在启动时的socket bind failed 730048 错误

热门文章

  1. 京东 Android 客户端样式的级联地址选择器
  2. 随机生成20以内加减法,5次答题并统计正确和错误题数
  3. 蘑菇街服务器信息,蘑菇街开放平台
  4. 计算机基础知识整理--概述
  5. 01-css3动画之过渡详解 以及 实战纯css打造手风琴图片特效
  6. halcon第七讲:基于训练学习的颜色检测
  7. revit常用机电工具,如何实现管线快速翻弯
  8. CSS 网页定位与布局
  9. 大厂面试通行证- Java基础
  10. layim即时通讯实例各功能整合