Está en la página 1de 9

Mtricas del Software

Tema 33. Mtricas del Modelo de Anlisis. (pressman 18) Tema 34. Mtricas del Modelo de Diseo. Tema 35. Mtricas del Cdigo Fuente. Tema 36. Mtricas para Pruebas. (soft test. fundam. cap 5)

1.
1.

MTRICAS DEL SOFTWARE


Definicin, necesidad y marco de implantacin, elementos software
Definicin Son medidas, generalmente no absolutas pero s objetivas, que proporcionan una forma sistemtica de valorar la calidad de los elementos Sw basndose en un conjunto de reglas bien definidas. Nos alejamos de apreciaciones subjetivas y poco traceables. Medida y mtrica
Un medida es una mtrica, pero muchas veces muchas medidas forman una mtrica. Este es el caso de las medidas de cdigo

Necesidad del proceso de medida del software Ver el proceso software como un sistema de control Controlar
Impacto que tendrn los elementos software desarrollados en el desarrollo de las siguientes fases y productos software (diseo-> pruebas) Progreso real del desarrollo de los productos software Proporcionar medidas para los criterios de finalizacin de los productos software

Deben de estar enmarcadas dentro de un plan general de desarrollo o organizacin ya que son el primer eslabn en un proceso de calidad Sw que define: Proceso de adquisicin Proceso de sntesis Proceso de distribucin selectivo 2.

Panorama actual: controversia, exigencia, obtencin automtica, registro de mtricas, realimentacin


Controversia de las mtricas Sw No son posibles No son tiles No se aplican Incluso en muchos libros de calidad Sw o de Ing. Sw se omite el tema de las mtricas Exigencia: Para certificacion CMMI Para optimizacin del proceso Obtencin automtica Sobre todo en medidas de cdigo Peligro del exceso de mtricas Ejemplo de herramientas: REVIC de la USAF, SOFTTEST para planificacin, Rational Coverage medidas de cobertura, CCCC para medidas de cdigo, Gprof para medidas de rendimiento y analisis de cdigo Registro de mtricas La NASA tiene un servicio a travs de SATC (Software Assurance Technology Center) para proporcionar historicos de mtricas en donde se proporcionan tipos de mtricas, las definiciones y el histrico. Realimentacin

3.

Clasificacin: origen, cualitativas/cuantitativas, objetivo y fase de aplicacin


Origen Primarias y secundarias Clases Cualitativas - automatizables Cuantitativas - de revision e inspeccion pero no por ello no objetivas Objetivo Control del proceso
Progreso, coste, estimacin de tamao

Control del producto


Calidad, seguridad ..

Luis de Salvador Carrasco

Fase de aplicacin Mtricas del modelo de anlisis, de diseo, de pruebas Mtricas de mantenimiento 4.

Estructura general de un mtrica. Caractersticas: simple, emprica, consistente, independiente, eficaz


Estructura general de una mtrica Caractersticas Simple y fcil de calcular Emprica e intuitivamente persuasiva Consistente y objetiva
Son interesantes aunque mtricas exitosas como PF no cumplen con consistencia y objetividad Consistente en el empleo de unidades y tamaos

Independiente del lenguaje de programacin Eficaz: mecanismo para realimentar la calidad

2.
5.

T33 - MTRICAS DEL MODELO DE ANLISIS


Introduccin al anlisis. Objetivo: medir requisitos, arquitectura alto nivel, impacto en fases sucesivas
Introduccin a los requisitos En esta fase se obtienen los requisitos y se establece el fundamento para el diseo
Mediante casos de uso, diagramas de flujo de alto nivel, etc.

Tema -> Requisitos Estas mtricas examinan: La bondad de los requisitos 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 relacionados. Hay relativamente pocas mtricas en este campo. 6.

Mtricas de la calidad de especificacin: especificidad, consistencia, completitud, validacin, realismo, verificabilidad


Desarrollado por Davis, su objetivo es medir la calidad del modelo de anlisis y la correspondiente especificacin de requisitos. Desarrolla las siguientes mtricas: Especificidad de requisitos
Pretende determinar si los requisitos se encuentran bien expresados. Mide la relacin entre los requisitos que han sido interpretados de igual forma por los revisiores y los requisitos totales.

