倪德强 NI De-qiang
(中国电子科技集团公司第二十八研究所,南京 210007)
(The 28th Research Institute of China Electronics Technology Group Corporation,Nanjing 210007,China)
摘要:回归分析是一种运用十分广泛的统计分析方法,软件质量控制是在软件研发过程中为了保证最终软件产品质量而开展的评审、测试等活动。在软件质量控制活动中引入回归分析,可以有效地挖掘出影响各类质量控制活动的显著因素,通过对显著因素的关注和调控,可以改善软件质量控制活动的策划工作和实施效果,从而保证中间和最终交付的软件产品质量。
Abstract: Regression analysis is a kind of widely used statistical analysis method, software quality control is the evaluation, testing and other activities in order to ensure the quality of the final software product in the process of software development. Bringing the regression analysis into software quality control can effectively dig out the significant factors influencing the quality control activities. The attention and control of significant factors can improve the planning and implementation effect of the software quality control activities, so as to ensure the quality of software products of intermediate and final delivery.
教育期刊网 http://www.jyqkw.com
关键词 :回归分析;软件;质量控制
Key words: regression analysis;software;quality control
中图分类号:X830 文献标识码:A 文章编号:1006-4311(2015)18-0174-03
作者简介:倪德强(1980-),男,江苏南京人,工程师,硕士,从事软件工程化研究。
0 引言
软件质量控制[1][2]是软件研发过程中的重要质量活动,是软件工程化管理的要求,它贯穿整个软件研制生命周期,其目的就是在研发过程中的各个阶段尽量多地挖掘出阶段工作产品中存在的问题和缺陷,以避免其遗留到下一阶段甚至是用户手上,同时也是通过及早地发现问题和缺陷,以避免增加后期的返工成本,提高企业或项目的经济效益。软件质量控制的对象是研发过程中产生的主要技术产品,包括软件需求规格说明、软件概要设计说明、软件详细设计说明等技术文档,也包括依据技术文档编码实现后的软件代码。软件质量控制活动主要有两大类:一类是同行评审,一类是软件各级测试。一般情况下软件研发过程中有软件需求评审、软件设计评审、软件单元测试、软件集成测试和软件系统测试等质量控制活动。
将软件质量控制活动做好、做到位一直是软件企业或项目团队在产品研发过程中关注、思考的热点问题,一般情况下都是通过做好软件质量控制活动的策划和在软件质量控制活动实施过程中多投入人员工作量等途径来尽量多地挖掘工作产品中的问题和缺陷,具体实施过程中一般也是参考以往历史数据,经验式的根据当前文档、代码的规模难度等来安排质量控制活动可能需要投入的人员和工时,或是根据项目进度的紧急程度安排质量控制活动的周期等,是一种定性式的决策,其局限之处就是这种安排或决策可能没有真正把握住影响质量控制活动效果的显著性因素。造成多投入可能未必取得期望的效果。引入科学的数据统计分析方法(如回归分析),通过对软件质量控制活动历史数据的分析归纳,挖掘出隐藏在数据背后的内在规律,找到影响软件质量控制活动效果的显著性因素,并结合软件质量控制活动的期望目标,通过对这些因素的关注和调控,可以为软件质量控制的策划提供定量式的决策依据。
1 回归分析
回归分析[1][2]是一种应用广泛的数据分析方法,它基于观测数据建立变量间的定量式的依赖关系,以分析数据内在规律,用于解决预测和控制等问题。
回归分析研究的主要问题是:
①确定因变量Y与自变量X之间的定量关系表达式,这种表达式称为回归方程;
②对求得的回归方程的可信度进行检验;
③判断自变量X对因变量Y有无影响;
④利用所求得的回归方程进行预测和控制。
2 回归分析在软件质量控制中的应用
对于软件企业或软件项目团队而言,一方面积累了大量软件质量控制方面的基础数据,包括评审方面的、测试方面的等,另一方面软件企业或软件项目团队也在不断的提高软件质量控制效果,即如何高效地发现尽量多的问题和缺陷。引入回归分析方法,通过利用和挖掘已有的基础数据,找出其隐藏的内在规律性,可以为提高软件质量控制活动效果提供有效解决方案。软件质量控制中引入回归分析方法的步骤如下:
①明确需要引入回归分析的软件质量控制活动;
②针对选择的软件质量活动收集已有的基础数据;
③选用适当的统计分析工具(如SPSS、Excel等)对基础数据进行回归分析;
④运用分析得到的回归方程去调控质量控制活动。
其中,步骤③还可以进一步的分解为:1)根据质量活动关注的结果目标,确定自变量和因变量;2)依据自变量和因变量的历史数据,通过分析,建立回归分析方程,即回归分析预测模型;3)检验回归分析方程。
一般情况下,为了得到可用、有效的回归分析预测模型,步骤③要经过多轮迭代。
以软件需求评审活动为例,引入回归分析方法建立回归分析的流程如下:
步骤1:收集软件需求评审活动的历史基础数据;包括预审人员投入、预审工作量投入、评审会人员投入、评审会工作量投入,文档规模,发现问题数,样本数据如表1所示。
步骤2:明确软件需求评审活动的因变量和自变量;因软件需求评审活动的最终目的就是为了尽可能多的挖掘出软件需求文档中存在或隐藏的问题,所以“发现问题数”设为因变量Y;预审人员投入、预审工作量投入、评审会人员投入、评审会工作量投入和文档规模设为自变量X。
步骤3:在SPSS统计分析工具中选择“回归分析→线性→向后筛选”经过多次迭代分析后,得到最终的回归分析方程即回归预测模型“Model 3”(方差分析满足F检验,Sig.为0.003,小于0.05,说明具有显著性,见表3)。
发现问题数 = -25.312 + 0.18 × 预审工作量投入-2.65 × 评审会人员投入 + 12.651 × 评审会工作量投入
迭代分析过程见表2至表3。
步骤4:运用得到的回归预测模型,结合软件需求评审活动期望发现的问题数,对影响软件需求评审的显著因素(如预审工作量投入、评审会工作量投入等)进行关注和调控,合理安排人员和工作量,以保证软件需求评审的实施效果,尽量多的发现软件需求文档中的问题。
如某项目进行软件需求文档评审,文档规模105页,项目团队设定的该质量活动的目标即期望发现问题数为30个,为达到此目标,运用上述回归分析方程对软件需求评审活动进行策划,对影响目标的几个重要因素进行调控,有以下几种可选方案(见表5),每种方案都从统计学意义上可以保证本次质量控制活动目标的实现。
项目团队结合进度、成本、人员等实际情况,从可选方案中选择最适合的,选中的方案可以从统计学意义上保证本次软件需求文档评审目标(即发现至少30个以上问题)的实现。
3 结语
软件质量控制活动是保证软件产品质量的重要活动,在软件质量控制活动中引入回归分析,可以从历史数据中挖掘出影响质量控制活动的显著因素,并为显著因素和目标之间建立数学方程,通过对显著因素的关注和调控,可以为软件质量控制活动的策划提供定量式的决策依据,以保证质量控制活动目标的实现,从而改善软件质量控制活动的实施效果,也保证了最终交付的软件产品质量。
教育期刊网 http://www.jyqkw.com
参考文献:
[1]任永昌,洪晓慧,常革新.软件项目质量控制流程及其技术[J].计算机技术与发展,2012,22(11):149-152.
[2]张忠阳,黄志洲.软件工程系统项目开发的质量控制[J].现代测试,2011,34(4):57-59.
[3]田巍巍.基于SPSS回归分析的电导率和易溶盐含量关系分析[J].水利科技与经济,2014,20(10):47-48.
[4]毕建武,贾进章,刘丹.基于SPSS多元回归分析的回采工作面瓦斯涌出量预测[J].安全与环境学报,2013,13(5):183-186.