Está en la página 1de 30

MTRICAS DE SOFTWARE

Ing. Michael Asturias

Contenidos

Fundamentos de mtricas de gestin


Mtricas del proceso de software
Mtricas del proyecto de software
Categoras bsicas de mediciones
Mtricas y Productividad

Fundamentos de mtricas de gestin

RAZONES PARA MEDIR LOS PROCESOS, PRODUCTOS Y RECURSOS

Caracterizar:
Entender el proceso actual, entorno, etc.
Disponer de informacin de la situacin anterior al cambio.

Evaluar:
Determinar la consecucin de objetivos
Identificar fortalezas y debilidades del proceso

Predecir:
Entender las relaciones entre procesos y productos
Establecer objetivos alcanzables de calidad, costes y agendas

Mejorar:
Identificar causas y oportunidades de mejora
Seguir el rendimiento de los cambios y compararlo con lneas
base

Fundamentos de mtricas de gestin

MEDIDAS, MTRICA, E INDICADORES


Medida:
Proporciona una indicacin cuantitativa de la extensin, cantidad,
dimensiones, capacidad o tamao de algunos atributos de un proceso o
producto.

Medicin:
Es el acto de obtener una medida.

Mtrica:
Es el resultado de efectuar evaluaciones durante un periodo largo de
tiempo sobre algn(os) aspecto(s) que un conjunto de proyectos,
procesos que servirn de lnea base.

Indicador:
Permite ajustar el producto, el proyecto o el proceso para que las cosas
salgan mejor.

Fundamentos de mtricas de gestin

EL PROCESO E INDICADORES DEL PROYECTO

Las mtricas deben recopilarse para que los


indicadores del proceso y del producto puedan
ser ciertos.
Los indicadores del proyecto permiten al gestor
de proyectos del software:

Evaluar el estado del proyecto en curso.

Seguir la pista de los riesgos potenciales.

Detectar las reas problemas antes de que se conviertan en


criticas.

Ajustar el flujo y las tareas del trabajo.

Evaluar la habilidad del equipo del proyecto en controlar la


calidad de los productos de trabajo del software.

Mtricas del proceso de software

DETERMINANTES DE LA CALIDAD DEL SOFTWARE Y DE LA


EFECTIVIDAD DE LA ORGANIZACIN
Producto

Caractersticas
del cliente

Condiciones
del negocio

Proceso
Tecnologa

Personas
Entorno de
desarrollo

Mtricas del proceso de software

MTRICA DEL PROCESO


(PROPSITO ESTRATGICO)

Mtricas privadas:
Slo es conocido por el equipo del proyecto, pero publicas
por todos los miembros del equipo
ndices de defecto por individuo o mdulo
Lneas de cdigo o puntos de funcin por modulo y
funcin
Errores encontrados durante la revisin con tcnicas
formales

Mtricas pblicas:
Asimilan informacin que originalmente era privada de
particulares y equipos permitiendo a las organizaciones
hacer los cambios estratgicos para mejorar el proceso del

Mtricas del proceso de software

MEJORA ESTADSTICA DE PROCESO DEL SOFTWARE

Utiliza el anlisis de fallos del software para recopilar


informacin de errores y defectos encontrados al
desarrollar y utilizar una aplicacin de sistema o producto.
Funciona de la siguiente manera:
Todos los errores se categorizan
Se registra tanto el coste de corregir cada error como el
del defecto
El numero de errores y defectos de cada categora se
cuentan y se ordenan
Se computa l coste global de errores y defectos de cada
categora
Los datos resultantes se analizan para detectar las
La mejora estadstica
del proceso
de software
la
categoras
que producen
el coste
mas ayuda
alto apara
la
organizacin a descubrir donde ellos son fuertes y donde no
organizacin

Mtricas del proceso de software

CAUSAS DE DEFECTOS Y SU ORIGEN PARA CUATRO PROYECTOS DE


SOFTWARE
Lgica (20%)
Manejo de datos (10.9%)

Interfaz de software (6.0%)

Estndares (6.9%)

Interfaz hardware (7.7%)

