Вы находитесь на странице: 1из 9

YELKIN ANTONIO SIERRA ATENCIA

CC: 1049453140
ADIS

Métricas de calidad de Software


A continuación quiero citar, una serie de documentos que he encontrado en la web, los cuales nos
hablan sobre la creación de métricas en el software, estas se realizan para "evaluar su
calidad". Realizo este aporte, por la solicitud de algunos compañeros, ya que en si el tema es algo
complejo y no se encuentra buen material con facilidad. Sin embargo, he encontrado en la pagina
de la UNAD un resumen que puede ayudar a entender y completar el formato que en mi caso se
nos facilitó para la actividad.

(Hago las aclaraciones que creo pertinentes en color azul)

Formato: metricas.xml

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
YELKIN ANTONIO SIERRA ATENCIA
CC: 1049453140
ADIS

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.
YELKIN ANTONIO SIERRA ATENCIA
CC: 1049453140
ADIS

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)]
YELKIN ANTONIO SIERRA ATENCIA
CC: 1049453140
ADIS
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
Cuenta_total Es la suma de todas las entradas obtenidas
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?
YELKIN ANTONIO SIERRA ATENCIA
CC: 1049453140
ADIS

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.


YELKIN ANTONIO SIERRA ATENCIA
CC: 1049453140
ADIS
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 hayar 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 segun su complejdidad. La siguiente informacion
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
YELKIN ANTONIO SIERRA ATENCIA
CC: 1049453140
ADIS
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
YELKIN ANTONIO SIERRA ATENCIA
CC: 1049453140
ADIS
___________________________________________________________________________

ANEXOS
Métricas para la calidad del software

El objetivo de la ingeniería del software es desarrollar y producir software de alta calidad. Para
lograr este objetivo, es fundamental aplicar métodos y herramientas efectivos dentro del contexto
de un proceso maduro de desarrollo de software.

Medidas de la Calidad
Dentro de las medidas de calidad del software tenemos:

Corrección
Es el grado en que el software cumple su función.
La medida más común es: Defectos por KDLC (miles de líneas de código)

Facilidad de mantenimiento
Es la facilidad con la que se puede corregir un programa si se encuentra un error.
Se utilizan medidas indirectas como: Tiempo Medio de cambio (TMC)
Es decir, el tiempo que se tarda en:
 Analizar una petición.
 Diseñar un modificación.
 Implementar el cambio.
 Probar y realizar el cambio.

Integridad
Mide la capacidad del software para resistir ataques. Se debe tener en cuenta los siguientes
atributos:
Amenaza
Es la probabilidad de que un ataque ocurra en un tiempo determinado.
Seguridad
Es la probabilidad de que se pueda repeler el ataque de un tipo determinado.
Se define como: Integridad = Σ [(1-amenaza) x (1-seguridad)]

Facilidad de uso
Mide la "amigabilidad " del software con el usuario final.
Se mide en función de:
 Habilidad intelectual o física para aprender el sistema.
 El tiempo requerido para hacer uso eficiente del sistema.
 Aumento de la productividad.
 Valoración subjetiva de la disposición de los usuarios hacia el sistema.

Eficacia de la eliminación de defectos


La eficacia de la eliminación de defectos (EED), es una métrica que permite medir la habilidad de
filtrar las actividades de la garantía de calidad y de control, ya que es aplicable a todas las
actividades del marco de trabajo del proceso.
Se define de la siguiente forma: EED = E / (E + D)
E Número de errores encontrados antes de la entrega del software
D Número de defectos encontrados después de la entrega
El valor ideal de EED es 1. No se han encontrado defectos en el software.

Integración de las métricas dentro del proceso de Ingeniería del Software


YELKIN ANTONIO SIERRA ATENCIA
CC: 1049453140
ADIS
Estableciendo una línea base de métricas se obtienen beneficios a nivel de:
 Proceso
 Proyecto
 Producto
Esta línea base, comprende los siguientes pasos:
1. Recopilación de datos. (Medidas)
Requiere una investigación histórica de los proyectos para reconstruir los datos requeridos

2. Cálculo de métricas (Métricas)


Se hace el cálculo de métricas una vez se han determinado las medidas. Pueden abarcar una gran
cantidad de métricas:
 LDC y PF
 De calidad
 Del proyecto
3. Evaluación de métricas. (Indicadores)
Se deben evaluar las métricas y aplicar durante: la estimación, el control de proyectos y la mejora
del proceso.
Los indicadores guían el proyecto o el proceso.

POSDATA: Reitero, el presente materia no es de mi autoria. Fue tomado de las publicaciones de


la Universidad Nacional, Ingenieria de Software. Y la plantilla aunque fue compartida en los
materiales del programa ADSI, Sena,

Вам также может понравиться