Puntos de complejidad cognitiva: una métrica para evaluar el diseño de aplicaciones basadas en microservicios - Vera-Rivera, Fredy H. (Ingeniería y Competitividad, 2024)
La complejidad del software permite analizar lo difícil que puede ser entender, implementar y mantener el programa. Las métricas nos permiten medir y estimar ciertas características del software para tomar decisiones y acciones correctivas o preventivas. La definición de la complejidad del diseño de aplicaciones basadas en microservicios es fundamental, ya que afecta directamente el rendimiento de la aplicación, los tiempos de desarrollo y prueba, la mantenibilidad, el almacenamiento (transacciones y consultas distribuidas), el uso y consumo de recursos computacionales. En este artículo se propone una métrica de complejidad cognitiva para evaluar el diseño y la granularidad de las aplicaciones basadas en microservicios, la cual define el esfuerzo requerido, o el grado de dificultad para comprender los microservicios que componen el sistema. Se analizaron casos típicos que pueden presentarse en el diseño de aplicaciones basadas en microservicios, en los cuales el cálculo de la complejidad cognitiva fue correcto y consistente con la dificultad de entender, mantener y desarrollar un sistema de microservicios, por lo tanto, la métrica propuesta es una opción viable para analizar la complejidad en sistemas basados en microservicios.