Está en la página 1de 23

Índice

• Introducción
4. Proceso de software y • Medidas, métricas e indicadores
métricas de proyectos • Métricas en el proceso y del proyecto
– Introducción
– Métricas del proceso y mejoras en el proceso de
software.
– Métricas del proyecto.
– Métricas del software. Clasificación.

Ingeniería del Software 1 Ingeniería del Software 2


Antonio Navarro Antonio Navarro

Índice Índice
• Métricas de productividad – Introducción.
– Orientadas al tamaño. – Errores.
– Orientadas a la función. – Medida de la calidad.
– Otras métricas – Eficacia de la eliminación de defectos.
– Factores que inciden en la productividad. – Fiabilidad del software.
• Relación entre líneas de código y puntos de • Línea base de Métricas
función
• Métricas de calidad • Conclusiones

Ingeniería del Software 3 Ingeniería del Software 4


Antonio Navarro Antonio Navarro
Introducción Introducción
• La existencia de medidas numéricas facilita - El desarrollador de software evalúe la calidad de
el conocimiento de un fenómeno los productos y trabajos técnicos.
- Ayudar en la toma de decisiones tácticas según
• Las métricas del software miden el software
avanza el proyecto.
de computadora
- Aplicarlas al proceso con la idea de mejorarlo.
• Estas métricas sirven para:
- Utilizarlas en el proyecto para ayudar en la
estimación, control de calidad, evaluación de la
productividad y control de proyectos.
Ingeniería del Software 5 Ingeniería del Software 6
Antonio Navarro Antonio Navarro

Introducción Medidas, métricas e indicadores


• Hay cuatro razones para medir: • Una medida proporciona una indicación
– Caracterizar. cuantitativa de la extensión, cantidad,
– Evaluar. dimensiones, capacidad o tamaño de
– Predecir. algunos atributos de un proceso o producto.
– Mejorar. - E.g., un programa tiene 10.000 LDC (líneas de
código).

Ingeniería del Software 7 Ingeniería del Software 8


Antonio Navarro Antonio Navarro
Medidas, métricas e indicadores Medidas, métricas e indicadores
• La medición es el acto de determinar una • Una métrica es una medida cuantitativa del
medida grado en que un sistema, componente o
- E.g., Ana será la encargada de medir las LDC de proceso posee un atributo dado
cada módulo del sistema. - E.g., la productividad de este proyecto fue de
500 (LDC/persona-mes)

Ingeniería del Software 9 Ingeniería del Software 10


Antonio Navarro Antonio Navarro

Medidas, métricas e indicadores Medidas, métricas e indicadores


• Las medidas no sirven para comparar,
necesitamos métricas • Es decir,
- E.g., en el país A ganan 1000 (€/pm), y en el país B ganan – La medida captura una característica individual.
1500 (€/pm) Æ ¿viven mejor en el país B que en el país A? – La medición permite capturar dicha
Una Big Mac cuesta 3€ en el país A, y en el país B cuesta 5€. característica.
Echemos cuentas.
País A: 1000(€/pm)/3(€/BM) = 333,33 (BM/pm) – La métrica permite relacionar y comparar
País B: 1500(€/pm)/5(€/BM) = 250 (BM/pm) mediciones.
Conclusión: no sabemos donde se vive mejor, pero en el país A
una persona durante un mes puede comer un 33% más de Big
Macs que en el país B
Ingeniería del Software 11 Ingeniería del Software 12
Antonio Navarro Antonio Navarro
Medidas, métricas e indicadores Medidas, métricas e indicadores
• Las métricas son el fundamento de los • E.g., en el país A, no han aumentado los
indicadores sueldos en los últimos tres años, pero el índice
• Un indicador es una métrica o combinación Big Mac se ha duplicado en ese periodo
de métricas que proporcionan una visión • E.g., la productividad media de nuestra
profunda del proceso del software, del empresa es de 500(LDC/pm) y en el último
proyecto de software o del producto en si. proyecto ha sido de 250(LDC/pm)

