论文部分内容阅读
据研究表明,在软件开发生命周期过程中越早发现其缺陷越好,可及时纠正,可避免在开发过程后阶段为了修改、弥补与纠正缺陷造成的几何级数的连带堆积工作量的产生,并减少用户抱怨,可相对大大缩短开发周期,提高软件质量和用户需求的满足程度,降低开发成本。因此,本文以软件开发生命周期的各个阶段为主线,研究分析在过程中以及各个阶段产生缺陷的相关因素,及产生缺陷因素之间的相互关系,借助于缺陷库建立与管理技术,对缺陷实施有效管理和深入分析,积累团队开发软件缺陷知识及其产生的缺陷数,对其进行有效的经验知识的继承和智能性预测,在此基础上本文结合贝叶斯网络,研究提出了比较先进、有效、简便的缺陷预测方法与技术,能够对缺陷进行有效和相对准确的预测,以达到能够尽早有效预测和发现缺陷,尽而纠正缺陷的目的。 为此研究目的,首先,研究了软件缺陷管理的理论与技术、软件缺陷分类方法,提出了一种改进模型——基于软件开发过程的软件缺陷管理模式。其次,深入研究分析了软件缺陷产生因素、各缺陷之间的关系,采用贝叶斯网络方法对导致软件缺陷产生的因素进行分析,并分别对软件开发过程的需求分析阶段、设计阶段、编码阶段及测试阶段建立了贝叶斯网络结构图,且对结构图进行了分析。此后,在对目前软件缺陷预测模型进行分析比较的基础上,考虑到软件预测模型既应具有包容众多复杂因素和经验知识积累的能力,又要有构造灵活的功能,因此结合贝叶斯网络,提出了的基于贝叶斯网络的软件缺陷预测模型,并对此模型的计算过程及分析各影响因素的影响程度的步骤进行了描述。同时为了计算方便,在JBuilder2005环境下对该预测模型算法进行了程序化实现,文中给出了算法流程图及算法的伪代码实现。最后引用一个具体实例对基于软件需求分析阶段的简化预测模型进行了实现,并对计算结果进行了分析,同时验证了预测模型的有效性。 本项论文研究提出的预测模型结构清晰,采用贝叶斯网络的概率计算有较强理论基础,计算简洁、易于理解。模型中对于产生缺陷的因素选取,可根据团队的技术与管理状况可粗可细,可依据已往的专家经验知识灵活的选取与调整权值数据。同时随着软件缺陷数据的积累与丰富,此模型的预测精度会越来越高,得出的预测结果也会越来越具有实用价值。对研究尽可能早的发现和预测软件缺陷有较强的参考价值。