软件工程McCabe环路复杂度计算,自环情况详解。

McCabe环路复杂度的三种方法

(1)流图中的区域数等于环形复杂度。
(2)流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。
(3)流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。
推荐使用方法三,是万能的。不用考虑自环是否涉及到程序。
这里就通过网上流传的最多的例子,也是具有代表性的例子来说明
在这里插入图片描述
方法一:区域数就是平面分成了几部分,如图
在这里插入图片描述
这里就出现了E的自环算上了一个区域,而G 的自环不算一个区域
而同样在方法二中计算边时,下图中G的自环边不计算在边数中

上半年:E-N+2=8-7+2=3
下半年:E-N+2=9-7+2=4
方法三很完美,只需要看判定结点数目,判定结点就是出去有分支的
结点(出度>=2)。
上半年:C分支成了D,E,是判定结点;E分支了E,F,是判定结点。
下半年:C分支成了D,E,是判定结点;D分支了G,F,是判定结点;E分支了E,F,是判定结点。
G只指向G,不算判定结点,这也和前面G的自环不计算为区域数和边数吻合

*

  • 6
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值