Consistencia
No hay conflicots

Completitud de los requisitos funcionales


Pretende determinar el nmero de requisitos funcionales que se han especificado. La relacin entre el nmero de funciones especificadas y el producto entre el nmero de datos/eventos de entrada multiplicado por el nmero de estados.

Grado de validacin de requisitos


Porcentaje de requisitos que se han validado como correctos.

Chequeo de realismo
tecnologa, coste y tiempo.

Verificabilidad:
Los requisitos han de poder ser verificables. Hay que construir en paralelo el documento de validacin.

7.

Mtricas de Arquitectura: Qu es, Metrcas: subsistemas, mdulos, datos, control


Pretende medir la complejidad del diseo de alto nivel. Se concentra en la complejidad de la arquitectura, con de caja negra, aunque rompan el diseo, no entran en ningn caso a evaluar el cdigo. Mtricas Complejidad del subsistema
La suma de las anteriores. Ponderada si es un sistema de control o de bases de datos

Complejidad de mdulos

Luis de Salvador Carrasco

Cuantos mdulos dependen directamente de uno. Medidas de expansin y concentracin Se modela el grafo de dependencias entre mdulos y se estudia a lo ancho y a lo alto. Cada arista es una conexin de control Nmero de estructuras de datos que el mdulo recoge (concentracin) o actualiza (expansin).

Complejidad del control Complejidad de los datos


En funcin del nmero de entradas y salidas de cada mdulo. Pero visto de forma global.

8.

Punto de funcin. Ingeniera: punto de caracterstica, PF3D. Estimacin de lneas. Punto Objeto. Bang
Punto de funcin Mide la funcionalidad realizada por un mdulo o aplicacin. Est orientada a sistemas de gestin Para medirlo indirectamente se analizan:
Nmero de entradas/salidas de usuario Nmero de consultas por usuario Nmero de archivos Nmero de interfaces externas

En funcin de la complejidad de los mdulos, se asignan una serie de pesos y el resultado es una combinacin lineal de las mismas. Funcin de los pesos
Los pesos son un parmetro de ajuste que se afina en funcin: De la historia de la empresa Del equipo de desarrollo. Del tipo de aplicacin

Adaptacin del PF a sistemas de ingeniera: punto de caracterstica y PF3D Punto de caracterstica


Intenta reflejar en su medida tambin la complejidad del algoritmo cuando este es muy complejo. Para ello aade un nuevo concepto, el algoritmo y lo aade a la funcin de peso.

Punto de funcin 3D
Desarrollada por Boeing para sistema en tiempo real. Considera la medida del punto de funcin como formada por tres componentes La dimensin de los datos, como lo indicado anteriormente La dimensin funcional, evala el nmero de operaciones necesarias para transformar los datos de entrada en datos de salida, lo algoritmos. La dimensin de control, mide el nmero de transiciones entre estados Luego se realiza la composicin lineal mediante un sistema de pesos

Estimacin de tamao de cdigo A partir del tamao de puntos de funcin se puede calcular el tamao medio de lneas de cdigo mediante un peso. Punto Objeto No son objetos Sino que se consideran objetos de negocio a partir de sistemas diseados con lenguajes de 4GL Se mide:
Nmero de pantallas Nmero de informes Nmero de mdulos 3GL a desarrollar

Se aaden los pesos y ya est Mtrica Bang Definicin


Desarrollada por deMarco analiza el DFD de una aplicacin, da una medida de la complejidad de la aplicacin ha desarrollar. DFD -> Tema Diseo -> Arquitectura Se le llama bang por que va explorando cada una de las burbujas del modelo DFD

Proceso Es un proceso recursivo


Evala en principio un conjunto de primitivas que miden los componentes del diagrama de flujo: Transformaciones, datos, relaciones, estados transiciones del sistema Aquellos que no son del entorno de la burbuja (la estamos explotando) pero se ven afectados por ste y han de ser modificados. Luego diferencia entre: Dominio de funcin (aplicaciones de control)

