论文部分内容阅读
在软件工程中,软件成本估算与需求分析并列,是软件开发成功最重要的两个因素。软件成本估算是将用户需求和软件项目开发联系起来的重要桥梁。软件成本估算是软件成本管理和制定项目计划的基础。软件成本估算的重要性不容忽视。准确的软件成本估算可以为软件项目的开展提供正确指导,是软件项目成功的强有力保障。而错误的软件成本估算将给软件项目增加风险,甚至最终导致项目的失败。
本文对专家判断法、类比法等现有的估算方法,及SDC模型、COCOMO模型等现有的估算模型做了深入研究,并分析了它们各自的优缺点。软件成本由软件规模和影响软件成本的一系列因素决定。由于软件成本驱动因子与软件成本之间存在复杂的非线性关系,使得人为总结的估算公式其准确度普遍不高。因此,本文尝试使用模糊神经网络进行软件成本估算。模糊神经网络将神经网络与模糊理论相结合,兼具模糊理论规则控制的特性和神经网络学习非线性的能力,可以很好地拟合非线性函数,适合于学习及估算,并且具有很强的容错能力,能够包容噪声数据。
本文在研究现有模糊神经网络的基础上,选择神经网络中的径向基神经网络与模糊理论相结合,设计了软件成本估算的动态模糊神经网络模型——DFNN模型。该模型对软件成本驱动因子的等级评定和项目规模进行模糊处理,利用径向基神经网络的学习能力从已有的项目数据中提取模糊规则,按照模糊规则得出软件成本估算值。对于该模糊神经网络模型的训练,本文采用遗传算法和线性最小二乘法结合的混合训练方法。模糊层的隶属度函数中心值和宽度采用遗传算法进行训练,网络的权值采用线性最小二乘法训练。
本文先使用COCOMO采样数据对DFNN模型进行训练,训练之后的网络具有COCOMO模型的功能。再使用COCOMO历史数据库中的项目数据进行训练,训练之后的网络能更真实地反映成本驱动因子和软件成本之间的非线性关系。然后利用COCOMO历史数据库中的项目数据,将DFNN模型与COCOMO模型进行对比实验。实验结果表明,DFNN模型较COCOMO模型在一定程度上提高了软件成本估算的准确度和稳定性。最后,为进一步验证DFNN模型的估算能力,使用了两个软件项目实例进行了验证分析。