metricas tecnicas del software

37
 1 Métricas Técnicas del Software Capítulo 19 Roger, Pressman “Ingeniería de Software” Quinta Edición Motivación  A diferencia de otras disciplina s, la ingeni ería del softwar e no está basada en leyes cuantitativas básicas de la Física.  Se intenta obtener un con junto de medidas indirectas que dan lugar a métricas que proporcionan una indicación de la calidad de algún tipo de representación del s oftware.  Según Fento n [FEN91]:  La medición es el proceso por el que se asignan números o símbolos a los atributos de las entidades en el mundo real, de tal manera que las definan de acuerdo con unas reglas claramente definidas.  En las ciencias físicas, medicina y, más recientemente, en las ciencias sociales, somos ahora capaces de medir atributos que previamente pensábamos que no eran medibles...  Por supuesto, tales mediciones no están tan refinadas como las de las cien cias físicas..., pero exis ten [y se toma n importantes decision es basadas en ellas].  Sentimos que la obligación de intentar «medir lo no medible» para mejorar nuestra comprensión de entidades particulares es tan poderosa en la ingeniería del software como en cualquier disciplina.

Upload: noe-romero

Post on 21-Jul-2015

31 views

Category:

Documents


0 download

TRANSCRIPT

Mtricas Tcnicas del SoftwareCaptulo 19 Roger, Pressman Ingeniera de Software Quinta Edicin

Motivacin A diferencia de otras disciplinas, la ingeniera del software no est basada en leyes cuantitativas bsicas de la Fsica. Se intenta obtener un conjunto de medidas indirectas que dan lugar a mtricas que proporcionan una indicacin de la calidad de algn tipo de representacin del software. Segn Fenton [FEN91]: La medicin es el proceso por el que se asignan nmeros o smbolos a los atributos de las entidades en el mundo real, de tal manera que las definan de acuerdo con unas reglas claramente definidas. En las ciencias fsicas, medicina y, ms recientemente, en las ciencias sociales, somos ahora capaces de medir atributos que previamente pensbamos que no eran medibles... Por supuesto, tales mediciones no estn tan refinadas como las de las ciencias fsicas..., pero existen [y se toman importantes decisiones basadas en ellas]. Sentimos que la obligacin de intentar medir lo no medible para mejorar nuestra comprensin de entidades particulares es tan poderosa en la ingeniera del software como en cualquier disciplina.

1

Definiciones Medida: indicacin cuantitativa de la extensin, la cantidad, la dimensin o el tamao de algn atributo de producto o proceso. Tomado en un punto del tiempo o lugar. Mtrica: medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo determinado. Reune y relaciona medidas en varios puntos (promedio, mediana, tasa, razn)

19.1 Calidad de Software En la bsqueda de calidad de software se enfatiza tres puntos importantes:1. Los requisitos del software son la base de las medidas de la calidad. La falta de concordancia con los requisitos es una falta de calidad. 2. Unos estndares especficos definen un conjunto de criterios de desarrollo que guan la manera en que se hace la ingeniera del software. Si no se siguen los criterios, habr seguramente poca calidad. 3. Existe un conjunto de requisitos implcitos que a menudo no se nombran (por ejemplo, facilidad de mantenimiento). Si el software cumple con sus requisitos explcitos pero falla en los implcitos, la calidad del software no ser fiable.

2

19.1.1 Factores de calidad de McCall McCall y sus colegas proponen, en 1977, una serie de factores de calidad de software:Se concentran en tres aspectos:Caractersticas Operativas Capacidad de Cambios Adaptabilidad a nuevos entornos

Factores de Calidad de McCallFacilidad de mantenimiento Flexibilidad Facilidad de Prueba Revisin del producto Transicin del Producto Portabilidad Reusabilidad Interoperatividad Operacin del Producto Correccin Fiabilidad Usabilidad Integridad Eficiencia

3

Factores de Calidad de McCall Se desarrollan medidas indirectas como sigue: Fq = c1m1+ c2m2 + + cnmnFq: factor; m mtricas; c: cohef. correlacin

La relacin entre los factores de calidad y las mtricas se muestra en la tabla siguiente.

Factor de Calidad Mtrica de Calidad

4

