Diseño de diagramas de componentes de software, utilizando un gran modelo de lenguaje y aplicando técnicas de optimización para lograr resultados contextualmente relevante - Romero Aguilar, Juan Francisco (2024)
CONDITION FOR PUBLICATION OF PROJECT. El diseño arquitectónico es un proceso crítico dentro del ciclo de vida del desarrollo de software, donde la precisión y la claridad en la representación de los componentes juegan un papel esencial para asegurar la calidad y mantenibilidad del sistema. No obstante, este proceso suele ser lento y demandante, lo que puede convertirlo en un cuello de botella en organizaciones donde la rapidez de respuesta es crucial. En este contexto, la automatización de la generación de diagramas de componentes de software se presenta como una solución innovadora que permite a los arquitectos optimizar su flujo de trabajo y enfocarse en actividades de mayor valor añadido. Este trabajo de investigación se centra en el diseño de una herramienta basada en inteligencia artificial, utilizando un Gran Modelo de Lenguaje (LLM) enriquecido con técnicas de Recuperación Aumentada por Generación (RAG), con el objetivo de generar automáticamente diagramas de componentes a partir de descripciones textuales proporcionadas por el usuario. El enfoque propuesto no solo automatiza una parte fundamental del diseño arquitectónico, sino que también asegura que los diagramas generados sean contextualmente relevantes, al integrar información existente en la organización. De esta forma, la herramienta busca reducir significativamente los tiempos de diseño y minimizar el riesgo de errores u omisiones humanos. El proceso metodológico de este trabajo incluye una fase de levantamiento de información con el equipo de arquitectura de una empresa del sector de telecomunicaciones, lo que permitió identificar los criterios clave para la generación de diagramas precisos y útiles. A partir de esta información, se diseñó e implementó un prototipo que combina el uso de herramientas como PlantUML para la visualización de diagramas y el procesamiento de datos con un LLM local para asegurar la confidencialidad de la información sensible de la organización. La evaluación del prototipo se realizó mediante pruebas con arquitectos de software, quienes proporcionaron retroalimentación positiva respecto a la usabilidad, eficiencia y precisión de la herramienta. Los resultados mostraron viii una reducción del tiempo de generación de diagramas mejorando la eficiencia del equipo de arquitectura. Sin embargo, también se identificaron algunas limitaciones, como la necesidad de mejorar la precisión en la generación de diagramas más complejos, como los de clases, y la integración con otros sistemas corporativos como los repositorios de control de versiones. Finalmente, el estudio concluye que el uso de tecnologías avanzadas como los LLMs, junto con técnicas de optimización de resultados como RAG, tiene un alto potencial para transformar el proceso de diseño arquitectónico en entornos empresariales. Las recomendaciones futuras incluyen la implementación de mejoras sugeridas por los usuarios, como la generación de diferentes tipos de diagramas UML y una mayor integración con sistemas existentes. Se espera que este prototipo pueda escalarse para cubrir otras áreas del ciclo de desarrollo de software y convertirse en una herramienta clave dentro de los procesos de ingeniería de software moderna.