一种无监督的软件复杂度度量与评估模型①
2020-05-13柯文俊王泊涵杜泽峰缪沛恩
柯文俊 王泊涵* 杜泽峰** 姜 利*** 缪沛恩****
(*中国科学院计算技术研究所 北京 100190) (**中国科学院大学 北京 100049) (***北京计算机技术及应用研究所 北京 100089) (****国防科技大学信息工程学院 长沙 410073) (*****中国地质大学信息工程学院 北京 100190) (******中国科学技术大学软件工程学院 合肥 230051) (*******南昌大学信息工程学院 南昌 330000)
0 引 言
随着计算机控制系统智能化、信息化的深入,计算机控制系统越来越成为一种软件密集型装备,软件作为“计算机控制系统”的核心被广泛使用,计算机控制系统软件的规模呈超几何级数增长。随着软件规模的增长,软件从各方面都会变得越来越复杂,这给软件项目开发、测试、维护带来了重重困难。
针对高复杂度软件,要求设计时就找到合适的设计模式和开发方法,控制软件复杂度与性能,解决软件维护保障困难,保证其可信属性,保证软件质量,提高开发效率。通过度量和评估,掌握软件开发过程的复杂度数据,并加以分析、利用,可将软件过程管理发挥作用,使得软件开发工作持续改进、发展。
软件度量作为软件工程的重要组成部分,在软件工程及软件过程中的作用不言而喻。软件复杂性度量作为软件度量的重要分支,可以有效评估软件产品的复杂性。通过复杂性度量对软件复杂性进行预警,可以帮助人们客观地分析和评估软件生命周期不同阶段的复杂度情况,并采取一定的复杂度控制和降解措施,来降低软件缺陷率,提高软件质量。本文旨在通过软件复杂性的度量与综合评估,改进软件开发过程、降低软件缺陷率、改进软件评估体系,从而完善计算机控制系统软件过程管理、提升软件质量、优化软件测试的资源分配,为高质量软件研制提供支撑。……
