本文介绍了Logiscope——Audit对应于软件质量模型,在质量因素级、质量标准级上的具体实现。需要说明的是,文档中描述的质量模型只涉及了可维护性这个质量因素。根据情况,我们可以制做出不同的质量模型。这篇文档的目的是为了能让大家更好的了解Audit对软件质量模型的实现。
我们先说质量因素这一级。每个质量因素都由若干个质量标准按权重相加组成。关于这些质量标准的含义,请看本文档第三部分的内容。
该质量因素表示:对函数进行修改时,为防止引发错误,所需要做的工作的难度。其计算公式为:
function_MAINTAINABILITY = function_ANALYZABILITY
+ function_CHANGEABILITY
+ function_STABILITY
+ function_TESTABILITY
该质量因素表示:对函数进行修改时,为防止引发错误,所需要做的工作的难度。其计算公式为:
relativeCall_MAINTAINABILITY = relativeCall_ANALYZABILITY
+ relativeCall_STABILITY
+ relativeCall_TESTABILITY
该质量因素表示:对类进行修改时,为防止引发错误,所需要做的工作的难度。其计算公式为:
class_MAINTAINABILITY = class_ANALYZABILITY
+ class_CHANGEABILITY
+ class_STABILITY
+ class_TESTABILITY
可复用性是指类是否能够被比较容易的复用。其计算公式为:
class_REUSABILITY = class_USABILITY
+ class_SPECIALIZABILITY
+ class_ANALYZABILITY
该质量因素表示:对程序代码进行修改时,为防止引发错误,所需要做的工作的难度。其计算公式为:
application_MAINTAINABILITY = application_ANALYZABILITY
+ application_CHANGEABILITY
+ application_STABILITY
+ application_TESTABILITY
下面我们讨论软件质量模型中质量标准这一级。质量标准组成了我们上面说到的质量因素。每个质量标准都是由若干个质量度量元按权重相加组成的。关于组成各个质量标准的度量元的含义,请看《Logiscope-Audit函数度量元》、《Logiscope-Audit类度量元》、《Logiscope-Audit系统度量元》这3篇文章的内容。
该质量标准表示:函数被修改后,为保证系统不发生错误,需进行测试的工作量。计算公式为:
function_TESTABILITY = dc_calls + LEVL + ct_path + ic_param
该质量标准表示:函数之外的代码发生变化之后,导致函数发生错误的可能性。计算公式为:
function_STABILITY = dc_calling + ic_varpe + ct_exit
+ dc_calls + ic_param
该质量标准表示:当需要更改函数代码、修正函数代码缺陷时,需做的工作量。计算公式为:
function_CHANGEABILITY = ic_param + dc_lvars + VOCF + ct_bran
该质量标准表示:理解函数所需花费的脑力劳动量,也就是函数的复杂程度。计算公式为:
function_ANALYZABILITY = ct_vg + lc_stat + AVGS + COMF
该质量标准表示:理解函数的相互调用关系所需花费的脑力劳动量。计算公式为:
relativeCall_ANALYZABILITY = cg_strucpx + cg_levels
该质量标准表示:对程序(包括本函数体中的代码以及其他函数体中的代码)进行修改时,导致引发意想不到的错误的可能性。其计算公式为:
relativeCall_STABILITY = IND_CALLS + cg_hiercpx
该质量标准表示:为了验证程序的正确性,所需测试工作的工作量。其计算公式为:
relativeCall_TESTABILITY = cg_testab + IND_CALLS
该质量标准表示:为了理解类的功能,所需付出的脑力劳动量。其计算公式为:
class_ANALYZABILITY = cl_wmc + in_bases + cl_dep_meth
+ FAN_Inclass + FAN_OUTclass + COMFclass
该质量标准表示:当需要对类进行修改时,所需付出的工作量。其计算公式为:
class_CHANGEABILITY = ENCAP + USABLE + SPECIAL
该质量标准表示:当需要对程序进行修改时,为了防止发生错误所需付出的工作量。其计算公式为:
class_STABILITY = AUTONOM + in_noc + cl_cobc + cu_cdusers
减少类与类之间的耦合,提高类的封装程度,会提高类的稳定性。
该质量标准表示:为了验证程序的正确性,所需测试工作的工作量。其计算公式为:
class_TESTABILITY = in_bases + TESTAB + cu_cdused
该质量标准表示:类是否能被使用者容易的理解和方便、安全的使用。其计算公式为:
class_USABILITY = USABLE + ENCAP + AUTONOM
该质量标准用于检验类的可复用性。其计算公式为:
class_SPECIALIZABILITY = SPECIAL + ENCAP + AUTONOM
该质量标准表示:系统的复杂程度,即系统是否能被较容易的理解。其计算公式为:
application_ANALYZABILITY = ap_inhg_levl + AVG_CBO + ap_aif
+ ap_mif + ap_cof + RECU_Ratio
该质量标准表示:当需要对程序进行修改时,为了防止发生错误所需付出的工作量。其计算公式为:
application_CHANGEABILITY = ap_inhg_levl + URI_Ratio + NMM_Ratio
+ ap_pof + ap_mif
该质量标准表示:当需要对对系统进行修改时,系统发生错误的可能性。其计算公式为:
application_STABILITY = AVG_CBO + ap_inhg_cpx + ap_mhf
+ ap_ahf + ap_cof
系统中的各模块之间的耦合越少,则系统的稳定性越好。
该质量标准表示:为了验证系统功能的正确性,所需测试工作的工作量。其计算公式为:
application_TESTABILITY = AVG_VG + NMM_Ratio + ap_mhf
+ ap_ahf + ap_cg_levl