Vous êtes sur la page 1sur 18

LAS MTRICAS

INTRODUCCIN
Se sabe (o conoce) que algunas de las actividades de desarrollo del proyecto de software comprenden medicin y mtricas, estimacin, anlisis de riesgo, planificacin del programa, seguimiento y control. El recopilar datos (investigacin histrica), calcular mtricas (LDC, PF, mtricas de calidad, orientadas a objetos, etc.) y evaluar mtricas, son algunos de los pasos que se deben realizarse al comenzar un producto. Hoy da es cada vez ms frecuente la consideracin de mtricas de software, es por eso que s estn implantando en la actualidad, llevando consigo puntos dbiles (aumento de esfuerzo...) y fuertes (alta calidad, reusabilidad, madurez...) que estn experimentado los ingenieros y administradores de software. El uso de stas se ha adoptado con xito en el amplio mercado de desarrollo de software introduciendo reconocimientos y consideraciones por parte de administradores y usuarios, y estableciendo la necesidad de un enfoque ms disciplinado y de una alta calidad. As muchos particulares y compaas desarrolladoras de software, estn reconociendo la importancia del uso de las mtricas, aunque de igual modo siguen sin conocer el alcance de madurez y calidad del producto final y la disciplina de ingeniera madura que llega a alcanzar con la aplicacin de los distintos mtodos y tcnicas y la interpretacin de los resultados que proyecta el uso de las mtricas; provocando con esto un cambio cultural en los desarrolladores mexicanos de software, puesto que la mayora de estos no cuentan con una educacin formal sobre la medicin. Es por eso que a continuacin se dar a conocer el propsito esencial de la investigacin de las distintas mtricas existentes (pblicas) y el uso de las mismas, y tambin se dir del porque se decidi realizar un manual y un tutorial accesible en Web.

CAPITULO I CONCEPTOS BSICOS DE MTRICAS


Empezaremos por definir los posibles trminos que se encuentran encerrados en la palabra mtrica, porque es muy comn asociarla con las palabras medicin y medida, aunque estas tres son distintas. La medicin es el proceso por el cual los nmeros o smbolos son asignados a atributos o entidades en el mundo real tal como son descritos de acuerdo a reglas claramente definidas Una medida proporciona una indicacin cuantitativa de extensin, cantidad, dimensiones, capacidad y tamao de algunos atributos de un proceso o producto. El IEEE Standard Glosary of Software Engering Terms define mtrica como una medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado. existen distintos tipos de mtricas para poder evaluar, mejorar y clasificar al software final, en donde sern manejadas dependiendo del entorno de desarrollo del software al cual pretendan orientarse.

1.1 QU SON LAS MTRICAS DE SOFTWARE?


Michael [99] define las mtricas de software como La aplicacin continua de mediciones basadas en tcnicas para el proceso de desarrollo del software y sus productos para suministrar informacin relevante a tiempo, as el administrador junto con el empleo de estas tcnicas mejorar el proceso y sus productos. Las mtricas de software proveen la informacin necesaria para la toma de decisiones tcnicas.

Las mtricas son la maduracin de una disciplina, que, segn Pressman [98] van a ayudar a la (1) evaluacin de los modelos de anlisis y de diseo, (2) en donde proporcionarn una indicacin de la complejidad de diseos procedimentales y de cdigo fuente, y (3) ayudaran en el diseo de pruebas ms efectivas; Es por eso que propone un proceso de medicin, el cual se puede caracterizar por cinco actividades: Formulacin: La obtencin de medidas y mtricas del software apropiadas para la representacin de software en cuestin. Coleccin: El mecanismo empleado para acumular datos necesarios para obtener las mtricas formuladas. Anlisis: El clculo de las mtricas y la aplicacin de herramientas matemticas. Interpretacin: La evaluacin de los resultados de las mtricas en un esfuerzo por conseguir una visin interna de la calidad de la representacin. Realimentacin: Recomendaciones obtenidas de la interpretacin de mtricas tcnicas trasmitidas al equipo de software.

