【delphi开源代码栏目提醒】:网学会员delphi开源代码为您提供自由软件bugfree简介借鉴微软公司软件研发理念的 - 毕业设计参考,解决您在自由软件bugfree简介借鉴微软公司软件研发理念的 - 毕业设计学习中工作中的难题,参考学习。
《自由软件BugFree简介 --- 借鉴微软公司软件研发理念的Bug管理系统》Free Software BugFree 1 / 7 自由软件 BugFree 官方网站 http://www.bugfree.org.cn BugFree is free software under the terms of the FreeBSD License. 自由软件 BugFree 官方网站是 http://www.bugfree.org.cn/ 。
我们将保持自由的心态去不断完善这款自由软件。
BugFree 是一款自由软件为了保持其纯洁性经过讨论我们严肃的承诺BugFree 官方网站http://www.bugfree.org.cn/所属网页含论坛以及官方网站发布的 BugFree 版本将拒绝放置或携带任何商业广告 --- 以保证 BugFree 的用户看到的是一个单纯、干净的自由软件及其讨论社区。
工具是思想的载体《Bug管理的经验和实践》Thinking in BugFree 就是BugFree所蕴含的软件研发流程思想的全面总结。
自由软件BugFree简介 --- 借鉴微软公司软件研发理念的Bug管理系统 刘振飞 2004-10-11 1. BugFree 简介 1.1 BugFree的来源 BugFree是借鉴微软的研发流程和Bug管理理念使用PHPMySQL独立写出的一个Bug管理系统。
简单实用、免费并且开放源
代码遵循FreeBSD License。
如何有效地管理软件产品中的 Bug是每一家软件企业必须面临的问题。
遗憾的是很多软件企业还是停留在作坊式的研发模式中其研发流程、研发工具、人员管理不尽人意无法有效的保证质量、控制进度并使产品可持续发展。
针对这个问题我们独立做出了 BugFree并且半年多来每天都在使用。
我们公司就是用它来管理Bug不断提高产品质量的:- 1.2 BugFree名称的含义 命名BugFree 有两层意思一是希望软件中的缺陷越来越少直到没有Free嘛二是表 示它是免费且开放源
代码的大家可以自由使用传播。
1.3 为什么开放BugFree的源
代码呢 根据半年多的实践觉得BugFree非常有用我们公司的日常工作已经离不开它 了。
虽然没有微软的Bug管理系统以前叫Raid现在是 Product Studio的功能那么强大 但是处理方法和思想是完全一致的起码我自己用起来的感觉和在微软时基本一样值得向大家推荐。
我们是用开放源
代码的 PHPMySQL开发的目的就是希望跟大家分享BugFree。
而 且开放源
代码之后期待高手不断改进它大家都能用到更加强大的功能。
也算为中国的软 件业做点小小的贡献:- BugFree
代码在我们的“数字神经系统”中非常独立很容易拿出来给大家共享。
1.4 BugFree仅仅是个工具 不过坦率的讲BugFree 仅仅是个工具而已重要的是掌握其中蕴含的软件研发的流程思想才能用好这个工具。
如果你以前没有用过 Bug管理系统那么一开始的时候也许你会觉得这个工具是在浪费时间因为一个测试人员需要费神把发现 Bug的详细步骤记录下来 有时还要贴一张示意图这一切都不如当面说来得直接。
但是使用一段时间你会发现 BugFree很有用它忠实的记录着每个问题的处理过程 不《自由软件BugFree简介 --- 借鉴微软公司软件研发理念的Bug管理系统》Free Software BugFree 2 / 7 自由软件 BugFree 官方网站 http://www.bugfree.org.cn 断提醒你存在的问题永远不会丢失和忘记。
如果你参与过较大软件项目或产品的研发 就会理解它对软件可持续发展是至关重要的。
而且研发的规模越大BugFree 的作用就会越大。
2. 如何安装使用BugFree BugFree的安装和使用都非常简单请参考http://www.bugfree.org.cn/help/。
希望你能喜欢BugFree就像我一样。
3. 为什么开发BugFree 一言以蔽之「工欲善其事必先利其器」。
3.1 我在方正的困惑 我曾在北京大学计算机研究所方正技术研究院学习、工作了七年那里有我很多师长和好友我参与研发的方正RIP PSPNT 至今仍是方正的核心软件产品。
当自认为成了一名合格的 C开发人员后我发现面临一个无法解决的难题如何有效地控制软件研发流程以保证产品质量和进度。
我意识到做好一个软件只靠技术好是很不够的必须要有一套好的研发流程和配套的研发工具。
恰好那时我在吴士宏的《逆风飞飏》中读到了微软的“数字神经系统”及相关叙述很吃惊想去那里看看。
3.2 微软数字神经系统的妙处 2000年我加入微软中国研发中心真的很快在这里找到了答案。
四年来我所理解的微软数字神经系统在软件研发中的妙处是 3.2.1 研发人员分工明确 主要的三个角色 PM Program Manager、 Dev Developer、 Tester三者分工明确、接口清晰PM来定义需求、书写出来每个功能特性 Feature的设计文档SpecDev写
代码来实现这个SpecTester来测试 Dev做出来的东西是否符合 PM定义的 Spec三个角色之间并无必然的上下级关系只是分工合作完成某个功能Feature。
我将之形容为“三权分立”三者之间有效合作并制衡。
国内企业好像还没有PM这个角色而测试人员又往往成为开发人员的附庸一个 Bug是否要被解决全由开发人员说了算这很糟糕就像政治上一个权力没有被有效的制衡一样一定会产生各种问题。
3.2.2 研发工具很配套 PM将写好的需求设计文档Spec保存到 SharePoint【见附录一】文档库中所有相关的人都可以随时查看Dev用Source Depot 功能类似CVS的微软内部源
代码管理工具来保存源程序Tester把发现的Bug记录到Raid中以有效跟踪这个
问题的处理流程。
3.2.3 分阶段的研发流程 和任何软件公司一样微软的研发无非也分为规划、开发、测试、 发布等几个阶段。
但是微软的研发流程不走形式可以统一产品组所有员工的思想并且能够有效地控制住进度。
做完一个版本后还会让所有员工匿名投票找出这次研发过程中出现的各种问题以便在下个版本中解决 此过程称为 Postmortem挺吓人的一个词。
可以这么比喻微软这套研发模式是让其中的每个人都成了一架高速运转的机器上的各 种零件少数零件坏了不要紧可以随时更换。
当然微软有许许多多技术高手但我认为更 重要是其研发模式保证了软件产品的高品质、可持续发展。
《自由软件BugFree简介 --- 借鉴微软公司软件研发理念的Bug管理系统》Free Software BugFree 3 / 7 自由软件 BugFree 官方网站 http://www.bugfree.org.cn 3.3 微软的每一天 我在微软经历了三个产品的研发Office XP、Project 2002、Office 2003。
微软所有产品的研发都遵循同样的研发模式、使用同样的研发工具来进行管理。
在所有的工具中我最佩服的就是Raid。
可以说遍布全球的微软研发人员能够保持统一的思维模式、做事及语言习惯与整个研发流程的配套工具密不可分其中最重要的就是通过Raid把整个产品的研发有机的联系起来。
阅读每个 Bug你可以详细的看到大家讨论解决该问题的完整思路。
我曾读过微软Project 2002产品的Architect写的一个备忘录其中提到 “Raid是微软最伟大的产品为Bill Gates节省了无数金钱”当时我“心有戚戚焉”立即给这哥儿们发Email表示赞同之意:- 他回信说希望Project能够做的像Raid一样成功但可惜他要离开微软自己开公司了。
在微软上班我每天第一件事是打开 Outlook来处理有关自己的重要邮件第二件事就是打开Raid来看看有关自己的Bug情况赶快处理。
我一直纳闷微软为什么不把这个Bug管理系统作为软件来出售那可是任何一家
软件企业都需要的啊 3.4 在朋友公司的实践 2004年4月我加盟朋友的公司做网站发觉自己已经习惯了微软的研发模式于是建议这几个朋友先做一个 “数字神经系统” BugFree 就是其中有关软件研发的Bug管理部分 其目的是让一切可以数字化、文档化的信息被记录下来为公司的进一步发展和决策提供基础信息支持。
该系统可以用八个字来概括数据、文档、自助、自动。
其表现形式就是一个包括六个子系统的企业内部网 3.4.1 员工管理系统 每个员工都有唯一的UserID验证密码后方可登录数字神经系统访问公司内部信息查看上下级关系、每个员工的个人公开信息等此处
学习 SharePoint、Outlook和Exchange中的员工管理和展示 3.4.2 信息管理系统 内部的信息发布展示平台有点象 BBS一样可发布公司正式通告、员工也可自由匿名发帖 3.4.3 Email系统 现在Email的重要性对一个企业不言而喻我们采用免费Qmail来搭建 3.4.4 文档管理系统 一个集中管理公司所有文档包括研发过程书写的各种文档的地方学习SharePoint中的文档库 3.4.5 源
代码管理系统 集成优秀且
免费的CVS 3.4.6 BugFree 虽然网上有免费的Bug
管理系统但是我看后觉得都不好使和我在微软用 的差别太大科泰世纪公司的 Bug管理系统【见附录二】倒也很像微软的但是要花钱买。
于是决定用PHPMySQL借鉴微软的研发流程和Bug管理工具自己开发一个以便对我们开发新 网站、声讯软件、客户端软件和公司事务管理中出现的问题进行有效的跟踪处理。
当然这个小小的“数字神经系统”还不全面而且当时
设计的时候更多的是站在为方便研发人员的日常工作而考虑的以后还需要挂靠更多的公司业务相关模块。
即使这《自由软件BugFree简介 --- 借鉴微软公司软件研发理念的Bug管理系统》Free Software BugFree 4 / 7 自由软件 BugFree 官方网站 http://www.bugfree.org.cn 样它已经发挥了很大威力现在公司每个员工都养成这样的工作习惯并乐在其中每天使用邮件到文档库中查找
文档发现问题上Bug等等。
3.4.5 BugFree
代码的完成 “数字神经系统”中的BugFree是用开放源
代码的
PHPMySQL写成、基于浏览器方式运行的。
我以前没有任何LinuxApacheMySQLPHP的开发经验但我很幸运的
招聘到两名优秀的 Web程序员可以在短短的两个月时间内搭建起这样的
系统。
其中BugFree是由我的同事王春生开发的他用了不到一个月的时间就把
代码写完让我很是惊讶从而认识到基于Linux的Web开发魅力。
之后我们测试一个多月就可以在实际工作中使用。
现在BugFree已经成了我们日常
工作最重要的工具每个员工也都习惯用Bug来记录跟踪事情不仅仅是
代码中的缺陷可以上Bug新的需求、设计变化等都可以用这个Bug管理系统有效的管理起来。
其实Bug 不仅仅可以用来记录软件中的缺陷也可以用来跟踪公司的日常事务。
比如在公司的网上报销系统还没有建立之前我们就用 BugFree来处理报销的事情。
甚至一个同事给我上了这样的Bug你的桌面太乱了请整理一下:- 3.4.6 和Raid比较起来BugFree有如下特点 Raid是Windows客户端软件BugFree是基于浏览器的。
基于此Raid 有很强大的编辑展示功能而BugFree简单、方便、易用 Raid可以进行极其复杂的组合查询BugFree的
查询功能相对弱一些但我觉得已经够用了 一个Bug从创建到关闭这个“生命周期”的处理过程BugFree 全面借鉴Raid的处理流程处理方法甚至一些词汇都和Raid一样 所以我现在用BugFree处理Bug的感觉和在微软时候基本一样 BugFree 还有一个独创的功能当一个Bug被指派给你的时候系统会自动给你发一封邮件告诉你有个Bug需要你处理这样结合 EmailBugFree被完美使用起来成为我们现在网站开发、运行、维护必备的工具。
我们还增加了两个Bug统计功能一是每天早上8点钟每个同事都会收到一封Email告诉他/她头上还有多少 Bug等待处理二是每周一中午给所有人发一封邮件告知上周Bug的处理情况和到目前为止所有Bug的统计数据 BugFree程序规模很小一个中等水平的PHP
程序员就可以在12周内看懂所有的
代码然后就可以根据自己的需要做相应的定制了 最最重要是BugFree 是免费并且开发源
代码的。
你可以体验到微软的Bug管理精髓按自己需要自由地增加功能、修改
代码而不用担心
版权问题:- 4. BugFree目前的开发情况 和任何软件系统一样BugFree中还存在着一些Bug、还有很多地方可以改进、还可以增加很多新的功能。
但是基于人力和时间的关系没有太多精力去进一步完善它。
开放源
代码之后希望有热心人不断完善 BugFree。
以下是目前我想到的可以改进的地方 4.1 宣传推广BugFree的使用。
一般中小企业没有很好的Bug管理系统刚好可用BugFree来填补这个空白。
其实 BugFree是一个非常简单的工具可以让非技术人员快速上手使用。
开源的目的是让它被广泛使用只有被大家天天用我们才能找到下一步不断改进这个软件的真正需求。
有人天天用是软件生命力的保证。
《自由软件BugFree简介 --- 借鉴微软公司软件研发理念的Bug管理系统》Free Software BugFree 5 / 7 自由软件 BugFree 官方网站 http://www.bugfree.org.cn 4.2 和源
代码管理系统CVS有效的统一起来。
当
代码的改动是因为解决一个Bug引起的时候系统可以自动把
代码的Check-in结合起来微软的源
代码管理Source Depot好像早就有了此能力。
可以考虑通过Eclipse把CVS和BugFree连通起来。
4.3 搭建研发工具套件。
更进一步把BugFree和需求设计
文档、开发文档、测试文档、测试用例等联系起来做成一个软件研发工具套件即可通过一个 Bug方便找到对应的文档、
代码、测试用例等等那将是一个比较完美的境界。
微软现在的 Product Studio 正在向这个方面努力。
不过达到这一步必须先做一个好的文档管理工具就像微软的SharePoint 中的文档库一样不仅仅存放文档还要方便检索 比如 Word文档内容等那可不是一件容易的工作。
我目前初步的想法是先借鉴“基于Java 的全文索引引擎 Lucene”去做一个易理解、易扩展的基于C的全文索引引擎我在微软做过SPS的PM对搜索引擎这一块还是比较熟悉、可以做出来的。
有了这样的引擎为基础后再借鉴SharePoint做出文档库及门户功能。
这些工作都需要花很多精力和时间而且也很难做。
5. 谈点别的关于我的梦想 程序员开发软件的时候需要一行行的去书写
代码、调试、测试。
我总在想如果哪一天我们不需要写
代码就好了但你把需求确定并细化后
计算机直接把程序生成出来那该多省事令人兴奋的是我见识过这样的系统那就是我的好朋友林燕锋历时八年多所开发的『KCOM 商业工程』尽管目前这个KCOM平台目前只能做到对信息管理系统MIS和工作流 Workflow两者应用做到自动
代码生成 请注意不是生成
代码框架而是根据你的需求设计自动生成所有最终
代码你不用写一行
代码也不用测试了直接可以使用 这个KCOM 3A 软件网 http://www.3acesoft.com平台可以这么理解 1. 从底层核心看它有自己的语言 KCOM Basic和虚拟机 KCOM Stage非常像
Java和 .
NET 2. 从组件技术看它有自己的组件机制KCOM类似COM和COBRA 3. 从编程角度看它提供类似Visual Basic和
Delphi的编程能力 4. 从建模工具看它提供类似Rose的建模能力 5. 从最热门的软件工程技术看它已经在MIS和Workflow两个领域实现了模型驱动体系架构 MDA Model Driven Architecture所设想的自动
代码生成 牛吧做出以上任何一个都不容易而林燕锋却全部实现了 我认识林燕锋已经四年多了当第一次看到他
演示的自动
代码生成功能实在震惊没有想到一个计算机软件开发的理想境界居然在他手里开始实现了不是模型而是实实在在的可用的软件系统 尽管现在他的KCOM还没有得到市场的广泛认可但我始终相信这个产品有巨大的市场价值和社会意义。
若能争取到更多的扶持、加大市场开发力度将会对加快我国企业、政府、军队的信息化建设具有不可估量的推动作用。
我设想如果使用KCOM来做一个类似微软SharePoint的企业门户软件那将是一个非常有意思的事情。
方正七年、微软四年我现在的梦想是 1. 在不久的将来可以有机会跟林燕锋合作不断完善 KCOM软件平台扩展自动生成
代码《自由软件BugFree简介 --- 借鉴微软公司软件研发理念的Bug管理系统》Free Software BugFree 6 / 7 自由软件 BugFree 官方网站 http://www.bugfree.org.cn 的领域更进一步能够创造一个适当的环境可静下心来实现他最早设想的知识库系统每个人都可以通过Internet来共享自己的知识共同构建一个互联的知识库系统就像现在可以通过Google来搜索网页一样以后你可以通过这个知识库系统来
搜索共享的或可交易的知识。
2. Internet 促进了整个世界的发展引发了人们生活和工作方式的重大变革这仅仅只是开始。
我想有机会做做和Linux/Internet相关的分布式系统方面的技术比如分布式系统、电信和Internet结合、超大邮件系统等等。
开源软件对我们国家而言是个巨大的机会但愿我这个技术人员能够为此做些有益的工作。
3. 利用我现有的软件研发管理经验和体会使用我最喜欢的C语言带领一支有战斗力的队伍做一些大的、能够影响很多人对社会有较大贡献的软件就像我曾经参与的方正 RIP PSPNT、微软Office一样。
P.S. 我觉得斯皮尔伯格编剧并导演的电影《A.I.》抓住人工智能的核心人与机器最终的分界线可能就是“爱”。
让机器拥有智能应该是不太遥远的事情但是我现在无法想像如何让机器拥有意识和懂得“爱”。
人类的“爱”是这个宇宙最伟大的力量机器终究也会有人一样智能但“爱”或许是人类抵御机器的最后一道防线。
6. 附录 6.1 微软的SharePoint 微软的Windows、Office 广为人知但是Office家族中的一个企业级产品SharePoint大家可能还不很熟悉它分为两个版本SharePoint Team Service现改为Windows SharePoint Service简称 WSS是为一个小组建立网站所用另一个叫 SharePoint Portal Server 简称 SPS是为了建立企业门户所用SPS基于WSS增加了强大的门户管理功能、文档搜索功能。
可以这么说互联网上的Web页搜索你有很多选择如Google、Yahoo、百度等等企业内部网上你好像只有选择SPS尽管这个软件不便宜。
其实判断微软产品的优劣只要看看微软自己在内部使用哪些产品好了。
从 Office XP 发布以来SharePoint已经广泛地在微软内部部署使用起来现在各个部门、小组的网站几乎都建立在SharePiont上了。
微软也在不断投入力量加强这个产品的研发考虑到Office家族的客户端产品如Word、Excel、InfoPath等可以无缝连接到 SharePoint上非常完美的集成在一起不夸张的说SharePoint又将是微软一棵金灿灿的摇钱树了。
现在Office家族的产品都在向 SharePoint 挂靠这样每个独立的看似没有发展空间的客户端产品如Word、 Excel 等一下子都有新的发展余地开始迈向真正的企业级应用解决
方案。
不佩服微软那么多聪明的脑瓜不行啊 6.2 科泰世纪公司的Bug管理系统 据我所知还有一家公司也在学习微软的研发模式:科泰世纪www.koretide.com.cn他们的软件工程管理工具像我们一样在借鉴微软的经验。
科泰的首席科学家陈榕在美国微软工作多年现在回来做操作系统动手之前先把研发工具和研发模式学习微软的样子搭建起来。
我想凡是在微软做过研发、理解了这套研发模式的开发人员如果离开微软继续做开发的话一定会做一个类似的 Bug管理工具“英雄所见略同” :-有意思的是我们和科泰世纪都用 PHPMySQL来开发Bug管理系统、用CVS来管理源
代码但不同的是他们把 Bug管理工具当作软件来卖我们免费并开放源
代码了:- 在2002年10月底C泰斗咱的偶像 Bjarne Stroustrup 来北京访问的那两天我跑到清华和北大聆听大师的三次讲座。
北大的那一场就是陈榕做的翻译我当时还跟陈榕聊了一会后来又通过几封Email逐步了解了他们公司也阅读了陈榕的ezCOM资料很佩服他的技术思《自由软件BugFree简介 --- 借鉴微软公司软件研发理念的Bug管理系统》Free Software BugFree 7 / 7 自由软件 BugFree 官方网站 http://www.bugfree.org.cn 路更佩服他做操作系统的勇气前两天看报道说上海市政府给科泰2500万元投资而且他们的系统开始在国产3G系统试用很看好科泰的前途尽管产业化过程会充满艰难。
但一旦成功将有巨大的社会意义和
经济收益--- 想想微软当年是怎么发展壮大的吧。
祝福陈榕祝福科泰。