论文部分内容阅读
随着软件产业的迅猛发展,软件规模越来越大,开发过程也随之越来越难以控制,而且软件失效所带来的损失也愈加严重,软件质量预测系统在这种情况下应运而生。这一系统致力于在软件开发的早期发现有失效倾向的模块,从而在后续的开发和系统测试中能够优化资源配置,以达到最大限度地降低软件失效数量的目的。实践证明,该系统的应用能够有效地缩短软件产品的开发周期,降低软件维护成本并同时提高软件的质量。本文以朗讯科技光网络有限公司的某三个大型商用软件产品为基础对软件质量预测模型中的属性选择、分类器集成和规则抽取等问题进行了重点研究。本文首先提出了软件质量预测系统的框架,将软件质量预测系统划分为三个部分:前端、核心和后端,并阐明了每个部分的主要任务。在系统的前端,主要进行数据的预处理和属性选择。经过数据预处理和属性选择以后的数据被划分为训练集和测试集进入系统的核心部分。在核心部分,根据选定的算法对软件质量预测模型进行训练,并用测试集数据进行测试。核心部分得到的结果包括训练好的模型描述和模型在测试集上的预测结果。后端的主要任务则是对已有的模型描述进行规则提取,并根据模型在测试集上的预测结果对其进行比较和评估。其次,在软件质量预测的前端,本文提出了一种基于遗传算法的属性选择方法(CFGA),它在同一个遗传进化过程中完成聚类和属性选择两个动作,以聚类的效果作为属性选择进化的适应度函数,可以通过调整参数来使聚类得到的簇变得紧密或者疏松。这一方法既可以适用于无经验数据的情况,也适用于有经验数据的情况。对于无经验数据的情况,聚类的结果将由软件领域专家们进行进一步的分析。而经过聚类和属性选择后的数据集将会大大减少专家的工作量。对于有经验数据的情况,聚类后得到的簇将会被分为三类:孤点簇、高纯度簇和低纯