软件的复杂性度量方法概述.docVIP

  • 31
  • 0
  • 约2.69千字
  • 约 4页
  • 2016-07-03 发布于重庆
  • 举报
软件的复杂性度量方法概述

2.软件的复杂性度量方法概述 根据软件的生命周期,Halstead复杂性度量和McCabe圈复杂度度量都属于可以应用在软件测试阶段的度量技术。 在基于程序体积的复杂性度量算法中,最具影响力的是20世纪70年代由Halstead提出的软件科学度量理论[2]。Halstead从统计学和心理学的角度研究软件复杂性,把程序看成由可执行的代码行词汇(操作符和操作数)组成的符号序列。Halstead在其度量理论中采用一些基本的度量值来确定软件开发中的一些定量规律,这些度量值通常在程序产生之后得出,或者设计完成之后算出。Halstead的重要结论之一是:程序实际的Halstead长度值N可以由代码行词汇n算出。 McCabe于1976年指出:应该用程序流图的圈数(Cycloramic number)来测量程序的复杂性,并基于程序控制论和图论提出了经典的McCabe圈复杂性度量理论。McCabe控制流图是一种简化的程序流程图,如果把流程图中的每个基本框抽象为一个点,略去每个框的具体信息,就产生一个由结点和弧(或称为分支)组成的图,称为控制流图。控制流图是有向图,可用G = V,E表示,其中V表示结点集合,代表程序流程图中的基本框;E表示有向边,代表程序流程图中的控制方向。图1则表示了一个典型程序及其相应的流程图: ? A:InPut(Seore); B:If Seore45

文档评论(0)

1亿VIP精品文档

相关文档