软件复杂性有那些度量方法?
0 673
0
该提问暂无详细描述
收藏
2021-02-16 12:29 更新 小眼的铁板烧 •  3528
共 1 个回答
高赞 时间
0

软件复杂性

软件度量的一个重要分支就是软件复杂性。软件复杂性从某些方面反映了软件的可维护性、可靠性等质量要素。软件复杂性度量的要素很多,主要有以下几种:

  • 规模:即总共的指令数,或者源程序数目
  • 难度:通常由程序中出现的操作数的数目所决定的量来表示
  • 结构:通常用与程序结构相关的度量来表示
  • 智能度:即算法的难易程度

度量方法

代码行度量方法

度量程序的复杂性,最简单的方法就是统计程序的源代码行数,并以源代码行数作为程序复杂性的度量。例如,每行代码的出错率为1%,则是指每100行源程序中可能有一个错误。但是这只是考虑了程序的可执行部分,没有包括承租中的说明部分。 Lipow和其他研究者得出一个结论:对于少于100个语句的小程序,源代码行数与出错率是线性相关的;随着程序的增大,出错率以非线性的方式增长。因此,代码行度量法只是一个简单的、较为粗糙的方法。

McCade度量法

McCade度量法是一种举出程序控制流的复杂度度量方法。McCade复杂性度量又称环路度量,它认为程序的复杂性很大程度上取决于控制的复杂性。单一的顺序结构最为简单,循环和选择所构成的环路越多,程序就越复杂。这种方法以图论作为工具,先画出程序图,然后用该图的环路数作为程序复杂性的度量值。 程序图是退化的程序流程图,把程序流程图中每个处理符号都退化成一个节点,原来连接不同处理符号的流线变成连接不同节点的有向弧,得到的有向图就叫做程序图。

收藏
2021-02-16 12:33 更新 空心人 •  3378