Las mtricas de software incluyen otras varias actividades, tales como: Estimacin de costo y el esfuerzo Medicin de la productividad Acumulacin de datos Realizacin de modelos y mediciones de la calidad Elaboracin de modelos de seguridad Evaluacin y modelos de desempeo Valoracin de las capacidades y de la madurez Administracin por mtricas Evaluacin del mtodo y herramientas

1.2 CLASIFICACIN DE MTRICAS


La clasificacin de una mtrica de software refleja o describe la conducta del software. A continuacin se muestra una breve clasificacin de mtricas de software, descritas por Lem O. Ejiogu [91]: Mtricas de complejidad: Son todas las mtricas de software que definen de una u otra forma la medicin de la complejidad; Tales como volumen, tamao, anidaciones, costo (estimacin), agregacin, configuracin, y flujo. Estas son los puntos crticos de la concepcin, viabilidad, anlisis, y diseo de software. Mtricas de calidad: Son todas las mtricas de software que definen de una u otra forma la calidad del software; Tales como exactitud, estructuracin o modularidad, pruebas, mantenimiento, reusabilidad, cohesin del mdulo, acoplamiento del mdulo, etc. Estas son los puntos crticos en el diseo, codificacin, pruebas y mantenimiento.

Mtricas de competencia: Son todas las mtricas que intentan valorar o medir las actividades de productividad de los programadores o practicantes con respecto a su certeza, rapidez, eficiencia y competencia. No se ha alcanzado mucho en esta rea, a pesar de la intensa investigacin acadmica.

1.2 CLASIFICACIN DE MTRICAS


Mtricas de desempeo: Corresponden a las mtricas que miden la conducta de mdulos y sistemas de un software, bajo la supervisin del sistema operativo o hardware. Generalmente tienen que ver con la eficiencia de ejecucin, tiempo, almacenamiento, complejidad de algoritmos computacionales, etc. Mtricas estilizadas: Son las mtricas de experimentacin y de preferencia; Por ejemplo: estilo de cdigo, identacin, las convenciones denominando de datos, las limitaciones, etc. Pero estas no se deben confundir con las mtricas de calidad o complejidad. Variedad de mtricas: tales como portabilidad, facilidad de localizacin, consistencia. Existen pocas investigaciones dentro del rea. Estas clasificaciones de mtricas fortalecen la idea, de que ms de una mtrica puede ser deseable para valorar la complejidad y la calidad del software.

1.3 DIFERENTES ENFOQUES DE MTRICAS


Se han propuesto cientos de mtricas para el software, pero no todas proporcionan suficiente soporte prctico para su desarrollo. Algunas demandan mediciones que son demasiado complejas, otras son tan esotricas que pocos profesionales tienen la esperanza de entenderlas, y otras violan las nociones bsicas intuitivas de lo que realmente es el software de alta calidad. Es por eso que se han definido una serie de atributos que deben acompaar a las mtricas efectivas de software, por lo tanto la mtrica obtenida y las medidas que conducen a ello deben cumplir con las siguientes caractersticas fundamentales:

CARACTERSTICAS FUNDAMENTALES DE LAS MTRICAS


Simple y fcil de calcular: debera ser relativamente fcil de aprender a obtener la mtrica y su clculo no obligara a un esfuerzo o a una cantidad de tiempo inusuales.
Emprica e intuitivamente persuasiva: la mtrica debera satisfacer las nociones intuitivas del ingeniero de software sobre el atributo del producto en cuestin (por ejemplo: una mtrica que mide la cohesin de un mdulo debera aumentar su valor a medida que crece el nivel de cohesin). Consistente en el empleo de unidades y tamaos: el clculo matemtico de la mtrica debera utilizar medidas que no lleven a extraas combinaciones de unidades. Por ejemplo, multiplicando el nmero de personas de un equipo por las variables del lenguaje de programacin en el programa resulta una sospechosa mezcla de unidades que no son intuitivamente concluyentes.

