RTC基本的缺陷和代码质量分析功能扩展

本文将深入介绍使用 RTC 提供的 Work Item API 实现灵活、全面、便捷的自定义缺陷分析功能,降低项目管理的复杂度,节约项目管理的人力成本,提供更丰富的项目管理参考数据,从而提高项目管理的精确度。

RTC(Rational Team Concert)提供了软件生命周期各个阶段所需要的管理功能,而且为软件工程师提供了可以进行功能扩展开发的软件开发包。本文将介绍如何使用 RTC Plain Java API,基于 RTC 中的项目缺陷信息,统计出相关代码质量数据。

所有正在使用 RTC 作为源码控制和项目管理工具的项目经理们都可以从本文获益。他们可以参考示例代码将代码质量与缺陷分析的功能应用到自己的项目中,便捷地对项目的代码质量进行统计分析。所有有兴趣于 RTC 扩展插件开发的程序员们,也将成为本文的读者,本文所涉及到的 RTC Plain Java API 开发环境搭建,方案设计,示例代码都可以为他们提供一定的参考价值。

方案设计

扩展方式

Jazz 平台使用 OSLC(Open Service for Lifecycle Collaboration),从而具备了高可扩展性,这使它得以不断发展,并得到越来越多的软件从业者的亲睐。RTC 搭建于 IBM 的 Jazz 平台上,因而先天具备可扩展性。RTC 为此提供了 RTC Plain Java API 和 REST API 两种 API 进行扩展。

RTC 的扩展架构如图 1,Core Logic、Work Item OSLC 以及 Internal Service 构成 Jazz Foundation,提供所有核心功能和接口,它位于 Jazz 平台的服务器端。RTC Plain Java API 在底层访问不同的组件要经过不同的途径,通过 REST 方式访问工作项(Work Item)和查询(Query),通过 Internal Service 访问其他组件。

图 1. RTC 扩展架构图

本文选择 RTC Pain Java API 对 RTC 扩展,这种方式既能够作为普通 Java 程序运行;又能转换为插件项目,作为 RTC 的一部分运行,通过关联 RTC 的界面菜单能够更方便的使用;而且,它相比于 REST 还可以操作更多的组件。根据 API 涉及的功能不同,RTC Pain Java API 分为 Work Item API, Source Control API 和 Build API。Work Item API 主要实现了工作项的创建和查询操作;Source Control API 则对源文件、变更集进行操作;Build API 是关于项目构建的操作。

基本的缺陷分析需要查询出满足一定条件的缺陷类型的工作项,再从中得到负责人、缺陷状态、所在项目区域、所在迭代等信息。因此,第一部分将着重采用 Work Item API 进行扩展。

缺陷分析量化指标

项目开发中,代码质量至关重要,能否控制好代码质量是决定项目成败的关键。因此项目经理们经常需要借助一些统计数据来分析软件的代码质量,找出代码质量问题所在,从而采取适当的措施提高软件代码质量,以达到项目要求。以下是两个常用的代码质量分析的量化指标。

阶段缺陷率:每个 Sprint(冲刺阶段)的缺陷个数占整个 Release(版本)的所有 Sprint 缺陷总数的比例。

在该方案中,我们将利用图形化界面直观地显示软件开发周期中缺陷在各个 Sprint 以及各个开发者中的分布情况。这些数据是项目经理进行缺陷控制,保证代码质量的重要根据之一。Sprint N 的阶段缺陷率计算公式如下:

阶段 N 缺陷率 = ( 阶段 N 的缺陷数 / 整个 Release 的缺陷
总和 )×100%,其中,阶段 N 的缺陷数为指定 Release 中 Sprint N 的缺陷数。 阶段 N 有效缺陷率:每个 Sprint 的有效缺陷个数占该 Sprint 中全部缺陷数的比例。

在该方案中,我们将利用图形化界面直观地显示软件开发周期中各个 Sprint 的有效缺陷分布。这个数据一般是在该阶段所有缺陷都已被处理后进行的统计。它是项目经理评估测试人员测试技能和项目测试质量的一个重要根据。Sprint N 的有效缺陷率计算公式如下:

阶段 N 有效缺陷率 = ( 阶段 N 的有效缺陷数 / 阶段 N 的缺陷总和 )×100%

其中,阶段 N 的有效缺陷数是指 Sprint N 下状态为 Close 和 Working 的缺陷数。这里假设阶段结束后 , 该阶段的所有缺陷都被处理了,不存在有 Open 的缺陷,如未处理的也已经被移至下个阶段处理。

报表生成

本文使用 JFreeChart 制作报表,它是一组开放的图表绘制类库 , 提供功能强大、灵活易用的 Java 绘图 API,用户可以通过它实现各种通用性的图表,如饼图、柱状图、时序图、曲线图等,并且可以生成多种图片格式文件。

时间: 2024-11-05 14:39:26

RTC基本的缺陷和代码质量分析功能扩展的相关文章

敏捷过程中如何保证代码质量

本文目录:一.为什么要做代码质量分析二.常见的代码质量分析工具三.DevOps平台中的代码质量分析四.DevOps平台中如何为代码质量提供保障 一.为什么要做代码质量分析 本文讲的是敏捷过程中如何保证代码质量,在软件开发过程中,当一个功能开发完成后,如何去保证代码是可用的.没问题的?一般情况下,基本都会有单元测试.每日构建.功能测试等环节来保证.但是,保证代码可用就够了吗?显然不是. 一个软件项目开发完一个版本会有下一个版本,会有新的需求,原来的功能也可能会变更.你写的代码可能会被别人使用,你也