19.1.2 FURPS (Propuestas por Hewlett Packard en 1987) Functionality (Funcionalidad). Valora el conjunto de capacidades del programa, la generalidad de las funciones y seguridad global. Usability (Facilidad de uso). Valora aspectos como: esttica, consistencia y documentacin general. Reliability (Fiabilidad). Valora: fallos (frecuencia, gravedad y recuperacin), exactitud de salidas. Performance (Rendimiento). Tiempo de procesamiento y respuesta, consumo de recursos, efectividad y eficacia. Support (Soporte). Facilidad de mantenimiento, compatibilidad y facilidad de: prueba, instalacin y localizacin de problemas.

9.1.3 Factores de Calidad ISO 9126 Este estndar identifica seis atributos de calidad:Funcionalidad. Satisface necesidades.Idoneidad, correccin, interoperabilidad, conformidad y seguridad.

Confiabilidad. Cantidad de tiempo disponible.Madurez, tolerancia recuperacin. Facilidad de: operatividad. a fallos, facilidad de

Usabilidad. Grado de facilidad de uso.comprensin, aprendizaje y

5

19.1.3 Factores de Calidad ISO 9126Eficiencia. Grado en que optimiza los recursos de cmputo.Tiempo de uso y recursos utilizados.

Facilidad de mantenimiento. Que tan fcil corregir errores.Estabilidad, facilidad de: anlisis, cambios y prueba.

Portabilidad. Facilidad de cambiar de entorno.Facilidad de: instalacin, ajuste y adaptacin al cambio.

19.2 Una estructura para las mtricas tcnicas del software Para conseguir dar valores cuantitativos a las mtricas, es necesario establecer un modelo de medicin. Segn FentonDesarrollar una mtrica nica sera semejante a la bsqueda imposible del santo grial.

Segn Shari PfleegerLo mismo que las medidas de temperatura comienzan con un ndice de referencia y evolucionan por sofisticadas escala, herramientas y tcnicas, las medidas del software estn evolucionando.

6

19.2.1 El reto de las mtricas tcnicas Segn Fenton:A medida que crece el nmero de mediciones de distintos atributos, se tienen que satisfacer objetivos incompatibles. Lo que es contrario a la teora de la representacin de la medicin. Hay pocos intentos cientficos sobre medicinSe menciona a menudo la imposibilidad de llevar a cabo experimientos.

Sin embargo, la medicin es necesaria si se desea conseguir calidad.

19.2.2. Principios de medicin Las mtricas tcnicas:ayudan a la evaluacin de los modelos de anlisis y diseo, proporcionan una indicacin de la complejidad de los diseos procedimentales y del cdigo fuente y ayudan en el diseo de pruebas ms efectivas.

7

Roche [ROC94] propone un proceso de medicin se puede caracterizar por cinco actividades:1. Formulacin: obtencin de medidas y mtricas del software apropiadas para la representacin del software. mecanismo empleado para acumular datos necesarios para obtener las mtricas formuladas. clculo de las mtricas y aplicacin de herramientas matemticas. evaluacin de resultados de mtricas en un esfuerzo por conseguir una visin interna de la calidad de la representacin. recomendaciones obtenidas de la interpretacin de mtricas tcnicas transmitidas al equipo que construye el software.

2.

Coleccin:

3. 4.

Anlisis:

Interpretacin:

5.

Realimentacin (feedback):

Principios asociados con la mtricas tcnicas Los objetivos de la medicin debern establecerse antes de empezar la recogida de datos. Todas las tcnicas sobre mtricas deberan definirse sin ambigedades. Las mtricas deberan obtenerse basndose en una teora vlida para el dominio de aplicacin Hay que hacer las mtricas a medida para acomodar mejor los productos y procesos especficos.

8

Principios asociados con las actividades de medicin Siempre que sea posible, la recogida de datos y su anlisis deben automatizarse. Se deberan aplicar tcnicas estadsticas validas para establecer las relaciones entre los atributos internos del producto y las caractersticas externas de la calidad Se deberan establecer una directrices de interpretacin y recomendaciones para todas las mtricas.

Consideraciones El xito de una actividad de medicin esta ligada al soporte de gestin. Se deben considerar los fondos, la formacin y la promocin si se quiere establecer y mantener un programa de medicin tcnica.

9

19.2.3. Caractersticas fundamentales de las mtricas del software (Ejiogu) Simples y fciles de calcular. Deberan ser relativamente fcil aprender a obtener la mtrica y su clculo no debera demandar un esfuerzo o cantidad de tiempo inusuales.

