什么是McCabe环数》?

王朝知道·作者佚名  2009-06-24
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 軟件 >> 其他軟件
 
問題描述:

大虾好!!!

什么是McCabe环数?McCabe到底是什么呀

在网上我都找不到什么具体的答案!!!

望赐教!!!!

參考答案:

目前已提出的各种复杂性度量算法中,在软件工程界运用得比较多的是McCabe的环计数和Halstead的软件科学度量法,我们称其为McCabe度量法和Halstead度量法。下面我们将连同最古老的代码行数度量法一起分别对它们进行简单介绍。

代码行数度量法 代码行数度量法以程序的总代码行数作为程序复杂性的度量值。这种度量方法有一个重要的隐含假定是:书写错误和语法错误在全部错误中占主导地位。然而,由于这类错误严格来讲是私有的,不应把它们计入错误总数之中,在这种情况下,这种度量方法的前提就不存在。因而,代码行数度量法是一种很粗糙的方法,在实际应用中很少使用。

McCabe度量法 McCabe度量法以程序流程图的分析为基础,通过计算强连通的程序图中线性无关有向环的个数,建立复杂性的度量。其计算公式为:V(G)=m-n+p,其中V(G)是强连通有向图G中的环数;m是G中的弧数;n是G中的节点数;p是G中分离部分的数目。

对于一个正常的程序来说,程序图总是连通的,即p=1。为了使之强连通,我们可以从出口点到入口点画一条虚弧。实际上,我们常常采用另一种计算方法来获得McCabe度量值,即对于单入口单出口模块(通常都属这种情况),我们只需计算程序中判断语句个数加1即可得V(G)值。McCabe度量法实质上是对程序控制流复杂性的度量,它并不考虑数据流,因而其科学性和严密性具有一定的局限性。

参考资料:

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航