Representación de la Evolución y Refactoring de Arquitecturas de Software mediante la Aplicación y Captura de Operaciones Arquitectónicas
Palabras clave:
Evolución de arquitecturas de software, Refactorización, Trazabilidad de procesos de diseño, Decisiones arquitectónicasResumen
La evolución de arquitecturas de software es consecuencia de cambios como la redefinición de requerimientos, o mejoras en la infraestructura/tecnología del sistema. Es necesario que la introducción de cambios arquitectónicos sea realizada de manera sistemática, a fin de evitar la erosión en el diseño arquitectónico y la pérdida de información vital para la comprensión del diseño obtenido. Los cambios aplicados y las decisiones tomadas deben ser documentados adecuadamente, para que se puedan recuperar posteriormente las soluciones aplicadas y conocer su impacto en la arquitectura. Se propone un modelo para representación del conocimiento durante la evolución de arquitecturas de software, basado en la aplicación de operaciones de evolución y refactoring. Las operaciones ejecutadas son capturadas junto con los elementos arquitectónicos sobre los que operaron, los resultados obtenidos, y los objetivos perseguidos, manteniendo así las trazas entre las diferentes versiones del modelo arquitectónico alcanzadas y la historia completa de su evolución.