使用 IBM® Rational® Build Forge™,您可以制定和配置一个自动化分析过程,并且您可以把这个分析过程集成应用到您的软件开发过程中。
要使用 Rational Build Forge 自动化软件分析过程,需要建立所须的 Build Forge 对象:
- 一个适配器对象
- 一个环境对象
- 一个工程对象
当您运行一个分析过程作为一个 Build Forge 的项目,在 Build Forge 的工作日志会建立一个分析报表的链接。 这个分析报表会存储在 IBM® Rational® Software Analyzer 服务器上。 分析报表提供的历史记录可以被用于多种目的, 包括决策支持,、质量控制和依从关系等。 除了分析报表记录, Build Forge 工作日志还提供了分析报表历史。使用 Build Forge, 您可以按照需求制定分析计划。例如, 您可以仅和制定版本发布同步分析过程, 为每一发布版本运行一个分析过程, 或者在其它时间运行大量代码版本的分析过程。
要建立所需要的对象,您须要完成这些任务,并且后面的子段落会有更进一步的说明
- 选择一个分析适配器模板
- 为分析适配器模板指定参数
- 为 Rational Software Analyzer 创建一个 Build Forge 用户
- 创建一个 Build Forge 服务器
- 复制分析适配器模板到 Build Forge
- 为分析适配器模板创建通知
为了运行一个分析过程,Build Forge 必须要使用一个分析适配器模板。您须要使用分析命令去配置这个包含参数的模板。在 Rational Software Analyzer 企业版中,适配器模板位于根安装目录的接口目录下。表 1 说明使用 Rational Software Analyzer 提供的分析适配器模板。
表 1. 分析适配器模板
| 适配器模板名称 | 说明 |
|---|---|
| RSAR_UserDirScript.xml | 使用适配器运行一个分析过程,需要使用一个规则集,这个规则集的规则文件参数所依据的是由您所创建的脚本所返回的目录列表 使用 DIR_SCRIPT 参数为用户脚本指定一个 全路径。用户脚本必须返回一个或多个目录的结果集,多个目录间由横线分隔。 使用脚本可以允许您改变分析的源目录而不用在 Build Forge 内编辑适配器配置。只是简单的编辑脚本来 改变您想分析的源目录列表。 RULEFILE 和 DIR_SCRIPT 参数是 Build Forge 的环境变量。参阅下一章节, "为分析适配器模板 指定参数值。" |
| RSAR_StaticDirs.xml | 使用规则文件参数指定的一组规则集来使适配器去运行一个分析过程,
并且规则文件参数依据一组您所提供的静态源目录。 使用目录参数来指定一组由豆号分隔的目录列表。要增加或删除目录,您必须 在 Build Forge 中编辑适配器配置。 RULEFILE 和 DIRECTORIES 参数是两个 Build Forge 的环境 变量。 参阅下一章,"为分析适配器模板 指定参数值。" |
需要特定的环境和应用值 去运行分析命令,以使用适配器模板。在您创建 Build Forge 对象之前,记录下为定义分析适配器模板所需要的参数值。 在 Build Forge 中,当创建一个环境对象时您需要 提供参数值。表 2 说明了分析命令所需要的参数值。
注意:
不要在配适器模板的 XML 文件中编辑分析参数。
表 2. 分析命令参数
| 参数名称 | 说明 |
|---|---|
| ECLIPSE | 为 Eclipse™ 的可执行文件指定全路径。对于您安装的 Rational Software Analyzer 所使用的 Eclise,Eclipse 的可执行文件 在 Rational Software Analyzer 的安装根目录下。 |
| CATALINA_HOME | 为安装在 Rational Software Analyzer 下的 Apache Tomcat server 指定全 路径。Tomcat 缺省目录在 Rational Software Analyzer 安装的根目录下。 |
| RULEFILE | 为规则文件指定全路径包括运行源文件所需的分析规则。 使用用户界面来创建规则文件。 选择规则在规则标签页, 然后保存并导出规则到 <rule>.dat 文件。企业版计算机必须可以访问到 <rule>.dat 文件 来运行分析命令。 |
| PROJECTNAME | 为分析报表指定一个项目名称。在 Rational Software
Analyzer 网络服务器,报表通过项目名称来分组。 当分析过程每 一次运行,分析报表被保存在数据库中,并且在项目名称下会增加一个 新的分析报表链接。 每一张报表都会使用唯一的时间戳格式来命名:
注意:项目名称是分析报表的分组名称;它不同于 Build Forge 或是 Eclipse 的项目名称。 |
| 报表目录 | HTML格式的分析报表可以被保存并访问通过报表存贮的位置。
这个目录是固定的位置;如果您要改变它,您就不能使用这个URL链接在 Build Forge 工作日志中来访问报表。 %CATALINA_HOME%\webapps\ROOT\rsar\reports |
| 脚本目录 | 为用户脚本指定一个全路径,返回横线分隔符
格式的一个或多个目录。注意: DIR_SCRIPT 参数
仅用在当您使用 RSAR_UserDirScript.xml 文件作为适配器模板时使用。
用户脚本可以是任何一种类型的外壳脚本程序,只要可以在系统内执行 分析命令。例如,一个 Perl 类型的脚本程序, Linux® 类型的脚本程序,或是 Microsoft® Windows® 批处理 文件。Rational Software Analyzer 企业版可以运行分析 命令行。 对于 Java™ 项目,通过用户脚本返回的目录 必须是全路径而且要包括顶级目录,包括所有您想要分析的源程序和类文件。 注意:要执行分析过程,要通过 Build Forge 服务器 认证登陆才可以访问源程序。 |
| DIRECTORIES | > 指定分析所用的豆号分隔的源程序目录列表。
注意: 只是当您使用
RSAR_StaticDirs.xml 适配器参数时需要 DIRECTORIES 参数。 对于 Java 项目,通过用户脚本返回的目录 必须是全路径而且要包括顶级目录,包括所有您想要分析的源程序和类文件。 注意:要执行分析过程,要通过 Build Forge 服务器 认证登陆才可以访问源程序。 |
| LAST_RUN_FORMAT | 定义日期时间格式。 缺省的时间格式是 YYYYMMDDHHMMSS。 |
| LAST_RUN | 最后一次成功运行分析适配器的时间。
为 LAST_RUN 设置一个日期缺省值(20071202100000)必须要早于当前日期, 这样分析适配器才能在第一次运行时 初始化 LAST_RUN 值。 |
| RSA_SERVER | 指定 Build Forge 服务器对象名称,用来表示 运行分析命令的企业版计算机。 |
为 Rational Software Analyzer 创建一个 Build Forge 用户
要想登陆管理控制台并创建 Build Forge 对象,Rational Software Analyzer 用户必须与 Build Forge 一致。
在 Build Forge 中,为 Rational Software Analyzer 用户创建一个用户名(Administration > Users)。您创建的用户名要有足够的权限来运行项目并且能够编辑和创建 Build Forge 对象:
- 为 Rational Software Analyzer 服务器准备一个服务器资源
- 通过管理控制台认证的服务器可以登陆到 Rational Software Analyzer 服务器上
- 为分析适配器模板创建一个适配器
- 一个为运行适配器和分析过程的项目
- 为分析命令定义参数值
在 Build Forge 下,您可以通过把一个用户增加到访问组来给他受权。
注意:
- 如果您想为适配器或项目建立 e-mail 通知,您所创建的用户就必须指定一个在您的 SMTP 服务器中配置好的 e-mail 地址。更多细节操作,参照下面的为分析适配器创建邮件通知部分。
- 您定义在 Build Forge 服务器上的登陆名认证必须要能够访问到源文件来执行分析过程。
Build Forge 服务器用来运行执行命令。为了能使 Build Forge 运行分析命令,需要创建 Build Forge 服务器对象标识企业版计算机,通过完成下面的任务来创建 Build Forge 服务器对象(更详细的介绍,请参照 Build Forge 文档):
- 在企业版计算机上安装 Build Forge 代理程序。使用 Build Forge 安装介质或下载静像, 在您的操作系统上运行代理程序的可执行文件。例 如,在 Windows系统上的可执行文件是:win-bfagent-version.exe。为了帮助完成这个任务, 参阅 Build Forge 安装指南。
- 在 Build Forge 环境下,为运行分析命令的企业版计算机创建一个服务器对象。 使用管理控制台,选择 Servers 并输入相关信息来创建对象。
- 在 Build Forge 环境下,使用受权创建服务器端认证,这样使用管理控制台就可以登陆到企业版计算机。在管理 控制台下,选择 Servers > Server Auth 并输入相关信息创建 对象。
- 在 Build Forge 环境下,可以测试一个到企业版计算机的连接,
这样可以验证您为服务器认证创建的用户名和密码是正
确的。完成以下步骤:
- 在管理控制台下,选择 Servers 并选择您创建的服务器对象。
- 点击 Test Connection。
- 查看返回的测试结果,确认管理控台可以使用服务器授权认证连接到 企业版计算机。
要在 Build Forge 环境下使用分析适配器模板,需要把模板文件复制到 Build Forge 环境的接口目录下,并且重起环境以使 Build Forge 数据库生效。完成以下步骤来复制分析适配器模板并使之生效。(要查看更详细的说明,参阅 Build Forge 文档):
- 从企业版计算机环境下,定位到适配器模板所在的接口目录。接口目录位于 Rational Software Analyzer 的安装根目录下。
- 复制适配器模板到 Build Forge 管理控制台的接口目录下。接口目录位于 Build Forge 的根安装目录下。
- 在 Build Forge 环境下,重新设置适配器模板,通过复制模板到 Build Forge 数据库下,通过安成以下步骤:
- 使用管理控制台,选择 Administration > System。
- 在列表中,选择 Reset Interface Templates 并选择 Yes。
为分析模板创建 Build Forge 对象
分析适配器模板必须要和 Build Forge 适配器的项目和环境相关联。当运行 Build Forge 项目,Build Forge 配置器会执行分析适配器的代码。完成下面的步骤来创建 Build Forge 对象,这需要运行命令行分析程序。(参阅 Build Forge 文档获取更多的说明信息):
- 在 Build Forge环境下,创建 Build Forge 适配器。一个 Build Forge 适配器是一个分析适配器模板的实例。当您创建了一个适配器,您需要为它分配一个唯一的名称并和一个分析适配器模板相关联。
- 在管理控制台下,选择 Projects > Adaptors。
- 点击 Add Adaptor。
- 提供适配器的名称和相关信息来创建适配器。
- 在 Build Forge 环境下,创建 Build Forge 环境。环境包括所须的参数来运行分析适配器模板。
- 在管理控制台下,选择 Projects > Environments。
- 点击 Add Environment。
- 提供环境的名称和参数的名称与相应值来创建环境。对于参数值的帮助文档,参阅参数描述,位于名为 为分析适配器指定参数值的章节。
- 在 Build Forge 环境下,为适配器创建一个项目。如果您为适配器添加了一个已存在的项目,可以略过这部分内容。
- 在管理控制台下,选择 Projects > Add Projects。
- 提供项目名称和相关信息来创建 Build Forge 项目。
- 在 Build Forge 环境下,作为一步是添加适配器到项目,并为环境步骤选择环境。
- 在管理控制台下,选择 Projects, 接下来选择 项目名称并选择 Add Step。
- 在命令模式下,输入
.source适配器点命令和适配器名称。 (如果名称包含空格,可以使用双引号括住适配器名称。) - 在环境模式下,为分析适配器模板选择一个环境。
- 在 Build Forge 环境下,运行项目来测试 Build Forge 和 Rational Software Analyzer 的集成环境。
- 查看 Build Forge 工作日志(BOM 报告)。
- 选择报告的 URL 链接来验证已经连接到分析报告。
在 Build Forge 环境下,您可以创建消息通知,当项目或分析的执行步骤运行成功或失败用户都可以接收到消息。在 Build Forge 环境下完成下面的任务为适配器阶段创建通知。更详细的说明,请参阅 Build Forge 文档。
- 在 Build Forge 环境下,创建一个通知访问组并且为 Rational Software Analyzer 访问组内的用户添加用户名。您所创建用户名的用户需要被指派一个您的 SMTP 服务器配置好的电子邮件地址。
- 在 Build Forge 环境下,打开项目并定位到适配器步骤,运行分析命令。
- 在管理控制台下,选择 Projects。
- 在步骤列表中,选择 adaptor 步骤。步骤信息会 显视在详细标签页上。
- 在 Build Forge 环境下,执行项目去确认 Rational Software Analyzer 用户是否成功接收到了邮件的通知消息。
- 使用管理控制台,选择 Projects。
- 定位到分析项目,并点击绿色的 Quick Start 图标。
Rational Build Forge 与 Rational Software Analyzer 集成场景
这个场景描了在集成环境下您应该如何使用 Rational Software Analyzer 。
场景 1. Rational Software Analyzer 企业版,开发版,和 Rational Build Forge
在这个场景下,通过使用 Build Forge ,开发人员在他们的代码或组件中运行分析规则去找到并发现问题,而开发经理可以在基于代码的应用程序系统上运行一组标准的规则集。
使用 Rational Software Analyzer 的 Eclipse 工作台,开发人员可以在他们本地计算机上的代码组件上运行分析脚本,可以每周进行一次操作,并迭代的修复分析结果所发现的问题。开发人员可以在每天晚上进行代码编译时提交源代码以进行源代码管理控制。
在每一周的周未,开发经理都会为应用程序做一次集成编译。如果这次集成编译的版本通过了系统测试,那么这个版本就可以给客户进行布署。
开发经理使用企业版的 Rational Software Analyzer 为软件质量控制创建标准规则集,包括分析规则评估代码质量,复杂性和结构性。要运行标准的分析规则集,开发经理要使用 Build Forge 来自动化配置,配置计划表的步骤,并运行软件分析。
在 Build Forge 环境下,开发经理在 Build Forge 项目上添加标准的分析规则集来统一管理每天的和每周的集成编译。要完成这项工作,开发经理必需完成以下这些任务:
- 为应用程序创建一个指向源文件目录的分析适配器并参照标准的应用规则集。
- 做为每一个项目步骤,为 Build Forge 项目添加适配器,以便进行每日的编译和每周的编译。
- 为每天和每周的工作制定项目时间表。
在每周集成编绎运行并且为最终发布版本打包之前,每晚都要运行标准规则集 ,并多次查看分析报表 。在 Rational Software Analyzer 万维网服务器上,从本地存贮链接到分析报表,被发送给所有的项目管理者并演示符合的质量标准的程序代码。
为测试经理提供一个每日编译版本的分析报表链接,开发经理需要为测试经理创建一个 Build Forge 用户,并且在 Build Forge 内把这个用户添加到邮件通知组。
场景 2. Rational Software Analyzer 企业版、开发版和 Rational Build Forge
在这个场景中,开发人员执行分析规则在他们的代码组件内发现并修复问题。每周开发小组领导核心可以随意进行一次最初的代码检测工作;而开发经理须要每月执行一次标准的分析规则集。
使用 Eclipse 工作台的 Rational Software Analyzer,每周贯穿的例行工作是开发人员在他们的代码组件上执行分析脚本并且迭代的修复分析结果中的问题。开发人员每天都要提交代码组件以进行版本控制,并且每周开发小组的领导核心需要把这些包括修复代码的版本在打包交付给客户使用之前,再执行一遍。
在每周进行集成编译时,开发小组的核心人员可以将执行代码检测分析作为工作的一部分内部来进行。在 Eclipse 工作台内使用 Build Forge 透视图,开发小组的核心成员可以对项目进行每周的编译工作。一般来说,在编译时执行分析过程。要想略过分析过程,在开始编译项目这前就不能选择分析适配器步骤。
每月,用户都可以下载并安装最新的代码补丁和一些新的功能特性。在编译之前,每月都要打包,并且发布新的版本,开发经理执行一套标准的分析规则集,可以检测出代码是否符合质量标准。通过使用 Build Forge 的自动编译功能,开发经理可以通过把标准分析规则集加到 Build Forge 项目中,并且每月编译一次发布版本,来完成这些任务:
- 为应用程序创建一个指向源文件目录的分析适配器并参照标准的应用规则集。
- 做为每一个项目步骤,为 Build Forge 项目添加适配器,以便进行每日的编译和每周的编译。
学习
- 您可以参阅本文在 developerWorks 全球网站上的 英文原文。
- 阅读有关作者 Steve Gutz 的系列文章的第 1 部分,静态分析,IBM Rational Software Analyzer: 入门指南, 想得到关于使用 Rational Software Analyzer 进行静态分析的说明"。
- 访问 developerWorks 上 Rational Software Analyzer 相关内容 获取更深层次的介绍信息
- 访问 developerWorks 上的 Rational 专区,了解有关 Rational 软件交付平台产品的技术资源和最佳实践。
- 订阅 Rational Edge 中文版,获得了解高效软件开发背后概念的文章。
- 订阅 IBM developerWorks 时事通讯,获得有关最佳的 developerWorks 教程、文章、下载、社区活动、网络广播和事件的每周更新。
- 浏览 技术书店,获得有关这些和其它技术主题的书籍。
获得产品和技术
- 查找到更多其它作者有关编译和版本发布的文章,请参阅 developerWorks Rational 专区的 Build Forge 产品专题,这里提供了包括文章和白皮书、培训、论坛、产品文档和技术支持方面的信息。
- 下载 IBM Rational 软件的试用版本。
- 下载这些 IBM 产品评估版本,并着手使用来自 DB2®、Lotus®、Tivoli®,以及 WebSphere® 的应用程序开发工具和中间件产品。
讨论
- 参与 developerWorks 有关静态分析相关论坛:
- 想要获取版本发布和管理的最佳实践?作为 Build Forge 用户想要和其它人共同分享,发表在编译、版本发布与管理/Build Forge 论坛 在 developerWorks 上。
- 查看 developerWorks 博客,并加入 developerWorks 社区。