迭代、进化和敏捷课件_第1页
迭代、进化和敏捷课件_第2页
迭代、进化和敏捷课件_第3页
迭代、进化和敏捷课件_第4页
迭代、进化和敏捷课件_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Chapter 2迭代、进化和敏捷1谢谢阅读2020-5-17第1页,共23页。本章目标定义迭代(iterative)过程和敏捷(agile)过程迭代/瀑布敏捷/重型定义统一过程中的基本概念2谢谢阅读2020-5-17第2页,共23页。软件过程什么是软件过程软件过程定义了软件开发、部署和维护的步骤。软件过程本身就是软件软件过程是一种被由人构成的虚拟机执行的软件。软件过程为什么重要(为什么不应该那么重要)3谢谢阅读2020-5-17第3页,共23页。软件过程的谱系软件过程 软件过程描述开发、部署和维护软件系统的步骤。迭代式开发迭代式开发将软件开发过程分解为一系列小的,固定周期的(比如,4个星期)

2、的小项目,每个小项目称为一个迭代。统一过程 (Unified Process) 一种采用OOA/D方法学开发项目的过程(Ivar Jacobson)。敏捷建模UP( Agile UP ) 引入了敏捷概念的UP,是UP的一个简集。Software ProcessesWater FallOthersIterative ProcessesXPUnified ProcessRUPAgile UP4谢谢阅读2020-5-17第4页,共23页。迭代式开发瀑布生命周期在瀑布生命周期过程中,试图在编写代码之前定义几乎所有的需求,以及明确详尽的时间表。迭代式的生命周期通过多次的迭代获得周期性的反馈,以这些反馈为

3、驱动力,对系统进行不断的扩展和精化。 迭代式开发将软件开发过程分解为一系列小的,固定周期的(比如,4个星期)的小项目,每个小项目称为一个迭代。5谢谢阅读2020-5-17第5页,共23页。迭代式开发6谢谢阅读2020-5-17第6页,共23页。每一次迭代的周期迭代的一个关键思想是时间定量,即时间长度固定。大部分迭代方法建议迭代时间在2到6周之间。7谢谢阅读2020-5-17第7页,共23页。示例在项目开始为期3周的迭代中周一启动会议,明确本次迭代的任务和目标。其间一小时制作UML图,打印最重要的部分。其他时间团队成员结对在白板上用UML图建模。开发,测试。发布,给客户Review本次迭代的成果

4、,获取反馈。计划下一次的迭代。注意:没有匆忙地开始编码,也没有长期的,试图完全定义系统的设计。迭代的成果不是用完后就抛弃的原型,而是最终产品的子集。获取用户反馈并不断改进是项目的主要驱动力量。8谢谢阅读2020-5-17第8页,共23页。迭代的过程After a series of structured, build-feedback-adapt cycles, the system will be stable.9谢谢阅读2020-5-17第9页,共23页。拥抱变化现实变化不可避免 变化非常昂贵方案 A仔细地分析和设计和客户签订合同抱怨方案 B迭代式的开发欢迎变化与客户一起成功10谢谢阅读2

5、020-5-17第10页,共23页。拥抱变化仅仅有态度并不够:软件并不是想大多数人的直觉那样容易变化的。迭代式的开发不比瀑布式开发容易。我们应该构造能不断演化的软件系统。11谢谢阅读2020-5-17第11页,共23页。迭代式开发的优势能够较早地对付风险高的内容。能够让人明确地看到进展,给客户信心,给开发队伍成就感。能够较早获得反馈,鼓励用户参与开发,使系统能够更接近用户需求。控制复杂性。12谢谢阅读2020-5-17第12页,共23页。统一过程:Unified Process( UP )UP是迭代过程的一种。提出人: Ivar JacobsonUP提供了如何实施OOA/D(和如何介绍OOA/

6、D)的示范结构。这也形成了本书的结构。UP具有灵活性,可以应用于敏捷(轻量级)方法。13谢谢阅读2020-5-17第13页,共23页。UP的阶段UP项目将其工作和迭代组织为4个主要的阶段:初始(Inception) 大体上的构想,业务用例,范围和初步的估计。细化(Elaboration)进一步细化的构想,以迭代的方式实现风险较高的核心架构,识别出大部分需求和范围,作更为准确地估计。构造(Construction)以迭代的方式实现剩下的低风险,易实现的部分,为发布做好准备。移交(Transition)beta 测试,部署14谢谢阅读2020-5-17第14页,共23页。15谢谢阅读2020-5-

7、17第15页,共23页。UP 科目(Disciplines)UP中定义了下列的科目:业务建模(Business Modeling)需求(Requirements)设计(Design)其他(实现/测试/部署.)16谢谢阅读2020-5-17第16页,共23页。科目和迭代 (Disciplines and Iterations)17谢谢阅读2020-5-17第17页,共23页。科目和阶段(Disciplines and Phases)18谢谢阅读2020-5-17第18页,共23页。判断你是否理解迭代开发或UP你是否认为 初始 = 需求细化 = 设计构造 = 实现你是否认为制作UML图的设计过程是

8、用来精确地定义系统,而开发和编码只不过是将他们机械地变换为源程序的过程19谢谢阅读2020-5-17第19页,共23页。根据UP的科目和阶段设计的课程结构20谢谢阅读2020-5-17第20页,共23页。敏捷宣言个体和交流(Individuals and interactions) 工作的软件(Working software) 与客户协作(Customer collaboration)积极响应变更(Responding to change)过程和工具(processes and tools)完善的文档(comprehensive documentation )合同谈判(contract ne

9、gotiation)严格履行计划(following a plan)21谢谢阅读2020-5-17第21页,共23页。敏捷原则通过早期和持续交付有价值的软件来满足客户欢迎变更需求,即使在开发的后期提出。敏捷过程为客户的竞争优势而控制变更。以两周到两月为周期,频繁地交付可运行的软件。在整个项目的过程中,每一天开发人员都要和来自客户的业务人员合作。依靠有干劲的个体推动项目的开发,为他们提供所需的开发环境、支持和信任。在开发团队中获开发团队间传递信息的最为有效和高效的方法是面对面的交流。衡量进度的重要尺度是可运行的软件。敏捷过程提倡持续开发和集成。发起人、开发者和用户应该步调一致。关注技术和设计技能的提高。简洁,这门减少工作量的艺术至关重要。团队要定期反省如何使工作更有效,然后相应地调整行为。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论