MÉTRICAS La medición es esencial para cualquier disciplina de ingeniería y la ingeniería desoftware no es una excepción. Las métricas de software se refieren aun amplio rango demedidas para el software de computadoras dentro del contexto de la planificación delproyecto de software, las métricas de calidad pueden ser aplicadas a organizaciones,procesos y productos los cuales directamente afectan a la estimación de costos.En este existen métricas que podemos utilizar para evaluar lo que estamos haciendo eningeniería de software. Y es lo que veremos más adelante:• Criterios-Atributos que debe tener toda métrica para poder se aceptable .• Métricas para :Análisis Diseño Codificación Pruebade Proyecto orientadas a (tamaño y funcionalidad)Atributos de una MétricaLa métrica tiene varios atributos importantesen lo que caben mencionar:•Simple y calculable Persuasiva.•Consistente y Objetiva•Consistente en sus unidades•Independiente del lenguaje Eficaz.
Métricas para análisis; En esta fase es deseable que las métricastécnicas proporcionen una visión interna a lacalidad del modelo de análisis. Estas métricasexaminan el modelo de análisis con laintención de predecir el “tamaño” del sistemaresultante; es probable que el tamaño y lacomplejidad del diseño estén directamenterelacionadas.Otras Métricas para el Modelo de AnálisisLa Métrica BangPuede aplicarse para desarrollar una indicación deltamaño del software a implementar como consecuenciadel modelo del análisis.Métricas de la calidad de la especificación:En estas métricas se emplea una lista de característicasque pueden emplearse para valorar la calidad del modelode análisis y la correspondiente especificación derequisitos
Métricas para diseño
En este se genera la definición de la arquitectura del sistema y del entornotecnológico que le va a dar soporte, junto con la especificación detallada de loscomponentes del Sistema de Información.METRICAS DE ALTO NIVEL:Las métricas de alto nivel nos ayudan a localizar los módulos mas complejosy, por lo tanto, aquellos en los que debemos poner especial atención. También esutilizada para saber el número de módulos asignados a cada trabajador
METRICAS DE BAJO NIVEL:Las métricas de bajo nivel también llamadas métricas de caja blanca son lasque nos ayudan a conocer las interioridades del sistema. Hay tres tipos de métricasde bajo nivel:De cohesiónDe acoplamientoDe complejidadMétricas de códigoLa teoría de la ciencia del software propuesta porHalstead es probablemente la medida decomplejidad mejor conocida y minuciosamenteestudiada. La ciencia del software propuso laprimera ley analítica y cuantitativa para el softwarede computadora.Utiliza un conjunto de medidas primitivas quepueden obtenerse una vez que se han generado oestimado el código después de completar el diseño
Estas medidas son:número de operadores diferentes queaparecen en le programa.n2: número de operandos diferentes queaparecen en el programa.N1: número total de veces que aparece eloperador.N2: número total de veces que aparecen eloperando.Halstead utiliza medidas primitivas para desarrollar expresionespara la longitud global del programa; volumen mínimo potencial paraun algoritmo; el volumen real (número de bits requeridos paraespecificar un programa); el nivel del programa (una medida de lacomplejidad del software); nivel del lenguaje (una constante para unlenguaje dado); y otras características tales como el esfuerzo dedesarrollo, tiempo de desarrollo e incluso el número esperado de fallosen el software.Halstead propone las siguientes métricas:Longitud N se puede estimar como: N = n1log2n1+n2log2n2.Volumen de programa se define como:V = N n1log2(n1+ n2). Tomando en cuenta que V variarácon el lenguaje de programación y representa el volumende información (en bits) necesarios para especificar unprograma.Teoría de Halstead
Métricas de pruebaLa mayoría de las métricas para pruebas se concentran en elproceso de prueba, no en las características técnicas de las pruebasmismas. En general, los responsables de las pruebas deben fiarse en lasmétricas de análisis, diseño y código para que sirvan de guía en el diseñoy ejecución de los casos de prueba.El esfuerzo de las pruebas también se puede estimar utilizandométricas obtenidas de las medidas de Halstead. Usando la definición delvolumen de un programa, V, y nivel de programa, NP, el esfuerzo de laciencia del software puede calcularse como:NP = 1/[(n1/2) x (N2/n2)]n1: no de operadores diferentesn2 : no de operandos diferentesN2 : no total de Operandos Métricas de Proyecto En este punto ,trataremos de reflejar lo que es laproductividad y los dos tipos fundamentales quetiene que ver con:El tamaño del código.La funcionalidad del código.Este se utilizan para evaluar el trabajo y losresultados , así como par a poder estimar lo que va aocurrir en distintas fases del proyecto.
ProductividadCuando se produce soluciones con diferentesatributos, no tiene sentido comparar tasas deproductividad, sin embargo las estimaciones sonnecesarias para las estimaciones del proyecto y paravalorar si los procesos o las mejoras tecnológicasson efectivas.Por lo general estas estimaciones se basan en mediralgunos atributos del software y dividir el resultadoentre el esfuerzo total requerido para el desarrollo.Relacionadas con el Tamaño:Se relacionan con el tamaño de alguna salidade una actividad. La medida más común sonlas líneas de código fuente entregadas.También se utiliza el número de instruccionesde código objeto entregado o el número depáginas de la documentación del sistema
Relacionadas con el Tamaño:Con estas se pueden mantener un registro del softwaredesarrollado por la empresa. Estos valores y sus proporcionespueden variar mucho de una empresa a otra. Por eso es muyimportante la particularización.Para cada proyecto podemos ObtenerProductividad = KLDC/p-mesCalidad = Errores/KLDCCoste = Dinero/ KLDCDocumentacion? = Pg. Doc./KLDC Relacionadas? con el Tamaño:20,20027,20012,100LDC664105020.23140043Daina586122427.24400062Hilda32936512.11680024IgorPersonasErroresPg.Doc KLDC Euros P?-Mes Proyecto La? empresa puede intentar mantener unos estándares y evaluar laproductividad de equipos de trabajos, e incluso las personas involucradas en ella.Pero con la Desventaja de que este tipo de métrica varia con cada lenguaje deProgramación.
Relacionadas con la función:Se relacionan con la funcionalidad total delsoftware entregado.La productividad se expresa en términos de lacantidad de funcionalidad útil producida en untiempo dado. Ejemplos de esta medidas sonpuntos de función y puntos de objetos.Punto FunciónLa métrica del punto de función (PF) sepuede utilizar como medio para predecir eltamaño de un sistema obtenido a partir de unmodelo de análisis. Para visualizar estamétrica se utiliza un diagrama de flujo dedatos, el cual se evaluar para determinar lassiguientes medidas clave que son necesariaspara el cálculo de la métrica de punto defunción:
La cuenta total debe ajustarse utilizando la siguienteecuación:PF = cuenta-total x (0,65 + 0,01 x ∑Fi)Donde cuenta-total es la suma de todas las entradasPF y Fi (i=1 a 14) son los “valores de ajuste decomplejidad”.•Número de entradas del usuario•Número de salidas del usuario•Número de consultas del usuario•Número de archivos•Número de interfaces externasPunto Función Relacionadas? con la función:El fin de la métricas del proyecto es intenta estimar lafuncionalidad y la utilidad del sistema antes de comenzar( solo con los requisitos de usuarios ).Su objetivo es poder versi el sistema va a ser complejo en su irrealización. Desde unprimer momento podemos ver algunas relaciones duales a lasque teníamos con las KLDC.Productividad =PF / P-mesCalidad = Errores/PF Coste = Euros/PF Documentación? = Pg.Doc /PF