产品复杂度越高,实际工作量越大?对软件开发的实证研究
软件工程
2015-09-29 v1
摘要
[背景:] 软件工作量预测方法与模型通常假设软件产品复杂度与开发工作量之间存在正相关关系。然而,我们在使用 COCOMO81 数据集的经验中观察到了与此矛盾的现象,即产品复杂度与实际工作量之间存在负相关关系。[目标:] 鉴于我们怀疑所观察到的现象是否出于偶然,本研究试图调查产品复杂度的增加是否会导致软件开发项目中出现上述反直觉的趋势。[方法:] 将一种改进的关联规则挖掘方法应用于转换后的 COCOMO81 数据集。为减少分析噪声,该方法使用恒定前件(复杂度增加而工作量减少)来挖掘潜在后件并进行剪枝。[结果:] 实验分别从通用项目、嵌入式项目和有机项目数据中挖掘出四条、五条和七条关联规则。所挖掘规则的后件提示了在本研究中需特别关注的两个主要方面,即人员能力和产品规模。[结论:] 在特定条件下,复杂度与工作量之间的负相关关系并非偶然。在软件项目中,产品复杂度与其他因素(如程序员能力和分析师能力)之间的交互作用,不可避免地会起到“摩擦”作用,从而削弱产品复杂度对实际开发工作量的实际影响。
引用
@article{arxiv.1509.08418,
title = {The more Product Complexity, the more Actual Effort? An Empirical Investigation into Software Developments},
author = {Zheng Li and Liam O'Brien and Ye Yang},
journal= {arXiv preprint arXiv:1509.08418},
year = {2015}
}