软件成本估算是软件项目预算、计划与控制的基础。软件成本的不确定性是成本估算所必然面临的问题,也是软件成本估算领域的研究热点。软件成本的不确定性对正确理解和有效应用成本估算造成挑战,并可进一步造成软件项目进度延期与成本超支。本项目研究软件成本及其不确定性的估算模型。首先,使用专家Delphi与数据挖掘技术确定软件成本及其不确定性的影响因素,分析其在项目进行中发生变化和受到控制的特征,研究并揭示成本不确定性产生和变化的机理;其次使用仿真技术,建立软件成本可能概率分布的估算模型以估算在不完整与不确定的信息条件下软件成本可能的概率分布,建立面向全生命周期的软件成本不确定性的演化模型以预测成本不确定性随软件项目生命周期的变化趋势;最后开发辅助工具并在真实软件项目中对所研究理论与方法进行试验验证。本项目研究工作,可望扩展并完善传统的软件成本估算理论与方法,并积极推动我国软件行业软件成本估算实践的改进。
Software Cost Estimation;Uncertainty of Cost;Empirical Software Engineering;Software Requirement Evolution;
软件成本估算是软件项目预算、计划与控制的基础,并且软件成本及其不确定性是软件工程领域面临的一个重要问题。已有的成本估算方法仍然存在很多不足或潜在改进,特别是应对现实环境中的不确定性。 本项目针对软件成本及其不确定性,在影响因素识别、建模与仿真、支撑工具开发、经验研究等方面展开研究并取得成果,具体内容包括1)全面分析软件成本及其不确定性的影响因素,建立数据库包含110个影响因素及相应度量指标集,并针对软件成本估算通常面临缺乏历史项目数据的困难,建立了软件工程经验知识库;2)提出软件成本及其不确定性的估算模型可给出软件成本概率分布,并针对软件项目早期规模不确定性高的情况提出基于用例的软件成本估算,针对快速的软件项目同类比较提出一种改进的类比估算方法,针对维护类和外包类软件项目中缺陷修复成本比例高的特点提出综合定性定量数据的缺陷预测方法;3)以软件成本不确定性最重要因素软件需求的演化为突破口,研究软件成本不确定性的演化,建立仿真模型用于评估软件需求演化对软件成本的影响; 4)开发软件成本及其不确定性估算工具,对所提出的方法提供软件支持;5)在软件企业进行方法和工具案例实施,目前已在中国金融电子化公司和国家开发银行完成案例研究,并在SourceForge上提供软件成本及其不确定性估算工具的开源下载,增强研究成果的应用反馈和影响。 本项目研究成果,为软件成本及其不确定性估算提供了分析解决问题的方法和工具,在因素识别、不确定性机理分析、建模仿真方面扩展了现有研究。并且在企业进行成果的案例实施和验证,项目成果可帮助软件企业正确认识并解决软件成本估算难题,推动软件生产力的改进。 课题组开展了创新性的基础研究,在国际国内重要刊物上共发表或录用论文15篇,其中EI收录12篇,中文核心期刊3篇,获得软件著作权5个,申请专利2项,并且项目成果应用于“软件需求演化建模方法及管理系统” 获得北京市科学技术奖二等奖。同时积极开展了国际科技交流与合作,扩大成果的国际影响。项目期间培养8名博士和硕士研究生。