技术开发 频道

用预测性对象点度量面向对象软件

    POPs计算例证

    理解了什么是POPs和它是怎么形成的,很明显下一步问题是它作为一个估计工具怎么样使用。一些POPs计算需要的信息可能是需求分析阶段没充分清楚的信息。然而,我们有可以采用的方法来合理估计计算POPs需要的参数。下面一个例子来自[17]。利用项目提供的信息和一个面向对象度量工具,我们将演示怎么样进行POPs计算。开发的软件是个OOCase工具。它是用Smalltalk开发的,有36个类和1040个方法。软件开发团队的生产力高于平均值,他们有大量的软件开发经验。

    第一步是计算WMC。我们知道平均每类的方法是29(1040/36)。虽然我们不清楚这些方法的类别上的分布情况,我们可以用我们在研究过程中确定的百分比来计算:

    构造器/解析器(20%)=6

    读取器(30%)=9

    修正器(45%)=13

    叠加器(5%)=1

    我们用图3来确定复杂度,我们用每类发送消息数(numberofmessagessent)和实例变量数,既然他们可利用。从这我们可以近似得到实例变量和发送消息。

    通过计算发送消息和实例变量和把他们与复杂性分配表(表3)进行匹配,我们确定了方法的复杂度。图4显示了分析情况及最终结果的低、平均和高复杂方法数


    图3用来确定复杂度的数据

    接着我们用图5确定这个例子的平均NOC和DIT。从这我们计算得平均NOC是1.4,我们用子类的总数除以那些有子类的类(父类)的总数(30/21)。我们计算得平均DIT是1.6,顶层类是6(图中层次水平为0的类数)


                                            22%低45%平均

图4例子的复杂性分配

 

 
 
  图5类的层次信息

    最后我们用所有得到的输入进行一个POPs计算,如图6所示。虽然这个例子是采用的一个已经完成的项目,也可以用早在分析阶段的工作产品进行一个相类似的分析。当用例分析已经完成的时候,应该包含有用的动作者,他们的行为和初步的类结构,从这些可以近似地推出其他参数。

0
相关文章