《敏捷软件开发》ppt课件

上传人:tia****nde 文档编号:69328352 上传时间:2019-01-13 格式:PPT 页数:111 大小:2.13MB
返回 下载 相关 举报
《敏捷软件开发》ppt课件_第1页
第1页 / 共111页
《敏捷软件开发》ppt课件_第2页
第2页 / 共111页
《敏捷软件开发》ppt课件_第3页
第3页 / 共111页
《敏捷软件开发》ppt课件_第4页
第4页 / 共111页
《敏捷软件开发》ppt课件_第5页
第5页 / 共111页
点击查看更多>>
资源描述

《《敏捷软件开发》ppt课件》由会员分享,可在线阅读,更多相关《《敏捷软件开发》ppt课件(111页珍藏版)》请在金锄头文库上搜索。

1、敏捷软件开发,Agile Software Development,1/13/2019,Institute of Computer Software Nanjing University,1,摘要,Introduction Agile Development Agile Design,1/13/2019,Institute of Computer Software Nanjing University,2,摘要,Introduction Agile Development Agile Design,1/13/2019,Institute of Computer Software Nanjing

2、 University,3,Introduction,Robert C. Martin: “Agile Software Development Principles, Patterns, and Practices”, Prentice Hall (October 25, 2002),1/13/2019,Institute of Computer Software Nanjing University,4,Jolt Award 2003,Introduction,Robert C. Martin,1/13/2019,Institute of Computer Software Nanjing

3、 University,5,“Designing Object Oriented C+ Applications using the Booch Method ”, 1995 “Pattern Languages of Program Design 3”, 1997,“More C+ Gems”, 1999,“Extreme Programming in Practice”, 2003 “UML for Java Programmers ”,2003,Uncle Bob,http:/,Agile 敏捷,敏捷开发是一种面临迅速变化的需求快速开发软件的能力。 提供必要的纪律和反馈的实践 - pra

4、ctice 保持软件灵活、可维护的设计原则 - principle 针对特定问题的设计模式 - pattern 适应变化和以人为中心,迭代、循序渐进,1/13/2019,Institute of Computer Software Nanjing University,6,The Agile Alliance 敏捷联盟,The Manifesto of the Agile Alliance 敏捷联盟宣言, 2001,1/13/2019,Institute of Computer Software Nanjing University,7,We are uncovering better way

5、s of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan,

6、Kent Beck, Alistair Cockburn, Robert C. Martin, etc.,http:/www.agilealliance.org/,敏捷联盟宣言,个体和交互胜过过程和工具 可以工作的软件胜过面面俱到的文档 客户合作胜过合同谈判 响应变化胜过遵循计划,1/13/2019,Institute of Computer Software Nanjing University,8,Principles,我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。 经常性地交付可以工作的软件,

7、交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。,1/13/2019,Institute of Computer Software Nanjing University,9,Principles,在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。 围绕被激励起来的个体来构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。 在团队内部,最具有效果并富有效率的传递信息的方法,就是面对面的交谈。,1/13/2019,Institute of Computer Software Nanjing University,10,Principles,工作的软件是首要的进度度量

8、标准。 敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。 不断地关注优秀的技能和好的设计会增强敏捷能力。,1/13/2019,Institute of Computer Software Nanjing University,11,Principles,简单使未完成的工作最大化的艺术是最根本的。 最好的构架、需求和设计出于自组织团队。 每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。,1/13/2019,Institute of Computer Software Nanjing University,12,Ag

9、ile Processes,SCRUM Crystal Feature Driven Development 特征驱动软件开发 Adaptive Software Development 自适应软件开发 eXtreme Programming (XP) 极限编程 ,1/13/2019,Institute of Computer Software Nanjing University,13,摘要,Introduction Agile Development Agile Design Design Patterns,1/13/2019,Institute of Computer Software

10、Nanjing University,14,Agile Development,Extreme Programming(XP,极限编程) 是一种轻量级的软件开发方法,它使用快速的反馈,大量而迅速的交流,经过保证的测试来最大限度的满足用户的需求。 XP强调用户满意,开发人员可以对需求的变化作出快速的反应。 XP强调team work。项目管理者,用户,开发人员都处于同一个项目中,他们之间的关系不是对立的,而是互相协作的,具有共同的目标:提交正确的软件。,1/13/2019,Institute of Computer Software Nanjing University,15,Extreme P

11、rogramming,XP强调4个因素: 交流(communication),XP要求程序员之间以及和用户之间有大量而迅速的交流 简单(simplicity),XP要求设计和实现简单和干净 反馈(feedback),通过测试得到反馈,尽快提交软件并根据反馈修改 勇气(courage),勇敢的面对需求和技术上的变化,1/13/2019,Institute of Computer Software Nanjing University,16,Extreme Programming,XP特别适用于需求经常改变的领域,客户可能对系统的功能并没有清晰的认识,可能系统的需求经常需要变动。 XP也适用于风险

12、比较高的项目,当开发人员面对一个新的领域或技术时,XP可以帮助减低风险 XP适用于小的项目(人员上),人员在2-12人之间,XP不适用于人员太多的项目,1/13/2019,Institute of Computer Software Nanjing University,17,Practices of XP,客户作为团队成员 用户素材 user stories 短周期交付 迭代计划 发布计划 验收测试 结对编程 pair programming,1/13/2019,Institute of Computer Software Nanjing University,18,Practices of

13、 XP,测试驱动的开发方法 Test-Driven Development 集体所有权 持续集成 可持续的开发速度 开放的工作空间 计划游戏 planning game 简单的设计 重构 Refactoring 隐喻 Metaphor:将整个系统联系在一起的全局视图,1/13/2019,Institute of Computer Software Nanjing University,19,摘要,Introduction Agile Development Agile Design,1/13/2019,Institute of Computer Software Nanjing Univers

14、ity,20,1/13/2019,Institute of Computer Software Nanjing University,21,What is Design?,“After reviewing the software development life cycle as I understood it, I concluded that the only software documentation that actually seems to satisfy the criteria of an engineering design is the source code list

15、ings.” - Jack Reeves,1/13/2019,Institute of Computer Software Nanjing University,22,Design Smells,Rigidity 僵化性 难于修改 Fragility 脆弱性 一改便乱 Immobility 牢固性 难于重用 Viscosity 粘滞性 做好事难 Needless Complexity 不必要的复杂性 Needless Repetition 不必要的重复 Opacity 晦涩性,1/13/2019,Institute of Computer Software Nanjing University

16、,23,The “Copy” Program,Initial Design,void copy() int c; while (c=RdKbd()!= EOF) WrtPrt(c); ,1/13/2019,Institute of Computer Software Nanjing University,24,Requirement changes,bool ptFlag = false; /remember to reset this flag void Copy() int c; while (c=(ptFlag?RdPt(): RdKbd()!=EOF) WrtPrt(c); ,1/13/2019,Institute of Computer Software Nanjing University,25,Requirement changes again!,bool ptFlag = false; bool punchFlag = false /rem

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号