当前位置: 首页 > 专利查询>龚波专利>正文

一种软件缺陷量化管理系统和方法技术方案

技术编号:7629199 阅读:245 留言:0更新日期:2012-08-01 23:39
本发明专利技术公开了一种软件缺陷量化管理系统,包括缺陷预测评估模块、过程故障诊断模块和软件缺陷修复成本评估模块,其中所述缺陷预测评估模块用于实现软件缺陷数量的评估与预测;所述过程故障诊断模块用于模拟软件过程故障传播过程,表示模糊的故障知识,提出目标驱动为主的反向推理机制和软件产品故障诊断;所述软件缺陷修复成本评估模块用于研究缺陷修复成本预测方法从而计算修复成本,实现对缺陷修复成本准确估计。本发明专利技术公开的软件缺陷量化管理系统,实现了对软件缺陷的智能评估,提高软件过程故障诊断的效率和正确性,使软件过程更可控,开发过程的成熟度更高。

【技术实现步骤摘要】

本专利技术涉及软件工程中的软件质量管理领域,尤其涉及一种软件缺陷的定量管理及其实现方法。
技术介绍
随着信息技术的发展,计算机行业已经成为现代社会的核心支柱产业之一,运行在计算机中的软件是关系到计算机系统运行性能的重要因素,软件规模的日益扩大,导致了软件质量管理越来越复杂,软件中存在的缺陷会严重降低软件的运行效率,因此保证软件质量是软件工程行业在软件生命周期中应该核心关注的问题,其中对软件缺陷的量化评估管理就是保证软件质量的重要前提。在航天工业中,软件缺陷是航天地面软件研制部门对软件质量评价的一个重要指标,尽管目前国内已有多家航天地面软件研制承担单位通过GJB 5000A 3级认证,并且培养了一批软件过程评估员和推进人员,对航天地面软件的质量改善起到很大的作用。但是,经过调研分析,目前航天地面软件过程改进实践中依旧缺乏信息化手段辅助进行度量数据获取、分析、呈现,辅助项目监控和管理决策,给进一步质量提升带来障碍。已有的软件缺陷评估方法的出现,最早可以追溯到1992年,目前常用的软件缺陷评估方法可以分成四类基于度量元的缺陷评估方法、基于缺陷分布的评估方法、基于模型的缺陷评估方法和基于模糊综合评判的评估方法,这些方法通常面临以下不足(I)传统的简单度量元技术基于规模度量来估算和预测软件缺陷,随着软件开发技术从传统的结构化设计技术过渡到面向对象技术(如00A、00D、00P),缺陷评估应该考虑新技术所带来的度量元(如产品度量元、执行度量元、过程度量元等)对软件缺陷评估的影响。(2)目前的缺陷评估方法受限于所使用的数据以及项目的具体情况。除C0QUALM0模型和Bayesian方法考虑到了不同项目及环境因素对缺陷的影响以外,其他方法和技术都受限于组织中的数据,难以广泛推广和使用。(3)基于模型的缺陷评估技术只考虑到了产品、项目、人员及平台等几个方面对缺陷评估的影响,这些模型框架是否完备、所考虑的因素是否足够还有待进一步研究。(4)模糊综合评估方法虽然能够有效克服专家评估中人为不利因素的影响,但其不适合在专家评价数据较少时使用,并且随着评价数据增多计算难度明显增大。传统软件缺陷评估中,由于专家评判过程具有主观性,以及专家经验等人为因素的影响,会导致评估决策上的失误。模糊综合评估方法虽然能够有效克服专家评估中人为不利因素的影响,但其不适合在专家评价数据较少时使用,并且随着评价数据增多计算难度明显增大。 在软件工程中,当软件过程出现问题时(比如过程质量属性出现异常),如何进行故障诊断,并追溯到问题根源尚没有得到很好的解决。软件过程故障的产生和传播,以及故障诊断是一个典型的离散事件动态系统,由于过程分量(人、机器、原料、环境、方法)的不确定性和交互过程的复杂性,导致软件过程故障信息的不确定性和模糊性。现在有关如何从软件过程质量指标异常追溯到故障源的研究比较少。诸如CMMI、Bootstrap等软件过程改进模型都没有提供相应的解决方案。其他过程控制领域提供了一些技术方法,比如鱼骨图、离散分析图、因果图等,但是这些方法没有考虑到过程故障信息的不确定性因素,而且形式化能力较差。故障诊断的一个关键问题是故障知识的表示方法,为此人们提出了许多知识表示法,如逻辑表示法、产生式规则、模糊产生式规则、语义网络、框架和关系表示,以及面向对象表示等。这些方法虽然能表达故障特征的纵向和横向联系,但由于对故障仅仅是一种静态描述,不能表现故障的动态行为,且无法进行 并行推理,使诊断效率受到限制。缺陷是软件“与生俱来”的特征,无论小程序还是大型软件系统,无一例外都存在着缺陷。软件从最初的需求分析到最后的退出使用,需要大量的智力劳动的投入来修复这些缺陷。然而软件技术发展至今,任何验证、检验手段都不可能发现和修复所有的缺陷。保证软件质量的需求催生了许多缺陷预测技术。利用这些缺陷预测技术,基于历史数据,对所预测的缺陷进行成本估计,在分析软件过程质量、平衡软件成本和控制开发进度方面有重要的意义。某个缺陷的修复成本虽然可以在各个开发小组的缺陷管理中独立记录,而缺陷修复成本的意义在于预测下次项目的缺陷修复,如何处理这些成本记录,还有很多探讨的地方。缺陷修复成本预测技术包括缺陷预测技术和成本计算方法,早期的缺陷预测关注缺陷数目和软件规模的关系。随着软件规模的增加,软件的复杂度也在逐步攀升,人们开始意识到软件缺陷不仅与软件规模有关,还与软件复杂度有关。随之而来出现了许多关于软件复杂度的测量。20世纪90年代初,人们发现缺陷并非在软件中平均分布或者完全随机分布,出现了针对缺陷分布的预测技术。在软件生命周期不同阶段的缺陷引入和移除对缺陷遗留也有重要的影响。基于软件生命周期不同阶段的缺陷分布,一些相应的缺陷预测模型也取得了很好的成果和应用。常用的软件缺陷修复成本分析方法,用每个缺陷修复的平均成本乘以预测的缺陷数来简化。这种处理方式的弊端在于,统计的平均数据往往掩盖了很多细节。不同类型缺陷的修复成本是不同的,比如,赋值缺陷只需要改动少量代码即可修复,而算法缺陷需要花费更多的时间来修复。不同类型的缺陷占总缺陷的比重不同会导致总的修复成本的不同,而不考虑缺陷类型的计算方法忽略了这些问题。引入缺陷类型的分析是一种改进的方法,它采用各种类型缺陷的平均修复成本,乘以各种类型缺陷数得出较为准确的缺陷修复总成本。然而,缺陷引入阶段的不同也会导致缺陷修复成本的不同。需求阶段引入的缺陷,一般不能在需求阶段完全修复,如果需求阶段的遗留缺陷在测试阶段才被发现,则需要很大的成本去修复。由于缺陷传递效应,早期引入的缺陷会比后期引入的缺陷需要更大的修复成本。只考虑缺陷类型的分析方法忽略了不同引入阶段导致的成本差异。综上所述,目前本领域上没有一种可以针对软件缺陷能进行定量分析管理的方法
技术实现思路
针对现有技术的不足, 本专利技术提供了一种软件缺陷量化管理的系统及其实现方法,实现了对整个软件生命周期中的缺陷进行准确的预测评估,并对故障进行诊断和准确计算评估软件缺陷的修复成本。为实现上述专利技术目的,本专利技术是通过下述技术方案实现的一种软件缺陷量化管理系统,包括缺陷预测评估模块、过程故障诊断模块和软件缺陷修复成本评估模块,其中所述缺陷预测评估模块用于实现软件缺陷数量的评估与预测;所述过程故障诊断模块用于模拟软件过程故障传播过程和软件产品故障诊断;所述软件缺陷修复成本评估模块计算修复成本,实现对缺陷修复成本准确估计。其中,所述缺陷预测评估模块通过建立模糊神经网络缺陷评估模型并对其进行训练,并将评估项目的真实数据输入评估模型从而得出缺陷评估结果,包括模糊综合评估模块,用于消除专家评估的不确定因素,得到信任度较高的缺陷评估结果;所述模糊综合评估模块与神经网络模块串联,模糊综合评价模块的输出作为神经网络模型的输入,用于专家评价数据较少、评价数据增多的智能缺陷评估。所述过程故障诊断模块通过模糊Petri网模拟软件过程故障传播,使用模糊产生式规则表示模糊的故障知识,从而优先诊断和处理发生概率最大的故障。所述软件缺陷修复成本评估模块通过建立缺陷类型-引入阶段的成本矩阵计算和准确评估修复成本。相应的,本专利技术公开了一种软件缺陷量化管理方法,包括下述步骤(I)对软件缺陷进行预测评估;(2)对软件过程的故障进行诊断;(3)本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:龚波焦彦平潘清田丽韫徐世波陈海莲张晓清王飞赵立军尹云霞李建华高通左建勋
申请(专利权)人:龚波
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术