Mtricas
Captulo XXIII: Mtricas de Producto.
Medida, Medicin, Mtrica e Indicador.
o Medida: proporciona un indicio cuantitavo de la
extensin, cantidad, dimensin, capacidad o tamao de
algn atributo de un producto o proceso.
o Medicin: es el actor de determinar una medida.
o Mtrica: es una medida cuantitativa del grado en el que
un sistema, componente o proceso posee un atributo
determinado.
o Indicador: es una mtrica o combinacin de mtricas
que proporcionan comprensin acerca del software para
hacer mejor las cosas.
Principios de medicin.
o Formulacin: la derivacin de medidas y mtricas de
software apropiadas para la representacin del software
que se est construyendo.
o Recoleccin: mecanismo que se usa para acumular datos
requeridos para derivar las mtricas formuladas.
o Anlisis: el clculo de mtricas y la aplicacin de
herramientas matemticas.
o Interpretacin: evaluacin de las mtricas resultantes
para comprender la calidad de la representacin.
o Retroalimentacin: recomendaciones derivadas de la
interpretacin de las mtricas del producto, transmitidas
al equipo de software.
Atributos de las mtricas de software efectivas.
o Simple y Calculable: no debe demandar esfuerzo o
tiempo excesivo.
o Emprica e intuitivamente convincente: debe satisfacer
las nociones intuitivas del ingeniero acerca del atributo
de producto que se elabora.
o Congruente y objetiva: debe producir resultados que no
tengan ambigedades.
o Constante en su uso de unidades y dimensiones: el
clculo matemtico de la mtrica debe usar medidas
que no conduzcan a combinaciones extraas de
unidades.
o Independiente del lenguaje de programacin.
o Un mecanismo efectivo para retroalimentacin de alta
calidad: debe proporcionar informacin que pueda
conducir a un producto final de mayor calidad.
Mtricas para el modelo de Requerimientos
o Mtrica basada en funciones.
Mtrica de punto de funcin: medio para medir la
funcionalidad que entra a un sistema. Puede
estimar el costo o esfuerzo requerido para disear,
codificar y probar el software; predecir el nmero
de errores que se encontrarn durante las
pruebas; y prever el nmero de componentes y/o
de lneas fuente proyectadas en el sistema
implementado.
o Mtricas para calidad de la especificacin: especificidad,
completitud, correccin, comprensibilidad,
verificabilidad, consistencia interna y externa,
factibilidad, concisin, rastreabilidad, modificabilidad,
precisin y reusabilidad.
Mtricas para el modelo de Diseo.
o Mtricas del diseo arquitectnico: se enfocan en
caractersticas de la arquitectura del programa, con
nfasis en la estructura arquitectnica y en la
efectividad de los mdulos o componentes dentro de la
arquitectura. Dichas mtricas son caja negra en tanto
no requieren conocimiento alguno del funcionamiento
interior de un componente de software particular.
o Mtricas para diseo orientado a objetos.
Tamao: en cuanto a poblacin, volumen, longitud
y funcionalidad.
Complejidad.
Acoplamiento: conexiones fsicas entre elementos
del diseo OO.
Suficiencia: el grado en el que una abstraccin
posee las caractersticas requeridas de l.
Completitud: Qu propiedades se requieren para
representar por completo al objeto del dominio
del problema?
Cohesin: Se determina al examinar el grado en el
que el conjunto de propiedades que posee es parte
del problema o dominio de diseo.
Primitivismo: es el grado en el que una operacin
es atmica.
Similitud.
Volatilidad. Mide la probabilidad de que ocurra un
cambio.
o Mtricas orientadas a clase CK.
Mtodos ponderados por clase.
Profundidad del rbol de herencia.
Nmero de hijos.
Acoplamiento entre clases de objetos.
Respuesta para una clase.
Falta de cohesin en mtodos.
o Mtricas orientadas a clase: MOOD.
Factor de herencia de mtodo.
Factor de acoplamiento.
o Mtricas OO (Lorenz y Kidd)
Tamao de clase: el tamao global de una clase
puede determinarse usando el nmero total de
operaciones que se encapsulan dentro de la clase y
el nmero de atributos que encapsula la clase.
o Mtricas de diseo en el nivel de componente.
Mtricas de cohesin: rebanada de datos, smbolos
de datos, smbolos pegamento, smbolos
superpegamento y pegajosidad.
Mtricas de acoplamiento: el acoplamiento de
mdulo proporciona un indicio de cun
conectado est un mdulo con otros mdulos,
con datos globales y con el entorno exterior.
Mtricas de complejidad: para determinar la
complejidad del flujo de control de programa
pueden calcularse varias mtricas de software
muchas de stas se basan en el grfico de flujo
(representacin compuesta de nodos y
ligas/aristas.)
o Mtricas orientadas a operacin.
Tamao promedio de operacin. Puede
determinar al contar las lneas de cdigo o el
nmero de mensajes enviados por la operacin.
Complejidad de la operacin. (ideal = baja).
Nmero promedio de parmetros por operacin.
(ideal = baja).
o Mtricas de diseo de interfaz de usuario.
Correccin de la plantilla.
Pginas web: nmero de palabras, vnculos,
grficos, colores y fuentes.
Mtricas de diseo para WebApps.
o Mtricas de interfaz.
o Mtricas estticas.
o Mtricas de contenido.
o Mtricas de navegacin.
Mtricas para cdigo fuente.
Mtricas para pruebas OO.
o Falta de cohesin en mtodos: mientras ms alto sea el
valor, ms estados deben ponerse a prueba para
garantizar que los mtodos no generan efectos
colaterales.
o Porcentaje pblico y protegido: valores altos de PPP
aumentan la probabilidad de efectos colaterales entre
las clases porque los atributos pblicos y protegidos
conducen a alto potencial para acoplamientos.
o Acceso pblico a miembros de datos: Valores altos de
APD conducen al potencial de efectos colaterales entre
clases.
o Nmero de clases raz: Conforme el NCR aumenta,
tambin aumenta el esfuerzo de prueba.
o Fan-in: FIN > 1 indica que una clase hereda sus atributos
y operaciones de ms de una clase raz. FIN > 1 debe
evitarse cuando sea posible.
o Nmero de hijos y profundidad del rbol de herencia:
los mtodos de superclase tendrn que volverse a
probar para cada subclase.
Mtricas para mantenimiento.
Mtricas
Captulo XXV: Mtricas de Proceso y de Proyecto.
Mtricas de proceso.
o Se recopilan a travs de todos los proyectos y durante
largos espacios de tiempo. Su intencin es proporcionar
un conjunto de indicadores de proceso que conduzca a
mejorar el proceso de software a largo plazo.
o El proceso se asienta en el centro de un tringulo que
conecta tres factores que tiene profunda influencia
sobre la calidad del software y en el desempeo de la
organizacin.
La habilidad y motivacin del personal ha demostrado
ser el factor individual ms influyente en la calidad y el
desempeo.
La complejidad del producto puede tener un impacto
sustancial sobre la calidad y el desempeo.
La tecnologa que puebla el proceso tambin tiene un
impacto.
o Adems existe el tringulo de proceso dentro de un
crculo de condiciones ambientales que incluyen
entorno de desarrollo, condiciones empresariales y
caractersticas del cliente.
Mtricas de proyecto.
o Permiten al gerente de un proyecto de software valor el
estado de un proyecto en marchar, rastrear riesgos
potenciales, descubrir reas problema antes de que se
vuelvan crticas, ajustar el flujo de trabajo o las tareas
y evaluar la habilidad del equipo del proyecto para
controlar la calidad de los productos operativos del
software.
o Las medidas de proyecto de software son tcticas.
o La primera aplicacin de las mtricas de proyecto ocurre
durante la estimacin. Las mtricas recopiladas de
proyectos anteriores se usan como la base desde la cual
se hacen estimaciones de esfuerzo y tiempo para el
trabajo de software nuevo.
o La intencin de las mtricas de proyecto es doble.
Primero se usan para minimizar el calendario de
desarrollo. Segundo, se usan para valorar la calidad del
producto sobre una base en marchar y, cuando es
necesario, modificar el enfoque tcnico para mejorar la
calidad.
Medicin del Software.
o Mtricas orientadas a tamao: se derivan al normalizar
las medidas de calidad y/o productividad para
considerar el tamao del software que se produjo.
Errores por KLOC, Defectos por KLOC, $ por KLOC, etc.
o Mtricas orientadas a funcin.
Punto de Funcin.
LOC.
o Reconciliacin de mtricas LOC y PF.
o Mtricas orientadas a objeto.
Nmero de guiones de escenario. Un GE es una
secuencia detallada de pasos que describen la
interaccin entre el usuario y la aplicacin.
Nmero de clases clave. Son los componentes
enormemente independientes que se definen en el
AOO.
Nmero de clases de apoyo. Se requieren para
implementar el sistema pero no se relacionan de
inmediato con el dominio del problema.
Nmero promedio de clases de apoyo por clase
clave.
Nmero de subsistemas. Un subsistema es un
agregado de clases que apoyan una funcin que es
visible para el usuario final de un sistema.
o Mtricas orientadas a casos de uso.
Puntos de casos de uso. Son una funcin del
nmero de actores y transacciones implicados por
los modelos de caso de uso y su anlogo al PF en
algunas formas.
o Mtricas de proyecto webapp.
Nmero de pginas web estticas.
Nmero de pginas web dinmicas.
Nmero de vnculos de pgina internos.
Nmero de objetos de datos pesistentes.
Nmero de sistemas externos puestos en interfaz.
Nmero de objetos de contenido estticos.
Nmero de objetos de contenido dinmicos.
Nmero de funciones ejecutables.
Mtricas para calidad de Software.
o Medicin de la calidad.
Exactitud. Es el grado en el cual el software realiza
la funcin requerida. La medida ms comn de la
exactitud son los defectos por KLOC.
Capacidad de mantenimiento. Es la facilidad con la
que el programa puede corregirse si se encuentra
un error, la facilidad con la que un programa con la
que se adapta si su entorno cambia o de mejorar si
el cliente quiere un cambio en requerimientos. No
hay forma de medirla directamente. Una mtrica
simple orientada a tiempo es el tiempo medio al
cambio, el tiempo que tarda en analizarse la
peticin de cambio, disear una modificacin
adecuada, implementar el cambio, probarlo y
distribuirlo a todos los usuarios.
Integridad. Mide la habilidad de un sistema para
resistir ataques a su seguridad. Los ataques
pueden hacerse en los tres componentes de
software: programas, datos y documentacin.
Para medirla deben definirse dos atributos:
Amenaza (probabilidad de que un ataque de un
tipo ocurrir dentro de un tiempo dado) y
Seguridad (probabilidad de que el ataque de un
tipo se repeler).
Usabilidad. Es un intento por cuantificar la facilidad
de uso.
o Eficiencia en la remocin del defecto.
Es una medida de la habilidad de filtrado de las
acciones de aseguramiento y control de la calidad
segn se aplican a lo largo de todas las actividades
del marco conceptual del proceso.
(ERD = (E)/(E + D). El valor ideal para la ERD es 1. Es
decir sin defectos. Conforme E aumenta, es
probable que el valor final de D disminiya.
La ERD tambin puede usarse dentro del proyecto
a fin de valorar la habilidad de un equipo para
encontrar errores antes de que se pasen a la
siguiente actividad de marco conceptual o accin
de ingeniera del software.
Integracin de mtricas dentro del proceso del software.
o Argumentos para mtricas de software.
o Establecimiento de una lnea de referencia.
o Recoleccin, clculo y evaluacin de mtricas.
Mtricas para organizaciones pequeas.
Establecimiento de un programa de mtricas de software.