Luis de Salvador Carrasco

La valoracin la realiza en funcin de la complejidad de las burbujas (entradas, salidas, estados) Dominio de datos para aplicaciones de proceso. La valoracin se realiza en fncin de las relaciones de los objetos de datos definidos Todas las valoraciones se ponderan con un sistema de pesos.

9.

Mtricas de diseo orientado a objetos: Alto nivel: (profundidad de herencia, descendientes, acoplamiento, invalidacin en la herencia, aadidas por subclase), Bajo nivel (mtodos por clase, respuesta, cohesin, tamao), Operacin (tamao, complejidad)
Introduccin al diseo orientado a objetos Tema Diseo->Orientado a objetos Mtricas de clase alto nivel Arbol de profundidad de herencia
Si es demasiado profundo las clases inferiores heredan muchos mtodos y mucha complejidad en el diseo.

Nmero de descendientes
Complementaria de la anterior, cuantos ms descendientes la cantidad de pruebas tambin crecer.

Acoplamiento entre clases


En funcin del nmero de mtodos de otras clases invocados por otra

Nmero de operaciones invalidades por subclases


Indica una mala organizacin del mecanismo de herencia.

Nmero de operaciones aadidas por una subclase


Es un ndice del grado de especializacin.

Mtricas de clase de bajo nivel Mtodos ponderados por clase


Se asigna a cada mtodo de la clase su complejidad Se suma la complejidad de todos los mtodos de la clase Indica la cantidad de esfuerzo de diseo y lo complejo que ser el arbol de herencia.

Respuesta para una clase


Nmero de mtodos invocados en una clase como respuesta a un mensaje. Incrementa la complejidad de las pruebas.

Coherencia de cohesin de mtodos


Nmero de atributos invocados por un mtodo Si este es pequeo o disjunto la coherencia es baja

Tamao de la clase
En funcin del nmero de mtodos y atributos Valores grandes indican una mala divisin. Las operaciones pblicas y heredadas se ponderan ms.

Mtricas de operaciones Tamao medio de la operacin


No se emplea el nmero de lneas de cdigo, si no el nmero de mensajes enviados por la operacin

Complejidad de la operacin
Con cualquier mtrica

Nmero medio de parmetros por operacin


Cuanto mayor sea, mayor ser la complejidad.

3.

T34 - MTRICAS DEL MODELO DE DISEO


10. Introduccin al diseo, Objetivos: calidad y impacto en fases sucesivas. Objetivo Llevar un control de la calidad del producto que se est desarrollando Estimar el impacto que ese producto tendr en las fases posteriores del proceso de desarrollo Hay muchas mtricas disponibles en el modelo de diseo. Se estructuran en: Mtricas de diseo de alto nivel Mtricas de diseo de componentes Mtricas de diseo de interfaz. Mtricas de diseo OO 11. Mtricas de Arquitectura: Qu es, Mtricas: subsistemas, mdulos, datos, control. Punto de

funcin, punto de caracterstica, PF3D, bang


Tema->Anterior

12. Mtricas de diseo orientado a objetos: clases c.negra, c. blanca, de mtodos

Luis de Salvador Carrasco

Tema->Anterior

13. Mtricas de diseo de los componentes: cohesin, acoplamiento, complejidad Son mtricas de caja blanca Definicin de estos trminos Tema Diseo -> Introduccin Mtricas de cohesin Se analiza el cdigo para determinar cuantos conjuntos (porciones de datos) se pueden definir en el mismo en funcin de los datos que se manejan. Se define el conjunto desde el inicio del empleo de la variable hasta su final. Se eliminan los supercojuntos. Se establecen el conjunto de datos (seales de datos) que participan en ms de un conjunto. Se define la cohesin como una relacin entre las seales de datos y las porciones de datos. Si es igual, la cohesion es muy dbil, si es alta la cohesin es fuerte. Mtricas de acoplamiento Las mtricas de acoplamiento se definen a varios niveles:
Flujo de datos y de control Toma en cuenta datos y parmetros de control de entrada/salida Global Variables de entrada y salida globales Entorno Nmero de mdulos llamados (expansin) Nmero de mdulos a los que presto servicio (concentracin)