Comprobacin de errores
(10.9%)

Interfaz de usuario (11.7%)

Especificaciones (25.5%)

Mtricas del proyecto de software

MTRICA DEL PROYECTO


(CARCTER TCTICO)

La mtrica del proyecto de software se usa por


el equipo del software para adaptar el flujo de
trabajo del proyecto y las actividades tcnicas.
La utilizacin de mtricas para el proyecto tiene
dos aspectos fundamentales:
Se utilizan para minimizar la aplicacin de desarrollo haciendo
los ajustes necesarios que eviten retrasos y reduzcan
problemas y riesgos potenciales.
Se utilizan para evaluar la calidad de los productos en el
momento actual y cuando sea necesario.

Mtricas del proyecto de software

MTRICA DEL PROYECTO

Todo proyecto debe medir:


Entradas:
La dimensin de los recursos (personas, entornos) que se
requiere para realizar el trabajo.

Salidas:
Medidas de la entrega o productos creados durante el
proceso de ingeniera de software.

Resultados:
Medidas que indican la efectividad de las entregas.

Mtricas del proyecto de software

MTRICA DEL SOFTWARE

Medimos para:
Indicar la calidad del producto
Evaluar la productividad personal
Evaluar beneficios
Tener una lnea base de estimacin
Justificar el uso de nuevas herramientas

Categoras bsicas de mediciones

Mediciones del software


Medidas directas:
Del proceso del software:
Coste, el esfuerzo en horas o personas

Del producto:
LDC, velocidad de ejecucin, tamao de memoria

Medidas indirectas:
Funcionalidad
Calidad
Complejidad
Eficiencia
Fiabilidad

Categoras bsicas de mediciones

Clasificacin de las mtricas de un


Software
De productividad: Rendimiento del proceso de la ingeniera del
software
De calidad: Como se ajusta el software a las especificaciones del
cliente
Tcnicas: La complejidad del software, su facilidad de mantenimiento
Orientadas al tamao: Medidas directas del software
Orientadas a la funcin: Medidas indirectas
Orientadas a la persona: Cuanto produce el personal, dependiendo
de las herramientas que usan

Categoras bsicas de mediciones

Mtricas para la Calidad


Miden el nmero de defectos no descubiertos en la
prueba, la facilidad de mantenimiento del sistema y la
eficiencia de eliminar los defectos.

Factores que afectan a la calidad:


Operacin del producto (uso)
Revisin del producto (modificacin)
Transporte (modificacin para que funcione en otro
entorno)

Categoras bsicas de mediciones

Mtricas para la Calidad


Correccin:
Definicin: Grado en que el software realiza la funcin encomendada.
Medida: Defectos por KLDC (medida mas comn), Defectos por PF
Defecto: Carencia verificada de conformidad con los requisitos. Los
comunica el usuario a lo largo de un periodo de tiempo
determinado (un ao).
Facilidad de mantenimiento:
Definicin: Facilidad con la que se puede corregir un programa si se
encuentra un error, adaptarlo a un cambio de entorno, o
mejorarlo ante una peticin del cliente
Medida: No hay. Son indirectas. TMC (Tiempo Medio de Cambio), es el
tiempo que lleva analizar, disear, implementar, probar y
distribuir un cambio.
Desperdicio: Coste de corregir los defectos encontrados despus de
haber distribuido el software a los usuarios finales

Categoras bsicas de mediciones

Mtricas para la Calidad


Integridad:
Definicin: Habilidad de un sistema para resistir ataques (accidentales
o intencionados) contra su seguridad tanto a los programas
como a los datos y documentos
Amenaza: Probabilidad de que un ataque ocurra en un tiempo
determinado
Seguridad: Probabilidad de que se puede repeler el ataque
Integridad = [(1-amenaza) * (1-seguridad)]

para cada tipo de ataque

Facilidad de uso:
Definicin: Es una cuantificacin de la amigabilidad de
uso
Caractersticas:
Habilidad intelectual y/o fsica para aprender el sistema
Tiempo necesario para llegar a ser moderadamente eficiente
en el uso del sistema
Aumento neto en productividad cuando se utiliza
eficientemente .
Valoracin subjetiva del usuario hacia el sistema

