Está en la página 1de 25

Métricas de

Software
Medimos para mejorar cuando recogemos la información cuantitativa
que nos ayuda a identificar obstáculos, problemas de raíz,
ineficiencias y otras oportunidades para mejorar la calidad del
producto y el rendimiento del proceso.
Hay varias razones para medir un
producto
1. Para indicar la calidad del producto.
2. Para evaluar la productividad de la gente que
desarrolla el producto.
3. Par evaluar los beneficios en términos de
productividad y de calidad, derivados del uso
de nuevos métodos y herramientas de la ingeniería
de software.
4. Para establecer una línea de base para la
estimación
5. Para ayudar a justificar el uso de nuevas
herramientas o de formación adicional.
¿Por qué es tan importante medir el proceso de

ingeniería del software y el producto (software)

que produce?

La respuesta es relativamente obvia. Si no se


mide, no hay una forma real de determinar si
se está mejorando. Y si no se está mejorando,
se está perdido.
Conceptos Básicos
• Medida: Indicación cuantitativa de la extensión,
cantidad, dimensiones, capacidad o tamaño de
algunos atributos de un proceso o producto.
• Medición: Acto de determinar una medida
• Métrica: Medida cuantitativa del grado en que un
sistema, componente o proceso posee un atributo
dado.
• Indicador: Métrica o combinación de métricas que
proporcionan una visión profunda de un proceso,
producto o proyecto.
Indicadores
• Indicadores de Proceso: Permiten a una
organización tener una visión profunda de la
eficacia de un proceso ya existente. Permiten
evaluar lo que funciona y lo que no. Se recopilan
medidas durante un largo periodo de tiempo.
Proporcionan indicadores que lleven a mejoras de
los procesos de software.
• Indicadores de Proyecto: Permiten evaluar el
estado del proyecto en curso, seguir la pista de los
riesgos, detectar las áreas problemáticas, ajustar las
tareas y evaluar la habilidad del equipo de trabajo.
Preguntas:
1.- Sugiera tres medidas, tres métricas y los
indicadores que se podrían utilizar para evaluar un
automóvil.
2.-Sugiera tres medidas, tres métricas y los
indicadores correspondientes que se podrían utilizar
para evaluar el departamento de servicios de un
concesionario de automóviles.
3.- Sugiera tres medidas, tres métricas y los
indicadores correspondientes que se podrían utilizar
para evaluar su software.
Mediciones del Software
Pueden englobarse en dos categorías: medidas
directas y medidas indirectas.
Medidas Directas. En el proceso de ingeniería se
encuentran el costo, y el esfuerzo aplicado, las líneas
de código producidas, velocidad de ejecución, el
tamaño de memoria y los defectos observados en un
determinado periodo de tiempo.
Medidas Indirectas. Entre las medidas indirectas se
incluyen la funcionalidad, calidad, complejidad,
eficiencia, fiabilidad, facilidad de mantenimiento y
muchas otras capacidades.
Métricas del software
Son las que están relacionadas con el desarrollo del software como funcionalidad,
complejidad, eficiencia.
MÉTRICAS TÉCNICAS: Se centran en las características de software por ejemplo: la
complejidad lógica, el grado de modularidad. Mide la estructura del sistema, el cómo esta
hecho.
MÉTRICAS DE CALIDAD : proporcionan una indicación de cómo se ajusta el software a los
requisitos implícitos y explícitos del cliente. Es decir cómo voy a medir para que mi sistema se
adapte a los requisitos que me pide el cliente.
MÉTRICAS DE PRODUCTIVIDAD . Se centran en el rendimiento del proceso de la ingeniería del
software. Es decir que tan productivo va a ser el software que voy a diseñar.
MÉTRICAS ORIENTADAS A LA PERSONA . Proporcionan medidas e información sobre la
forma que la gente desarrolla el software de computadoras y sobre todo el punto de vista
humano de la efectividad de las herramientas y métodos. Son las medidas que voy a hacer
de mi
personal que va hará el sistema.
MÉTRICAS ORIENTADAS AL TAMAÑO. Es para saber en que tiempo voy a terminar el
software y cuantas personas voy a necesitar. Son medidas directas al software y el proceso
por el cual se desarrolla, si una organización de software mantiene registros sencillos.
Orientadas al tamaño
Las métricas del software orientadas al 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.
Métricas
• Productividad = KLDC/persona-mes
• Calidad = errores/KLDC
• Documentación = pags. Doc/ KLDC
• Costo = $/KLDC
Orientadas a la función
Las métricas del software orientadas a la
función utilizan una medida de la
funcionalidad entregada por la aplicación
como un valor de normalización.
Ya que la funcionalidad no se puede medir
directamente, se debe derivar mediante otras
medidas directas.
Punto de función: Se calcula determinando 5
características de dominio de información.
1. Números de entrada de usuario: se cuenta cada entrada del
usuario que proporcione al software diferentes datos orientados a la
aplicación. Las entradas deben ser distinguidas de las peticiones
que se contabilizan por separado.
2. Numero de salida del usuario: se encuentra cada salida que
proporciona la usuario
información orientada ala aplicación. En este contexto las salidas se
refieren a informes, pantalla, mensajes de error. Los elementos de
datos individuales dentro de un informe se encuentran por
separado.
3. Números de peticiones al usuario: una petición esta definida
como una entrada
interactiva que resulta de la generación de algún tipo de respuesta
en forma de salida interactiva. Se cuenta cada petición por
separado.
4. Numero de archivos: se cuenta cada archivo maestro lógico, o
sea una agrupación lógica de datos que puede ser una parte en
una gran base de datos o un archivo independiente.
5. Numero de interfaces externas: se cuentan todas las interfaces
legibles por la maquina por ejemplo: archivos de datos, en cinta o
discos que son utilizados para transmitir información a otro sistema.
Ejercicio
• Calcule el valor del punto de función de un
proyecto con las siguientes características del
dominio de información:
• Número de entradas de usuario: 32
• Número de salidas de usuario: 60
• Número de peticiones de usuario: 24
• Número de archivos: 8
• Número de interfaces externos: 2
• Asuma que todos los valores de ajuste de
complejidad están en la media.
Métricas para la calidad
del software
El objetivo 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 junto con herramientas modernas dentro del
contexto de un proceso maduro de desarrollo de software. Además, un
buen ingeniero del software (y buenos gestores de la ingeniería del
software) deben medir si la alta calidad se va a llevar a cabo.
La calidad de un sistema, aplicación o producto es tan bueno como los
requisitos que describen el problema, el diseño que modela la solución,
el código que conduce a un programa ejecutable, y las pruebas que
ejercitan el software para detectar errores. Un buen ingeniero del
software utiliza mediciones que evalúan la calidad del análisis y los
modelos de diseño, el código fuente, y los casos de prueba que se han
creado al aplicar la ingeniería del software.
Medidas de la calidad
Aunque hay muchas medidas de la calidad de
software, la corrección, facilidad de mantenimiento,
integridad y facilidad de uso proporcionan
indicadores Útiles para el equipo del proyecto.

