terça-feira, 16 de junho de 2020

Métricas de Halstead

Maurice Halstead, em sua teoria da Ciência do Software, propôs leis quantitativas para o desenvolvimento de software usando um conjunto de medidas, assim definidas de acordo com Pressman e Maxim (2016, p. 675):

  • n1 = número de operadores distintos que há em um programa
  • n2 = número de operandos distintos que há em um programa
  • N1 = número total de ocorrências de n1 (operadores)
  • N2 = número total de ocorrências de n2 (operandos)

Com base nestas medidas, podem ser calculados:

n = n1 + n2(vocabulário do programa)

N = n1 log2n1 + n2 log2n2(tamanho do programa)

V = (N1 + N2) x log2(n1 + n2)(volume do programa)

D = n1/2 x N2/n2 (dificuldade do programa)

Exemplo de aplicação das métricas de Halstead

main() {

int a, b, c, med;

scanf("%d %d %d", &a, &b, &c);

med = (a + b + c) / 3;

printf("med = %d", med);

}

n1 (operadores únicos)= 12 main, (), {}, int, scanf, &, =, +, /, printf, " , ;

n2 (operandos únicos)= 7 a, b, c, med, "%d %d %d", 3, "med = %d"

N1= 30

N2= 15

n =n1 + n2 = 19(vocabulário do programa)

N =n1 log2n1 + n2 log2n2= 12x log212 + 7xlog27

=12x3.58 + 7x2.81 = 42.96 + 19.67 = 62.63(tamanho do programa)

V =(N1 + N2) x log2 (n1 + n2) = 45 x log219 =45 x 4.25 = 191.25(volume do programa)

D =n1/2 x N2/n2=12/2 x 15/7 = 12.85 (dificuldade do programa)

Nenhum comentário:

Postar um comentário