- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用科学高效的软件开发过程
使用科学高效的软件开发过程2010-05-08 09:32这是我之前写的一篇文章,一直没有最终定稿并且放上来。现在,我已经离开了Oracle,我想是时候好好总结一下在Oracle Berkeley DB团队的这三年来的所学了,所以有了下面这篇文字。在后面的文章当中可能还会总结以下我对于Berkeley DB这个产品本身的认识和理解。想要编写高质量的软件很不容易,因为从设计到最终定型,有太多太多容易犯错的地方,不仅仅涉及到计算机技术本身,还涉及到软件开发过程的基础设施、工作流程、人员管理等诸多因素。这么多年来,计算机工程师们总结出用于指导我们设计出高质量软件的一整套理论体系,叫做软件工程。每个计算机科班出身的中国开发者,都学过这个课程。我当时学完后的感觉就是,这是一门理论课,如此的远离实际,以至于当时大多数同学都把它和学习毛概邓论一样来学习---对于一个一共没有编写超过10000行代码的大三学生来说,那些东西确实很抽象,不容易理解,更别说付诸实践。本文不会试图覆盖如此宏大而抽象的一个理论专题,大家都学了够多的软件工程理论了。相反,我将我们组的软件开发过程做一个尽量详细的介绍,并且把其中用于软件质量保证的技术手段和工作方法特别拿出来仔细讨论。这样的软件开发过程和相关技术是经过验证有效的,经受住了实践检验的,是我们日常工作的一部分。我深深的感受到它是一种行之有效的软件开发方法,希望它能够对您有参考价值。我工作以来逐渐意识到,也从我们Berkeley DB软件开发团队中学习到,一个软件开发团队想要开发出高质量的软件,不仅需要编码技能本身,还需要有一个科学高效的工作流程,可以称之为软件开发过程。它就好象一个流水线,精确地定义了一个软件开发团队在软件开发的各个阶段应该如何运作,完成哪些任务和目标,从而最终在流水线末端,有一个高质量的软件被生产出来。有了这个流程做保证,一个软件就不会依赖于某一个或者几个人的独门绝技,不会成为个人英雄主义的产物和牺牲品,而是可以以这个定义好的流程和其中的技术资源积累为基础,生生不息的延续下去。新的成员可以在加入这个团队后,只需要适应这个定义好的流程,学会成为其中的一分子、一个组件、就很快地进入工作状态,并且做出有价值的产出。只有这样,一个软件产品才可以生生不息,一个团队才可以持续运转不断发展,这样对团队内的每个人都有好处。下面,我就根据我在Oracle Berkeley DB团队当中工作经验和亲身体会,讲一下我们是如何做的。现在有很多开发方法论,比如敏捷开发(Agile Development),极限编程,等等。我想Berkeley DB团队的方法与它们有一些相似之处,却也未必精确地与任何一种方法论一致,但是它是一种有效的方法。I.基础设施一个科学高效的软件开发过程需要如下的一些IT基础设施,他们使整个团队高效的协作,使每个成员高效地工作。1.邮件系统与问题跟踪(issue tracking)系统一个团队最好有自己的邮件服务器,这是一个最基础的设施,假设我们的团队叫做。每个团队成员都有@的邮件地址,他们之间的所有技术相关、工作相关的交流,全部通过地址为@的邮件交流。这一点绝大多数团队都可以做到。人们的交流,必然是用于讨论或者解决产品相关的问题的。我们把用于解决每个问题的所有邮件,加上一个唯一的标签来标识这个问题,并把有这个标签的所有邮件,成为一个Thread或者SR(Service Request)。这个标签通常是基于一个单调增长的数字序列,比如[#12345]。每个人发出关于#12345这个问题的邮件时,务必加上[#12345]这个标签在邮件的主题上面,并且抄送到一个特殊的邮件地址,比如support@。如果需要讨论一个新的问题,就向support@发送一个邮件,其主题有[NEW]标签,内含这个SR需要的各个特殊字段的名称-值pairs,比如这个问题的详细信息,产品出现了什么毛病和症状,由谁报告了这个问题,由谁负责解决;当所有讨论都已经结束,需要关闭这个SR时候,也向support@发送一个特殊邮件,内含特殊字段的名称-值pairs,比如对整个解决过程和方法的总结,软件代码甚至文档发生了什么变化。邮件服务器内部的脚本程序通过检查邮件的主题和内容,把邮件归类整理好,以便以人们按照SR来查看关于某个问题的所有交流内容。需要查看某个SR就是用浏览器访问某个内部的特殊URL来查询。另外,还支持使用Google的内部搜索来从海量的SR当中寻找某些感兴趣的信息,以便找到相关的SR。这是我们组之前的项目管理系统,现在的新系统仍然兼容这样的功能。比较新式的SR系统已经不再基于邮件系统,而是一个独立的Web应用程序,这样邮件系统就不是必需的了。目前我们的做法是两种方式兼容。有了SR系统后,团队成员
您可能关注的文档
最近下载
- (正式版)-B 5768.2-2022 道路交通标志和标线 第2部分:道路交通标志.docx VIP
- SheWalksinBeauty她走路很优美.pptx VIP
- 教育部产学合作协同育人教学内容和课程体系改革项目申报书—基于超级计算机虚拟仿真实验系统的并行计算课程教学探索.docx VIP
- 桥牌自然约定卡.docx VIP
- GB55002-2021 建筑与市政工程抗震通用规范.docx VIP
- 2025年度镇村(社区)后备干部选拔考试题(含答案).docx VIP
- 《恋爱的犀牛》话剧剧本.doc VIP
- 宠物社交平台宠物服务行业痛点分析及解决方案.docx
- 教育部产学合作协同育人教学内容和课程体系改革项目申报书—Web服务渗透虚拟仿真实验教学设计与实践.docx VIP
- 第一单元第1课体育与健康概述教学设计2023—2024学年人教版初中体育与健康九年级.docx VIP
文档评论(0)