Ingeniería del Software 13 Ingeniería del Software 14


Antonio Navarro Antonio Navarro

Métricas en el proceso y del ... Métricas en el proceso y del ...


Introducción Introducción
• Nuestros objetivos son establecer: - Detectar áreas problemáticas antes de que se
- Métricas del proyecto Æ indicadores del conviertan en críticas.
proyecto. - Ajustar el flujo y las tareas de trabajo.
- Métricas del proceso Æ indicadores del proceso. - Evaluar la habilidad del equipo del proyecto en
• Los indicadores del proyecto permiten al controlar la calidad de los productos de trabajo de
gestor: la IS.
- Evaluar el estado del proyecto en curso. • Los indicadores del proceso permiten:
- Seguir la pista de riesgos potenciales. - Al gestor, evaluar lo que funciona y lo que no.
Ingeniería del Software 15 Ingeniería del Software 16
Antonio Navarro Antonio Navarro
Métricas en el proceso y del ... Métricas del proceso y del...
Introducción Métricas del proceso y mejora...
- A la organización, tener una visión profunda de • Métricas del proceso Æ indicadores del proceso
la eficacia de un proceso ya existente. Æ mejora en el proceso
• Técnicamente no existe gran diferencia • Si la gestión se basa en el personal, problema y
entre las métricas del proyecto y del proceso proceso, ¿por qué nos centramos en mejorar el
proceso?
• Podemos concebir las métricas del proceso
como recopilaciones de métricas del • Por qué el proceso es un factor clave y
controlable para mejorar la calidad del software
proyecto
y el rendimiento de la organización

Ingeniería del Software 17 Ingeniería del Software 18


Antonio Navarro Antonio Navarro

Métricas del proceso y del... Métricas del proceso y del...


Métricas del proceso y mejora... Métricas del proceso y mejora...
• ¿Cómo vamos a medir el proceso?
• Como ya hemos comentado, las métricas
del proceso se extraen de las métricas del
proyecto
• En cualquier caso hay métricas privadas y
otras públicas

El proceso y diversos factores de un proyecto


Ingeniería del Software 19 Ingeniería del Software 20
Antonio Navarro Antonio Navarro
Métricas del proceso y del... Métricas del proceso y del...
Métricas del proceso y mejora... Métricas del proceso y mejora...
• Métricas privadas: • Las métricas del proceso pueden ser muy útiles,
– Índices de defectos. pero hay que saber interpretarlas
– Errores de desarrollo. • Unas normas básicas de interpretación son
• Públicas para el equipo: - Utilizar el sentido común al interpretar los datos.
– Índices de defectos. - Proporcionar una realimentación regular a particulares
– Errores de desarrollo. y equipos.
– LDC. - No utilizar métricas para evaluar a particulares.
– PF. - Establecer métricas claras y objetivos para alcanzarlas.

Ingeniería del Software 21 Ingeniería del Software 22


Antonio Navarro Antonio Navarro

Métricas del proceso y del... Métricas del proceso y del...


Métricas del proceso y mejora... Métricas del proceso y mejora...
- No utilizar métricas para amenazar a particulares • La utilización de métricas e indicadores
o equipos. fiables da lugar a una mejora estadística del
- Si una métrica identifica un área problemática no proceso del software
se debería considerar como negativa. • Esta mejora se basa en un análisis de fallos
- Hay que interpretar todas las métricas en su que identifica la causa y origen de errores y
conjunto, y no primar una en particular. defectos para varios proyectos de software
- Error: fallo en un producto generado durante el
proceso de IS que es detectado antes de la entrega
al cliente.
Ingeniería del Software 23 Ingeniería del Software 24
Antonio Navarro Antonio Navarro
Métricas del proceso y del... Métricas del proceso y del...
Métricas del proceso y mejora... Métricas del proceso y mejora...
- Defecto: fallo detectado después de la entrega al 4. Se computa el coste global de errores y defectos
cliente. de cada categoría.
• El análisis de fallos funciona: 5. Los datos resultantes se analizan para detectar
1. Se categorizan por origen todos los errores y las categorías que producen el coste más alto
defectos de varios proyectos. para la organización.
2. Se registra el coste de corregir cada error o defecto. 6. Se desarrollan planes para modificar el proceso
con el intento de eliminar (o reducir la
3. El número de errores y de defectos de cada
frecuencia de apariciones de) la clase de errores
categoría se cuentan y se ordenan decrecientemente
y defectos que sean más costosos.
Ingeniería del Software 25 Ingeniería del Software 26
Antonio Navarro Antonio Navarro

