Mediciones en Producto y Proceso de Software
La medición del software es una tecnología con características y limitaciones similares a una nueva e inmadura tecnología
¿Por qué medir?
“Medimos para mejorar” Las mejoras en el proceso de desarrollo de software y sistemas de calidad no pueden ser evaluadas sin un esfuerzo efectivo de medición. Cada organización desea mejorar sus procesos de desarrollo de software debido a que existe un tangible beneficio con la construcción de un mejor software.
Aqui se muestran unas necesidades de porque debemos medir el software que utilizamos
- Mejoras en la calidad y productividad.
- Planificación y estimación de proyectos con alguna precisión.
- Disposición del personal adecuado, bien utilizado y motivado.
- Existencia de una adecuada estructura organizacional.
- Uso de técnicas y herramientas efectivas para el proceso.
- Obtención de un espacio físico y ambiente de trabajo óptimo.
Los aspectos esenciales de la medición son:
- Datos duros, son cuantificables con poca o sin subjetividad (esfuerzo, volumen documentación, errores detectados, etc.
- Datos blandos, presentan un grado de subjetividad (habilidad y experiencia, presiones de tiempo, satisfacción del cliente, cooperación del cliente, etc.
- Datos normalizados, son usados con propósito comparativo (LOC, PF, CC, PO)
Atributos internos y externos
Cada una de estas entidades puede ser medida definiendo sus atributos internos o externos. Un atributo interno es medido directamente desde la entidad. Por ejemplo, una medida interna del código fuente es el tamaño medido por las líneas de código. Un atributo externo es una medida de la entidad con relación a una necesidad externa definida por el ambiente en el cual es desarrollada o utilizada.
FACTOR
|
DEFINICIÓN
|
Corrección
|
Grado en el que un programa satisface las especificaciones y cumple los objetivos del usuario.
|
Fiabilidad
|
Grado en el que un programa se espera que realice su función con una precisión requerida.
|
Eficiencia
|
Cantidad de recursos y código requeridos por un programa para realizar una función.
|
Integridad
|
Grado en el que se controla el acceso al programa o los datos por usuarios no autorizados.
|
Usabilidad
|
Esfuerzo necesario para aprender, operar, preparar entradas e interpretar la salida de un programa.
|
Mantenibilidad
|
Esfuerzo requerido para localizar y corregir un error en un programa en funcionamiento.
|
Facilidad de prueba
|
Esfuerzo requerido para probar un programa (para garantizar que realiza la función deseada).
|
Flexibilidad
|
Esfuerzo requerido para modificar un programa en funcionamiento.
|
Portabilidad
|
Esfuerzo requerido para trasferir un programa de una configuración hardware o entorno software a otro.
|
Reusabilidad
|
Grado en el que un programa se puede utilizar en otras aplicaciones
|
Interoperatividad
|
Esfuerzo requerido para acoplar un sistema con otro.
|
Fuentes