UML和模式
UML和模式应用学习笔记-2(迭代和进化式开发)
一:什么是迭代和进化式开发
1:迭代和进化式开发:通常会在还没有详细定义所有需求的情况下假设开发开始,同时使用反馈来明确和改进演化中的规格说明;
2:迭代方法与较高的成功率、生产率和低缺陷率具有关系;
3:软件开发过程描述了构造、部署以及维护软件的方式;
4:迭代生命周期基于对经过多次迭代的系统进行持续扩展和精化,并以遁环反馈和调整为核心驱动力,使之最终成为适当的系统;
5:因为反馈和调整使规格说明和设计不断进化,所以这种方法也称为迭代和进化式开发。
6:在项目开始为期三周的迭代中,可以用周一上午一个小时的时间与团队成员召开启动会议,明确本次迭代的任务和目标;
7:每次迭代都产生可执行的但不完整的系统,它不是已经准备好可以交付的产品。直到多次迭代(如10次或15次迭代)之后,系统才可能合格地用于产品部署;
8:在复杂、变更系统中,反馈和调整是成功的关键要素;
9:迭代提倡风险驱动与客户驱动相结合,早期的迭代目标要能够识别和降低最高风险,并且能构造客户最关心的可视化特性;
10:来自迭代N的反馈引起在迭代N+1中对需求和设计进行精化和调整;

