Está en la página 1de 7

Metricas de calidad de Software

Métricas del Proyecto


Las Métricas de proyecto se utilizan:
 Para minimizar la planificación de desarrollo, ya que se realizan ajuste y se reduce los
retrasos
 Para evaluar la calidad de los productos. A medida que mejora la calidad se minimizan los
defectos.

Las métricas del proyecto de software sugieren que los proyectos deben medir:
 Entradas: la dimensión de los recursos que se requieren para realizar el trabajo
 Salidas: medidas de las entradas o productos creados durante el proceso de ingeniería del
software
 Resultados: medidas que indican la efectividad de las entregas.

Las métricas del software se pueden categorizar en:

Medidas directas: dentro de estas se pueden incluir:


 El costo y el esfuerzo aplicado
 Líneas de código producidas (LCD)
 Velocidad de ejecución, tamaño de memoria y los defectos informados durante un periodo
de tiempo establecido
Medidas Indirectas:
 La funcionalidad, calidad, complejidad, eficiencia
 Fiabilidad, facilidad, facilidad de mantenimiento .
El domino de las métricas del software se dividen en métricas de proceso, proyecto y producto.

Métricas 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.

Los datos que se deben tener en cuenta, se pueden llevar en la siguiente tabla:

Proyecto LDC Esfuerzo Costo $ Páginas de Errores Defectos Personas


documentación
IRIS 18.200 24 200.000 945 134 86 4

Teniendo en cuenta los datos de la tabla, se pueden derivar otras métricas para comparar varios
proyectos. Por ejemplo:
 Errores por KLDC (miles de líneas de código)
 Defectos por KLDC
 Páginas de documentación por KLDC
 Errores por persona-mes
 LDC por persona-mes
 Costo ($) por página de documentación
Métricas orientadas a la función

Permiten la medida de la funcionalidad de la aplicación.Propuestas por Allan Albrecht de IBM,


comenzó a analizar sistemas, a pedido del grupo de usuarios de IBM, buscando identificar los
factores críticos que determinan el tamaño del software y por consiguiente, estimar el esfuerzo y el
costo de desarrollarlo. Luego de analizar cientos de sistemas, nació la técnica de Análisis de Puntos
por función. La técnica mide una aplicación con base en las funciones que éste realiza para/por
solicitud del usuario final.

Los puntos de función se obtienen utilizando una función empírica basado en medidas cuantitativas
del dominio de información del software y valoraciones subjetivas de la complejidad del software.

Los puntos de función se calculan utilizando la siguiente tabla:

Parámetros de Cuenta Factor de ponderación


medición Simple Medio Complejo
Número de 3 4 6
entradas de X =
usuario
Número de 4 5 7
salidas de X =
usuario
Número de 3 4 6
peticiones de X =
usuario
Número de 7 10 15
X =
archivos
Número de 5 7 10
interfaces X =
externas
Cuenta_total

Se determinan 5 características del ámbito de la información y los cálculos aparecen en la posición


apropiada de la tabla. Los valores del ámbito de información están definidos de la siguiente
manera:

1. Número de entradas de usuario: se cuenta cada entrada de usuario que proporcione al


software diferentes datos orientados a la aplicación.

2. Número de salidas de usuario: se cuenta cada salida que proporciona al usuario información
orientada a la aplicación. En este contexto las salidas se refieren a informes, pantallas, mensajes de
error.