Métricas del proceso y del... Métricas del proceso y del...


Métricas del proceso y mejora... Métricas del proceso y mejora...
• Aplicando los pasos 1 y 2 se puede • También podemos optar por desarrollar un
desarrollar una distribución de fallos diagrama de espina para ayudar a diagnosticar
los datos presentados en el diagrama de
frecuencias.
• Las líneas horizontales identifican problemas,
y las verticales posibles causas
• Damos diagramas para cada origen de defecto
y los estudiamos para mejorar el proceso
Causas de fallos y su origen para varios proyectos
Ingeniería del Software 27 Ingeniería del Software 28
Antonio Navarro Antonio Navarro
Métricas del proceso y del... Métricas del proceso y del...
Métricas del proceso y mejora... Métricas del proyecto
• Las métricas del proceso son estratégicas:
determinan el curso del proceso de
producción de software
• Las métricas del proyecto son tácticas:
determinan el curso del proyecto actual
• La primera aplicación de las métricas del
proyecto ocurre durante la estimación (datos
históricos).
Diagrama de espina
Ingeniería del Software 29 Ingeniería del Software 30
Antonio Navarro Antonio Navarro

Métricas del proceso y del... Métricas del proceso y del...


Métricas del proyecto Métricas del proyecto
• A medida que avanza el proyecto, las • La utilización fundamental de las métricas
medidas del esfuerzo y el tiempo se del proyecto son dos:
comparan con las planificación. - Minimizar la planificación de desarrollo,
• El gestor utiliza estos datos para supervisar guiando los ajustes necesarios que eviten retrasos
y controlar el avance. y mitiguen problemas y riesgos potenciales.
• Además, para medidas en las técnicas de - Evaluar la calidad de los productos en el
diseño y programación existen métricas momento actual, modificando el enfoque técnico
técnicas para mejorar la calidad, si es necesario.

Ingeniería del Software 31 Ingeniería del Software 32


Antonio Navarro Antonio Navarro
Métricas del proceso y del... Métricas del proceso y del...
Métricas del software Métricas del software
• Como el contexto de uso identifica al tipo MÉTRICAS DEL SOFTWARE Productividad Calidad

de métrica, nos referiremos a las métricas Tamaño


euros pgDoc errores defectos
LDC KLDC KLDC KLDC
del producto y del proceso como métricas
PF euros pgDoc errores defectos
del software (PF, PC, PF3D) PF PF PF PF

LDC PF euros errores/per-mes TMC,


Otras
per-mes per-mes pgDoc desperdicios, integridad, EED,
PFBD, FDF, TMF, disponibilidad

Métricas del software. Clasificación

Ingeniería del Software 33 Ingeniería del Software 34


Antonio Navarro Antonio Navarro

Métricas de productividad Métricas de productividad


Orientadas al tamaño Orientadas al tamaño
• Se obtiene considerando las medidas de Proyecto LDC Esfuerzo* Coste* Paginas Errores Defectos Personas
productividad y normalizándolas por el €(000) Doc.
P1 12.100 24 120 365 134 29 3
tamaño del código, es decir las Líneas De P2 27.200 62 314 1224 321 86 5
Código (LDC) P3 20.200 43 224 1050 256 64 6
............................................................................................................................
• Se basan en la utilización de registros *Incluye todas las actividades de IS (análisis, diseño, codificación y prueba)

sencillos para las medidas más relevantes


para nuestro proyecto Medidas relevantes para el establecimiento de métricas

