Complejidad Ciclomatica OMRI 2017 22/10/2016 Chuck
Se refiere a estructuras de control como los IF, WHILE, FOR Una simple métrica que mide la complejidad de un programa cíclico detectando y contando sus caminos independientes Función de mide el comportamiento de un algoritmo en numero de operaciones ¿Complejidad? ¿Ciclomatica? Se refiere a estructuras de control como los IF, WHILE, FOR
Debemos conocer algunos conceptos primero NODOS ARISTAS Debemos conocer algunos conceptos primero ¿Cómo calcularla?
Calculemos la O(C) de un problema Miguel quiere ir a un antro con sus amigos pero no saben quien es mayor de edad. Ser mayor de edad comprende tener dieciocho o mas años cumplidos. Ayuda a Miguel a saber si un chico es mayor de edad o no. Entrada: Un entero a que representa la edad del chico Miguel Fiestero Salida: La frase “Es Mayor” si es mayor de edad o la frase “Es Menor” en caso contrario
Creamos un algoritmo
Contar todos los componentes del algoritmo Primer Paso: Contar todos los componentes del algoritmo
Vamo a contar 5 6 Aristas: 5 6 Nodos: Quita el inicio
Vamo a contar 5 Aristas: 5 Nodos:
Utilizar la formula mágica Segundo Paso: Utilizar la formula mágica
O(C) = Complejidad Ciclomatica A = Aristas del algoritmo Donde: O(C) = Complejidad Ciclomatica A = Aristas del algoritmo N = Nodos del algoritmo O(C) = (A – N) + 2 O(C) = 0+ 2 O(C) = 2
Tercer Paso: Interpretar la O(C)
Esto significa que hay dos caminos posibles: O(C) = 2 Esto significa que hay dos caminos posibles: SI NO
Valores de Referencia <=10 Metodo Sencillo sin riesgo >10 && <=20 Metodos medianamente complejos, riesgo moderado >20 && <=50 Metodos complejos, alto riesgo >50 Metodos Inestables, altisimo riesgo Valores de Referencia
Preguntas y Conclusiones
Opciones Volver a Comenzar Optimizar Factorizar Juntar operaciones Optimizar Quitar sentencias de control Volver a Comenzar Idear una idea menos compleja Opciones