Independiente del lenguaje de programacin: las mtricas deberan apoyarse en el modelo de anlisis, modelo de diseo o en la propia estructura del programa. No deberan depender de los caprichos de la sintaxis o semntica del lenguaje de programacin.
Un mecanismo eficaz para la realimentacin de calidad: la mtrica debera suministrar al desarrollador de software informacin que le lleve a un producto final de superior calidad.

CAPTULO 3 MTRICAS EN EL DESARROLLO DEL SOFTWARE


3.1 Las Mtricas y la Calidad de Software El objetivo primordial de la ingeniera del software es producir un sistema, aplicacin o producto de alta calidad. Para lograr este objetivo, los ingenieros de software deben emplear mtodos 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 ingeniera del software deben medir si la alta calidad se va a llevar a cabo. A continuacin se ver un conjunto de mtricas del software que pueden emplearse a la valoracin cuantitativa de la calidad de software

3.2 MTRICAS DEL MODELO DE ANLISIS


En esta fase se obtendrn los requisitos y se establecer el fundamento para el diseo. Y es por eso que se desea una visin interna a la calidad del modelo de anlisis. Sin embargo hay pocas mtricas de anlisis y especificacin, se sabe que es posible adaptar mtricas obtenidas para la aplicacin de un proyecto, en donde las mtricas examinan el modelo de anlisis con el fin de predecir el tamao del sistema resultante, en donde resulte probable que el tamao y la complejidad del diseo estn directamente relacionadas.

Estas mtricas son las siguientes:


Las mtricas orientadas a la funcin. La mtrica bang. Las mtricas de la calidad de especificacin.

3.3 MTRICA DEL MODELO DEL DISEO (I)


Las mtricas para software, como otras mtricas, no son perfectas; muchos expertos argumentan que se necesita ms experimentacin hasta que se puedan emplear bien las mtricas de diseo. Sin embargo el diseo sin medicin es una alternativa inaceptable. A continuacin se mencionan algunas de las mtricas de diseo ms comunes. Aunque ninguna es perfecta, pueden proporcionarle al diseador una mejor visin interna y as el diseo evolucionar a un mejor nivel de calidad. 3.3.1 Mtricas de diseo de alto nivel stas se concentran en las caractersticas de la estructura del programa dndole nfasis a la estructura arquitectnica y en la eficiencia de los mdulos. 3.3.2 Mtricas de diseo en los componentes Las mtricas de diseo a nivel de componentes se concentran en las caractersticas internas de los componentes del software e incluyen medidas de la cohesin, acoplamiento y complejidad del mdulo. Estas tres medidas pueden ayudar al desarrollador de software a juzgar la calidad de un diseo a nivel de componentes.

3.3 MTRICA DEL MODELO DEL DISEO (II)


3.3.3 Mtricas de diseo de interfaz Aunque existe una significativa cantidad de literatura sobre el diseo de interfaces hombre-mquina, se ha publicado relativamente poca informacin sobre mtricas que proporcionen una visin interna de la calidad y facilidad de empleo de la interfaz. Sears sugiere la conveniencia de la representacin (CR) como una valiosa mtrica de diseo para interfaces hombre-mquina. Una IGU (Interfaz Grfica de Usuario) tpica usa entidades de representacin, iconos grficos, texto, mens, ventanas y otras para ayudar al usuario a completar tareas. Para realizar una tarea dada usando una IGU, el usuario debe moverse de una entidad de representacin a otra. Las posiciones absolutas y relativas de cada entidad de representacin, la frecuencia con que se utilizan y el costo de la transicin de una entidad de representacin a la siguiente contribuirn a la conveniencia de la interfaz.