Ingeniería del Software 35 Ingeniería del Software 36


Antonio Navarro Antonio Navarro
Métricas de productividad Métricas de productividad
Orientadas al tamaño Orientadas al tamaño
• ¿Qué es el esfuerzo? • Métricas orientadas al tamaño
esfuerzo = #personas * #tiempo - Coste: #euros/#LDC
pmejor
• Es una medida que indica que da igual tener
e.g. P1: 120000(€)/12100(LDC) = 9,92 (€/LDC)
dos personas trabajando tres meses, que tres - Documentación: #pgDoc/#KLDC
personas trabajando dos meses nmejor
e = 3(p) * 2(m) = 6(pm) e.g. P2: 1224(pgDoc)/27,2(KLDC) =
e = 2(p) * 3(m) = 6(pm) 45(pgDoc/KLDC)

Ingeniería del Software 37 Ingeniería del Software 38


Antonio Navarro Antonio Navarro

Métricas de productividad Métricas de productividad


Orientadas al tamaño Orientadas al tamaño
• ¿Cómo calcular las LDC? – Se contabilizan las líneas correspondientes a las
– Debe contabilizarse cada línea nueva o llamadas al sistema operativo.
modificada. – No se consideran los comentarios.
– Las líneas para la instrumentación de código – No se contabiliza el pseudocódigo.
(e.g. para las pruebas) no deben incluirse en el
tamaño total, salvo que tengan un carácter – Cada ocurrencia de macro o include se
definitivo. considera como una línea.
– Las líneas de código de programas de prueba – El código generado por macros o includes solo
tan solo se contabilizan si se desarrollan con el se considera una vez.
nivel de calidad exigido al entregar el producto.
Ingeniería del Software 39 Ingeniería del Software 40
Antonio Navarro Antonio Navarro
Métricas de productividad Métricas de productividad
Orientadas al tamaño Orientadas al tamaño
• Las LDC no están comúnmente aceptadas • Inconvenientes:
• Ventajas: - Dependientes de los lenguajes de programación.
- Fácil de calcular. - Perjudican a los programas cortos, pero bien
- Existen muchos modelos de estimación basados diseñados.
en LDC. - Difícil uso en estimación debido al nivel de
- Existen muchas medidas de LDC detalle.

Ingeniería del Software 41 Ingeniería del Software 42


Antonio Navarro Antonio Navarro

Métricas de productividad Métricas de productividad


Orientadas a la función Orientadas a la función
• Se obtienen considerando las medidas de • La funcionalidad de un programa viene
productividad y normalizándolas por una representada por el Punto de Función (PF),
medida de la funcionalidad entregada por la que se deriva de las mediciones del software
aplicación • Se calcula en base a la expresión
• Como la funcionalidad no se puede medir PF = cuenta-total * (0,65 + 0,01* 6i=1..14Fi)
directamente, se debe derivar donde
indirectamente de otras medidas directas

Ingeniería del Software 43 Ingeniería del Software 44


Antonio Navarro Antonio Navarro
Métricas de productividad Métricas de productividad
Orientadas a la función Orientadas a la función
• Parámetros de medición:
- Entradas de usuario. Entradas de usuario que
proporcionan diferentes datos orientados a la
aplicación.
- Salidas de usuario. Salidas que proporcionan al
usuario información orientada a la aplicación (e.g.
informes, pantallas, mensajes de error, etc.).
Cálculo de de cuenta-total

Ingeniería del Software 45 Ingeniería del Software 46


Antonio Navarro Antonio Navarro

Métricas de productividad Métricas de productividad


