统一的标准
,现有的缺陷管理工具在缺陷数据的分析方面普遍比较薄弱,通常只是
提供一些缺陷属性数量的简单统计功能
,用户不得不借助一些其它的统计分析软
件或自行开发缺陷数据分析组件来进行缺陷数据的分析。在实际软件开发过程中
对于缺陷数据的分析还没有给予足够的重视。
本文基于上述思考
,提出了一个基于缺陷度量与分析的软件过程改进模型,如
图
1。该模型可根据需要设计缺陷属性度量分类标准。在软件开发过程中通过缺
陷管理系统采集缺陷数据
,运用缺陷分析方法实施缺陷分析,把握缺陷发展趋势,
对软件项目开发过程进行综合评价。实施缺陷预防方案
,提高软件产品的开发质
量。通过缺陷分析结果的反馈
,改进缺陷度量分类标准和分析目标,提高缺陷分析
结果的准确性。本文重点研究了缺陷分类方法和缺陷数据的分析方法
,并结合某
项目中的缺陷数据实例进行了分析。
3 缺陷分类方法研究
3.1 缺陷分类的目的和原则
缺陷分类的目的是通过实施软件缺陷管理
,采集完整的缺陷数据信息。通过
缺陷数据分析软件缺陷产生的原因
,改进软件过程,预防软件缺陷,提高软件质量,
改善组织的软件能力成熟度。
缺陷分类方法应满足以下要求
:准确地对发现的缺陷类型进行分类;缺陷分类
类型之间应无重叠
,并尽可能多的覆盖开发过程中出现的分类;分类要与软件生命
周期有机结合
,从软件过程的角度对软件缺陷进行分类[7]。
3.2 缺陷度量属性分类
实施度量分析的目的是为了发现软件过程中的问题
,并制定过程改进的计划
和目标。过程度量分析的关键是对实际工作量、项目进度、项目实际情况与计划或
预计成本的偏离程度过程中存在的缺陷以及在项目中已解决的缺陷进行分析和
统计
[8]。
在引言中曾提到
,软件缺陷的范围很广,不仅仅指在测试过程中发现的缺陷,
而是指在整个软件生命周期中发现的所有缺陷。一个缺陷需要记录许多相关的度
量属性
,如何划分这些度量属性也是缺陷分类研究领域的一个热点。传统的软件
缺陷分类方法主要目标是消除软件缺陷
,评价软件的性能和可靠性,不能满足改进
软件过程的需要。所以需要设计一个较完整的缺陷分类方法
,在软件生命周期各
个阶段中按照缺陷产生的过程来分类。本文中将缺陷度量属性设计为描述属性、
统计属性和控制属性三类。
3.2.1 基于缺陷描述属性的分类
缺陷描述属性是指
:缺陷信息描述,缺陷处理时间,缺陷引入/流出原因分析,缺
陷处理结果描述
,缺陷调查分析相关的辅助文件路径等由处理分析缺陷的相关责
任人进行记录的属性
,其属性值没有固定的取值范围。缺陷文字属性按照表 1 进
行分类。