3.4 MTRICAS DE CDIGO FUENTE (I)


La teora de Halstead de la ciencia del software es probablemente la mejor conocida y ms minuciosamente estudiada... medidas compuestas de la complejidad (software) [Ejiogo 91]. La ciencia software propuso las primeras leyes analticas para el software de computadora. La ciencia del software asigna leyes cuantitativas al desarrollo del software de computadora. La teora de Halstead se obtiene de un supuesto fundamental: el cerebro humano sigue un conjunto de reglas ms rgido (en el desarrollo de algoritmos) de lo que se imagina.... La ciencia del software usa un conjunto de medidas primitivas que pueden obtenerse una vez que se ha generado o estimado el cdigo despus de completar el diseo. Estas medidas se listan a continuacin. n1: el nmero de operadores diferentes que aparecen en el programa n2: el nmero de operandos diferentes que aparecen en el programa N1: el nmero total de veces que aparece el operador N2: el nmero total de veces que aparece el operando

3.4 MTRICAS DE CDIGO FUENTE (II)


Halstead usa las medidas primitivas para desarrollar expresiones para la longitud global del programa; volumen mnimo potencial para un algoritmo; el volumen real (nmero de bits requeridos para especificar un programa); el nivel del programa (una medida de la complejidad del software); nivel del lenguaje (una constante para un lenguaje dado); y otras caractersticas tales como esfuerzo de desarrollo, tiempo de desarrollo e incluso el nmero esperado de fallos en el software. Halstead expone que la longitud N se puede estimar como: N = n1 log2 n1 + n2 log2 n2 y el volumen de programa se puede definir como: V = N log2 (n1 + n2) Se debera tener en cuenta que V variar con el lenguaje de programacin y representa el volumen de informacin.

3.5 MTRICAS PARA PRUEBAS


Aunque se ha escrito mucho sobre mtricas del software para pruebas, la mayora de las mtricas propuestas se concentran en el proceso de pruebas, no en las caractersticas tcnicas de las pruebas mismas. En general, los responsables de las pruebas deben fiarse del anlisis, diseo y cdigo para que les guen en el diseo y ejecucin los casos de prueba. Por esta razn, el analista debera invertir un esfuerzo extra para descubrir errores en el mdulo antes de integrarlo en un sistema. El esfuerzo de las pruebas tambin se puede estimar usando mtricas obtenidas de medidas de Halstead. Usando la definicin del volumen de un programa V, y nivel de programa, NP, el esfuerzo de la ciencia del software, puede calcularse como; NP=1 / [(n1 / 2) * (N2 / n2)] e = V / NP El porcentaje del esfuerzo global de pruebas a asignar un mdulo k para estimar usando la siguiente relacin: porcentaje de esfuerzo de pruebas (k) = e(k)/ e(i)

3.6 MTRICAS DE MANTENIMIENTO


Se han propuesto mtricas diseadas explcitamente para actividades de mantenimiento. El estndar IEEE 982.1-1988 sugiere un ndice de madurez del software (IMS) que proporciona una indicacin de la estabilidad de un producto de software (basada en los cambios que ocurren con cada versin del producto) Se determina la siguiente informacin: Mr = nmero de mdulos en la versin actual Fc = nmero de mdulos en la versin actual que se han cambiado Fa = nmero de mdulos en la versin actual que se han aadido Fd = nmero de mdulos de la versin anterior que se han borrado en la versin actual El ndice de madurez del software se calcula de la siguiente manera: IMS = [Mr (Fa + Fc + Fd)]/ Mr ( A medida que el IMS se aproxima a 1.0 el producto se empieza a estabilizar. El IMS puede emplearse tambin como mtrica para la planificacin de las actividades de mantenimiento del software. El tiempo medio para producir una versin de un producto software puede correlacionarse con el IMS desarrollndose modelos empricos para el mantenimiento.

Vous aimerez peut-être aussi