Orientadas a la función Orientadas a la función
- Peticiones de usuario. Entradas interactivas que - Interfaces externas. Interfaces legibles por la
producen la generación de alguna respuesta del máquina que se utilizan para transmitir
software inmediata en forma de de salida información a otro sistema (e.g. cinta, red, etc.).
interactiva. • Los valores de ajuste complejidad (Fi) se
- Archivos. Se cuenta cada archivo maestro lógico, calculan respondiendo a las siguientes
i.e., cada grupo de datos que puede ser una parte
preguntas en una escala desde 0 (no
de una gran base de datos o sistema de archivos.
importante o aplicable) hasta 5
(absolutamente esencial):
Ingeniería del Software 47 Ingeniería del Software 48
Antonio Navarro Antonio Navarro
Métricas de productividad Métricas de productividad
Orientadas a la función Orientadas a la función
1. ¿Requiere el sistema copias de seguridad y de 6. ¿Requiere el sistema entrada de datos
recuperación fiables? interactiva?
2. ¿Se requiere comunicación de datos? 7. ¿Requiere la entrada de datos interactiva que las
transacciones de entrada se lleven a cabo sobre
3. ¿Existen funciones de procesamiento múltiples pantallas u operaciones?
distribuido? 8. ¿Se actualizan los archivos maestros de forma
4. ¿Es crítico el rendimiento? interactiva?
5. ¿Se ejecutará el sistema en un entorno operativo 9. ¿Son complejas las entradas, las salidas, los
existente y fuertemente utilizado? archivos o las peticiones?

Ingeniería del Software 49 Ingeniería del Software 50


Antonio Navarro Antonio Navarro

Métricas de productividad Métricas de productividad


Orientadas a la función Orientadas a la función
10. ¿Es complejo el procesamiento interno? • Una vez calculado el valor PF, las métricas
11. ¿Se ha diseñado el código para ser reutilizable? son análogas a las orientadas al tamaño
12. ¿Están incluidas en el diseño la conversión e - Coste: #euros/#PF
instalación? pmejor
13. ¿Se ha diseñado el sistema para soportar múltiples - Documentación: #pgDoc/#PF
instalaciones en diferentes organizaciones?
nmejor
14. ¿Se ha diseñado la aplicación para facilitar los
cambios y ser fácilmente utilizada por el usuario?

Ingeniería del Software 51 Ingeniería del Software 52


Antonio Navarro Antonio Navarro
Métricas de productividad Métricas de productividad
Orientadas a la función Orientadas a la función
• La medida de Punto de Característica (PC) • Esto hace a la medida de PF inadecuada
es una ampliación de la medida de PF para sistemas de ingeniería o empotrados
• La medida de PF tiene su origen en • Solución: ampliar los parámetros de
aplicaciones de gestión medición para tener en cuenta a los
algoritmos
• Prima por tanto la dimensión de datos, • El PC es una ampliación de la medida de PF
obviando cuestiones de complejidad aplicable a sistemas con una fuerte
funcional componente funcional (e.g. tiempo real)

Ingeniería del Software 53 Ingeniería del Software 54


Antonio Navarro Antonio Navarro

Métricas de productividad
Métricas de productividad
Orientadas a la función
Orientadas a la función
• Consiste en ampliar la tabla de cuenta-total de • Los PF tampoco están comúnmente
PF con el parámetro de medición algoritmos aceptados
• Un algoritmo es un problema de cálculo • Ventajas
limitado que se incluye dentro de un programa - Independientes del lenguaje de programación.
- Permiten hacer estimaciones más fácilmente.
• El factor de ponderación depende de la
• Inconvenientes
importancia que se quiera dar a este parámetro
- Basadas en cálculos subjetivos.
(e.g. 10, 15, 20)
- Parámetros y factores no evidentes.
- No tienen un significado físico directo.
Ingeniería del Software 55 Ingeniería del Software 56
Antonio Navarro Antonio Navarro
Métricas de productividad Métricas de productividad
Otras métricas Otras métricas
• Son cruciales pero no están normalizadas por - Coste documentación: #euros/#páginas doc.
LDC ni por PF pmejor
- Productividad: #LDC/#persona-mes P1: 120000(€)/365(pgDoc) = 328,77(€/pgDoc)
nmejor
e.g. P3: 20200(LDC)/43(pm) = 469,77 (LDC/pm)
- Productividad: #PF/#persona-mes
nmejor

Ingeniería del Software 57 Ingeniería del Software 58


