TIPOS DE MÉTRICAS EN EL PROCESO DEL DESARROLLO DEL SOFTWAREpor Daniel Castro
1. Métricas de acoplamiento.
1.1. El acoplamiento de módulo proporciona una indicación de la “conectividad” de un módulo con otros módulos, datos globales y entorno exterior. Dhama [Fenton ‘91] ha propuesto una métrica para el acoplamiento del módulo que combina el acoplamiento de flujo de datos y de control: acoplamiento global y acoplamiento de entorno. Las medidas necesarias para calcular el acoplamiento de módulo se definen en términos de cada uno de los tres tipos de acoplamiento apuntados anteriormente. donde k = 1 es una constante de proporcionalidad. M = di + a* ci + do + b*co +gd + c *gc + w + r (4.28) donde: a=b=c=2
2. Métricas de cohesión.
2.1. Bieman y Ott [Hamdi ‘99] definen una colección de métricas que proporcionan una indicación de la cohesión de un módulo. Las métricas se definen con cinco conceptos y medidas: CFF(i) = SU(SA(i))/señales (i) (4.26) donde SU(SA(i)) denota señales de super-unión (el conjunto de señales de datos que se encuentran en todas las porciones de datos de un módulo i) Como la relación de señales de super-unión con respecto al número total de señales en un módulo i aumenta hasta un valor máximo de 1, la cohesión funcional del módulo también aumenta 1.
3. Eficacia de la Eliminación de Defectos
3.1. Una métrica de la calidad que proporciona beneficios tanto a nivel del proyecto como del proceso, es la eficacia de la eliminación de defectos (EED) En particular el EED es una medida de la habilidad de filtrar las actividades de la garantía de calidad y de control al aplicarse a todas las actividades del marco de trabajo del proceso. Cuando se toma en consideración globalmente para un proyecto, EED se define de la forma siguiente: EED = E / (E + D) (4.4) donde E= es el número de errores encontrados antes de la entrega del software al usuario final y D= es el número de defectos encontrados después de la entrega. El valor ideal de EED es 1, donde simbolizando que no se han encontrado defectos en el software. De forma realista, D será mayor que cero, pero el valor de EED todavía se puede aproximar a 1 cuando E aumenta. En consecuencia cuando E aumenta es probable que el valor final de D disminuya (los errores se filtran antes de que se conviertan en defectos) Si se utiliza como una métrica que suministra un indicador de la destreza de filtrar las actividades de la garantía de la calidad y el control, el EED alienta a que el equipo del proyecto de software instituya técnicas para encontrar los errores posibles antes de su entrega.
4. Factores de Calidad de McCall
4.1. Los factores que perturban la calidad del software se pueden categorizar en dos grandes grupos: (1) factores que se pueden medir directamente (por ejemplo: defectos por puntos de función) y (2) factores que se pueden medir sólo indirectamente (por ejemplo: facilidad de uso o de mantenimiento). McCall y sus colegas plantearon una categorización de factores que afectan a la calidad de software, que se muestran en la figura 4.1 en donde se centralizan con tres aspectos importantes de un producto de software: sus características operativas, su capacidad de cambio y su adaptabilidad a nuevos entornos. Refiriéndose a los factores de la figura 4.1, McCall proporciona las siguientes descripciones: [Pressman ’98].
5. El objetivo primordial de la ingeniería del software es producir un sistema, aplicación o producto de alta calidad. Para lograr este objetivo, los ingenieros de software deben emplear métodos efectivos junto con herramientas modernas dentro del contexto de un proceso maduro de desarrollo del software. Al mismo tiempo, un buen ingeniero del software y buenos administradores de la ingeniería del software deben medir si la alta calidad se va a llevar a cabo. A
6. Métricas de complejidad.
6.1. Se pueden calcular una variedad de métricas del software para determinar la complejidad del flujo de control del programa. Muchas de éstas se basan en una representación denominada grafo de flujo, un grafo es una representación compuesta de nodos y enlaces (también denominados filos) Cuando se dirigen los enlaces (aristas), el grafo de flujo es un grafo dirigido.
7. Medidas de fiabilidad y de disponibilidad.:
7.1. Los trabajos iniciales sobre fiabilidad buscaron extrapolar las matemáticas de la teoría de fiabilidad del hardware a la predicción de la fiabilidad del software. La mayoría de los modelos de fiabilidad relativos al hardware van más orientados a los fallos debidos al desajuste, que a los fallos debidos a defectos de diseño, ya que son más probables debido al desgaste físico (p. ej.: el efecto de la temperatura, del deterioro, y los golpes) que los fallos relativos al diseño. Desgraciadamente, para el software lo que ocurre es lo contrario. De hecho, todos los fallos del software, se producen por problemas de diseño o de implementación.
7.2. Considerando un sistema basado en computadora, una medida sencilla de la fiabilidad es el tiempo medio entre fallos (TMEF) [Mayrhauser´91], donde: TMEF = TMDF+TMDR (4.2) (TMDF (tiempo medio de fallo) y TMDR (tiempo medio de reparación)).
8. Medida de la calidad
8.1. Aunque hay muchas medidas de la calidad de software, la corrección, facilidad de mantenimiento, integridad y facilidad de uso suministran indicadores útiles para el equipo del proyecto. Gilb [Len O. Ejiogo ‘90] sugiere definiciones y medidas para cada uno de ellos, tales como:
8.2. Corrección: A un programa le corresponde operar correctamente o suministrará poco valor a sus usuarios. La corrección es el grado en el que el software lleva a cabo una función requerida. La medida más común de corrección son los defectos por KLDC, en donde un defecto se define como una falla verificada de conformidad con los requisitos. Facilidad de mantenimiento. El mantenimiento del software cuenta con más esfuerzo que cualquier otra actividad de ingeniería del software. La facilidad de mantenimiento es la habilidad con la que se puede corregir un programa si se encuentra un error, se puede adaptar si su entorno cambia o optimizar si el cliente desea un cambio de requisitos. No hay forma de medir directamente la facilidad