一、目的:
选择一个符合本公司软件开发实际需求的每日构建软件,并有一定前瞻性。
二、评估项目
1、基本功能 :
(1)、能调用多种版本控制软件取得代码。
(2)、对代码进行编译,并自动管理版本号。
(3)、对编译结果能及时并且自动反馈,编译时的任何错误都能被追踪。
(4)、可以调用测试软件进行测试。
(5)、构建成功完成后能作出软件“快照”,可直接供测试和发布。
(6)、是否支持多语言编译。
(7)、可灵活定义构建流程。
2、易用性:
界面是否简单易用。
3、后期维护和扩展性:
(1)、每日构建流程的创建是否简便
(2)、项目进行中对每日构建的流程的变更是否简便。
(3)、其他功能的支持,比如集成文件复制,删除,属性更改;压缩、ftp文件传输等。
4、软件费用:
每日构建软件自身成本,以及使用和维护时产生的费用成本。
三、评估对象
由于时间等方面的原因,只对两个每日构建软件进行评估。
分别是FinalBuilder2和开源软件Want。
四、评估方法
从实际开发流程出发,从VSS取代码,进行编译和发布
五、评估结果
1、针对评估项目:
|
|
FinalBuilder2
|
Want
|
|
基本功能
|
支持多种版本控制软件
|
VSS、CVS、QVCS等多种,没有的可以扩充
|
不直接支持,可以改代码
|
|
编译代码,生成版本号
|
支持
|
支持
|
|
及时自动反馈编译结果
|
可以通过日志、e-mail等多种方式反馈
|
日志和界面
|
|
支持测试软件
|
支持AQTIME,可以用命令行扩充
|
支持DUNIT单元测试,其余的要改代码或调用
|
|
构建成功完成可直接供测试和发布
|
可以通过文件复制、ftp等方式直接发布
|
不直接支持,可以改代码
|
|
支持多语言编译。
|
支持DELPHI、JAVA、.NET等
|
只支持DELPHI,但可以改代码
|
|
灵活定义构建流程
|
可以,并可以对构建程序编写脚本事件
|
不太方便
|
|
易用性
|
界面是否简单易用
|
是,完全GUI界面,也支持命令行
|
不太方便,控制台程序,配置时需编写XML文件
|
|
|
后期维护和扩展性
|
快速创建构建流程
|
是
|
需花时间熟悉,编写XML文件
|
|
快速变更构建的流程
|
是
|
需花时间熟悉,修改XML文件
|
|
其他功能的支持,比如集成文件复制,删除,属性更改;压缩、ftp文件传输等。
|
是
|
支持压缩等,但大部分要动代码
|
|
软件费用:
|
费用
|
EUR:300,后期费用少
|
免费,后期费用多
|
|
|
2、总体描述:
(1)、二者在测试时都发现小BUG,由于WANT是开源软件,迅速解决问题,但FB2有新闻组支持,第二天也得到反馈。
在SOURCEFORGE上,对WANT的BUG提交最迟是去年10月,要么是很成熟,要么是人气不足了。后者可能性更大。
(2)、WANT的架构是比较灵活的,比如对多语言编译的扩充,从代码上看,是可以在其架构上进行。
而FB2的扩充只能是通过调用批文件等或版本升级来进行,但它已经提供了大多数主流语言的编译。
(3)、在构建流程的配置上,WANT是通过手写XML文件配置,虽然有它附带辅助工具DOF2WANT来自动从DOF文件生成xml,但实际情况是生成的文件并不能直接或少许改动后使用,还是有比较大的工作量。单个WANT程序只能编译一个工程文件,如果是群组,必须依次调用,日后组织困难。
FB2是通过图形界面配置,直观易用,流程的顺序和是否使用通过鼠标控制就可以配置,并可以方便的把多个流程组合并顺序使用。
(4)、FB2还提供了一些其他功能:构建过程中人机交换功能、注册表的读写、检测磁盘剩余空间、创建虚拟驱动器,调用InstallShield,对INTERNET的访问、运行脚本(支持四种脚本语言)等功能。
(5)、从每日构建的理论来说,WANT更像是每日编译,虽然它比直接写编译批文件功能强大一些。FB2相对来说是比较完善的,它的流程化更加清晰,更人性化。
WANT的优势在于开源,可以不断进行完善来达到FB2的功能和便利优势,但所需人工费用很大。
因此,从性价比上看,FB2对一个想通过实施每日构建来提高软件质量和管理质量的公司来说,应该是个比较好的选择。