Antonio Navarro Antonio Navarro

Métricas de productividad Métricas de productividad


Factores que inciden en ... Factores que inciden en ...
• Los gestores no deben utilizar directamente - Factores del problema. La complejidad del
las métricas de productividad para evaluar a problema que se debe resolver y el número de
la gente cambios en las restricciones o los requisitos de
• La razón reside en que no todos los diseño.
proyectos son iguales - Factores del proceso. Técnicas de análisis y
• Hay una serie de factores que afectan a la diseño que utilizan, lenguajes y herramientas
CASE y técnicas de revisión.
productividad:
- Factores humanos. Tamaño y experiencia de la - Factores del producto. Fiabilidad y rendimiento
organización de desarrollo. del sistema.
Ingeniería del Software 59 Ingeniería del Software 60
Antonio Navarro Antonio Navarro
Métricas de productividad Métricas de productividad
Factores que inciden en ... Factores que inciden en ...
- Factores del recurso. Disponibilidad de Factor Variación
aproximada (%)
herramientas CASE y recursos de hardware y Humano 90
software. Problema 40
• Si uno de los factores es favorable Proceso 50
(desfavorable) la productividad será Producto 140
Recurso 40
significativamente más alta (más baja)
Variación de la productividad en función del factor según Jones
• Discusión: ¿no es contradictoria esta tabla
con las tres pes de gestión?
Ingeniería del Software 61 Ingeniería del Software 62
Antonio Navarro Antonio Navarro

Relación entre LDC y PF Relación entre LDC y PF


Lenguaje de programación LDC/PF (media)
Ensamblador 320
• Las LDC y los PF son medidas en principio C 128
independientes COBOL 106

• ¿No es razonable suponer que la FORTRAN 106


Pascal 90
funcionalidad de un sistema y su tamaño C++ 64
están relacionadas? (e.g. MS-DOS vs. Ada95 53
Windows XP) Visual Basic 32

• Se puede hacer una estimación informal del Smalltalk 22


Powerbuilder (generador cod.) 16
número de LDC necesarios para construir SQL 12
un PF
Ingeniería del Software 63 Ingeniería del Software
Relación entre LDC y PF 64
Antonio Navarro Antonio Navarro
Relación entre LDC y PF Relación entre LDC y PF
• Conclusiones: • Aunque podríamos aplicar directamente la
- Cuanto más avanzado es un lenguaje, más relación anterior para calcular los PF en
expresivas son sus sentencias. base a las LDC (backfiring), refinaremos un
- Jones no cursó Sistemas Operativos con COBOL poco más esta técnica.
como lenguaje de implementación. PF = LDCaplicación/ ((LDC/PFmedia)*FAB)
- Jones no cursó Investigación Operativa con SQL
como lenguaje de implementación.
• FAB es el Factor de Ajuste de Backfiring

Ingeniería del Software 65 Ingeniería del Software 66


Antonio Navarro Antonio Navarro

Relación entre LDC y PF Relación entre LDC y PF


Complejidad FAB
Muy simple 0,7 • E.g. consideremos un sistema con 45.000
Simple 0,85
LDC C y una mejora de la IGU posterior de
Media 1
Moderadamente compleja 1,2 10.000 LDC C++. Supongamos que la parte C
Compleja 1,3 es compleja, y la parte C++ simple
Factor de ajuste de backfiring PFC = 45000/(128*1,3) = 270 PF
PFC++ = 10000/(30*0,85) = 392 PF
• Es decir, compensamos la funcionalidad con
la falta (exceso) de tamaño PFaplicación = 270(PF) + 392(PF) = 662 (PF)

Ingeniería del Software 67 Ingeniería del Software 68


Antonio Navarro Antonio Navarro
Métricas de calidad Métricas de calidad
Introducción Errores
• Base de IS: calidad • Tenemos:
- #errores/#KLDC
• Calidad de análisis, diseño, codificación,
pmejor
prueba: métricas técnicas
e.g. P2: 321(e)/12,1(KLDC) = 26,53 (e/KDLC)
• Efectividad de las actividades de control y - #errores/#PF
garantía de calidad: métricas de calidad pmejor
- #errores/#persona-mes
pmejor
e.g. P3: 256(e)/43(pm) = 5,95 (e/pm)
Ingeniería del Software 69 Ingeniería del Software 70
Antonio Navarro Antonio Navarro