Emprica e intuitivamente persuasivas. Satisfacer las nociones intuitivas del ingeniero sobre el atributo del producto en cuestin

Consistentes y objetivas. Deberan siempre producir resultados sin ambigedad. Un tercer equipo debera ser capaz de obtener el mismo valor de mtrica usando la misma informacin del software.

19.2.3. Caractersticas fundamentales de las mtricas del software (Ejiogu) Consistentes en el empleo de unidades y tamaos. El clculo matemtico de la mtrica debera emplear medidas que eviten extraas combinaciones de unidades.

Independientes del lenguaje de programacin. Deberan basarse en el modelo de anlisis, diseo o en la estructura del programa.

Eficaces en el mecanismo para la realimentacin de la calidad. Proporcionar al desarrollador de software informacin que le lleve a un producto final de mayor calidad.

10

19.3 Mtricas del modelo de anlisis En esta fase las mtricas tcnicas que proporcionan 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 relacionadas.

Metodologa de Puntos de FuncinThe International Function Point Users Group Release 4.1ngeles Sumano Lpez

11

Clculo de Puntos de Funcin 1 Calcular Puntos de funcin sin ajustarEstablecer los 5 indicadores y su dificultad

2 Establecer Modificadores con su grado de influencia 3 Aplicar frmula 4 Interpretar

Indicadores de datos en Puntos de Funcin Archivos Lgicos Internos (ALI). Grupo identificable de datos relacionados lgicamente o de informacin de control que pertenece al usuario es mantenido dentro de las fronteras del sistema.

12

Indicadores de datos en Puntos de Funcin Archivo de Interfaz Externa (AIE). Grupo identificable de datos relacionados lgicamente o de informacin de control que pertenece al usuario, es referido por la aplicacin, pero mantenido dentro de las fronteras de otra aplicacin.

Indicadores de transacciones en Puntos de Funcin Entradas Externas (EE).Es un proceso elemental que procesa datos o informacin de control que viene de fuera de la frontera de la aplicacin para mantener uno o ms ALI y/o alterar el comportamiento del sistema.

13

Indicadores de transacciones en Puntos de Funcin Salidas Externas (SE).Es un proceso elemental lgico que debe contener al menos una frmula matemtica, clculo o crear datos derivados que enva datos o informacin de control fuera de la frontera de la aplicacin.

Indicadores de transacciones en Puntos de Funcin Consultas Externas (CE).Es un proceso elemental que enva datos o informacin de control fuera de la frontera de la aplicacin.

14

Asignacin de nivel de dificultad para los Archivos Lgicos Internos o Archivos de Interfaz Externos

1 -19 TDE 0 1 TRE simple 2 5 TRE simple 6 + TRE mediano

20 - 50 TDE simple mediano complejo

51 + TDE mediano complejo complejo

Clculo de Puntos de Funcin sin ajustar Una vez sealado identificadores, su complejidad y modificadores se asignan pesos que ya estn dados por el mtodo.Puntos de Indicador ALI AIE EE SE CE Funcin sin ajustar. simple mediano complejo SUMA _ * 7 _ * 10 _ * 15 __ _ * 5 _ * 7 _ * 10 __ _ * 3 _ * 4 _ * 6 __ _ * 4 _ * 5 _ * 7 __ _ * 3 _ * 4 _ * 6 __ T = ___

15

Estimadores en Puntos de Funcin1. Comunicacin de datos. Describe el grado con el cual la aplicacin se comunica directamente con el procesador.

2. Procesamiento Distribuido de Datos. Mide el grado con el que la aplicacin transfiere datos entre componentes de la aplicacin

3. Rendimiento. El rendimiento ser crtico y tendr influencia sobre cmo disear, desarrollar o implementar.

Estimadores en Puntos de Funcin4. Configuracin Altamente Usada. El software ser implementado en un entorno existente y fuertemente utilizado.

5. Promedio de Transacciones. Un alto promedio de transacciones influenciar al diseo, desarrollo, implantacin y soporte.

6. Entrada de Datos en Lnea. El software requerir entradas interactivas.

16

Estimadores en Puntos de Funcin7. Eficiencia para el Usuario Final. Las funciones en lnea provedas tendrn que enfatizar un diseo para la eficiencia del usuario final.

8. Actualizacin en Lnea. Se necesitar la actualizacin de archivos maestros en forma interactiva

9. Procesamiento Complejo. Describe el grado en el cual el procesamiento lgico influencia el desarrollo de la aplicacin.

