Estimación de software en la etapa de diseño con modelos estadísticos y aprendizaje automático: un estudio empírico
Autores: Sánchez-García, Ángel J.; González-Hernández, María Saarayim; Cortés-Verdín, Karen; Pérez-Arriaga, Juan Carlos
Idioma: Inglés
Editor: MDPI
Año: 2024
Acceso abierto
Artículo científico
2024
Estimación de software en la etapa de diseño con modelos estadísticos y aprendizaje automático: un estudio empírico
Categoría
Matemáticas
Subcategoría
Matemáticas generales
Palabras clave
Estimación
Esfuerzo de software
Tiempo
Desarrollo de software
Modelos estadísticos
Aprendizaje automático
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 21
Citaciones: Sin citaciones
La estimación precisa del esfuerzo y el tiempo de software en el proceso de desarrollo de software es una actividad clave para lograr la calidad del producto necesaria. Sin embargo, la subestimación o sobreestimación del esfuerzo se ha convertido en un desafío clave para el desarrollo de software. Uno de los principales problemas es la estimación con métricas de etapas tardías, porque el producto ya debe estar terminado para hacer estimaciones. En este documento, se utilizan modelos estadísticos y enfoques de aprendizaje automático para la estimación de software en etapas tempranas como el diseño de software, y se presenta un conjunto de datos con valores métricos de artefactos de diseño de 37 proyectos de software. Como resultados, se proponen modelos para la estimación del tiempo de desarrollo y esfuerzo, los cuales son validados a través de validación cruzada de dejar uno fuera. Además, se emplearon técnicas de aprendizaje automático para comparar estimaciones de proyectos de software. A través de las pruebas estadísticas, se demostró que los errores no eran estadísticamente diferentes con los modelos de regresión para la estimación del esfuerzo. Sin embargo, con Random Forest se obtuvieron los mejores resultados estadísticos para estimar el tiempo de desarrollo.
Descripción
La estimación precisa del esfuerzo y el tiempo de software en el proceso de desarrollo de software es una actividad clave para lograr la calidad del producto necesaria. Sin embargo, la subestimación o sobreestimación del esfuerzo se ha convertido en un desafío clave para el desarrollo de software. Uno de los principales problemas es la estimación con métricas de etapas tardías, porque el producto ya debe estar terminado para hacer estimaciones. En este documento, se utilizan modelos estadísticos y enfoques de aprendizaje automático para la estimación de software en etapas tempranas como el diseño de software, y se presenta un conjunto de datos con valores métricos de artefactos de diseño de 37 proyectos de software. Como resultados, se proponen modelos para la estimación del tiempo de desarrollo y esfuerzo, los cuales son validados a través de validación cruzada de dejar uno fuera. Además, se emplearon técnicas de aprendizaje automático para comparar estimaciones de proyectos de software. A través de las pruebas estadísticas, se demostró que los errores no eran estadísticamente diferentes con los modelos de regresión para la estimación del esfuerzo. Sin embargo, con Random Forest se obtuvieron los mejores resultados estadísticos para estimar el tiempo de desarrollo.