构建高效的软件开发流程和团队.pptxVIP

  • 2
  • 0
  • 约3.1千字
  • 约 21页
  • 2021-10-13 发布于重庆
  • 举报
构建高效的软件开发流程和团队;目 录;什么是极限编程 极限编程Extreme Programming 业内人简称为XP,不要把XP与Windows XP联系在一起。它们没有很大的关系。XP = (eXtreme Programming) 中国给它一个很酷的名字“极限编程”。   XP是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。;XP适用于需求经常发生变化的项目 你的客户对系统应该做什么可能没有一个固定的想法;一个系统每隔几个月其功能就要求进行一定的改变。大多数软件项目的需求都处于这样的动态变化之中。 XP适用于高风险的项目 如果客户需要一个新的系统,而且要求在某天前完成,这里的风险就比较高;如果你的开发组没有做过类似的系统,风险就更高了;使用XP可以降低风险和增加成功的可能性。 XP适用于小规模的项目组 一般在2到10人之间。使用XP不需要拥有博士头衔的开发人员,一般的开发人员就可以。但不能在一个大型的项目组中采用XP。我们注意到,对于一个需求动态变化和高风险的项目而言,一小组XP开发人员要比大的开发组更加有效。 XP对可测试性有要求 你必须建立自动的单元测试和功能测试。虽然在某些情况下这个要求不能满足,但事实上你会惊讶地看到通过某种方式仍然可以达到这个要求。 XP对生产力也有要求 所有采取XP的项目组都无一例外地比其它项目组的生产力高。但这从来不是XP的目的。XP的真正目的在于按时交付客户需要的软件。如果这对于你的项目而言很重要,你就可以尝试一下XP。;How do we deliver functionality to business clients quickly? How do we keep up with near-continuous change? ;计划的制定 小版本 隐喻 简单的设计 重构 测试 结对编程 代码共享 每周只干40小时 编码标准;计划的制定 迭代式项???的特点、每三周为一个循环,频繁地更新,按优先级划分任务与技术。 小版本 所有的大的项目都可以被分为局部的、小的步骤。实现渐进式发布。 隐喻 XP使用隐喻定义一个从开发者到商业客户都可联系的全面一致的主题。 简单的设计 1、为已定义的功能进行设计,而不是为潜在地未来可能的功能进行设计 . 2、创建最佳的可以实现功能的设计。换句话说,不用管未来会是怎样,只创建一个目前为止可以实现的最好的设计。“只有在你真正需要的时候才去做” 。 ;重构 XP原则应当保持持续设计。当变化既快而且频繁的时候,应投入更多的精力于重构之上 。 测试 先测试后编码 、单元测试和功能测试 1.单元测试 (这是软件开发的“圣杯”。) 单元测试是从程序员的角度编写的。它确保类的某个特定方法成功执行一系列特定的任务。每个测试都确保只要给定输入,方法将输出预期的结果。 2. 功能测试 功能测试是从用户的角度编写的。这种测试确保系统执行用户期望它执行的工作。 结对编程 互相检验对方的代码. ;代码共享 项目组中的每个人都可以在任何时候修改其他项目成员的代码,这就是XP中所定义的代码共享 。 诸如“我不想让那些笨蛋改我的代码”,“出现问题我应该怪谁?”等等。共享代码从另一个层面提供了对配对编程中协作的支持。 经常集成 经常周期性的构造(build) 。 XP提醒我们有可能有严重的集成错误。 每周只干40小时 Jeffries提供了关于加班的思索:“我们说的是加班被定义为我们不想在办公室的时候呆在办公室。而且不应当加班超过一周。如果你超过了,就有什么东西出了问题――由于你过于劳累,有可能比你按时下班干的还差。 在我们年轻和满身干劲的时候,这也许没问题。值得注意的是拖沓的一周又一周。;现场客户: XP,同其

文档评论(0)

1亿VIP精品文档

相关文档