Estimadores en Puntos de Funcin10.Reusabilidad. Describe el grado en el cual la aplicacin y su cdigo han sido especficamente diseados, desarrollados y soportados para que se puedan reutilizar.

11.Facilidad de Instalacin. Describe el modo en que la conversin desde medios ambientes previos influenciarn el desarrollo de la aplicacin.

17

Estimadores en Puntos de Funcin 12.Facilidad de Operacin.Describe el grado en el cual las aplicaciones atienden los aspectos operacionales, tales como: salvar y procesos. recuperar datos y recuperacin de

La facilidad de operacin es una caracterstica de la aplicacin. Minimizando la necesidad de actividades manuales, tales como:montaje de cintas, manejo de papel e intervencin manual directa en el lugar.

Estimadores en Puntos de Funcin13.Varios Sitios. Describe el grado en el cual la aplicacin ser diseada, desarrollada e implantada en mltiples localizaciones y organizaciones de usuarios

14.Facilidad de Cambios. Describe el grado en el cual la aplicacin ha sido desarrollada para la modificacin fcil del procesamiento lgico o las estructuras de datos.

18

Estimadores en Puntos de funcin A cada estimador se le asigna un grado de influencia, la cual puede ser:0=sin influencia, 1=accidental, 2=moderado, 3=medio, 4=significativo, 5=esencial.

Ya calificados los estimadores, se suman en la variable M.

Asignacin del grado de influencia para Actualizacin en lneaGrado 0 1 2 3 4 5No hay actualizacin en lnea Se incluye la actualizacin en lnea de uno a tres archivos de control. El volumen de actualizacin es bajo y la recuperacin es fcil. Se incluye la actualizacin en lnea de cuatro o ms archivos de control. El volumen de actualizacin es bajo y la recuperacin es fcil. Se incluye la actualizacin en lnea de la mayora de los archivos lgicos internos. Adems, la proteccin contra prdida de datos es esencial y tendr que ser especialmente diseada y programada en el sistema. Adems, se consideran dentro de los procesos de recuperacin volmenes altos. Se incluyen procesos de recuperacin altamente automatizados con intervencin mnima del operador.

Razn

19

Aplicacin de frmula de PF pf = T * (0.65 + 0.01 * M) Posible interpretacin sobre el proyecto:Complejidadsencilla hasta 100 puntos media 101 a 300 puntos difcil de 301 a 500 puntos

Costo de $50 a $100 dlares EEUU por punto de funcin Considerando datos histricos de productividad por punto de funcin, se puede calcular:Tiempo requerido Personas requeridas

Conclusin sobre Puntos de Funcin El mtodo de Puntos de Funcin sirve para:detallar los requerimientos no funcionales o restricciones del sistema estimar el costo, tiempo y personal requerido para el desarrollo de un sistema

Es un mtodo cuantitativo que apoya a la estimacin de esfuerzo

20

19.3.2. La Mtrica BANG

Se emplea para desarrollar una indicacin del tamao del software a implementar como consecuencia del modelo de anlisis. Desarrollada por DeMarco. Es una indicacin independiente de la implementacin del tamao del sistema. El desarrollador de software debe evaluar un conjunto de primitivas (elementos del modelo de anlisis que no se subdividen ms en este nivel).

Mtrica BANG PrimitivasPrimitivas funcionales (PFu). Transformaciones (burbujas) que aparecen en el nivel inferior de un diagrama de flujo de datos Elementos de datos (ED). Los atributos de un objeto de datos, los elementos de datos son datos no compuestos y aparecen en el diccionario de datos.

Objetos (OB). Objetos de datos (Ej. Entidad) Relaciones (RE). Las conexiones entre objetos de datos Estados (ES) .El nmero de estados observables para el usuario en el diagrama de transicin de estados Transiciones (TR). El nmero de transiciones de estado en el diagrama de transicin de estados.

21

