Sie sind auf Seite 1von 4

Desarrollo de Proyectos de Software T4.

1 28-10-2012 Simn Daniel Meraz Sariana

COMPLEJIDAD CICLOMTICA
La complejidad ciclomtica es una mtrica a tener en cuenta para evaluar el mantenimiento, comprensin, testeabilidad y probabilidad de errores de una determinada aplicacin. Este trmino fue propuesto por Thomas J. McCabe en 1976 y tiene como una de sus caractersticas principales su independencia respecto a los lenguajes de programacin (por lo menos, de los ms convencionales), por lo que tericamente podran ser comparables aplicaciones realizadas con tecnologas distintas en base a su complejidad ciclomtica. Digo tericamente, porque adems de la algortmica las caractersticas propias del lenguaje de programacin pueden influir en que sean ms sencillas o no su inteligibilidad, mantenibilidad, etc No obstante y en cualquier caso, resulta una aproximacin muy a tener en cuenta de esos factores. Qu mide la complejidad ciclomtica? Pues el nmero de posibles caminos lgicos que tiene una aplicacin. Quines crean esos posibles caminos lgicos? Los mtodos, las sentencias selectivas (if, case), sentencias iterativas (while, for), lanzamiento y tratamiento de excepciones (throw, catch), devolucin de resultados de un mtodo cuando no es l ltima lnea del mismo (return), operadores lgicos en guardas, etc

CMO SE TRANSFORMA UNA SECCIN DE CDIGO Y A QUE SE TRANSFORMA


Se analiza la seccin de cdigo observando que es lo que va a ejecutar lo que obtendremos con esto ser un grafo y ya que una imagen dice mas que mil palabras ya tenindolo as podremos analizarlo mejor, a continuacin tenemos un ejemplo del anlisis de una seccin de cdigo, su transformacin en grafo y como se realiza el anlisis

A partir de este grafo se encuentran 3 caminos posibles para llegar de la sentencia 1 a la sentencia 8: Camino 1 (si ambos IFs son verdad): Sentencias 1, 2, 3, 4, 6, 7, 8 Camino 2 (si el primer IF es verdad y el segundo es falso): Sentencias 1, 2, 3, 5, 6, 7, 8 Camino 3 (si el primer IF es falso): Sentencias 1, 2, 7, 8 Este programa tiene una complejidad ciclomtica de 3. La complejidad ciclomtica se puede calcular de otras maneras. Se puede utilizar la frmula: v(G) = e - n + 2 donde e representa el nmero de aristas y n el nmero de nodos. Otra forma de calcular la complejidad ciclomtica consiste en aplicar la siguiente frmula: v(G) = nmero de regiones cerradas en el grafo + 1

EVALUACIN DE RIESGOS
Una vez calculada la complejidad ciclomtica de un fragmento de cdigo, se puede determinar el riesgo que supone utilizando los rangos definidos en la siguiente tabla:

Complejidad Ciclomtica Evaluacin del Riesgo 1-10 Programa Simple, sin mucho riesgo 11-20 Ms complejo, riesgo moderado 21-50 Complejo, Programa de alto riesgo 50 Programa no testeable, Muy alto riesgo A partir del anlisis de muchos proyectos McCabe encontr que un valor 10 es un lmite superior prctico para el tamao de un mdulo. Cuando la complejidad supera dicho valor se hace muy difcil probarlo, entenderlo y modificarlo. La limitacin deliberada de la complejidad en todas las fases del desarrollo ayuda a evitar los problemas asociados a proyectos de alta complejidad. El lmite propuesto por McCabe sin embargo es fuente de controversias. Algunas organizaciones han utilizado el valor 15 con bastante xito.

BIBLIOGRAFIA
http://www.dosideas.com/noticias/metodologias/320-como-entender-lacomplejidad-ciclomatica.html http://jummp.wordpress.com/2010/04/27/complejidad-ciclomatica/ http://www.ifcolog.org/complejidad-ciclomatica-%C2%BFque-es-y-por-quete-importa.html http://cnx.org/content/m17455/latest/ http://es.scribd.com/doc/53744474/16/Complejidad-ciclomatica-McCabe http://www.etnassoft.com/2011/07/13/complejidad-ciclomatica-en-javascriptconcepto-ejemplos-y-herramientas-de-medicion/

Das könnte Ihnen auch gefallen