Documentos de Académico
Documentos de Profesional
Documentos de Cultura
METRICAS DE UN PROYECTO.
Uno de los elementos que permite dar garanta acerca de la calidad del software es la aplicacin de
mtricas, estas son medidas estadsticas aplicadas a un software determinado, garantizando calidad
as como lo afirma Pressman: La garanta de calidad del software, es una Actividad de proteccin
que se aplica a lo largo de todo el proceso de ingeniera del software.
Existen tres conceptos fundamentales que debemos tomar en cuenta en la medicin de un proyecto:
medida, medicin y mtrica.
Aunque estos tres trminos con frecuencia se usan de modo intercambiable, es importante observar
las sutiles diferencias entre ellos.
Un indicador es una mtrica o combinacin de mtricas que proporcionan comprensin acerca del
proceso de software, el proyecto de software o el producto en s. Un indicador proporciona
comprensin que permite al gerente de proyecto o a los ingenieros de software ajustar el proceso, el
proyecto o el producto para hacer mejor las cosas.
Concepto de Calidad:
51
Calidad del Software:
Es el grado con el que un sistema, componente o proceso cumple los requerimientos especificados y
las necesidades o expectativas del cliente o usuario.
Son las que estn relacionadas con el desarrollo del software como funcionalidad, complejidad,
eficiencia.
2. Mtricas de calidad: Son todas las mtricas de software que definen de una u otra forma la
calidad del software; tales como correccin, exactitud, integridad, facilidad de uso,
estructuracin o modularidad, pruebas, facilidad de mantenimiento, reusabilidad, cohesin del
mdulo, acoplamiento del mdulo, etc. Estas son los puntos crticos en el diseo, codificacin,
pruebas y mantenimiento.
Proporcionan una indicacin de cmo se ajusta el software a los requisitos implcitos y
explcitos del cliente. Es decir cmo voy a medir para que mi sistema se adapte a los requisitos
que me pide el cliente.
Correccin: es el grado en que el software desempea la funcin para la que fue creado y se
mide en defectos por KLDC.
Facilidad de Mantenimiento: es la sencillez con que un programa puede corregirse si se
encuentra un error, al adaptarse si su entorno cambio o mejorar si el cliente cambia los
requisitos y se mide en forma indirecta en TMC (Tiempo Medio de Cambio)
Integridad: es la habilidad de un sistema para resistir ataques que requiere la definicin de
amenaza y seguridad y se calcula: integridad = 1 (amenaza * (1 seguridad)).
Por ejemplo, dados los siguientes valores de un paquete de base de datos en dos proyectos,
podemos calcular la integridad:
52
Integridad para el proyecto 1:
Integridad = 1 0.7 * (1 0) = 0.3
Integridad para el proyecto 2:
Integridad = 1 0.2 * (1 - 0.8) = 0.96
Si la amenaza (probabilidad de que un ataque ocurrir) es 0.25, y la seguridad (posibilidad de
repeler un ataque) es 0.95, la integridad del sistema es 0.99 (muy elevada).
Si por otra parte, la probabilidad de amenaza fuera 0.5 y la posibilidad de repeler un ataque es
solo 0.25, la integridad del sistema es 0.63 (inaceptablemente baja).
Facilidad de uso: es el intento por cuantificar la sencillez de una aplicacin al utilizarla.
5. Mtricas orientadas al tamao: Esta nos permite conocer el tiempo en el que se terminar el
software y cuntas personas se necesitan para su desarrollo, aqu medimos las variables con las
que desarrollamos el software.
Si una organizacin de software mantiene registros sencillos, se puede crear una tabla de datos
orientados al tamao, como la que muestra la figura, que lista cada proyecto de desarrollo de software y
las medidas correspondientes de cada proyecto.
Refirindonos a la entrada de la figura del proyecto alfa: se desarrollaron 12,100 lneas de cdigo
(LDC) con 24 personas-mes y con un costo de $168,000 dlares. Debe tenerse en cuenta que el esfuerzo
y el costo registrados en la tabla incluyen todas las actividades de ingeniera del software (anlisis,
diseo, codificacin y prueba) y no slo la codificacin. Otra informacin sobre el proyecto alfa indica
que se desarrollaron 365 pginas de documentacin, se registraron 134 errores antes de que el
software se entregara al cliente y se encontraron 29 errores despus de entregrselo al cliente dentro del
primer ao de utilizacin.
Tambin sabemos que trabajaron tres personas en el desarrollo del proyecto alfa.
LDC: Nmero de lneas de cdigo.
Esfuerzo: Nmero de horas invertidas en la realizacin del sistema.
$(000): Costo total del sistema informtico
Pp.doc.: El nmero de pginas de los manuales de documentacin del sistema.
Errores: Errores detectados antes de la entrega del sistema.
Defectos: Errores detectados despus de la entrega del sistema.
Personas: Personal que realiz el proyecto.
53
Con los datos registrados durante la elaboracin del proyecto podemos generar al final de dicho proyecto
el siguiente conjunto de mtricas:
Productividad = KLDC /Esfuerzo
Calidad = Errores / LDC
Documentacin = Pp.doc./LDC
Costo = $(000)/LDC
Los puntos de funcin se obtienen utilizando una funcin emprica basado en medidas cuantitativas del
dominio de informacin del software y valoraciones subjetivas de la complejidad del software.
Se calculan los puntos de funcin en base a la siguiente tabla:
Factor de ponderacin
Parmetros de medicin Cuenta Simple Media Compleja
Nmero de entradas del usuario X 3 4 6 =
Nmero de salidas del usuario X 4 5 7 =
Nmero de consultas del usuario X 3 4 6 =
Nmero de archivos X 7 10 15 =
Nmero de interfaces externas X 5 7 10 =
Total puntos de funcin sin ajustar
TABLA 1
Valor con peso de complejidad = Suma del nmero de apariciones del elemento i (por ejemplo salidas)
para cada nivel de complejidad (bajo, medio, alto).
Sentencias
semnticas TABLA 2
1 -5 6 - 10 11 - +
pasos
del proceso
1 10 BAJO BAJO MEDIO
11 20 BAJO MEDIO ALTO
21 - + MEDIO ALTO ALTO
1. Nmeros de entradas de usuario: se cuenta cada entrada del usuario que proporcione al
software diferentes datos orientados a la aplicacin. Las entradas deben ser distinguidas de las
peticiones que se contabilizan por separado. El flujo de datos deber tener una sola direccin,
del exterior al interior. Como consecuencia de una entrada siempre deber actualizarse un
archivo lgico interno. Ej. Pantallas de entrada de datos, lector de cdigos de barras, lector de
tarjetas magnticas y electrnicas, captura de imgenes, voz, etc.
54
Clasificacin de las entradas:
2. Nmero de salidas del usuario: se encuentra cada salida que proporciona al usuario informacin
orientada a la aplicacin. En este contexto las salidas se refieren a informes, pantallas de salida de datos,
grabacin de bandas magnticas, listados, mensajes de error, Transferencia de datos a otras aplicaciones, ya
sea mediante archivos o transmisin de datos. Los elementos de datos individuales dentro de un informe se
encuentran por separado. Son todos aquellos procesos que hacen llegar datos desde la aplicacin hacia el
exterior, a un usuario o a otra aplicacin. El flujo de datos deber tener una sola direccin, del interior al
exterior.
3. Nmeros de consultas al usuario: una peticin o consulta est definida como una entrada interactiva
que resulta de la generacin de algn tipo de respuesta en forma de salida interactiva (en lnea). Se
cuenta cada peticin por separado. Son todos aquellos procesos que estn formados por una combinacin de
entradas y salidas, produciendo una consulta a los datos. El flujo de datos deber tener dos direcciones.
Como consecuencia de una consulta no se modifican los datos del sistema. (Igual a tabla de entradas)
4. Numero de archivos lgicos internos: Es un grupo de datos relacionados, tal como los percibe el usuario
y que son mantenidos por la aplicacin. Se cuenta cada archivo maestro lgico, o sea una agrupacin lgica
de datos que puede ser una parte en una gran base de datos o un archivo independiente. Los archivos se
cuentan una sola vez, independientemente del nmero de procesos que los acceden. Ejemplos: Clientes,
Socios, Artculos, Proveedores.
55
Clasificacin de los archivos lgicos internos:
En base a las tablas anteriores, se coloca el nmero de elementos de las caractersticas de nuestro
sistema en el peso correspondiente a la tabla de valores de pesos y puntos de funcin sin ajustar.
Entradas 3 4 6
Salidas 4 5 7
Consultas 3 4 6
Archivos 7 10 15
Interfaces externas 5 7 10
56
Cuando han sido recogidos los datos anteriores se asocian el valor de complejidad a cada cuenta. Las
organizaciones que utilizan mtodos de puntos de funcin desarrollan criterios para determinar si una
entrada es denominada simple, media o compleja. No obstante la determinacin de la complejidad es
algo subjetivo.
Para calcular los puntos de funcin se utiliza la siguiente relacin.
PFA = Puntos de Funcin Ajustados = PFSA * [0.65 + 0.01 * (fi)]
Donde PFSA es la suma de todas las entradas de puntos de funcin sin ajustar obtenidas de la tabla
anterior.
Los valores 0.65 y 0.01 son valores establecidos por Albrecht obtenidos a partir de datos procedentes
de diferentes proyectos referentes al nivel de error producidos en un promedio de 5000 proyectos.
Fi donde i puede ser de uno hasta 14 los valores de ajuste de complejidad basados en las respuestas a
las cuestiones sealadas en la siguiente tabla (Tabla 4).
Fi = total de factores de correccin.
Los valores constantes de la ecuacin anterior y los factores de peso aplicados en las encuestas de los
mbitos de informacin han sido determinados empricamente.
TABLA 4
57
Le asignamos una puntuacin a cada factor de correccin FC:
TABLA 5
INVESTIGACIN INDIVIDUAL
Investigar sobre la importancia del uso de las mtricas del software y la
oposicin que presentan algunos desarrolladores.
Elabore un ensayo que tenga como mximo 5 pginas (sin incluir la
portada) para justificar su punto de vista al respecto.
4.2 MTRICAS PARA CADA FASE DEL CICLO DE VIDA DEL DESARROLLO DE
SISTEMAS.
En esta fase es deseable que las mtricas tcnicas proporcionen una visin interna a la calidad del
modelo de anlisis. Estas mtricas examinan el modelo de anlisis con la intencin de predecir el
tamao del sistema resultante; es probable que el tamao y la complejidad del diseo estn
directamente relacionados.
LA MTRICA BANG puede aplicarse para desarrollar una indicacin del tamao del software a
implementar como consecuencia del modelo del anlisis.
58
MTRICAS BASADAS EN LA FUNCIN
La mtrica de punto de funcin (PF) puede usarse de manera efectiva como medio para medir la
funcionalidad que entra a un sistema. Esta mtrica puede usarse para: 1) estimar el costo o esfuerzo
requerido para disear, codificar y probar el software; 2) predecir el nmero de errores que se
encontrarn durante las pruebas, y 3) prever el nmero de componentes y/o de lneas fuente
proyectadas en el sistema implementado.
En este se genera la definicin de la arquitectura del sistema y del entorno tecnolgico que le va a dar
soporte, junto con la especificacin detallada de los componentes del Sistema de Informacin.
METRICAS DE ALTO NIVEL:
Las mtricas de alto nivel nos ayudan a localizar los mdulos ms complejos y, por lo tanto, aquellos
en los que debemos poner especial atencin. Tambin es utilizada para saber el nmero de mdulos
asignados a cada trabajador.
METRICAS DE BAJO NIVEL:
Las mtricas de bajo nivel tambin llamadas mtricas de caja blanca son las que nos ayudan a conocer
las interioridades del sistema. Hay tres tipos de mtricas de bajo nivel:
De cohesin
De acoplamiento
De complejidad
59
MTRICAS ORIENTADAS A LA CLASE.
Las medidas y mtricas para una clase individual, la jerarqua de clase y las colaboraciones de clase
sern invaluables cuando se requiera valorar la calidad del diseo OO.
Chidamber y Kemerer propusieron uno de los conjuntos de mtricas de software OO, en ocasiones
llamada suite de mtricas CK que incluyen 6 mtricas de diseo basadas en clase para sistemas OO:
1. Mtodos ponderados por clase (MPC)
2. Profundidad del rbol de herencia (PAH)
3. Nmero de hijos (NDH)
4. Acoplamiento entre clases de objetos (ACO)
5. Respuesta para una clase (RPC)
6. Falta de cohesin en mtodos (FCOM)
Conforme el IMS tiende a 1.0, el producto comienza a estabilizarse. El IMS tambin puede usarse
como una mtrica para planificar actividades de mantenimiento de software.
60
EJEMPLO
El siguiente ejercicio se basa en un sistema de facturacin. Aplicar mtricas
orientadas a la funcin y al tamao.
Actividades observadas.
1. El cliente pide informacin sobre los productos
2. El vendedor da la informacin de los productos
3. El cliente realiza un pedido
4. El vendedor atiende el pedido
5. El vendedor llena el encabezado de la factura
1. Cada factura tiene un nmero impreso y el logo de la empresa
2. Llena el cdigo del vendedor
3. Selecciona el tipo de factura (crdito fiscal o consumidor final)
4. Llena los datos del cliente
1. Nombre
2. Direccin
3. Telfono
6. El vendedor llena el detalle de la factura
1. Cantidad del producto
2. Nombre del producto
3. Precio unitario del producto
4. Total producto
7. El vendedor suma los totales de los productos de la factura y lo escribe en el campo Sub-total
8. Se le aplica al Sub-total + el IVA y lo escribe en el campo Total
9. Se suma el Sub-total + el IVA y lo escribe en el campo Total
10. Se le entrega una factura al cliente para que la cancele
11. El cliente cancela la factura
12. Finalmente los productos son entregados al cliente.
DIAGRAMA ENTIDAD RELACIN:
62
DIAGRAMA DE CASOS DE USO:
63
FACTIBILIDAD ECONMICA
INVERSIN PERMANENTE
CONCEPTO Inversin Precio/ Proy. Gasto Anual
Inicial Hora Horas/ao
Recurso Humano.
Analista $10.00 120 $1,200.00
Programador $6.00 120 $ 720.00
Tipo de Equipo
Cantidad Hardware
2 Computadoras $ 1,400.00
1 Servidor $ 900.00
1 Impresora de red $ 94.00
1 Cable de red $ 7.00
1 Switch de 8 puertos $ 18.00
Cantidad Software
2 Sistema Operativo $ 1,000.00
Windows XP
2 Office 2010 $ 1,000.00
4 Antivirus Nod 32 $ 120.00
Cantidad Materiales
10 Resmas de Papel 500 $ 40.00
hojas
3 Cartuchos de tinta $ 500.00
Total
Total Inversin Inicial $ 4,539.00 $2,460.00
anualidad
Factor Puntuacin
1. Comunicacin de los datos 3
2. Proceso distribuido 1
3. Objetivos de rendimiento 4
4. Configuracin de produccin usada por otros 2
5. Tasa de transacciones 3
6. Entrada de datos en lnea 4
7. Eficiencia con el usuario final 4
8. Actualizacin en lnea 4
9. Lgica de proceso interno compleja 3
10. Reutilizacin de cdigo 2
11. Contempla la conversin e instalacin 3
12. Facilidad de operacin 4
13. Instalaciones mltiples 2
14. Facilidad de cambios 3
total de factores de correccin 42
MTRICAS ORIENTADAS AL TAMAO (TABLA 6)
Esfuerzo
Entorno y lenguaje Lneas de cdigo por Punto Horas por Punto de
de Funcin (LPF) Funcin (HPF)
Lenguajes de 2GL (Ensamblador) 300 20 - 30
Lenguajes de 3GL (Cobol) 100 10 - 20
Lenguajes de 4GL (Visual) 20 5 - 10
Calcular:
Mtricas de Puntos de Funcin:
1. Tabla de valores y pesos y Puntos de funcin sin ajustar PFSA.
2. Puntos de funcin ajustados PFA.
Mtricas orientadas al tamao:
a. Lneas de cdigo para el sistema, Esfuerzo horas persona, Duracin del proyecto, Costo del
proyecto, hacer la tabla.
b. Productividad, calidad, documentacin, costo por lneas de cdigo.
Se tomarn las tablas 5 y 6 como informacin por defecto.
BIBLIOGRAFA
Ingeniera de software. Un enfoque prctico. Roger S. Pressman - V Edicin.
Blanchard, B.S., System Engineering Management 2.da. 1997.
66