Categoras bsicas de mediciones

MTRICAS ORIENTADAS AL TAMAO

Las mtricas del software orientadas al tamao


provienen de la normalizacin de las medidas de
calidad y/o productividad, considerando el
tamao del software que se haya producido.
Para desarrollar mtricas que se puedan
comparar entre distintos proyectos, se
seleccionan las lneas de cdigo como valor de
normalizacin.

Categoras bsicas de mediciones

MTRICAS ORIENTADAS AL TAMAO

Proceden de la normalizacin de medidas de calidad y productividad


considerando el tamao del software.
Ejemplo:
Proyecto

KLDC

Dinero

Esfuerzo

a1
b1
c1

12,1
27,2
20,1

168
440
314

24
62
43

(personas-mes)

Pag. Docs

Errores

Personas

365
1224
1050

29
86
64

3
3
6

Algunas mtricas --> Formulas:


(KLDC por persona-mes): Productividad = KLDC / persona-mes
(Errores por KLDC): Calidad = Errores / KLDC
(Coste por KLDC): Coste = Dinero / KLDC
(Pagina de documentacin por KLDC): Documentacin = Paginas de documentacin / KLDC

Todo se basa en la KLDC pero esta medida es un artificio, que depende del lenguaje de
programacin utilizado.

Categoras bsicas de mediciones

Mtricas orientadas a la funcin


Puntos de funcin:
Funcionalidad o utilidad de la aplicacin
La unidad bsica de medida son los Puntos de Funcin

Calculo de puntos de funcin


Factor de ponderacin
Parmetro de medicin

Cuenta

Simple Medio Complejo

Total

Numero de entradas del usuario

Numero de salidas del usuario

Numero de peticiones al usuario

Numero de archivos

10

15

Numero de interfaces externos

10

Cuenta-Total

Categoras bsicas de mediciones

MTRICAS ORIENTADAS A LA FUNCIN

Formulas:
Puntos de Funcin = Cuenta-Total * [0,65+0,01 * sum(Fi)]
Donde Fi (i = 1 hasta 14) son unos valores de ajuste de complejidad
De 0 a 5 (0=sin influencia, 5=esencial)
1.Requiere el sistema de copias de seguridad y recuperacin fiable?
2.Se requieren comunicaciones de datos?
3.Existen funciones de procesamiento distribuido?
4.Es critico el rendimiento?
5.Ser ejecutado el sistema en un entorno operativo existente y fuertemente utilizado?
6.Necesita el sistema entrada de datos interactiva?
7.La entrada de datos interactiva requiere que las transacciones de entrada se lleven a
cabo sobre mltiples pantallas o varias operaciones?
8.Se actualizan los archivos maestros de forma interactiva?
9.Son complejas las entradas, las salidas, los archivos o peticiones?
10.Es complejo el procesamiento interno?
11.Se ha diseado cdigo para ser reutilizado?
12.Estn incluidas en el diseo la conversin y la instalacin?
13.Se ha diseado el sistema para soportar mltiples instalaciones en diferentes
organizaciones?
14.Se ha diseado la aplicacin para facilitar los cambios y para ser fcilmente utilizada
por el usuario?
Productividad = PF / personas-mes Calidad = Errores / PF
Coste = Dinero / PF
Documentacin = Paginas documentacin / PF

Categoras bsicas de mediciones

MTRICAS ORIENTADAS A LA FUNCIN

Ventajas:
Los PF son independientes del lenguaje de
programacin
Se basan en datos que se puedan conocer antes de
empezar el proyecto

Inconvenientes:
Los datos se basan en juicios subjetivos
Su valor no es fsico. No tiene unidades

Categoras bsicas de mediciones

MTRICAS ORIENTADAS A LA FUNCIN