Mtrica BANG Adems se determinan las cuentas adicionales para: Primitivas modificadas de funcin manual (PMFu). Opciones que caen fuera del lmite del sistema y que deben modificarse para acomodarse al nuevo sistema. Elementos de datos de entrada (EDE). Aquellos elementos de datos que se introducen en el sistema. Elementos de datos de salida (EDS). Aquellos elementos de datos que se sacan del sistema. Elementos de datos retenidos (EDR). Aquellos elementos de datos que son retenidos (almacenados) por el sistema. Muestras (tokens) de datos (TCJ). Las muestras de datos (elementos de datos que no se subdividen dentro de una primitiva funcional que existen en el lmite de la i-sima primitiva funcional (evaluada para cada primitiva). Conexiones de relacin (REJ). Las relaciones que conectan el isimo objeto en el modelo de datos con otros objeto.

Mtrica BANG DeMarco sugiere que la mayora del software se puede asignar a uno de los dos dominios siguientes: Las aplicaciones de dominio de funcin encontradas comnmente en aplicaciones de ingeniera y cientficas. hacen hincapi en la transformacin de datos y no poseen generalmente estructuras de datos complejas.

Las aplicaciones de dominio de datos encontradas comnmente en aplicaciones de sistemas de informacin. tienden a tener modelos de dato complejos.

22

la Mtrica BANG Usando la relacin RE/PFu:RE / PFu < 0.7 implica una aplicacin de dominio de funcional 0.8 < RE / PFu < 1.4 indica una aplicacin hbrida RE / PFu > 1.5 implica una aplicacin de dominio de datos

DeMarco sugiere que se emplee una cuenta media de muestra (token) por primitivaTCavg = TCi/PFu

para controlar la uniformidad de la particin a travs de muchos diferentes modelos dentro del dominio de una aplicacin.

la Mtrica BANG Para calcular la mtrica Bang para aplicaciones de dominio de funcin se emplea el siguiente algoritmo:Bang = 0 Mientras haya primitivas funcionales hacer: Calcular cuenta-token de la primitiva i Calcular el incremento PFu corregido (IPFuC) Asignar la primitiva a una clase Evaluar la clase y anotar el peso valorado Bang = Bang + valoracin IPFuC

Fin Mientras

23

la Mtrica BANG La cuenta-token se calcula determinando cuntos smbolos lxicos (tokens) diferentes son visibles dentro de la primitiva. Es posible que el nmero de smbolos lxicos (tokens) y el nmero de elementos de datos sea diferente, si los elementos de datos pueden moverse desde la entrada a la salida sin ninguna transformacin interna.

Tci 2 5 10 15 20

IPFuC 1.0 5.8 16.6 29.3 43.2

La IPFuC corregida se determina de una tabla publicada por DeMarco.

la Mtrica BANG Para aplicaciones de dominio de datos, se calcula la mtrica Bang con el algoritmo:Bang = 0 Mientras haya objetos de datosCalcular la cuenta de relaciones del objeto i Calcular el incremento OB corregido (IOBC) Bang = Bang + IOBC

Fin Mientras

24

la Mtrica BANG El IOBC corregido se determina tambin de una tabla publicada por DeMarco.

Rei 1 3 6

IOBC 1 4 9

la Mtrica BANG Una vez que se ha calculado la mtrica Bang, se puede emplear el historial anterior para asociarla al esfuerzo y tamao. Se sugiere que cada empresa construya sus propias versiones de las tablas IPFuC e IOBC para calibrar la informacin del proyecto completo.

25

19.3.3 Calidad de la especificacin Propuesta por Alan Davis en 1993 Corresponde a la calidad de especificacin de requerimientos. Incluyen las caractersticas siguientes: la

Especificidad, complecin, correccin, comprensin, verificacin, consistencia, logro, concisin, trazabilidad, modificacin, exactitud, reutilizacin.

Cualitativas,pero podran algunas podran medirse.

Calidad de la especificacin (Ejemplo) SeaNr = Nf +Nnf, dondeNr = Nmero de requerimientos Nf = Nmero de requerimientos funcionales Nnf = Nmero de requerimientos NO funcionales

Especificidad (ausencia de ambigedad)Q1 = Nui / Nr, dondeNui = nmero de requerimientos donde todos los revisores tuvieron interpretaciones idnticas.

26

19.4 Mtricas del Modelo de Diseo Proporcionan al diseador una mejor visin interna Ayudan a que el diseo evolucione a un nivel superior de calidad Se dividen en:Mtricas de diseo arquitectnico Mtricas de Diseo a nivel de componente

19.4.1 Mtricas de diseo arquitectnico Mtricas de complejidad propuestas por Card y Glass en 1990 Complejidad estructural S(i) = f2out (i), donde fout (i) = expansin del mdulo i (nmero inmediatamente subordinados al mdulo i) de mdulos

Complejidad de Datos. Sobre la interfaz interna del mdulo. D(i) = v(i) / [fout (i) + 1], donde CS = i (S(i) + D(i)) v(i) es el nmero de variables que entran o salen del mdulo.

Complejidad Total del Sistema.

Complejidad Relativa del Sistema CRS = Promedio((S(i) +D(i))) A medida que crecen los valores de complejidad, crece la complejidad arquitectnica del sistema. CRS>26.5, malo

27

Suponga el siguiente DE de un cajero automtico

Calcular la complejidad total del sistemaMdulo Expansin del mdulo 4 0 0 1 2 1 Complejidad Estructural 16 0 0 1 4 1 22 Complejidad de Datos 1.6 6 3 2 3 2.5 17.9 Complejidad total del sistema= 39.9

Mdulo Ejecutivo ATM Introducir tarjetas Identificar NIP Solicitar Saldo Retirar Efectivo Calcular Entrega TOTALES

Complejidad Relativa = 6.65

28

Mtricas de diseo arquitectnico Henry y Kafura proponen en 1981 la mtrica de complejidad de expansin concentracin, que considera las estructuras de datos que recoge (concentran) o actualizan (expansin). MHK = longitud(i) x [fin (i) + fout (i)]2 , donde longitud(i) = nmero de sentencias en lenguaje de programacin

En 1991, Fenton propone medidas de morfologa simples basadas en la estructura de mdulos jerrquicos del sistema: Tamao = n + a (nmero de nodos + nmero de aristas) Profundidad Anchura Relacin arco-nodo, r = a/n

19.4.2 Mtricas de Diseo a nivel componentes Se centran en las caractersticas internas de las componentes del software e incluyen las medidas de las 3CCohesion (Cohesin) Coupling (Acoplamiento) Complexity (Complejidad, en el captulo 17)

Pueden aplicarse antes o despus de tener el cdigo.

29

Mtrica de Cohesin Para medir la cohesin se puede usar el trabajo de Bieman y Ott, el cual define varios conceptos:nmero de elementos (tokens), rebanada de datos (data slice), adhesivo (glue) y superadhesivo (superglue).

Con ellas se calcula la cohesin funcional fuerte CFF = nmero de superadhesivos / nmero de elementos

Cohesin Funcional Dbil, se calcula as:CFD = nmero de adhesivos / nmero de elementos

Mientras ms cercano sean CFF CFD a 1, mayor ser la cohesin del mdulo.

Mtrica de Cohesin Nmero de elementos. Son todas las referencias a variables y constantes que se utilizan en el mdulo. Si una variable aparece varias veces, cada una se toma como un elemento. Para distinguirlos se les puede agregar como subndice un nmero que dice si es la primera aparicin, la segunda u otra.

Rebanada de datos. Es el conjunto de variables y constantes que afectan el valor de una variable dentro del mdulo. Se forma como sigue:a) se comienza por una variable de resultado (ya sea regreso de una funcin o variable de salida), usualmente al final, donde guarda su valor definitivo y se agrega a la rebanada, incluyendo el subndice que le toc al revisar los elementos. Se analiza el lado derecho de la asignacin y se anotan las variables y constantes que intervienen en el clculo de su valor. Para cada elemento de la rebanada, se revisan las lneas anteriores disminuyendo una a una, repitiendo el proceso del paso b.

