构建高效的软件开发流程和团队(ppt 21)_第1页
构建高效的软件开发流程和团队(ppt 21)_第2页
构建高效的软件开发流程和团队(ppt 21)_第3页
构建高效的软件开发流程和团队(ppt 21)_第4页
构建高效的软件开发流程和团队(ppt 21)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、JetArt进入进入JetArt目 录 1. 极限编程(Extreme Programming) 2. 如何构建高效软件开发流程和团队 JetArt 什么是极限编程 极限编程Extreme Programming 业内人简称为XP,不要把XP与Windows XP联系在一起。它们没有很大的关系。XP = (eXtreme Programming) 中国给它一个很酷的名字“极限编程”。 XP是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是

2、。JetArtXP适用于需求经常发生变化的项目适用于需求经常发生变化的项目你的客户对系统应该做什么可能没有一个固定的想法;一个系统每隔几个月其功能就要求进行一定的改变。大多数软件项目的需求都处于这样的动态变化之中。XP适用于高风险的项目适用于高风险的项目 如果客户需要一个新的系统,而且要求在某天前完成,这里的风险就比较高;如果你的开发组没有做过类似的系统,风险就更高了;使用XP可以降低风险和增加成功的可能性。XP适用于小规模的项目组适用于小规模的项目组一般在2到10人之间。使用XP不需要拥有博士头衔的开发人员,一般的开发人员就可以。但不能在一个大型的项目组中采用XP。我们注意到,对于一个需求动

3、态变化和高风险的项目而言,一小组XP开发人员要比大的开发组更加有效。XP对可测试性有要求对可测试性有要求你必须必须建立自动的单元测试和功能测试。虽然在某些情况下这个要求不能满足,但事实上你会惊讶地看到通过某种方式仍然可以达到这个要求。XP对生产力也有要求对生产力也有要求所有采取XP的项目组都无一例外地比其它项目组的生产力高。但这从来不是XP的目的。XP的真正目的在于按时交付客户需要的软件。如果这对于你的项目而言很重要,你就可以尝试一下XP。JetArtHow do we deliver functionality to business clients quickly?How do we ke

4、ep up with near-continuous change?如何能快速地向商业用户交付功能?如何才能跟上近乎连续的变化? JetArt计划的制定计划的制定 小版本小版本 隐喻隐喻 简单的设计简单的设计 重构重构 测试测试 结对编程结对编程 代码共享代码共享 每周只干每周只干40小时小时 编码标准编码标准JetArt 计划的制定计划的制定 迭代式项目的特点、每三周为一个循环,频繁地更新,按优先级划分任迭代式项目的特点、每三周为一个循环,频繁地更新,按优先级划分任务与技术。务与技术。 小版本小版本 所有的大的项目都可以被分为局部的、小的步骤。实现渐进式发布。所有的大的项目都可以被分为局部的

5、、小的步骤。实现渐进式发布。 隐喻隐喻 XP使用使用隐喻隐喻定义一个从开发者到商业客户都可联系的全面一致的主题。定义一个从开发者到商业客户都可联系的全面一致的主题。 简单的设计简单的设计 1、为已定义的功能进行设计,而不是为潜在地未来可能的功能进行设计、为已定义的功能进行设计,而不是为潜在地未来可能的功能进行设计 . 2、创建最佳的可以实现功能的设计。换句话说,不用管未来会是怎样,、创建最佳的可以实现功能的设计。换句话说,不用管未来会是怎样,只创建一个目前为止可以实现的最好的设计。只创建一个目前为止可以实现的最好的设计。“只有在你真正需要的时候才只有在你真正需要的时候才去做去做” 。 JetA

6、rt重构重构XP原则应当原则应当保持持续设计保持持续设计。当变化既快而且频繁的时候,应投入更多的精力于重构之。当变化既快而且频繁的时候,应投入更多的精力于重构之上上 。测试测试 先测试后编码先测试后编码 、单元测试和功能测试、单元测试和功能测试 1.单元测试 (这是软件开发的“圣杯”。) 单元测试是从程序员的角度编写的。它确保类的某个特定方法成功执行一系列特定的任务。每单元测试是从程序员的角度编写的。它确保类的某个特定方法成功执行一系列特定的任务。每个测试都确保只要给定输入,方法将输出预期的结果。个测试都确保只要给定输入,方法将输出预期的结果。 2. 功能测试 功能测试是从用户的角度编写的。这

7、种测试确保系统执行用户期望它执行的工作。功能测试是从用户的角度编写的。这种测试确保系统执行用户期望它执行的工作。 结对编程结对编程互相检验对方的代码互相检验对方的代码.JetArt 代码共享代码共享 项目组中的每个人都可以在任何时候修改其他项目成员的代码,这就是项目组中的每个人都可以在任何时候修改其他项目成员的代码,这就是XP中中所定义的代码共享所定义的代码共享 。 诸如诸如“我不想让那些笨蛋改我的代码我不想让那些笨蛋改我的代码”,“出现问题我应该怪谁?出现问题我应该怪谁?”等等。等等。共享代码从另一个层面提供了对配对编程中协作的支持。共享代码从另一个层面提供了对配对编程中协作的支持。 经常集