Ejercicio
Un administrador de software esta a cargo del desarrollo de un
sistema de software de seguridad critico que se disea para controlar
una maquina de radioterapia para tratar a los pacientes que sufren de
cncer. Este sistema esta incrustado en la maquina y debe ejecutarse
en un procesador de propsito especial con una cantidad fija de
memoria (32 MB). La mquina se comunica con un sistema de base
de datos de pacientes para obtener los detalles del paciente y,
despus del tratamiento automticamente registra los datos de
radiacin suministrada y otros detalles del tratamiento en la base de
datos. La productividad media del equipo de desarrollo es de 6 PF/pm.
Estime el esfuerzo y el costo total requerido para desarrollar este
sistema en Visual Basic, siendo la tarifa laboral de US$ 3,000 por pm. Adems se sabe que la LDC/PF (media) del Visual basic es 32 y
que se requieren 8,000 LDC. Los valores de ajuste de la complejidad
suman 53.

Categoras bsicas de mediciones

MTRICAS ORIENTADAS A LA FUNCIN

Solucin del ejercicio


DATOS INFORMATIVOS:
Productividad Media (PM) = 6 PF/p-m
La tarifa local es de = US$ 3,000 p-m
DETERMINANDO LOS PUNTOS DE FUNCION
PF = (8000/32) x ( 0.65 + 0.01 x 53) = 295
ESTIMACIONES:
Coste del PF = 3000 / 6 = US$ 500
Costo total = US$ 500 x 295 = US$ 147,500
Esfuerzo = 295 / 6 = 49.16 = 49 p-m

Mtricas y Productividad

Factores que pueden incidir en la


productividad

Factores humanos: El tamao y la experiencia del equipo de


desarrollo
Factores del problema: La complejidad del problema a resolver y
el numero de cambios en el diseo
Factores del proceso: Tcnicas de ingeniera del software
utilizadas, y disponibilidad de herramientas CASE
Factores del producto: Fiabilidad y rendimiento del sistema
basado en computadora
Factores de los recursos: De software (herramientas CASE...) y de
hardware

Mtricas y Productividad

Consejos sobre la lnea base


Los datos deben ser razonablemente precisos, han de
evitarse la suposicin sobre proyectos anteriores.
Los datos deben obtenerse de tantos proyectos como
sea posible.
Las medidas deben ser consistentes. LDC distintas para
cada lenguaje de programacin.
Las aplicaciones deben ser similares a la que va a ser
estimada.

Mtricas y Productividad

LDC / PF (media)
Lenguaje de programacin

LDC /PF (media)

Ensamblador

320

Cobol

106

Fortran

106

Pascal

90

Ada

53

Lenguajes orientados a objetos

30

Lenguajes de cuarta generacin

20

Generadores de cdigo

15

SQL

12

Power Builder

16

C++

64

Visual Basic

32

INTEGRACIN DE LAS MTRICAS DENTRO DEL PROCESO DE


INGENIERA DEL SOFTWARE

Muchos diseadores del software no coleccionan las


medidas.
Sin las medidas es imposible determinar si un proceso est
mejorando o no.
Las lneas base de mtricas constan de datos recogidos de
proyectos de software desarrollados anteriormente.
Conseguir estos datos de proyectos histricos es muy difcil,
si los diseadores anteriores no coleccionaron los datos de
una manera continua.

INTEGRACIN DE LAS MTRICAS DENTRO DEL PROCESO DE


INGENIERA DEL SOFTWARE

Establecimiento de una Lnea Base


Los datos de la Lnea Base deben tener los siguiente atributos:
1. Deben ser razonablemente exactos
2. Deben reunirse del mayor numero de proyectos que sea
posible
3. Las medidas deben ser consistentes
4. Las aplicaciones deben ser semejantes para trabajar
con la estimacin.

INTEGRACIN DE LAS MTRICAS DENTRO DEL PROCESO DE


INGENIERA DEL SOFTWARE

Coleccin de mtricas, computo y evaluacin


Proceso de
ingeniera
de
software
Proyecto
de
software
Producto
de
software

Recopilaci
n de datos

Medidas

Calculo de
mtricas

Mtricas

Evaluacin
de
mtricas
Proceso de recopilacin de mtricas del software

Indicado
res