`
maqianli
  • 浏览: 175308 次
  • 性别: Icon_minigender_1
  • 来自: 长春市
社区版块
存档分类
最新评论

迭代、进化和敏捷

    博客分类:
  • UML
阅读更多

 第二章      迭代、进化和敏捷



什么是UP?

UP:统一过程,已经成为一种浒的构造面向对象系统的迭代软件开发过程。
迭代开发:是UP和大多数其他现代方法中的关键实践。
迭代:固定的短期小项目。每次迭代都产生测试、集成并可执行的局部系统(某项功能)。每次迭代都有各自的需求分析、设计、实现和测试活动(每次迭代就可看成一次瀑布)。
迭代和增量式开发:对经过多次迭代的系统进行持续扩展和精化,并以循环反馈和调整为核心驱动力,使之最终成为适当的系统。一次又一次的迭代递进,系统增量式地发展完善,因此称为迭代和增量式开发。
迭代的开发优点:
*      减少项目的失败可能,提高生产率、降低缺陷率。
*      在早期缓解高风险。
*      早期可见的进展。
*      早期反馈、用户参与调整,会产生更接近涉众真实的需求的精化系统。
*      可控制复杂性;不会被复杂的步骤所淹没。
*      一次迭代中的经验可以被系统地用于改进开发过程本身,并如此反复下去。
反馈和改写的必要性:
*      来自早期开发中的反馈,有助于程序设计人员理解规格说明,客户演示也有助于精化需求。
*      来自测试中的反馈,有助于开发者精华设计或模型。
*      来自团队处理早期特性过程中的反馈,有助于精华时间和估计。
*      来自客户和市场的反馈,有助于重新定义下一次迭代实现特性的优先级。
什么是敏捷方法及其观点
敏捷开发:方法通常应用时间定量的迭代和进代式开发、使用自适应计划、提倡增量交付并包含其他提倡敏捷性(快速和灵活的响应变更)的价值和实践。
敏捷宣言和原则

敏捷宣言:
个体和迭代,超越过程和工具。
工作的软件,超越完整的文档。
客户协作,超载合同谈判。
响应变更,超载履行计划。

敏捷原则:
*      优先级最高的是,通过早期和持续音乐会有价值的软件来满足客户。(功能分类)
*      欢迎变更需求,敏捷过程为客户的竞争优势而控制变更。
*      频繁地交付可运行的软件。
*      人员合作。
*      由个体推动项目的建设,为个体提供所需的环境、支持和信任。
*      人员交流。
*      衡量进展的尺度是可运行的软件。
*      提倡可持续开发。
*      发起人、开发者和用户应该步调一致。(人员配合着眼一致)
*      关注技术上优越的设计,提高敏捷性。
*      简洁是最重要的。(简单就是美)
*      团队
*      反省如何使工作更有效,然后相应地调整行为。

什么是敏捷建模:
建模的真正行为是能够为理解问题或解决问题提供更好的方式。将这种观点与敏捷方法称为敏捷建模

敏捷UP:UP可以采纳和应用可适应性和轻量级的精神—敏捷UP。
UP应用示例:
*      推荐使用UP活动和制品简集。
*      UP是迭代和不断进化的,所以在实现前的需求和设计是不完整的。
*      以敏捷建模实践应用UML。
*      对于整个项目不应有详细计划。(只能预先对一个迭代制定迭代计划)
UP所倡导的核心思想是:短时间定量迭代、进化和可适应性开发。其他一些UP的最佳实践和关键概念如下:
*      在早期迭代中解决高风险和高价值的问题。
*      不断地让用户参与评估、反馈和需求。
*      在早期迭代中建立内聚的核心架构。
*      不断地难质量;提早、经常和实际地测试。
*      在适当的地方使用用例。
*      进行一些可视化建模。
*      认真管理需求。
*      实行变更请求和配置管理。
什么是UP的阶段:
1.      初始:
大体上的构想、业务案例、范围和模糊评估。(立项阶段)
2.      细化:精化构想、核心架构的迭代实现、高风险的解决、确定大多数需求和范围以及进行更为实际的评估。(功能需求)
3.      构造:对遗留下来的风险较低和比较简单的元素进行迭代实现,准备部署。(开发实现)
4.      移交:进行测试和部署。(交付使用)
什么是UP科目:
科目也称为流程。UP科目也就是UP流程。
UP中的几个科目:
1.      业务建模:领域模型制品,使应用领域中的重要概念可视化。
2.      需求:用以捕获功能需求和非功能需求的用例模型及其补充性的规格说明制品。
3.      设计:设计模型制品。

分享到:
评论

相关推荐

    UML和模式应用(1)

    第一部分:绪论 第一章:面向对象分析和设计 第二章:迭代进化和敏捷 第三章:案例研究

    UML和模式应用(Applying UML and Patterns)

    第2章 迭代、进化和敏捷 2.1什么是uP?其他方法能否对其 进行补充 2.2什么是迭代和进化式开发 2.3什么是瀑布生命周期 2.4如何进行迭代和进化式分析和 设计 2.5什么是风险驱动和客户驱动的 迭代计划 2.6什么是敏捷方法...

    UML和模式应用(原书第3版).pdf

    第2章 迭代、进化和敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代和进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代和进化式分析和设计 2.5 什么是风险驱动和客户驱动的迭代计划 2.6 ...

    敏捷开发V1.0.pptx

    敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把...

    华为敏捷开发介绍.ppt

    华为敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发,颇具指导意义

    02-iteractive.ppt

    面向对象分析与设计第二章 迭代、进化和敏捷 你应该只在想取得成功的项目上实施迭代开发 – Martin Fowler

    浅谈敏捷开发中的设计.doc

    敏捷开发在当今业界已经大行其道,想要快速交付,采用敏捷...敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发,不过,想要真正做到快速交付,合理地根据实际情况采用敏捷开发才是正确的方式。

    UML和模式应用(架构师必备).part06.rar

    第2章 迭代、进化和敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代和进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代和进化式分析和设计 2.5 什么是风险驱动和客户驱动的迭代计划 2.6 什么...

    UML和模式应用(架构师必备).part01.rar

    第2章 迭代、进化和敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代和进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代和进化式分析和设计 2.5 什么是风险驱动和客户驱动的迭代计划 2.6 什么...

    UML和模式应用(架构师必备).part07.rar

    第2章 迭代、进化和敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代和进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代和进化式分析和设计 2.5 什么是风险驱动和客户驱动的迭代计划 2.6 什么...

    UML和模式应用(架构师必备).part02.rar

    第2章 迭代、进化和敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代和进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代和进化式分析和设计 2.5 什么是风险驱动和客户驱动的迭代计划 2.6 什么...

    UML和模式应用(架构师必备).part03.rar

    第2章 迭代、进化和敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代和进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代和进化式分析和设计 2.5 什么是风险驱动和客户驱动的迭代计划 2.6 什么...

    UML和模式应用(架构师必备).part04.rar

    第2章 迭代、进化和敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代和进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代和进化式分析和设计 2.5 什么是风险驱动和客户驱动的迭代计划 2.6 什么...

    UML和模式应用(架构师必备).part05.rar

    第2章 迭代、进化和敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代和进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代和进化式分析和设计 2.5 什么是风险驱动和客户驱动的迭代计划 2.6 什么...

    UML和模式应用(架构师必备).part08.rar

    第2章 迭代、进化和敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代和进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代和进化式分析和设计 2.5 什么是风险驱动和客户驱动的迭代计划 2.6 什么...

    敏捷软件开发与传统软件开发的对比分析1

    2、迭代式开发迭代式开发也被称为迭代增量式开发或迭代进化式开发,是一种与传统的瀑布式开发相反的软件开发过程,它弥补了传统开发方式中的一些弱点,具有更高的成功率和

    敏捷开发的技术思想

    敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征

    03.去哪儿的敏捷项目管理实践-孙笑侃.pdf

    03.去哪儿的敏捷项目管理实践-孙笑侃.pdf 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、...

    软件开发之开源与敏捷

    敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把...

Global site tag (gtag.js) - Google Analytics