Métricas de calidad Métricas de calidad


Medida de la calidad Medida de la calidad
• Vamos a ver una serie de factores que - #defectos/#PF
afectan a la calidad y como medirlos pmejor
• Corrección - Un defecto es una falta verificada de
- Grado en que el software lleva a cabo su función conformidad con los requisitos.
requerida. • Facilidad de mantenimiento
- #defectos/#KLDC - Facilidad con la que se puede corregir un
pmejor programa si se encuentra un error, se puede
adaptar a su entorno si cambia, o mejorar si el
e.g. P1: 29(d)/12,1(KLDC) = 2,4 (d/KLDC)
cliente desea un cambio de requisitos
Ingeniería del Software 71 Ingeniería del Software 72
Antonio Navarro Antonio Navarro
Métricas de calidad Métricas de calidad
Medida de la calidad Medida de la calidad
- Una métrica orientada al tiempo es el Tiempo - Una métrica orientada al coste son los
Medio de Cambio (TMC): tiempo que se tarda en desperdicios: coste en corregir defectos
analizar la petición de cambio, en diseñar una encontrados después de haber distribuido el
modificación adecuada, implementar el cambio, en software a los usuarios finales.
probarlo y en distribuir el cambio a todos los • Integridad
usuarios.
- Mide la habilidad de un sistema para resistir
- Cuanto más fácil sea de mantener un programa, ataques (tanto accidentales como intencionados)
más bajo tendrá su TMC. contra su seguridad.

Ingeniería del Software 73 Ingeniería del Software 74


Antonio Navarro Antonio Navarro

Métricas de calidad Métricas de calidad


Medida de la calidad Medida de la calidad
- El ataque puede producirse en cualquier amenaza: probabilidad de que se produzca un
componente del software (programas, datos o ataque de tipo determinado en un momento
documentos). determinado.
- Para medir la integridad debemos medir la seguridad: probabilidad de que se pueda repeler el
seguridad y la amenaza, las cuales se estiman o ataque de un tipo determinado en un momento
deducen de la evidencia empírica determinado
integridad = 6ataques[1-amenaza*(1-seguridad)]

Ingeniería del Software 75 Ingeniería del Software 76


