1、1.3 迭代式开发和UPoutline迭代开发统一软件开发过程outline迭代开发UP 迭代式开发,UP是一个例子,建造面向对象系统的流行的开发过程RUP:UP的精华迭代:软件开发组织成一系列小的、固定长度的(如4周)微项目,每个项目的成果是一个经测试的、集成的、可运行的系统 迭代式增量开发 通过多次迭代连续增加和精化系统,循环反馈和适应,向合适的系统汇聚 UP核心思想:小步骤、反馈、适应性 每次迭代的结果是可执行的,但非完全的,不可交付,多次迭代(如10到15次)以后才符合产品部署的条件每次迭代的结果非试验性或用完即扔的原型系统,而是最终系统的产品级子系统每次迭代可能为系统增加新特性,也可
2、能改进系统(如提高子系统的性能)拥抱改变拥抱改变反馈和适应性,反馈和适应性,迭代式开发迭代式开发改变是受控制的每次迭代选择需求的小的子集,快速实现、设计和测试早期迭代时选择的需求不一定是最终期望的,但最终用户有机会看到部分系统,及时反馈 迭代开发优点:迭代开发优点:早期解决缓解高风险(technical,requirements,objectives,usability,and so forth)早期可见的进程早期反馈可管理的复杂性,不必陷入长而复杂的分析过程迭代长度:迭代长度:2626周周太短则难以获得有意义的成果和反馈超过6到8周则太复杂、反馈延迟、增加项目风险若下一迭代周期为4周,则必须
3、在4周内完成集成、测试。完不成则将任务和需求移到下一周期,而不是将完成时间后移大型开发团队(上百人)才可例外(但仍不超过36个月)四个四个phase:不是瀑布或连续的,初始:不是需求分析,而是可行性分析细化:不是需求分析或设计过程,而是迭代式实现核心体系结构,缓解高风险问题 Disciplines(Workflows)定制定制所有活动和制品是可选的,就像药房的药要根据特定问题和需要选择其一个小的子集,写成小的文档:Development Caseoutline迭代开发统一软件开发过程UP统一软件开发过程(Unified Software Development Process,USDP)是一个源于UML作者的28 SEP。它通常是指统一过程或者UPJacobson 1。我们在整本书中使用术语UP。UML项目意欲提供可视化语言和软件工程过程。我们现在所知道的是,UML是项目的可视化语 言部分UP是过程部分。然而,值得指出的是,UML已经被OMG标准化,但UP却没有。因此,仍 然没有标准的SEP来补充UML。UP的基础是在Ericsson公司(Ericsson方法)、Rational 公司(Rational Objectory Process,1996-1997)和其他最好实践来源所开展的过程工作。同样,它是开发软件实用的、已经经过验证的方法,它整合了其先驱的最好实践