每次迭代后系统是增量式增长的,最后是一个完整的产品
二:如何在迭代项目处理变更
1:瀑布式过程是在实现之前,企图全面和正确地规格化、冻结,以及“签署”需求集和设计,以此与软件开发中不可避免的变更进行抗争。
2:迭代和进化式开发抱以接受变更和改写的态度,并以此为真正本质的驱动力。
3:迭代开发并不是提倡不受控制的,明确了其构想或市场变化时如何平衡需求,一方面认同和稳定一组需求,另一方面接受需求不断变更的事实。
4:迭代快速反馈来自用户、开发人员和测试(诸如负载测试和可用性测试)的反馈。
5:迭代是通过一系列有序的构造->反馈->调整遁环向前进展。早期迭代中系统偏离“正解轨迹”的程度会大于后继迭代;
6:在后期迭代中,很少会在需求上产生显著变化,但是存在这种可能性。这种后期的变化可能会给组织带来业务竟争优势;
三:迭代开发的优点
1:减少项目失败可能性,较高的成功率、生产率和低缺陷率具有关系
2:在早期(而不是晚期)缓解高风险(技术、需求、目标、可用性等)
3:早期可见的进展
4:早期反馈、用户参与和调整,会关生更接近涉从真实需求的精化系统
5:可控复杂性,团队不会被“分析瘫痪”或长期且复杂的步骤所淹没;
6:一次涉代中的经验可以被系统地用于改进开发过程本身,并如此反复进行下去;
四:一次迭代的持续时间和时间定量
1:大部分迭方法建议迭代时间在2到6周之间,小步骤、快速反馈和调整是迭代开发的主要思想,迭代时间过长会破坏迭代开发的核心动机并增加项目风险。
2:仅一周的迭代时间不足以获得有意义的产出和反馈,若迭代时间大于6周,则复杂性会变得不可控制,反馈将延期;
3:迭代的一个关键思想是时间定量,如果看起来难以满足期限要求,那么建议从本次迭代中除去一些任务或需求,并将其分配在将来的迭代中而不是推迟完成日期;
五:什么是瀑布生命周期
1:瀑布(或顺序)生命周期过程中,试图在编程之前(详细)定义所有或大部分需求;研究表明瀑布模型和软件项目高失败率具有极大关系;
2:瀑布方法需求中45%的特性从未被使用,期早期时间表和估计与最终实际情况可相差400%;
3:不要让瀑布思维侵蚀迭代项目,初始化阶段进行大量的分析和建模是导致其失败的一个关键原因;
4:瀑布模型有如此的错误倾向是因为典型的软件项目在需求上会经历25%变更,对于大型项目,其变更率甚至高达35%到50%;
5:任何基于事物长期稳定这一假设所作出的分析、建模、开发或管理实践都是具有根本缺陷的,变更对于软件项目来说是永恒。
感谢您的阅读,坚持每天进步一点点,离成功就更进一步;希望本文对您有所帮助;
UML和模式的更多相关文章
- uml和模式01
// */ // ]]> uml和模式01 1. UML 2. 用例图 3. 用例和类的关系 4. 类图 1 UML 模型语言(Modeling Language 检查ML)是一种设计语言,人们 ...
- UML和模式应用学习笔记-1(面向对象分析和设计)
UML和模式应用学习笔记-1(面向对象分析和设计) 而只是对情节的记录:此处的用例场景为:游戏者请求掷骰子.系统展示结果:如果骰子的总点数是7,则游戏者赢得游戏,否则为输 (2)定义领域模型:在领域模 ...
- UML和模式应用1: 面向对象的分析与设计
1.基本术语说明 items note OOA/D 面向对象的分析与设计 UML 描述.构造和文档化系统制品的可视化语言 模式 问题解决方案的公式 2. 本书的主要内容 本书的主旨是对应用了UML和 ...
- 《UML和模式应用(原书第3版)》目录
学习 <UML和模式应用(原书第3版)>目标: 理解OOA/D思想 如何使用UML建模 如何使用设计模式 如何设计分层架构 目录: 第1部分 绪论 第1章 面向对象分析和设计 第2章 迭代 ...
- UML和模式应用
引言 Applying UML and Patterns,以一个商店POS系统NextGen和一个掷骰子游戏Monopoly为例,围绕OOA/D的基本原则GRASP,以迭代作为基本方法.以UML为表达 ...
- 《UML和模式应用》重点之思想篇
本书是帮助开发人员和学生学习面向对象分析和设计(OOA/D)的核心技能的重要工具. UML不是OOA/D.也不是方法,仅仅是图形表示法,假设没有真正掌握怎样创建优秀的面向对象设计,或者怎样评估和改进现 ...
- UML和模式应用5:细化阶段(9)---迈向对象设计
1.前言 开发者如何设计对象,可以采用如下三种方式: 编码:在编码的同时进行设计 绘图然后编码:绘制一些UML,然后转到如上编码方式,在集成开发环境中编码 只绘图,不编码:使用工具从图中生成一切 本章 ...
- UML和模式应用5:细化阶段(8)---逻辑架构和UML包图
1.前言 本章是从面向分析的工作过度到软件设计 典型的OO系统设计的基础是若干架构层,如UI层.应用逻辑(领域)层 本章简要考察逻辑分层架构和相关UML表示法 2.逻辑架构和层 逻辑架构 逻辑架构是软 ...
- UML和模式应用3:迭代和进化式分析和设计案例研究
1.前言 如何进行迭代和进化式分析和设计?将采用案例研究的方式贯穿始终.案例研究所包含的内容: UI元素 核心应用逻辑层 数据库访问 与外部软硬构件的协作 本章关于OOA/D主要介绍核心应用逻辑层 2 ...
随机推荐
- java字节中的基本类型的职业的数目 (采访总是问)
因为移动装置存储器中的移动开发的局限性,数据的字节数需要考虑往往在占领中使用的类型. 下面介绍下一个Java,以加深记忆. 在Java中一共同拥有8种基本数据类型,当中有4种整型,2种浮点类型,1种用 ...
- Objective-C马路成魔【14-关键C语言功能】
郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主.捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 这里介绍一 ...
- 【转】HTTP协议两种提交参数的方式Form-data和raw
原文:http://www.cnblogs.com/zhangfei/p/5099036.html HTTP协议的接口测试中,使用到最多的就是GET请求与POST请求,其中POST请求有FORM参数提 ...
- 信号量机制DOWN操作和UP操作的详细说明
DOWN操作:linux内核.信号DOWN例如,下面的操作: void down(struct semaphore *sem); //不间断 int down_interruptible(struct ...
- jQuery性能优化38建议---最引人注目的用户体验!
一.需要注意的是的定义jQuery当变量被添加varkeyword 然而,这并不jQuery.整个javascript开发过程,所有需要注意,一定不要将其定义为下面的示例: $loading = $( ...
- Swift入门教程:基本语法(一)
简介: 什么是S ...
- SQL编程之生日问题
在学习MySQL的时候,一个较为经典的SQL编程题目就是生日问题,已知某个用户的出生日期和当前日期,计算他近期的生日. 一般须要考虑两个问题 闰年2月是29天 今年的生日是否过完 比如:某人的生日是1 ...
- java设计模式之七装饰器模式(Decorator)
顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例,关系图如下: Source类是被装饰类,Decorator类是一个 ...
- 【Java&Android开源库代码分析】のandroid-async-http の开盘
在<[Java&Android开源库代码剖析]のandroid-smart-image-view>一文中我们提到了android-async-http这个开源库,本文正 ...
- navicat连接oracle一个错误:ORA-12737 Instant Client Light:unsupported server character set ZHS16GBK
今天使用Navicat连接Oracle数据库.它报告了以下错误:"ORA-12737 Instant Client Light:unsupported server character se ...