Con todos estos todos valores se realiza una suma y se calculo su inverso Cuanto ms nos acerquemos a 0 mayor ser el acoplamiento Mtricas de complejidad Hay muchas, la ms interesante la mtrica de medida de la complejidad ciclomtica. Tema-> Validacin 14. Mtricas de diseo de interfaz: transacciones, coste, coste ideal Interfaces GUI Emplean iconos de representacin Iconos, textos campos Son el soporte de las transaccines Pretenden medir la complejidad en la realizacin de transacciones en un sistema grfico. Calcula para cada cada transaccin el valor de la frecuencia de la transaccin x el coste de la transaccin Evala el coste para cada transaccin y se determina el coste total del interface GUI Finalmente se determina la relacin con el coste ideal. Medidas de coste: Nmero de iconos o elementos que forman parte de la transaccin Posiciones absolutas y relativas de cada uno de los elementos en la pantalla. N saltos entre pantallas para evaluar la transaccin Para evaluar el coste ideal: Se divide la pantalla en una cuadrcula. Se hace un desarrollo en rbol del conjunto de controles o parmetros que ha de actualizar el cliente por transaccin completa (incluyendo varias pantallas). Se calcula el coste de esta ventana ideal.

4.

T35 - MTRICAS DEL CDIGO FUENTE


15. Introduccin a la codificacin. Objetivo, Relatividad y Tipos Diferenciar con medidas de rendimiento del ejecutable Objetivo Determina la calidad de la fase de codificacin
Habilidad del programador En funcin de la relacin entre el tamao mnimo de un algoritmo y el algoritmo efectivamente desarrollado Calidad del cdigo En funcin a la adecuacin a un manual de estilo

Impacto de la codificacin en las etapas futuras


Esfuerzo en las misiones de depuracin Reutilizacin del cdigo Mantenibilidad

Luis de Salvador Carrasco

Relatividad de las mtricas del cdigo fuente Dependientes


Del lenguaje de programacin en su capacidad de abstraccin Del estido de programacin

Tipos Estticas
Con el cdigo como un elemento inamovible

Dinmicas
Considerando el cdigo como un elemento en evolucin

Enumeracin
Las mtricas solo se dedican a contar

Anlisis
Complejidad ciclomtica

