案例:区分项目类型建立过程性能模型

    同一家公司中不同类型的项目其过程性能的规律很可能是不同的,在建立过程性能模型时要区别对待,请看下边的案例。

    某公司积累了19个项目的缺陷密度与圈复杂度超过15的函数个数比例的历史数据如下:

案例:区分项目类型建立过程性能模型_第1张图片

    对上述的数据画散点图观察之: 

    案例:区分项目类型建立过程性能模型_第2张图片

              图1 原始数据的散点图

    发现如果删除右上角的3个点,则X和Y之间并不存在明显的相关性。

    缺陷密度不服从正态分布,进行对数变换后,发现Ln(缺陷密度)服从正态分布,对Ln(缺陷密度)与圈复杂度超过15的函数比例进行回归分析,得到如下的结果:

案例:区分项目类型建立过程性能模型_第3张图片

                                               图2 所有项目的回归分析结果

    该方程的拟合优度比较差,在实际中无法使用。

    注意上述的原始数据来自于两类项目,如果对不同类的项目进行分析又会是什么结果呢?先对应用软件类的进行分析:

案例:区分项目类型建立过程性能模型_第4张图片

   图3 应用软件的散点图分析

    对x和y分别进行正态分布的检验,二者都近似服从正态分布,也没有离群点。然后进行相关性的检验:

    缺陷密度(Bugs/KLOC) 和 圈复杂度超过15的函数比例的 Pearson 相关系数 = 0.839     

    P值 = 0.005

    P值小于0.05说明二者相关,相关系统大于0.7说明强相关。于是进行回归分析得到如下的方程:

案例:区分项目类型建立过程性能模型_第5张图片

图4 应用软件的回归方程

    F检验、t检验、残差分析都没有问题,则方程成立,可用。

    再对嵌入式软件的数据进行分析,先看散点图:

案例:区分项目类型建立过程性能模型_第6张图片

图5 嵌入式软件的散点图

    右上角的点和总体趋势不相符,为离群点,需要删除。删除该点后剩余的点并没有明显的趋势,对于嵌入式软件来讲,两个变量之间并不存在明显的相关性。


    综上分析可以看出,在这家公司中两类项目的规律有所不同,需要区分对待。在分析数据时需要细心观察,多尝试,多分析

你可能感兴趣的:(回归分析,圈复杂度,缺陷密度)