3. Número de peticiones de 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. Número de archivos: se cuenta cada archivo maestro lógico.(principales


grupos lógicos
de datos de usuarios o de control que están controlados por el programa (una
tabla de un SGBDR).
5. Número 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.

Procedimiento: primer lugar su cuentan e inscribe el numero de "parametros de medicion" y se les


asigna un valor, ejemplo:

Entradas de usuario = 25

Seguidamente, se elije el factor de ponderacion para ese paramentro de medicion (puede


sersimple, medio, complejo), en este ejemplo digamos que el factor sera "medio"; entonces:

Entradas de usuario 25 * 4 (valor que corresponde la poderacion medio par dicho parametro <ver
tabla arriba>).

Finalmente, se escribe el subtotal en la ultima columna de la derecha de la tabla.

En mi proyecto y a manera de ejemplo la tabla quedaria de esta manera:

FACTOR DE PONDERACION
PARAMETROS DE MEDICION CEUNTA SIMPLE MEDIO COMPLEJO
Numero de entradas de usuario 2 3 4 6 8
Numero de salidas de usuario 7 4 5 7 49
Numero de peticiones de usuario 10 3 4 6 30
Numero de archivos 5 7 10 15 50
Numero de interfaces externas 1 5 7 10 5
CUENTA TOTAL 142

Cuando han sido recogidos los datos anteriores, se asocia el valor de complejidad a cada cuenta.
Las organizaciones que utilizan métodos de puntos de función desarrollan criterios para determinar
si una entrada es denominada simple, media o compleja. No obstante la determinación de la
complejidad es algo subjetivo.

Para calcular los puntos de función se utiliza la siguiente relación:


PF = Cuenta_total * [0.65 + 0.01 * ∑(fi)]

De menare que, el primer paso es llenar la tabla, en estos enlaces pueden ver Videos explicativos
de la forma de llenar la tabla anterior:

Video explicativo I
Video explicativo 2

Autor videos: Cat. Carlos Alberto Espinoza.

Continuando con la resulucion de la formula, realizamos la segunda tabla para calcular el (fi)

PF Punto de función
Cu Es la suma de todas las entradas obtenidas
ent
a_t
ota
l
fi
Donde i=1 hasta 14. Son valores de ajuste de la complejidad basados en las respuestas a
las cuestiones señaladas de la siguiente tabla:
Evaluar cada factor en escala 0 a 5
0 1 2 3 4 5
No Incidental Moderado Medio Significativo Esencial
influencia
Fi :
1 ¿Requiere el sistema copias de seguridad y de
recuperación fiables?
2 ¿Se requiere comunicación de datos?
3 ¿Existen funciones de procesamiento distribuido?
4 ¿Es crítico el rendimiento?
5 ¿Se ejecutará el sistema en un entorno operativo
existente y fuertemente utilizado?
6 ¿Requiere el sistema entrada de datos interactiva?
7 ¿Requiere la entrada de datos interactiva que las
transacciones de entrada se lleven a cabo sobre múltiples
pantallas u operaciones?
8 ¿Se actualizan los archivos maestros de forma
interactiva?
9 ¿Son complejas las entradas, las salidas, los archivos o
las peticiones?
10 ¿Es complejo el procesamiento interno?
11 ¿Se ha diseñado el código para ser reutilizable?
12 ¿Están incluidas en el diseño la conversión y la
instalación?
13 ¿Se ha diseñado el sistema para soportar múltiples
instalaciones en diferentes organizaciones?
14 ¿Se ha diseñado la aplicación para facilitar los cambios y
para ser fácilmente utilizada por el usuario?

Una vez calculado el punto de función se usan de forma analógica a las LDC
como medida de la productividad, calidad y otros productos del software.

Productividad = PF / persona-mes
Calidad = Errores / PF
Costo = Dólares / PF
Documentación = Paginas Documentadas / PF
De manera que nuestra tabla quedaria de esta manera:

FACTORES DE INFLUENCIA EN LA DIFICULTAD DEL SISTEMA

N
º INTERROGANTE RESPUESTA
1 Requiere el sistema de copias de seguridad 3
2 Se requiere comunicación de datos 5
3 Existe funciones de procedimiento distribuido 4
4 Es critico el funcionamiento 3
Se ejecutara el sistema en un entorno operativo existente y
5 fuertemente utilizado 3
6 Requiere el sistema entrada de datos interactivos 4
Requiere de datos interactivos que la transacción de entrada
se lleve a cabo
7 sobre múltiples pantallas 4
8 Se actualizaran los archivos maestros de forma interactivo 5
9 Son complejos las E/S los archivos o las peticiones 3
1
0 Es complejo el procesamiento interno 3
1
1 Se a diseñado el código para ser reutilizable 4
1
2 Esta incluido en el diseño la conversión y la instalación 3
Se ha diseñado el sistema para soportar múltiples
1 instalaciones en
3 diferentes organizaciones 1
Se ha diseñado la aplicación para facilitar los cambios y para
1 ser fácilmente
4 utilizado por el usuario 5
TOTAL FI 50

El TOTAL FI, es la suma de todas las repuestas.

Calculamos PF
Cuenta_total * [0.65 + 0.01 * ∑(fi)]
Donde:
Cuenta total = la sumatoria de la primera tabla.
∑(fi) = A la sumatoria de la segunda tabla
Como ejemplo en mi caso, la cuenta total me dio 142 y el Fi = 50; entonces:
PF = 142*(0,65+0,01*50)

Aclaracion: en el formato que nos dan el Fi, le sacan el promedio a la sumatoria PORQUE EN ESTE
SE HAYA EL PF NOMINAL. Sin embargo la formula la aplique tal como aparece: ∑(fi) =
sumatoria(fi).

Posteriormente aplique la formula calculando el promedio para hallar el PF Nominal, tal y como esta
en el formato metricas.xml.

Es asi que, las tablas hasta el momento nos quedarian de esta manera:

CALCULO PF PF =142*(0,65+0,01*50)
PF = Cuenta_total * [0.65 + 0.01 * ∑(fi)] PF= 163,3

CALCULO PF NOMINAL PF(n)= 142*(0,65+0,01* 3,57)


Pf(nominal) = Cuenta_total*(0,65+0,01*Prom(Fi)) PF(n)= 97,37

CALCULO PF REAL PF(r)=97,37 - (97,37*45/100)


Donde el Pf(real) se obtiene restando el porcentaje de
reutilización que para nuestro proyecto es estaimado
a 45% PF(r)= 53,55

_______________________________________________________________________________
___
ANEXOS
Finalmente, comparto un ejemplo para aclarar conceptos sobre las variables de la tabla, recuerden
que a cada una de ellas se da un valor de 1 a 5 según su complejidad. La siguiente información
solo es para ver en que situaciones se aplica con mayor frecuencia cada variable.

FACTORES DE INFLUENCIA EN LA Ejemplo


DIFICULTAD DEL SISTEMA
Una aplicación para el sector bancario, donde
1. Comunicaciones de datos se requieren numerosas transacciones
monetarias.
Un motor de búsqueda en Internet, donde el
2. Procesamiento distribuido procesamiento está distribuido en decenas de
máquinas.
Una aplicación para el control del tráfico aéreo,
3. Objetivos de rendimiento que debe proporcionar continuamente
información precisa sobre la posición y rumbo
de los aviones.
Un sistema para matrículas en una universidad,
4. Configuración de uso intensivo donde concurren cientos de alumnos al mismo
tiempo.
Una aplicación para el sector bancario, donde
5. Tasas de transacción rápidas deben realizarse millones de transacciones
durante la noche.
Un programa en el que los datos de entrada
6. Entrada de datos en línea provienen de papeles o formularios impresos.
Un programa de análisis financiero utilizado por
7. Amigabilidad en el directivo de una empresa, capaz de orientarle
y asesorarle.
el diseño
Una aplicación para reserva de billetes, en la
8. Actualización de datos en línea que deben bloquearse y modificarse ciertos
registros en las BB.DD. para evitar que un
mismo asiento sea vendido dos veces.
Un sistema para diagnóstico médico, el cual
9. Procesamiento complejo realiza costosas operaciones de decisión lógica
hasta obtener un resultado.
Un procesador de textos en el que, por ejemplo,
10. Reusabilidad su barra de menús puede utilizarse desde una
hoja de cálculo, un generador de informes de
una base de datos, etc.
Cualquier aplicación de propósito general, de tal
11. Facilidad de instalación forma que cualquier persona pueda realizar la
instalación fácilmente.
Una aplicación para tratamiento de grandes
12. Facilidad operacional cantidades de información, donde es muy
importante la efectividad de los procesos de
backup y recuperación de datos.
Una aplicación software para una multinacional
13. Adaptabilidad con oficinas en varios países.
Un sistema que admite diversas situaciones de
14. Versatilidad uso, tanto para facilitar los cambios como para
ser utilizada por el usuario

___________________________________________________________________________

También podría gustarte