1.1.
Definición: La
aplicación continua de técnicas basadas en las medidas de los procesos de
desarrollo de Software y sus productos, para producir una información de
gestión significativa y a tiempo. Esta información se utilizará para mejorar
esos procesos y los productos que se obtienen de ellos.
1.2.
Características de las Métricas de Software.
·
La calidad de las medidas deberían facilitar el
desarrollo de modelos que sean capaces de predecir el comportamiento de
determinados parámetros que afectan al desarrollo de productos o procesos.
·
Implican medir: medir involucra números; el uso
de números para hacer cosas mejor. Pretenden mejorar los procesos de desarrollo
de Software y mejorar, por tanto, todos los aspectos de la gestión de aquellos
procesos.
·
Estas medidas son aplicables a todo el ciclo de
vida del desarrollo, desde la iniciación, cuando debemos estimar los costos, al
seguimiento y control de la fiabilidad de los productos finales, y a la forma en
que los productos cambian a través del tiempo debido a la aplicación de
mejoras.
·
Las medidas del Software y los modelos de medida
son entonces útiles para estimar y predecir costos y para medir la
productividad y la calidad del producto.
1.3.
Áreas de Aplicación.
·
El control de proyectos de desarrollo de Software
a
través de medidas en un área que está generando un gran interés. Este es un
tema que ha alcanzado un interés relevante con el incremento de contratos a
precio fijo para desarrollar un producto Software y la utilización de cláusulas
de penalización en los mismos en caso de retrasos, sobrecostos, etc.
·
La predicción de los niveles de calidad del
Software, a menudo en términos de fiabilidad, es otra área en que las Métricas
de Software tiene un importante papel que jugar.
·
El uso de las Métricas de Software es
proporcionar una verificación cuantitativa del diseño de software es
otra área bien definida. Estas Métricas no se van a estudiar en esta Unidad si
no en la Unidad de Diseño.
·
La utilización de las Métricas para comprar
unas organizaciones con otras es un área de aplicación muy importante. Un
resultado de esta aplicación es que se puede identificar que se está haciendo
mal y quién lo está haciendo bien y aprender de esas empresas.
·
Finalmente, el uso más común de las medidas de
Software es la provisión de información de gestión, que incluye datos
acerca de la productividad, calidad y eficacia de los procesos.
1.4.
Clasificación de las Métricas de Software.
1.4.1
Métricas de Producto son
medidas de producto Software durante cualquier fase de su desarrollo desde los
requisitos hasta la instalación. Estas métricas evalúan el proceso en sí de
fabricación del producto correspondiente. Pueden medir la complejidad del
diseño, el tamaño del producto final (fuente u objeto) o el número de páginas
de documentación producida.
1.4.2
Métricas de Proceso son
medidas del proceso de desarrollo del Software tales como tiempo de desarrollo
total, esfuerzo en días/ hombre o mes / hombre de desarrollo del producto, tipo
de metodología utilizada o nivel medio de experiencia de los programadores.
1.4.3
Métricas del tamaño:
provienen
de la normalización de las medidas de `calidad y/o productividad considerando
-el tamaño - del Software que se haya producido. Existen un cierto número de Métricas que
intentan cuantificar el tamaño del Software. A continuación, vamos a analizar las medidas más
utilizadas en la determinación del tamaño del Software.
·
Líneas de Código: La medida más
utilizada de la longitud del código fuente de un programa es el Numero de
Líneas de Código (Lines of Code en Inglés, abreviado LOC). Sin embargo esta
métrica puede calcularse de muchas maneras. Estas diferencias afectan al
tratamiento de las líneas en blanco y las líneas de comentarios, las sentencias
no ejecutables, las instrucciones múltiples por línea y las múltiples líneas
por instrucción. Además, deberían contarse las líneas reusables del código.
·
Especificación del Diseño Unas
especificaciones o un diseño, están compuestos por textos o diagramas, los
cuales parecen inmedibles con relación a la longitud. Al comienzo del ciclo de
vida, tales documentos consisten en una infinidad de texto, grafos, diagramas
matemáticos, y símbolos. La naturaleza de aquellos dependerá en particular del
estilo el método o la notación utilizada.
·
Predicción
de la longitud: Un modo
intuitivo de predecir la longitud es obteniendo una relación entre la longitud
de diferentes productos obtenidos durante el ciclo de vida. En particular, una
predicción de longitud, se puede obtener considerando la relación ratio de
expansión entre la longitud de las especificaciones o del diseño y la longitud
del Código en proyectos similares en los que se mantienen datos.
El objetivo más importante es identificar una
medida del tamaño de Software que pueda ser la variable predominante en los
sistemas de predicción de costos y esfuerzo, así como en la evaluación de la
productividad.
1.4.4
Métricas de Calidad
La calidad del software es una característica
que, teóricamente al menos, puede ser medida en cada fase del ciclo de
desarrollo del Software.
El objeto primordial de la ingeniería del
Software es producir un sistema, aplicación o producto de alta calidad. Para
lograr este objetivo, los ingenieros del software deben aplicar métodos
efectivos con herramientas modernas dentro del contexto de un proceso maduro de
desarrollo del Software. Se puede generar una larga lista de características de
la calidad de Software: corrección, eficacia, portabilidad, mantenibilidad,
fiabilidad, etc. Desafortunadamente, las características a veces se solapan y
entran en conflicto unas con otras. Por ejemplo, incrementar la portabilidad,
que es muy deseable, puede dar lugar a una eficacia menor.
Se considera importante atención a las siguientes
tres áreas:
·
Corrección de los programas: Un
programa debe operar correctamente o proporcionará poco valor a sus usuarios.
La corrección es el grado en el que el Software lleva a cabo su función
requerida.
·
Fiabilidad del Software: En esta
época de intrusos informáticos y de virus, la integridad del software ha
llegado a tener mucha importancia. Este atributo mide la habilidad de un
sistema para resistir ataques (tanto accidentales como intencionales) contra su
seguridad. El ataque se puede realizar en cualquiera de los tres componentes
del Software, programas, datos, y documentos.
·
Mantenibilidad del Software, que
se mide a partir de otro conjunto de métricas, incluidas las de complejidad: La
facilidad de mantenimiento es la facilidad con la que se puede corregir un
programa si se encuentra un error, se puede adaptar si su entorno cambia, o
mejorar si su cliente desea un cambio de requisitos.
1.5.
Integración de las Métricas dentro del Proceso de
Software
¿Por
qué es tan importante medir el proceso de ingeniería de Software y el producto
(Software) que produce? Si no se mide, no hay una forma real de
determinar sí se está mejorando. Y si no se está mejorando, se está perdido.
Mediante el uso de la medición para establecer
una línea base del proyecto, cada uno de estos asuntos se hace más fácil de
manejar. Entonces, la línea base sirve como base de la estimación y la
recopilación de métricas de calidad permite a una organización -sintonizar- su
proceso de ingeniería del Software para eliminar las causas - poco vitales- de
los defectos que tienen el mayor impacto en el desarrollo del Software.