软件设计师考试 | 第五章 软件工程基础知识 | 软件度量

2021-01-11  本文已影响0人  Levi_moon

软件度量用于对产品及开发产品的过程进行度量。

软件产品、软件过程、资源都具有外部属性和内部属性。

(一)软件度量分类

软件度量有两种分类方法,第一种分类是将软件度量分为面向规模的度量、面向功能的度量和面向人的度量;第二种分类是将软件度量分为生产率度量、质量度量和技术度量。

1.面向规模的度量

面向规模的度量通过对质量和生产率的测量进行规范得到的,这些量都是根据开发过的软件的规模得到的。

软件规模通常用程序的代码行(LOC)或千行代码(KLOC)来衡量。

计算出软件项目的代码行后,可方便地度量其他的软件属性,如软件开发的生产率、每行代码的平均开发成本、文档数量(页数)与代码量的比例关系、每千行代码中包含的软件错误数等。

面向规模的度量公式

对于同一软件、采用不同程序语言编写的程序,还有一些因良好的设计而导致代码量小的软件来说,这种度量不够客观。

2.面向功能的度量

面向功能的度量以功能测量数据作为规范化值。应用最广泛的面向功能的度量是功能点。功能点是根据软件信息域的特性及复杂度来计算的。

信息域的值用下列方式定义:


(二)软件复杂性度量

软件复杂性是指理解和处理软件的难易程度。
软件复杂性度量的参数:

1.程序复杂性度量原则

程序复杂性度量模型应遵循以下基本原则:

2.McCabe度量法

McCabe度量法又称为环路度量,它认为程序的复杂性在很大程度上取决于控制的复杂性。

该方法以图论为工具,先画出程序图,然后用该图的环路数作为程序复杂性的度量值。
把程序流程图中每个处理符号都退化成一个结点,原来连接不同处理符号的流线变成连接不同点的有向弧。在图的入口点到出口点加一条用虚线表示的有向边,使图成为强连通图。然后利用公式计算环路复杂性。
当环路复杂度的度量值超过10时,要充分测试这个模块变得特别困难。


上一篇下一篇

猜你喜欢

热点阅读