(设计模式实践-zhjr01-敏捷实践.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(设计模式实践-zhjr01-敏捷实践

教 材 目 录 第Ⅰ部分 敏捷开发 第一章 敏捷实践 第二章 极限编程概述 第三章 计划 第四章 测试 第五章 重构 第六章 一次编程实践 第Ⅱ部分 敏捷设计 第七章 什么是敏捷设计 第八章 单一责任原则(SRP) 第九章 开放—封闭原则(OCP) 第十章 Liskov替换原则(LSP) 第十一章 依赖倒置原则(DIP) 第十二章 接口隔离原则(ISP) 第Ⅲ部分 薪水支付案例研究、 第Ⅳ部分 打包薪水支付系统 第Ⅵ部分 ETS案例研究 内容简介 《敏捷软件开发:原则模式与实践》由享誉全球的软件开发专家和软件工程大师Robert C.Martin将向您展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷开发的创始人之一所撰写的。 讲述在预算和实践要求下,软件开发人员和项目经理如何使用敏捷开发完成项目; 使用真实案例讲解如何用极限编程来设计、测试、重构和结对编程; 包含了极具价值的可多次使用的C++和JAVA源代码; 重点讲述了如何使用UML和设计模式解决面向客户系统的问题 书评 第13届软件开发震撼大奖获奖作品; 国际软件工程和开发大师最新力作; 众多名家一致推荐的敏捷开发指南; 软件工程发展史上的里程碑性巨著 课程重点难点 考核方式 敏捷实践 1.1 敏捷联盟  1.2 原则  1.3 结论 (一)瀑布模型?敏捷开发 瀑布模型(Waterfall Model)是Royce在1970年提出的,他把大型软件开发分为:分析与编程,象工厂流水线一样把软件开发过程分成各种工序,并且每个工序可以根据软件产品的规模、参与人员的多少进一步细分成更细的工序。 该模型非常符合软件工程学的分层设计思路,所以成为软件开发企业使用最多的开发模型。 瀑布模型 瀑布模型的特点: 1、强调文档,前一个阶段的输出就是下一个阶段的输入,文档是个阶段衔接的唯一信息。 所以很多开发人员好象是在开发文档,而不是开发软件,因为要到开发的后期,才可以看到软件的“模样”。 2、没有迭代与反馈。 瀑布模型对反馈没有涉及,所以对变化的客户需求非常不容易适应,瀑布就意味着没有回头路。 3、管理人员喜欢瀑布模型的原因是把文档理解为开发的速度,可以方便地界定不同阶段的里程碑 瀑布模型的用户很多,也有一些反对的意见: 第一、瀑布模型不适合客户需求不断变化的软件开发,尤其是客户的业务管理的软件 业务随着市场变化,而软件初期的设计可能已经大大变化,而后期的需求更改成本是开始的10倍基数。在ERP盛行的软件市场里,一方面市场带动需求变化,另一方面初期客户对需求描述不清楚,都为瀑布模型的使用团队带来困难。 第二、瀑布模型是一种软件文档的开发,把开发者变成流水线上的机器,大量重复性的工作让编程人员提不起兴趣,工作很枯燥,没有激情,编程成了一种没有创意的机械劳动,这让一向以高科技为标志的高级程序人员大为恼火 敏捷前开发流程 (二)敏捷联盟 2001年,为了解决许多公司的软件团队陷入不断增长的过程泥潭,一批业界专家一起概括出了一些可以让软件开发团队具有快速工作、响应变化能力的价值观和原则,他们称自己为敏捷联盟。 17名编程大师分别代表极限编程、Scrum(“棒球”团队开发模式)、特征驱动开发、动态系统开发方法、自适应软件开发、水晶方法、实用编程等开发流派,发表“敏捷软件开发”宣言。 敏捷软件开发是一个开发软件的管理新模式,用来替代以文件驱动开发的瀑布开发模式。 敏捷方式也称轻量级开发方法 (三)敏捷开发 ——以沟通为基本原则的软件开发领域 一个好的程序员最需要具备的能力就是沟通的能力。 只有良好的沟通才能知道客户需要什么 只有良好的沟通,才能与团队成员合作无间 ?敏捷开发(agile development)是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。 简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 敏捷开发是递增式的、迭代的、不断调整的开发模式。我们逐渐地建立起软件系统,能看到系统在成长,能展示进度。通过多次发布或项目的阶段检查点,每一次都比上一次靠近目标。迭代包括需求的开发和测试,典型的迭代周期是两周。目标随着从上一次的迭代中学到的东西、反馈以及商业机会而调整。 主要是下面几个“敏捷”的关注点: 迭代 软件的功能是客户的需求,界面的操作是客户的“感觉”,对迭代的强调是缩短了软件版本的周期 客户参与 以人为本,客户是软件的使用者,是业务理解的专家,没有客户的参与,开发者很难理解客户的真实需求 小版本 快速功能的展现,看似

文档评论(0)

ozprb1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档