b) c)

30

Mtrica Cohesin Adhesivo. Se le llamar adhesivo a un elemento que aparece en dos o ms rebanadas. Superadhesivo. Se denomina superadhesivo a un elemento que est en todas las rebanadas de un mdulo.

Ejemplo 1 procedure SumAndproduct (N:integer; var SumN, ProdN: integer); 2 var I:integer; 3 begin 4 SumN := 0; 5 ProdN := 1; 6 for I := 1 to N do 7 begin 8 SumN := SumN + I; 9 ProdN := ProdN * I; 10 end; 11 end. Elementos: {N1, SumN1, ProdN1, I1, SumN2, 01, ProdN2, 11, I2, 12, N2, SumN3, SumN4, I3, ProdN3, ProdN4, I4} Nmero de elementos = 17 Rebanada de SumN: {SumN3, SumN4, I3, I2, 12, N2, SumN2, 01, N1, I1, SumN1} Rebanada de ProdN: {ProdN3, ProdN4, I4, I2, 12, N2, ProdN2, 11, N1, I1,Prod1} Adhesivos: I2, 12, N2, N1, I1 Superadhesivos: I2, 12, N2, N1, I1 CFF = 5/ 17 = 0.294 CFD = 5 / 17 = 0.294

31

Mtrica de Acoplamiento Proporciona una indicacin de la conectividad de un mdulo con otros. Medida propuesta por Dhama en 1995 Medidas para el acoplamiento de flujo de datos y de controldi = nmero de parmetros de datos de entrada ci = nmero de parmetros de control de entrada do = nmero de parmetros de datos de salida co = nmero de parmetros de control de salida

