环形复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测度数量的上界。
环形复杂度的计算方法
* 可以用下列任何一种方法计算环形复杂度
1、流图中的区域数等于环形复杂度
2、流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。
3、流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。
环行复杂度的用途
* 程序的环形复杂度取决于程序控制流的复杂程度,也即是取决于程序结构的复杂程度。当程序内分支数或循环个数增加时,环形复杂度也随之增加,因此它是对测试难度的一种定量度量,也能对软件最终的可靠性给出某种预测。
* 实践表明,模块规模以V(G)≤10为宜,也就是说,V(G)≤10是模块规模的一个更科学更精确的上限。
它的计算方法很简单:
计算公式1:V(G)=e-n+2p。其中,e表示控制流图中边的数量,n表示控制流图中节点的数量,p图的连接组件数目(图的组件数是相连节点的最大集合)。因为控制流图都是连通的,所以p为1.
计算公式2:V(G)=区域数=判定节点数+1。其实,圈复杂度的计算还有更直观的方法,因为圈复杂度所反映的是“判定条件”的数量,所以圈复杂度实际上就是等于判定节点的数量再加上1,也即控制流图的区域数。
对于多分支的CASE结构或IF-ELSEIF-ELSE结构,统计判定节点的个数时需要特别注意一点,要求必须统计全部实际的判定节点数,也即每个ELSEIF语句,以及每个CASE语句,都应该算为一个判定节点。
计算公式3:V(G)=R。其中R代表平面被控制流图划分成的区域数。
针对程序的控制流图计算圈复杂度V(G)时,最好还是采用第一个公式,也即V(G)=e-n+2;而针对模块的控制流图时,可以直接统计判定节点数,这样更为简单;针对复杂的控制流图是,使用区域计算公式V(G)=R更为简单。
环形复杂性是定量测量软件度量一个程序的逻辑的复杂性,该措施的基本计算程序的独立路径的数目,以确保所有的语句至少执行一次的上界的数量的量度。
圈复杂度的计算方法
环复杂
1,一些地区在流程图中可以使用以下方法等于计算的复杂的环
2,流图G环复合V(G)= EN 2,其中,E是流图中的边缘的数目,N是节点的数目。
3的流图G环形复杂V(G)= P +1,其中,P是的流程图确定的节点的数目。
复杂的环使用
*程序环形的复杂性依赖于程序的控制流的复杂性,并依赖于该程序的结构的复杂性。环形的复杂性也增加,当程序或循环次数的增加分行的数目,所以它是一种定量测量的测试难度,最终的软件可靠性也可以得到一定的预测。
*实践表明,模块的大小为V(G)≤10是适当的,即,V(G)≤10是一种更科学模块规模的精确的上限。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:2.598秒