Corrección. 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. La
medida más común de corrección es defectos por
KLDC, en donde un defecto se define como una falta
verificada de conformidad con los requisitos.
Facilidad de mantenimiento
El mantenimiento del software cuenta con más esfuerzo
que cualquier otra actividad de ingeniería del software. 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 el cliente
desea un cambio de requisitos. No hay forma de medir
directamente la facilidad de mantenimiento; por
consiguiente, se deben utilizar medidas indirectas. Una
simple métrica orientada al tiempo es el tiempo medio de
cambio (TMC), es decir el tiempo que se tarda en analizar
la petición de cambio, en diseñar una modificación
adecuada, en implementar el cambio, en probarlo y en
distribuir el cambio a todos los usuarios
Integridad
En esta época de hackers y firewalls la integridad del software
ha llegado a tener mucha importancia. Este atributo mide la
capacidad de un sistema para resistir ataques contra sus
seguridad.
Para medir la integridad, se tienen que definir dos atributos
adicionales: amenaza y seguridad.
Amenaza es la probabilidad (que se puede estimar o deducir de
la evidencia empírica) de que un ataque de un tipo
determinado ocurra en un tiempo determinado.
La seguridad es la probabilidad (que se puede estimar o deducir
de la evidencia empírica) de que se pueda repeler el ataque de
un tipo determinado.
La integridad del sistema se puede definir como:
integridad = Σ [( 1 - amenaza) x (1 - seguridad)]
donde se suman la amenaza y la seguridad para cada tipo de
ataque.
Facilidad de uso
El calificativo amigable con el usuario se ha convertido en
omnipresente en las discusiones sobre productos de software. Si
un programa no es «amigable con el usuario», frecuentemente
está abocado al fracaso, incluso aunque las funciones que
realice sean valiosas. La facilidad de uso es un intento de
cuantificar «lo amigable que puede ser con el usuario » y se
puede medir en función de cuatro características:
1.- Habilidad intelectual y/o física requerida
para aprender el sistema;
2.- Tiempo requerido para llegar a ser moderadamente eficiente
en el uso del sistema;
3.- Aumento neto en productividad (sobre el enfoque que el
sistema reemplaza) medida cuando alguien utiliza el sistema
moderadamente y eficientemente; y
4.- Valoración subjetiva (a veces obtenida mediante un
cuestionario) de la disposición de los usuarios hacia el sistema
Eficacia de la Eliminación de Defectos
Una métrica de la calidad que proporciona beneficios
tanto a nivel del proyecto como del proceso, es la
eficacia de la eliminación de defectos (EED). EED es una
medida de la habilidad de filtrar las actividades de la
garantía de calidad y de control al aplicarse a todas las
actividades del marco de trabajo del proceso.
Cuando un proyecto se toma en consideración
globalmente, EED se define de la forma siguiente:
EED = E / (E + D)
donde E es el número de errores encontrados antes de
la entrega del software al usuario final y D es el número
de defectos encontrados después de la entrega.
El valor ideal de EED es 1. Esto es, no se han encontrado defectos en ei software.
De forma realista, D será mayor que cero.
Línea Base
Estableciendo una línea base de métricas se
pueden obtener beneficios a nivel de proceso,
proyecto y producto (técnico). Sin embargo la
información reunida no necesita ser
fundamentalmente diferente. Las mismas métricas
pueden servir varias veces. Las líneas base de
métricas constan de datos recogidos de proyectos
de software desarrollados anteriormente y pueden ser
tan simples como una tabla de datos o tan complejas
como una gran base de datos que contenga
docenas de medidas de proyectos y las métricas
derivadas de ellos.
Tarea:
1.- Investiga el método de desarrollo de métricas:
OPM
2. El equipo A encontró 342 errores durante el proceso
de ingeniería del software antes de entregarlo. El
equipo B encontró 184 errores. ¿Qué medidas
adicionales se tendrían que tomar para que los
proyectos A y B determinen qué equipos eliminaron
los errores más eficientemente?¿Qué métricas
propondrían para ayudar a tomar determinaciones?
¿Qué datos históricos podrían ser útiles?

También podría gustarte