浅谈通过缺陷分析进行项目质量分析

本篇文章浅谈如何进行测试缺陷分析和质量报告分析. 背景 如同代码是程序员的成果之一,测试报告和质量报告是测试人员的主要成果之一.对于一个测试,在测试项目结束时需要对测试过程中的典型bug.常出现bug进行bugreview:对bug修复周期.bug趋势进行总结分析:通过以上bug的分析以及测试过程中出现的任何问题进行总结形成质量报告,不仅仅对过去项目产品质量进行准确的评估,还需要对未来项目在质量方面的改进点和方向提出建议,以对产品质量进行不断改进和完善 缺陷分析 1.bugreview:代码引入

如何提高你代码质量

人跟人的能力千差万别,所以写出来的代码质量,肯定是不同的.有的人,写一个小逻辑,可能需要100行,而有的人,可能仅仅需要10行.代码永远会有Bug,在这方面没有最好只有更好.模块化与面向对象是实现高效无错代码的方法.高效无错代码需要思想与实践的不断反复.如何做到代码高效无错,提高代码质量的方法有哪些?又有哪些经验和技巧呢? 一.代码质量   软件是交付给用户,并由用户体验的产品:代码则是对软件正确且详细的描述,所以代码质量关系到软件产品的质量.虽然软件质量不等于代码质量,但是代码上的缺陷会严重的

如何从开发阶段提升代码质量,加速迭代发布?

 引言:一个 bug 被隐藏的时间越长,修复这个bug 的代价就越大.在<快速软件开发>一书中已引用了大量的研究数据指出:最后才修改一个 bug 的代价是在 bug 产生时修改它的代价的10倍.        很多开发工程师很不喜欢测试的工作,他们更希望能够开发新功能,但在日常研发过程中,测试的重要性想必也不言而喻.单测集成系统,可以从开发阶段提高质量,加快代码发布.        云效平台的单测集成功能,是通过对项目仓库地址(git.svn),进行代码变更监控,然后得到静态扫描,单测用例执行

《JavaScript专家编程》——9.4 度量JavaScript代码质量

9.4 度量JavaScript代码质量 为了让计算精度上升到最高,客观质量分析以程序化的方式对代码进行分析.这项任务可以使用编程工具完成,这些工具能够在多种情况下评估代码,根据各项指标得到最终的质量得分.本节介绍了静态代码分析,这种方法非常适合评估JavaScript的质量. 静态代码分析 静态代码分析就是不通过运行代码来分析代码的过程.静态分析看起来非常像一个文本编辑器的拼写检查器.拼写检查器扫描文档的正文来寻找错误和含糊之处,而并不需要了解文本的意义.同时,静态代码分析从功能上分析源代码的

《JavaScript专家编程》——9.3 为什么要度量代码质量

9.3 为什么要度量代码质量 "我不能为代码质量而索价."这是我问我的朋友关于这个问题的想法时,他的原话.他的意思是,代码质量主要是对程序员有利,而对客户来说是一种无形的税收.我能理解他的观点:我有几次经验,其中一个潜在客户将目光投向了我引以为傲的有关测试的方法论上.我的朋友接着说,"客户支付的是结果,而不是过程.当我买票到西南部,我付的钱是为了到达我的目的地,而不是为了乘坐飞机."这句话听起来好像有点道理,但我会在这一节讨论度量代码质量并不会让你失去竞争优势, 而

11步提高代码质量和整体工作效率

  这篇文章要介绍的,是我作为专业程序员这些年来学到的能真正提高我的代码质量和整体工作效率的11件事情. 1. 永远不要复制代码 不惜任何代价避免重复的代码.如果一个常用的代码片段出现在了程序中的几个不同地方,重构它,把它放到一个自己的函数里.重复的代码会导致你的同事 在读你的代码时产生困惑.而重复的代码如果在一个地方修改,在另外一个地方忘记修改,就会产生到处是bug,它还会使你的代码体积变得臃肿.现代的编程语 言提供了很好的方法来解决这些问题,例如,下面这个问题在以前很难解决,而如今使用lam

虚子雨:SEO诊断报告之网站内容质量分析

大家好,我是虚子雨.前面给大家介绍了SEO诊断的四个方面了,<虚子雨:SEO诊断报告之网站定位分析><虚子雨:SEO诊断报告之网站关键词分析><虚子雨:SEO诊断报告之网站代码.URL和链接结构分析><虚子雨:SEO诊断报告之网站布局分析>,这四个方面都谈的比较浅,可能有的观点还是很基础的,或者是我的一家之言,大家有觉得不对的可以多指点指点.人要进步,必须要发现错误,有时候我们自己发现不了,就需要别人给我们指正,这和我们做SEO诊断是一样的,找专业的人士帮我

如何提高代码质量(管理篇):代码复查

也许你是一位项目经理,也许你是一位项目骨干成员,或者开发小组长.在我发表"如何提高代码质量"的这一系统文章后,有许多网友都向我抱怨,说他无法把握整个项目组成员的代码质量.我想,这也是所有项目组普遍存在的问题吧,它通常表现为以下几个问题: 软件项目普遍存在的问题 1)新手.任何项目组成员都不可避免地出现新手,他们往往是刚刚从大学毕业的学生.这些新手由于软件开发时间太短,往往技术不成熟,没有形成良好的开发习惯,所以编写代码质量较差,问题很多.他们常常成为项目组的"鸡肋"