Antonio Navarro Antonio Navarro
Métricas de calidad Métricas de calidad
Medida de la calidad Medida de la calidad
- e.g. • Facilidad de uso
a
P1 P2
- Intento por medir lo amigable que puede ser un
no oculta ficheros oculta ficheros programa con el usuario.
no hace backup hace backup - Se puede medir en función de cuatro
Amenaza Seguridad Amenaza Seguridad
.................... características:
borrado BD 0,7 0 0,2 0,8
aplicación
- Habilidad intelectual y/o física para aprender el
.................... sistema.
a
- Tiempo requerido para llegar a ser moderadamente
integridadP1borrado = 1 – 0,7 * (1 – 0) = 0,3 eficiente en el uso del sistema.
integridadP2borrado = 1 – 0,2 * (1 – 0,8= 0,96
Ingeniería del Software 77 Ingeniería del Software 78
Antonio Navarro Antonio Navarro

Métricas de calidad Métricas de calidad


Medida de la calidad EED
- Aumento neto de la productividad (sobre el sistema • La Eficacia de la Eliminación de Defectos
que reemplaza) medida cuando alguien utiliza el sistema
de manera moderadamente eficiente. (EED) es una medida de la habilidad de
- Valoración subjetiva (a veces obtenida mediante un filtrar de las actividades de la garantía de
cuestionario) de la disposición de los usuarios hacia el calidad y de control, al aplicarse a todas las
sistema. actividades del marco de trabajo del
proceso.

Ingeniería del Software 79 Ingeniería del Software 80


Antonio Navarro Antonio Navarro
Métricas de calidad Métricas de calidad
EED EED
• Considerada globalmente para el proyecto: • Nótese que si E es muy grande, EED estará
EED = E/(E+D) próxima a 1 Æ cuanto más errores
donde encontremos antes de la entrega, mejor
funcionarán las técnicas de garantía de calidad
E: número de errores encontrados antes de la
entrega • La EED también puede utilizarse para medir
la habilidad de un equipo para encontrar
D: número de defectos errores antes de pasar a la siguiente AE
• Objetivo: EED = 1
Ingeniería del Software 81 Ingeniería del Software 82
Antonio Navarro Antonio Navarro

Métricas de calidad Métricas de calidad


EED Fiabilidad del software
EEDi = Ei/(Ei+Ei+1) • Fiabilidad del software: ausencia de fallos
donde • Probabilidad de Fallo Bajo Demanda
Ei: errores detectados en la actividad i de IS (PFBD)
Ei+1: errores detectados en la actividad i+1 - Mide la probabilidad de que un sistema falle
cuando se le hace una petición de servicio.
de IS que no se detectaron y provienen de la
- PFBD = #fallos/#peticiones
actividad i
- pmejor.
• Objetivo EEDi = 1
Ingeniería del Software 83 Ingeniería del Software 84
Antonio Navarro Antonio Navarro
Métricas de calidad Métricas de calidad
Fiabilidad del software Fiabilidad del software
- e.g. una PFBD de 0,001 significa que el sistema • Discusión: ¿es una probabilidad la FDF?
tiene un fallo cada mil peticiones.
• Tiempo medio de fallo (TMF)
• Frecuencia de fallo - Mide el tiempo transcurrido entre fallos del sistema.
- Mide la frecuencia de aparición de fallo de - TMF = #unidades de tiempo/#fallos
funcionamiento.
- nmejor.
- FDF = #fallos/#unidad tiempo
- e.g. un TMF de 166,66 indica en 500 unidades de
- pmejor tiempo transcurridas se han producido 3 fallos.
- e.g. una FDF de 0,006 indica que se producen 3 - Si no hay cambios, TMF = 1/FDF
fallos cada 500 unidades de tiempo
Ingeniería del Software 85 Ingeniería del Software 86
Antonio Navarro Antonio Navarro

Métricas de calidad
Línea base de métricas
Fiabilidad del software
• Disponibilidad • Una línea base de métricas es una
- Mide la disponibilidad de un sistema para ser usado. recopilación de métricas que sirve para
- dispon. = #tiempo disponible/# tiempo funcionando establecer indicadores
- nmejor. • Un ejemplo sencillo es la tabla de la t36
- e.g. Una disponibilidad de 0,95 indica que el sistema • No tiene nada que ver con el concepto de
está disponible 950 unidades de cada 1000 unidades de línea base que veremos en GCS
tiempo.
• Unidad de tiempo (CPU, días, etc.)
Ingeniería del Software 87 Ingeniería del Software 88
Antonio Navarro Antonio Navarro
Línea base de métricas Conclusiones
• Para ser útil debe tener los siguientes • Medir: conocer
atributos: • Medida, métrica e indicador
- Los datos deben ser razonablemente exactos. • Métricas del proceso, proyecto y software
- Los datos deben extraerse del mayor número de
proyectos que sea posible.
• Métricas proceso: estratégicas
- Las medidas deben ser consistentes. • Métricas proyecto: tácticas
- Las aplicaciones deben ser semejantes para hacer • Mejoramos el proceso porque es
la estimación. controlable
Ingeniería del Software 89 Ingeniería del Software 90
Antonio Navarro Antonio Navarro

Conclusiones
• Mejora estadística del proceso
• Normas de interpretación de métricas
• Métricas técnicas
• Métricas de productividad y calidad
• Métricas orientadas al tamaño y a la función
• Relación entre LDC y PF
• Sentido común
Ingeniería del Software 91
Antonio Navarro