Está en la página 1de 13

Complejidad Ciclomática

• Métrica del software
• Mide la Complejidad Lógica de un Programa
• Basada en Grafos de Flujo
• Utilizada en Técnicas de Caja Blanca
• Independiente del Lenguaje

Facultad de Informática Universidad Politécnica de Madrid

Instituto Tecnológico de Buenos Aires. Escuela de Posgrado

riesgo moderado 21-50 Complejo. sin mucho riesgo 11-20 Más Complejo. Escuela de Posgrado . Programa de alto riesgo >50 Facultad de Informática Universidad Politécnica de Madrid Progama no testeable. muy alto riesgo Instituto Tecnológico de Buenos Aires.Complejidad Ciclomática Complejidad Ciclomática Evaluación del Riesgo 1-10 Programa Simple.

Complejidad Ciclomática • Riesgo en Desarrollo de Código • Riesgo en Mantenimiento • Planificación de Pruebas • Reingeniería Facultad de Informática Universidad Politécnica de Madrid Instituto Tecnológico de Buenos Aires. Escuela de Posgrado .

Complejidad Ciclomática Secuencia If-then-else While Until Reemplazo de Sentencias en Grafos de Flujo Facultad de Informática Universidad Politécnica de Madrid Instituto Tecnológico de Buenos Aires. Escuela de Posgrado .

int n) { // Asumimos que ambos m y n son mayores que cero //Forzamos que m >= n por eficiencia //Retorna el mcd int r. while (r != 0) { m = n. n = r. A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A1 A2. n = r.A4 A5 /* m modulo n */ /* m modulo n */ Figura 3 Grafo de Flujo de Control para el módulo Euclid A6 A7. r = m % n.A3 .A8 . } r = m % n. if (n > m) { r = m.Complejidad Ciclomática Módulo: Algoritmo de Euclides para encontrar el máximo común divisor A0 A0 void euclid(int m. } return n. m = n. Escuela de Posgrado .A9 } A10 Facultad de Informática Universidad Politécnica de Madrid Instituto Tecnológico de Buenos Aires.

x else proced. y endif Simplificación de Condiciones Compuestos Facultad de Informática Universidad Politécnica de Madrid Instituto Tecnológico de Buenos Aires.Complejidad Ciclomática a b y x x if (a or b) then proced. Escuela de Posgrado .

Escuela de Posgrado .Complejidad Ciclomática LOC=282 V(G) = 1 Facultad de Informática Universidad Politécnica de Madrid Instituto Tecnológico de Buenos Aires.

Complejidad Ciclomática V(G) = 6 Facultad de Informática Universidad Politécnica de Madrid Instituto Tecnológico de Buenos Aires. Escuela de Posgrado .

Escuela de Posgrado .Complejidad Ciclomática V(G) = 12 Facultad de Informática Universidad Politécnica de Madrid Instituto Tecnológico de Buenos Aires.

Complejidad Ciclomática V(G) = 17 Facultad de Informática Universidad Politécnica de Madrid Instituto Tecnológico de Buenos Aires. Escuela de Posgrado .

Complejidad Ciclomática V(G) = 28 Facultad de Informática Universidad Politécnica de Madrid Instituto Tecnológico de Buenos Aires. Escuela de Posgrado .

Complejidad Ciclomática A: Aristas N: Nodos V(G) = A . Escuela de Posgrado .N + 2 •Contabilidad de Predicados: V(G) = p + 1 •Contabilidad de Regiones: R •Herramientas Automáticas Facultad de Informática Universidad Politécnica de Madrid Instituto Tecnológico de Buenos Aires.

case “Dos”: i=2. i=1. Escuela de Posgrado . } Char Strings[3][5]={“Uno”.. ”Dos”. i++. break. case “Tres”: i=3.) { if (A = Strings[i]) break. ”Tres”}. for(.Complejidad Ciclomática Switch (A) { case “Uno”: i=1. break. } Problema del Límite y Las Sentencias Multivia Facultad de Informática Universidad Politécnica de Madrid Instituto Tecnológico de Buenos Aires. break.