16. Mtricas estticas no orientadas a objetos: no-ejecutables, ejecutables, estructura Sentencias no-ejecutables Preprocess
(imports) The total number of preprocessor lines in a project (e.g. #include)

Blank
The total number of blank lines that contain no code or comments on the line found in a project

Comm
Total number of comments freestanding + inline comments

% Comment
Comm / (LOC - Blank)

Ejecutables LOC
The total Lines of Code found in a project (Source lines + Blank lines + comment lines)

Exec. Stmts.
Total number of executable statements in a project

#goto
The total number of GOTOs in a project

NCNB
(Non-Comment Non-Blank) also known as Source Lines of Code

#sql
The total number of sequel calls in a project

Estructura de despliegue # File


The total number of files in a project

# Modules
The total number of modules in a project

17. Mtricas anlisis del cdigo Complejidad ciclomtica Tema->Validacin 18. Mtricas numricas estticas orientadas a objetos sobre el cdigo Tema->Tema anterior, mtricas de diseo de bajo nivel y operaciones 19. Mtricas dinmicas: Codificacin, Test unit., Test sistema, Validacin Consisten en medidas sobre la evolucin del cdigo durante el ciclo de desarrollo. Se basan en la utilizacin de herramientas de control de versiones. Durante la fase de codificacin Velocidad en el proceso de codificacin Durante la fase de test unitario, integracin y sistema Nmero de cambios para medir el impacto sobre la repeticin de diseo, prueba y los problemas de las especificaciones.

5.

T36 - MTRICAS PARA PRUEBAS


20. Estrategias, objetivos, el error, perfiles de fallo, priorizacin, categorizacin, registro Estrategia de pruebas

Luis de Salvador Carrasco

Pruebas unitarias Pruebas de integracin Pruebas de sistema Pruebas de validacin. Objetivos principales en cada una de las etapas Determinar las cantidades posibles de pruebas
Alimentan al jefe de proyecto para tomar decisiones sobre que elementos realizar los procesos de prueba y los recursos y tiempos que consumir la pruebas

Medir la calidad y el volumen de pruebas (esfuerzo) realizado. Determinar cuando parar las pruebas. El error, perfiles de fallo, priorizacin y categorizacin V&V->Mtodos de pruebas Registro Propsito de tener experiencia para abordar futuras pruebas. 21. Mtricas de pruebas unitarias (caracterstica, cantidad, calidad y volumen, detencin). Caracterstica de las pruebas unitarias Cantidad de pruebas Complejidad ciclomtica Calidad y volumen de pruebas Medidas de sentencias, condiciones, cobertura, flujo de datos. Calidad: nmero de errores por prueba Determinacin de cuando detener las pruebas Cuando se haya cumplido el criterio inicial de limitacin de cantidad de pruebas. 22. Mtricas para las pruebas de integracin Caractersticas de las pruebas de sistema y mtodos de integracin Cantidad de pruebas en no orientados a objetos: Mtricas de diseo de alto nivel: complejidad de datos, estructural, sistema, expansin/concentracin
Mtricas de diseo

Mtrica bang Cantidad de pruebas en orientados a objetos Encapsulamiento:


Carencia de Cohesin en Mtodos (CCM). Cuanto ms alto sea el valor de CCM, ms estados tendrn que ser probados para asegurar que los mtodos no den lugar a efectos secundarios. Porcentaje Pblico y Protegido (PPP). Los atributos pblicos se heredan de otras clases, y por tanto son visibles para esas clases. Los atributos protegidos son una especializacin y son privados de alguna subclase especfica. Esta mtrica indica el porcentaje de atributos de clase que son pblicos. Unos valores altos de PPP incrementan la probabilidad de efectos colaterales entre clases, y por lo tanto es preciso disear comprobaciones que aseguren que se descubran estos efectos colaterales. Acceso Pblico a Datos miembros (APD). Esta mtrica muestra el nmero de clases (o mtodos) que pueden acceder a los atributos de otra clase, violando as el encapsulamiento. Unos valores altos de APD dan lugar a un potencial de efectos colaterales entre clases. Es preciso disear comprobaciones para asegurar que se descubran estos efectos colaterales.

Herencia
Nmero de Clases Raz (NCR). Esta mtrica es un recuento de las jerarquas de clases distintas que se describen en el modelo de diseo., en donde ser preciso desarrollar conjuntos de pruebas para cada una de las clases raz, y para la correspondiente jerarqua de clases. A medida que crece NCR crece tambin el esfuerzo de comprobacin. Admisin (ADM). Cuando se utiliza en el contexto 00, la admisin es una indicacin de herencia mltiple. Cuando la ADM sea mayor a 1, indica que una clase hereda sus atributos y operaciones de ms de una clase raz. Siempre que sea posible, es preciso evitar un valor de ADM mayor a 1.

Calidad y volumen de pruebas Amplitud de las pruebas


Proporciona una indicacin de cuantos mdulos (del nmero total de ellos) se han probado. Esto proporciona una indicacin de la complexin del plan de pruebas

Determinacin de cuando detener las pruebas Cuando se haya cumplido los requisitos iniciales 23. Mtricas para las pruebas de sistema

Luis de Salvador Carrasco

Cantidad Prueba estadstica Perfil operativo Calidad y volumen Nmero de dominios ejecutados Pefiles de fallo Mtricas para detener las pruebas Cuando se hayan cumplido los requisitos iniciales Pefiles de fallo 24. Mtricas para las pruebas de validacin Cantidad PF, PF3D, Punto caracterstico, Punto Objeto Calidad y volumen Nmero y prioridad de las especificaciones Mtricas para detener las pruebas Perfiles de fallo

Luis de Salvador Carrasco

También podría gustarte