Mtrica de Acoplamiento Medidas para el acoplamiento globalgd = nmero de variables globales usadas como datos gc = nmero de variables globales usadas como control

Medidas para el acoplamiento de entorno:w = nmero de mdulos llamados r = nmero de mdulos que llaman al mdulo en cuestin

32

Mtrica de Acoplamiento Indicador de acoplamiento de mdulomc = k / M, dondek = 1, constante de proporcionalidad M = di + a x ci + do + b x co + gd + c x gc + w + r, con a = b = c = 2

Cuando mayor es mc, menor es el acoplamiento del mdulo.

19.4.3 Mtricas de diseo de Interfaz En 1993, Sears propone la mtrica Conveniencia de la Representacin (CR) demide la transicin de una entidad de representacin a otra dentro de una GUI1.

Entre las entidades de representacin (er) de una GUI estn:Iconos, campos de edicin, mens y ventanas

Se asigna el costo a cada secuencia de accin como sigue: Costo = [frecuencia de transicin (k) x costo detransicin (k)], donde k es la transicin especfica de una entidad de representacin a la siguiente cuando se realiza una tarea especfica1

Graphic User Interface

33

Mtricas de diseo de Interfaz La conveniencia de representacin se calcula como: CR = 100 x [(costo de representacin ptima) / (costo de representacin propuesta)] CR sera igual a 100 como mejor medida

Para el clculo de la representacin ptima se hace: Dividir la pantalla en una cuadrcula en donde cada cuadro representa una er. Si se tiene una cuadrcula de N posiciones y K diferentes er, entonces el nmero de posibles distribuciones es: [N! / (K! (N K)!] K!

Alternativamente, se puede hacer un algoritmo de bsqueda de rbol.

1

Graphic User Interface

Mtricas de diseo de Interfaz CR se utiliza para distribuciones. Se puede utilizar una CR evaluar diferentes

Por otro lado, Nielsen y Levy en 1994 proponen mejor consultar al usuario sobre cmo le gustara su GUI.NOTA: El trabajo de consulta del usuario tambin es laborioso y cansado.

1

Graphic User Interface

34

19.5 Mtricas del Cdigo Fuente Nota: Lneas de cdigo representa la medida ms simple e inmediata para el cdigo fuente. Otra mtrica que ha sido fuertemente estudiada, pero que no se le ha encontrado un significado prctico es la de Halsted, propuesta en 1977. Tericamente, deben existir varias medidas para un algoritmo.

Mtricas del Cdigo Fuente La forma de calcularlas es con las siguientes cantidades:n1 = nmero de operadores diferentes en el programa n2 = nmero de operandos distintos en el programa N1 = nmero total de veces que aparecen los operadores N2 = nmero total de veces que aparecen los operandos

35

Mtricas del Cdigo Fuente Las mtricas de Halstead, seran:Longitud global del programaN = n1 log2 n1 + n2 log2 n2

Volumen del programaV = N log2 (n1 + n2)

Volumen compacto (ya dependiendo del lenguaje)L = 2 / n1 x n2 / N2

que

V

vara

19.6 Mtricas de Prueba La que existen se concentran en el proceso de prueba y no el las caractersticas tcnicas de la prueba. Los responsables de la prueba, se guan por las mtricas de anlisis, diseo y cdigo. Puntos de Funcin Bang Halstead Complejidad ciclomtica

36

19.7 Mtricas de Mantenimiento En el estndar IEEE 982.1-1998, se propone un ndice de Madurez del Software (IMS).Proporciona una indicacin de la estabilidad del producto de software y se expresa como: IMS = [Mt - (Fc + Fa + Fd )] / Mt, donde Mt = nmero de mdulos en la versin actual Fc = nmero de mdulos en la versin actual que han cambiado Fa = nmero de mdulos en la versin actual que se han aadido Fd = nmero de mdulos en la versin actual que han eliminado

37