📜  内部产品属性

📅  最后修改于: 2020-12-04 08:02:19             🧑  作者: Mango


内部产品属性以仅取决于产品本身的方式描述软件产品。衡量内部产品属性的主要原因是,它将有助于在开发过程中监视和控制产品。

测量内部产品属性

内部产品的主要属性包括尺寸结构。可以静态测量尺寸,而不必执行它们。产品的尺寸告诉我们创建产品所需的工作。同样,产品的结构在设计产品维护方面也起着重要作用。

测量尺寸

软件大小可以用三个属性来描述-

  • 长度-它是产品的物理尺寸。

  • 功能-它描述了产品提供给用户的功能。

  • 复杂度-复杂度有不同的类型,例如。

    • 问题复杂度-衡量基本问题的复杂度。

    • 算法复杂度-衡量为解决问题而实施的算法的复杂度

    • 结构复杂度-测量用于实现算法的软件的结构。

    • 认知复杂度–衡量了解软件所需的工作。

这三个属性的度量可以描述如下-

长度

有三种开发产品,其尺寸测量可用于预测预测所需的工作量。它们是规范,设计和代码。

规格与设计

这些文档通常将文本,图形以及特殊的数学图和符号结合在一起。规格测量可用于预测设计的长度,而设计的长度又是代码长度的预测指标。

文档中的图具有统一的语法,例如带标签的有向图,数据流图或Z模式。由于规格和设计文档由文本和图表组成,因此可以用代表文本长度和图表长度的一对数字来衡量其长度。

对于这些测量,应为不同类型的图和符号定义原子对象。

数据流程图的原子对象是流程,外部实体,数据存储和数据流。代数规范的原子实体是类别,函数,运算和公理。 Z模式的原子实体是规范中出现的各种行。

可以用不同的方式来生成代码,例如过程语言,面向对象和可视化编程。源代码程序长度最常用的传统度量是代码行(LOC)。

总长度

LOC = NCLOC + CLOC

LOC =非注释LOC +已注释LOC

除了代码行以外,还可以使用其他替代方法,例如Maurice Halsted建议的大小和复杂性来测量长度。

Halstead的软件科学试图捕获程序的不同属性。他提出了三个内部程序属性,例如长度,词汇量和音量,这些属性反映了不同的尺寸视图。

他首先将程序P定义为按运算符或操作数分类的令牌的集合。这些令牌的基本指标是

  • μ1 =独特运算符数量

  • μ2 =独特的操作数数

  • N 1 =运算符的总出现次数

  • N 2 =唯一运算符的数量

长度P可以定义为

$$ N = N_ {1} + N_ {2} $$

P的词汇是

$$ \ mu = \ mu _ {1} + \ mu _ {2} $$

程序的数量=编写长度为N的程序所需的心理比较数为

$$ V = N \ times {log_ {2}} \ mu $$

音量为V的节目P的节目等级为:

$$ L = \ frac {V ^ \ ast} {V} $$

其中,$ V ^ \ ast $是潜在的体积,即P的最小尺寸实现的体积

水平的倒数是难度-

$$ D = 1 \ diagup L $$

据霍尔斯特德理论,我们可以计算估计L,

$$ {L}’= 1 \ diagup D = \ frac {2} {\ mu_ {1}} \ times \ frac {\ mu_ {2}} {N_ {2}} $$

同样,估计的程序长度为$ \ mu_ {1} \ times log_ {2} \ mu_ {1} + \ mu_ {2} \ times log_ {2} \ mu_ {2} $

产生P所需的工作量由下式给出:

$$ E = V \ diagup L = \ frac {\ mu_ {1} N_ {2} Nlog_ {2} \ mu} {2 \ mu_ {2}} $$

计量单位E是理解P所需的基本精神歧视

测量长度的其他选择是-

  • 根据程序文本所需的计算机存储字节数

  • 根据程序文本中的字符数

面向对象的开发提出了测量长度的新方法。 Pfleeger等。发现与使用代码行的对象和方法相比,使用这些对象和方法可以更准确地估算生产率。

功能性

产品固有的功能量决定了产品尺寸。衡量软件产品功能的方法有很多。在下一章中,我们将讨论一种这样的方法-Albrecht的功能点方法-。