IBM® Rational® Software Analyzer 是一个可以帮助您在整个软件生命周期内,评价及提高程序质量的自动化代码质量框架。在软件仍在开发的过程中,检测软件缺陷的高成本使得公司希望尽可能早地识别和处理缺陷,因为随着时间的增长修补软件缺陷的成本将会越来越高。
Rational Software Analyzer 包含了一种集中式的框架,可以将第三方的代码分析工具与管理报告功能集成起来,而且可以与其他的 IBM Rational 产品自动集成起来,例如 IBM® Rational® Application Developer V7.5 与 IBM® Rational® AppScan® Developer Edition。对于想要自动化代码质量分析和交付更高质量软件的团队来说,这是一款简单而功能强大的工具。7.1 版本有以下几种显著的新功能得到了提高:
- 与 IBM Rational Team Concert 相集成,它运行在 Jazz 平台上
- 对 C/C++ 语言更深入的分析功能
- 技术支持更新
Rational Software Analyzer 可以完美地与 Rational Team Concert 集成起来,并不断地添加质量检查功能,自动进行代码扫描,并查看代码的总体质量,以加强最佳操作。它帮助您最优化敏捷开发并达到其他的目标:
- 通过在整个开发周期内,集成自动代码质量评审功能,来最优化开发过程并确保代码质量政策的一致性。
- 通过提高代码管理、评审和评价的能力,来提高开发项目的强壮性
- 通过协调 Rational Team Concert 开发员和商业投资人之间的利益,来扫除交流障碍,并提高交流的效率
- 通过提高维护性并降低开发成本,来提高末端用户的满意度
- 通过掌握最佳操作并加强团队协作,来改善团队表现
不同团队之间精确有效的交流,对于控制项目时间限制、风险和成本来说,十分关键。尽可能早地实施软件管理,并确保公司上下都执行稳定的代码评审过程,对于开发团队来说,也十分关键。
Rational Software Analyzer 与 Rational Team Concert 一起,向那些商业投资者提供了一种自动化的方式,在整个软件开发和交付过程中引入代码质量政策和标准。反过来,这又可以帮助开发团队检测 (大多数情况下是校正)编码阶段的错误。对于编写代码的人来说,它可以用作拼写和语法检查的工具。联合使用这两款工具可以添加以下这些功能:
- 一系列丰富的编码规则,开发团队可以使用它来评审代码
- 一个可扩展的框架,开发团队可以使用它来创建通用规则,并帮助增强开发团队的编码实践(参见图 1),还可以为集中管理第三方软件产品插人其他的分析工具
- 自动化并集中代码扫描,将代码质量分析集成到已存在的构建过程中,因此增加了一个静态分析质量检查的额外层
- 管理代码评审、评价更高的能力,以确定开发项目的总体健康状况
图 1. Rational Software Analyzer 增强配置代码的 Rational Team Concert 视图
将 Rational Software Analyzer 与 Rational Team Concert 集成起来,以鼓励协作。通过使共享最佳操作和坚持质量政策变得更加容易,可以提高开发团队的开发效率。除了可能改善代码的质量,联合使用这两款软件可以提供以下的好处:
- 代码评审过程的自动监测。团队可以向软件开发过程插人代码质量评审功能,然后使用 Rational Software Analyzer 来在自己的集成开发环境(IDEs)中配置代码质量规则。该软件简化了这个过程,并使开发员能够生产更高质量的代码,不管他们开发经验的多少。另外,管理员根据 Rational Software Analyzer 配置的规则,使用 Rational Team Concert 管理员设置的前提条件,来追踪每一个开发员对代码政策的遵守情况(参见图 2)。
- 协作。通过使用共享的数据规则集合,开发团队可以更好的进行协作以共享信息,这些信息对于满足公司的编码标准来说十分重要。
- 增长的分析。这种方法会查看以前的扫描,并只分析前一次分析更改过的代码,因此显著降低了识别代码质量问题所需的时间。
图 2. 集成可以帮助团队协作和共享预配置规则集合
随着更多 C/C++ 规则集合的添加,7.1 版本中的多语言分析功能也变得更强了。这意味着 Rational Software Analyzer 现在交付了广泛使用语言间分析功能的强大集合。这种工具的使用有效地分析了多语言代码基底,可以产生以下显著的优势:
- 改善的质量
- 降低的开发和测试成本
- 更快的交易时间
- 增加的客户利润
如果您想要对 C/C++ 代码做广泛和深入的分析,那么通过自动扫描,您可以更加深入地分析代码,而不需要对代码做什么更改。这种对 C/C++ 的深入分析提供了 Java™规则,并导致了对 C/C++ 源代码的完整理解,如图 3 所示。这种深入的分析包含了以下这些类别:
- 数据流分析检查了汇编的代码,以识别潜在的内存和资源问题。数据流分析可以检查跨越多个类的问题。例如,一个类可能会打开一个流,并将其传递给另一个类以阅读来自文件的信息。如果有类关闭了流,那么结果将会是文件资源的泄露(参见图 3)。
- 结构化发现检查了不同源文件(典型的类)之间的关系,以构建程序总体结构的形图。附件工具一般用于发现已知的设计模式(好的)或者普通的反模式(坏的)。
- 软件度量和复杂性分析 工具比较了编码代码以构建软件度量功能,以决定它是否是不必要的复杂性。如果特定片段的源代码超出了给定的范围,它会标示为重构的候选部分,以提高维护性。
图 3. C/C++ 数据流分析快照
Rational Software Analyzer 7.1 现在支持以下的操作系统:
- Microsoft® Windows® XP Professional(Service Pack 1 或 Service Pack 2)
- Microsoft® Windows Vista® Business,Windows Vista Enterprise,以及 Windows Vista Ultimate
- Microsoft Windows 2003 Server with Service Pack 2 (32 位模式)
- Microsoft Windows 2008 Server with Service Pack 2 (32 位模式)
- Red Hat Enterprise Linux® Server Versions 4.0 及 5.0 (32 位模式)
- Red Hat Enterprise Linux Desktop Versions 4.0 及 5.0 (32 位模式)
- SUSE Linux Enterprise Server (SLES) Versions 9 及 10 (32 位模式)
- SUSE Linux Enterprise Desktop (SLED) Versions 9 及 10 (32 位模式)
- IBM® AIX® V5.3
这些操作系统支持所有 Rational Software Analyzer 支持的语言。
IBM Rational Software Analyzer 7.1 为使用 Eclipse IDE 的 3.4.2 版本而开发。因此,在 eclipse.org 最新更新的基础上,您只能扩展已存在的 Eclipse V3.4.2 IDE 。
重要提示:
为使没有管理员权限的 Windows Vista 用户能够使用 Rational Software Analyzer,不要安装 SUSE Linux Enterprise Service 10,Service Pack 2 (参见 IBM® System z®:S390x)。
学习
-
浏览 Rational Software Analyzer 信息中心,并 比较企业版和开发人员版。
-
查看 IBM® developerWorks® 上的 Rational Software Analyzer 产品专题,了解更多有关此可扩展的软件如何帮助您评审软件代码,识别 bug,并在软件开发周期的早期执行强制策略。
-
通过 Rational Team Concert 产品专题,了解如何使用 RTC 进行实时协作,通过提供工作项、变更管理(SCM)和构建管理支持,以及 Jazz 平台上的所有功能,使软件开发团队的工作更加透明和高效。
-
访问 developerWorks 上的 Rational 专区,了解有关 Rational 软件交付平台产品的技术资源和最佳实践。
-
在 IBM Rational 软件交付平台专题 中了解其它应用程序,包括适用于并行开发和地域分布式团队的协作工具,以及用于架构管理、资产管理、变更和发布管理,集成需求管理、过程和组合管理,和质量管理。
- 查看 Rational Edge 电子期刊中文版,获得了解高效软件开发背后概念的文章。
-
订阅 IBM developerWorks 时事通讯,获得有关最佳的 developerWorks 教程、文章、下载、社区活动、网络广播和事件的每周更新。
-
浏览 技术书店,获得有关这些和其它技术主题的书籍。
获得产品和技术
-
下载一个 Rational Software Architect 的免费试用版本。
-
下载 IBM Rational 软件的试用版。
- 下载这些 IBM 产品评估版,并着手使用来自于 DB2®、Lotus®、Tivoli®,以及 WebSphere® 的应用程序开发工具和中间件产品。
讨论
- 查看 developerWorks 博客,并加入 developerWorks 社区。
