技术开发 频道

XP项目配置管理

    配置管理系统篇    

    软件配置管理系统范畴很广:版本控制、构建管理、需求变更管理、缺陷管理、工作空间管理、并行开发支持、过程管理、发布管理、权限控制、报告支持……(晕了吧)。目前大多数配置管理工具只支持其中一项或者几项功能,完成的配置管理方案需要集成各种不同的工具系统。

    1、 版本控制

    版本控制系统是必要的,集中放置,统一管理,控制版本,安全有效;也是实践XP的

    倡导的“集体所有”“共享”的思想。

    专门对当前流行的ClearCase、Firefly、CVS、PVCS、VSS、STARTEAM等产品专门作了一个调查报告。企业级的ClearCase和Firefly等,功能强大,配置也很复杂,价格也非常昂贵,一个licence几千美金不是一般人能用得起。相比而言,Hansky 的Firefly比较划算,有比较完善的配置管理解决方案。免费就是开源的CVS了,严格上讲,只能算是一个版本控制系统,开发人员当然最喜欢这样简单适用的了。完整的配置管理,当然是涉及企业的各个方面,包括各个部门的人员。我觉得配置管理已经涵括了项目管理的很大一部分,配置管理到位可以说是项目管理成功的必要条件了。

    最后当然选用了CVS,实验的硬件和人力投资已经差不多有十几万了,不好再有更大的投入。关于CVS的配置和使用参考另一篇引用的文章,其中我作了整理和修改。CVS对于权限控制还是相当麻烦的,只能通过writer和reader以及linux的文件权限来控制,但是据说可以通过CVS提供的接口扩展来实现复杂的权限控制,我没有试过。

    2、缺陷跟踪(Bug Tracking)

    在原来的一家工作的时候,也经历过使用excel来记录bug的原始时代:测试人员记录下bug,然后发excel给开发人员。采用一个好用的缺陷跟踪系统,好处自然明显:集中管理bug、自动发送通知、bug分析统计等。

    目前开源的Bug Tracking System还是有不少的:GNATS、bugzilla、mantis,bugzero虽然不是开源,不过也有免费版。很高兴,还有一个国产的叫BugFree,冲着他们的目标“BugFree的发展目标:代替BugZilla和Mantis,成为最流行的Bug管理系统!“的份上,去看看。还有一个URTracker,用它自己的话说是“应用于Bug跟踪、问题跟踪、任务跟踪、服务跟踪……”,我还特地试用了一下,界面很漂亮。

    这么多工具,用哪一个?我们当然作了一个分析调查报告,很可惜,国产的都被排除在考虑之外。相信国产的一定可以发达兴旺,但目前成熟的还是国外的。开源软件在国内没有得到更好的重视,相反,日本、台湾和香港等地方发展得很好,从网上所查的文档的多少可以看出来。下面谈一下Gnats、bugzilla、bugzero和mantis的比较。

    最后选用bugzilla,虽然安装配置复杂,无疑它是最强大了,尤其看好的它丰富的报表分析功能,对于我们的实验分析很有好处。而且,当初就考虑到可能需要对功能扩展,需要对bug的结果进行分析,如果采用Gnats,文件的读写将是一个很大麻烦,采用bugzilla的mysql数据库作为接口,问题迎刃而解。

    Mantis应该也是一个简单易用的工具,参见八进制的帖子“使用Mantis跟踪bug”。

    谈谈bugzilla。安装确实是很折腾人,虽然可以采用自动安装,让bugzilla自己去搜索依赖的perl module,但是网络不尽人意,不知道何时就会断网,以至于导致安装失败无法再重复安装的可能也是有的。保险的办法也有,那就是自己下载所有的bugzilla 依赖的perl module,然后手动安装。问题也有,下载所有的perl module需要耗费N多时间和精力,而且很多的模块之间有版本上依赖关系。

    Bugzilla依赖的全部perl模块。系统:Linux ,Bugzilla version:2.18rc3。(前面表示模块名,数字表示版本号,括号内:any表示任何版本和推荐版本、对应真实工具包名。)

    Appconfig 1.52

    CGI 2.93

    Data:Dumper (any 2.121)

    Date::Format2.21(TimeDate-1.16)

    DBI 1.36

    DBD:Mysql2.1010

    File::Spec 0.82(PathTools-3.05)

    File::Temp(any)(File-Temp0.16)

    Template 2.08(Template-Toolkit-2.14.tar.gz)

    Text::Wrap 2001.0131(Text-Tabs+Wrap-2001.0929)

    Optional(不必非得安装,主要是报表功能和扩展功能的支持)

    GD 1.20

    Chart::Base 1.0 (Chart-2.3)

    GD::Graph(any)

    GD::Text::Align(any) (GDTextUtil-0.86.tar.gz)

    PatchReader 0.94 (0.9.5)

0
相关文章