← Últimos artículos
💻 computer science

Software Size Estimation by Integrating Functional Size and Functional Complexity Measures

Este estudio propone un modelo de estimación del tamaño del software que integra Medidas de Tamaño Funcional (UFP y CFP) con Medidas de Complejidad Funcional (CC y YC) mediante el análisis de regresión, demostrando que la combinación de estas métricas —particularmente UFP con medidas de complejidad— reduce significativamente el error de estimación y mejora la precisión de la predicción para aplicaciones como COCOMO II.

Autores originales: Sholiq Sholiq, Riyanarto Sarno, Muhammad Ainul Yaqin, Apol Pribadi Subriadi, Achmad Holil Noor Ali

Publicado 2026-10-01
📖 5 min de lectura🧠 Análisis profundo

Autores originales: Sholiq Sholiq, Riyanarto Sarno, Muhammad Ainul Yaqin, Apol Pribadi Subriadi, Achmad Holil Noor Ali

Artículo original bajo licencia CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). ✨ Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Construir software es una labor compleja, muy similar a la construcción de un edificio, pero en lugar de ladrillos y mortero, los materiales son líneas de código y requisitos funcionales. Durante décadas, los gestores de proyectos han dependido del conteo de estas líneas de código para estimar cuánto tiempo y dinero tomará un proyecto. Sin embargo, este método es defectuoso porque dos programas pueden hacer exactamente lo mismo requiriendo cantidades de código muy diferentes dependiendo de cómo el programador lo escriba. Para resolver esto, la industria desarrolló una forma de medir el software por lo que realmente hace para el usuario —contando entradas, salidas y archivos de datos— en lugar de cómo está escrito. Esto se conoce como tamaño funcional. No obstante, incluso este conteo funcional tiene un punto ciego: mide la cantidad de funciones, pero a menudo pasa por alto la dificultad de construirlas. Una función simple podría ser fácil de construir, mientras que una compleja con muchos caminos de ramificación y condiciones podría ser una pesadilla de codificar, incluso si ambas cuentan como una sola "función" en el sentido tradicional.

Esta brecha entre el tamaño de una función y la complejidad de construirla es el rompecabezas central abordado por un equipo de investigadores de Indonesia. Se propusieron ver si combinar una medida de tamaño funcional con una medida de complejidad estructural podría conducir a predicciones más precisas del verdadero alcance de un proyecto de software. Su trabajo se centra en refinar cómo estimamos el esfuerzo requerido para construir software, una tarea crítica que determina si un proyecto se mantiene dentro del presupuesto o si se sale de control. Al observar tanto el "qué" como el "qué tan difícil", buscaban crear una imagen más clara para las personas que planifican y gestionan estos sistemas digitales.

Los investigadores comenzaron recopilando datos de dos proyectos de software del mundo real: uno diseñado para una cooperativa de empleados y otro para una tienda minorista. No utilizaron conjuntos de datos públicos porque estos suelen carecer de los detalles específicos necesarios para su análisis. En su lugar, tomaron los requisitos textuales para estas aplicaciones y los tradujeron en diagramas de flujo visuales, conocidos como diagramas BPMN. Estos diagramas sirvieron como un puente, permitiendo al equipo extraer dos tipos diferentes de mediciones para cada parte del sistema. Primero, calcularon el tamaño funcional, que cuenta las interacciones del usuario y los archivos de datos. Utilizaron dos métodos establecidos para esto: uno que cuenta puntos de función no ajustados basados en categorías estándar como entradas y salidas, y otro que cuenta puntos de función cósmicos rastreando cómo los datos entran y salen del sistema.

A continuación, midieron la complejidad estructural de esas mismas partes. Esto implicó analizar la lógica dentro de los diagramas de flujo para ver cuántos puntos de decisión, bucles y caminos de ramificación existían. Utilizaron dos métricas de complejidad diferentes para esto: una que cuenta el número de caminos independientes a través del código, y otra que pondera la dificultad cognitiva de diferentes tipos de ramas y bucles. Finalmente, compararon estas mediciones combinadas contra el número real de líneas de código escritas para los proyectos. Este conteo final sirvió como la verdad fundamental, el tamaño real del software terminado que los investigadores intentaban predecir.

Los resultados revelaron un patrón distinto dependiendo de qué método de tamaño funcional se utilizara. Cuando los investigadores usaron el primer método de tamaño funcional, añadir las mediciones de complejidad mejoró significativamente la precisión de sus predicciones. Específicamente, la tasa de error en sus estimaciones cayó del veinticuatro por ciento al veintidós por ciento. Esto sugiere que, para este tipo de conteo funcional, conocer la complejidad de la lógica ayuda a corregir la estimación, acercándola a la realidad. Sin embargo, la historia fue diferente para el segundo método de tamaño funcional. Cuando usaron los puntos de función cósmicos, añadir las mediciones de complejidad no redujo la tasa de error, la cual se mantuvo estable en un quince por ciento. En este caso, la medida de tamaño funcional ya era tan precisa que los datos de complejidad adicionales no hicieron que el número final fuera más exacto.

A pesar de la falta de mejora en las tasas de error para el segundo método, los datos de complejidad siguieron siendo valiosos. Cuando los investigadores añadieron medidas de complejidad a los puntos de función cósmicos, la calidad de sus predicciones mejoró de una manera distinta. El porcentaje de estimaciones que caían dentro de un margen de error muy estrecho aumentó del setenta y seis por ciento al ochenta por ciento. Esto significa que, aunque el error promedio no cambió, el equipo se volvió más confiable para obtener una respuesta muy cercana a la correcta. El estudio concluye que integrar medidas de complejidad no es una solución de "talla única"; su valor depende de qué método de tamaño funcional se esté utilizando. Para un método, agudiza la precisión; para el otro, agudiza la consistencia. Estos hallazgos ofrecen una forma nueva y más matizada de alimentar los modelos de estimación de esfuerzo establecidos, ayudando potencialmente a los equipos de software a tomar decisiones más informadas sobre el tiempo y los recursos que sus proyectos realmente requerirán.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →