度量元的名称:类的圈复杂度。
解释说明:
类中各个成员函数的圈复杂度的总和(关于函数的圈复杂度的计算方法请参见〈〈
Logiscope
函数度量元〉〉文挡)。
度量元的名称:类功能的专一性。
解释说明:
该度量元的计算公式为:
SPECIAL =
2 * ( cl_data_publ + cl_data_prot ) + cl_func_publ + cl_func_prot +10 *in_bases
其中:
cl_data_publ
:类中
public
型的数据成员的数量。
cl_data_prot
:类中
protected
型的数据成员的数量。
cl_func_publ
:类中
public
型的成员函数的数量。
cl_func_prot
类中
protected
型的成员函数的数量。
in_bases
:
该类的基类的数量(包括直接基类的基类)。
度量元的名称:类的易用性。
解释说明:
该度量元的计算公式为:
其中:
cl_data_publ
:
类中
public
型的数据成员的数量
cl_func_publ
:
类中
public
型的成员函数的数量
该度量元表示了类对外的接口情况,类对外的接口越多,掌握、使用这个类就越困难。
度量元的名称:类的封装性。
解释说明:
该度量元的计算公式为:
其中:
cl_data_publ
:类中
public
型的数据成员的数量
cl_data_vare
:在类成员函数中使用的外部类的数据成员的次数之和
度量元的名称:被其他类使用的次数。
解释说明:
该类被其他类使用的次数
(
被同一个类多次使用计为一次
).
度量元的名称:类耦合
解释说明:
该度量元的值,包括以下几种情况之和:
1
该类直接基类的数量
2
该类中类类型的数据成员的数量
3
调用了静态成员函数的成员函数的数量的二倍。
4
有类类型参数的类成员函数的数量的二倍。
5
有类类型变量的类函数数量的三倍。
度量元的名称:派生类数量。
解释说明:从该类派生的类的数量。只计直接派生类的数量,间接派生不算在内。
度量元的名称:类自治的程度。
解释说明:
该度量元的计算方法为:与其它的类没有牵扯关系的类函数和类数据成员的数量之和,再
除以
类函数和类数据成员的数量之和的百分比。
该度量元的计算公式为:
AUTONOM =
100 * ((cl_func_priv + cl_func_prot + cl_func_publ - cl_dep_meth) +
(cl_data_prot + cl_data_publ + cl_data_priv - cl_data_class)) /
(cl_func_priv + cl_func_prot + cl_func_publ + cl_data_priv + cl_data_prot + cl_data_publ)
其中:
cl_func_priv
:
类中
private
型的成员函数的数量。
cl_func_prot
:
类中
protected
型的成员函数的数量。
cl_func_publ
:
类中
public
型的成员函数的数量。
cl_data_prot
:
类中
protected
型的数据成员的数量。
cl_data_publ
:
类中
public
型的数据成员的数量。
cl_data_priv
:
类中
private
型的数据成员的数量。
cl_data_class
:
类中类类型数据成员的个数
.
cl_dep_meth
:
类函数中要依赖本类之外的函数的个数,
这样的函数是指:
1
该函数使用了其他类的数据成员
2
在该函数中调用了其他类的函数
3
该函数有一个其他类类型的实体对象的参数
4
该函数中有一个其他类的类类型的变量
度量元的名称:使用其它类的数量
解释说明:
在该类中直接使用的其它类的数量。多次使用同一个类计为一次。
度量元的名称:易于测试性。
解释说明:
该度量元的计算公式为:
TESTAB =
cl_fprot_path + cl_fpriv_path + cl_fpubl_path + cl_data_vare + cl_func_calle
其中:
cl_fprot_path
:
类中所有的
protected
型函数的执行路径总和,
cl_fpriv_path
:
类中所有的
private
型函数的执行路径总和,
cl_fpubl_path
:
类中所有的
public
型函数的执行路径总和。
cl_data_vare
:
类函数中使用的外部类的数据成员的次数之和,
cl_func_calle
:
类函数中对类外部的函数的调用次数之和,
通过观察该度量元的各个组成元素,我们会发现这些都是会对我们需要制定测试用例的数量产生重要影响的数据。