8、成经常集成 经常周期性的构造(经常周期性的构造(build) 。XP提醒我们有可能有严重的集成错误。提醒我们有可能有严重的集成错误。 每周只干每周只干40小时小时 Jeffries提供了关于加班的思索:提供了关于加班的思索:“我们说的是加班被定义为我们不想在办我们说的是加班被定义为我们不想在办公室的时候呆在办公室。而且不应当加班超过一周。如果你超过了,就有什公室的时候呆在办公室。而且不应当加班超过一周。如果你超过了,就有什么东西出了问题么东西出了问题由于你过于劳累,有可能比你按时下班干的还差。由于你过于劳累,有可能比你按时下班干的还差。 在我在我们年轻和满身干劲的时候,这也许没问题。值得注意的

9、是拖沓的一周又一周。们年轻和满身干劲的时候,这也许没问题。值得注意的是拖沓的一周又一周。JetArt现场客户:现场客户: XP,同其他的快速开发一样,要求客户在现场持续地参与到项目组中。,同其他的快速开发一样,要求客户在现场持续地参与到项目组中。 编码标准:编码标准: 一个团队应有相应的一个编码标准。例如,如果你进行配对编程并让他人修改共有代一个团队应有相应的一个编码标准。例如,如果你进行配对编程并让他人修改共有代码,那么编码标准看起来就是必须的。码,那么编码标准看起来就是必须的。 JetArtJetArt 项目计划项目计划 BUG数据库是计划一种参照。数据库是计划一种参照。合理的计划(个人合

10、理的计划(个人 组长组长 管理层管理层 )尽力按照这个开发进度来执行尽力按照这个开发进度来执行 重新计划重新计划1. 轻型的轻型的 (XP原则,周期性原则,周期性(三周三周)的变更计划)的变更计划)2. 灾难的灾难的 (20%的工作量会占据的工作量会占据80% 发生时发生时)如何构建高效的开发环境如何构建高效的开发环境 项目计划项目计划JetArt 开发文档开发文档 整理思路与架构、磨刀不误砍柴工整理思路与架构、磨刀不误砍柴工 Function Spec中需要写明的是本模块完成的任务,解决什么问题,有什么作用,为什么要中需要写明的是本模块完成的任务,解决什么问题,有什么作用,为什么要这些功能,

11、此外我们还会添加进适用范围,有什么不足,注意点是什么,还这些功能,此外我们还会添加进适用范围,有什么不足,注意点是什么,还有哪些地方在以后可以进行改进。有哪些地方在以后可以进行改进。 Design Document主要描述实现此模块所涉及到的主要算法、数据结构、类的层次结构及调用主要描述实现此模块所涉及到的主要算法、数据结构、类的层次结构及调用关系。关系。 如何构建高效的开发环境如何构建高效的开发环境 开发文档开发文档JetArt 编写代码编写代码 统一的代码风格统一的代码风格提供详细的注释及说明提供详细的注释及说明 主要的模块要编写主要的模块要编写UnitTest如何构建高效的开发环境如何构

12、建高效的开发环境 编写代码编写代码JetArt 代码管理代码管理 源代码的统一管理。源代码的统一管理。daily build 如何构建高效的开发环境如何构建高效的开发环境 代码管理代码管理JetArt BUG管理管理 通过通过BUG Tracking System 管理管理Bug库。库。测试部门发现一个测试部门发现一个BUG后在后在BUG Track中增加一个中增加一个BUG,同时填入,同时填入相关信息并相关信息并assign给相应的开发人员,开发人员收到给相应的开发人员,开发人员收到BUG分析并分析并fix后后assign给测试部门去给测试部门去verify,其中要填上分析的结果以及如何解决

13、,其中要填上分析的结果以及如何解决的详细说明。若测试部门对此的详细说明。若测试部门对此BUG verify通过则通过则close BUG,如果,如果verify failed并重新并重新assign给开发人员并等待其给开发人员并等待其fix。测试部门发现测试部门发现BUG后,开发人员应马上改正。后,开发人员应马上改正。 周期性汇报周期性汇报BUG情况。情况。如何构建高效的开发环境如何构建高效的开发环境 BUG管理管理JetArt Code Freeze 在在code freeze阶段,测试部门在紧张地进行着各种测试,得出各种阶段,测试部门在紧张地进行着各种测试,得出各种数据,并决定本版本是否可

14、以数据,并决定本版本是否可以release了。了。 如何构建高效的开发环境如何构建高效的开发环境 Code FreezeJetArt Code Review Code Review中大家会提出问题和建议,集思广益,多个人共同出中大家会提出问题和建议,集思广益,多个人共同出主意,有些可能一个人没有想到的问题会被大家发现,互相学习,共主意,有些可能一个人没有想到的问题会被大家发现,互相学习,共同进步。同进步。 如何构建高效的开发环境如何构建高效的开发环境 Code ReviewJetArt Tech Talk 计算机知识更新速度非常快,经常有一些新的术语、新的名词、新的计算机知识更新速度非常快,经常有一些新的术语、新的名词、新的思想、新的技术所产生,如过离开此行业几个月后重新回来就会对这思想、新的技术所产生,如过离开此行业几个月后重新回来就会对这些新的事物不解,而我们平时为了自己的项目埋头苦干可能忘了周围些新的事物不解,而我们平时为了自己的项目埋头苦干可能忘了周围的世界发生了什么。的世界发生了什么。Tech Talk就提供了一个让我们了解新知识和最就提供了一个让我们了解新知识和最新发展趋势的机会,让大家

温馨提示

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

最新文档

评论

0/150

提交评论