·
Métricas de Tamaño
Todos los programas comparten un atributo, independientemente del lenguaje, área de aplicación, método de diseño usado, calidad de su documentación, etc. Todos ellos tienen un tamaño.
El tamaño es importante, pues es fácil calcularlo después de finalizado el programa; es el factor más importante para muchos modelos, y la productividad normalmente se basa en mediciones de tamaño (más adelante se verá que esto último no es muy razonable). Las mediciones de tamaño más importantes son las líneas de código, el número de tokens, y el número de funciones.
Líneas de Código (lines of code o LOC)
"...toda línea de un programa que no es un comentario, o línea en blanco, independientemente del número de instrucciones o fragmentos de instrucciones en ella. Esto incluye específicamente las líneas de encabezamiento de un programa, declaraciones, e instrucciones ejecutables y no ejecutables."
Una subrutina FORTRAN que ordena un arreglo en orden ascendente
El principal problema asociado a la métrica líneas de código es que no todas las líneas son equivalentes en su dificultad de codificación. La siguiente métrica toma esto en cuenta.
Número de Tokens
Un programa computacional es un conjunto de tokens(unidades clasificables como operandos u operadores). Las cuatro métricas básicas asociadas son:
h1 = número de operadores únicos
h2 = número de operandos únicos
N1 = número total de operadores
N2 = número total de operandos
N = N1+ N2= largo (es el tamaño del programa)
En términos generales, cualquier símbolo o palabra reservada que especifica una acción se considera un operador, mientras un símbolo usado para representar datos es considerado un operando. La mayoría de los símbolos de puntuación son considerados operadores. Variables, constantes y labels se consideran operandos.
Operadores son los símbolos matemáticos ( +, -, /, etc. ), nombres de comandos
(while, for, read), símbolos especiales ( :=, ( ), [ ], { }, etc. ) y nombres de funciones
especiales (EOF, EOL).
La tabla siguiente muestra la contabilización de tokens para el programa de
la sección anterior (subrutina SORT)
Un análisis de tokens de la subrutina SORT
Las reglas para la contabilización dependen del lenguaje, y las ambigüedades ocurren con frecuencia. Por ejemplo, el operador “-” puede significar en Pascal dos cosas distintas: un operador unario (negación) o un operador binario (sustracción). ¿Se cuenta como uno o dos operadores únicos? ¿o
como dos ocurrencias del mismo operador? Otras medición es el vocabulario: h = h1 + h2
Una familia de métricas conocida como la Ciencia del Software (o Software Science) fue propuesta por M. Halstead en 1977, y se basa en los métricas de tokens básicas enunciadas anteriormente. Dicha familia de métricas se discute más adelante.
0 comentarios:
Publicar un comentario