
La línea de investigación en Arquitectura de Software de nuestro grupo se enfoca en abordar los retos y oportunidades asociados al estudio de diferentes aspectos de la arquitectura de sistemas de software. Reconociendo que la arquitectura es un pilar fundamental para garantizar la calidad y la adaptabilidad de los sistemas de software en entornos modernos, nuestra investigación abarca un amplio espectro de temas clave, que incluyen:
• Decisiones de diseño arquitectónico: exploración de estilos y patrones a nivel estructural, así como de tácticas y patrones orientados a atributos de calidad, que guían la organización, el comportamiento y las propiedades no funcionales de los sistemas de software.
• Arquitectura de software para sistemas a gran escala: principios de diseño arquitectónico para la construcción de sistemas de software que manejan alta complejidad en términos de: tamaño estructural, concurrencia, escenarios críticos, entre otros.
• Modelado de arquitectura de software: uso de modelos y representaciones arquitectónicas para diseñar, analizar y generar arquitecturas de software, permitiendo la automatización, la consistencia y la verificación temprana de las decisiones de diseño arquitectónico.
• Verificación de arquitectura de software: técnicas y herramientas para analizar si las arquitecturas de software cumplen con los requisitos funcionales y no funcionales y para verificar la conformidad arquitectónica en las primeras etapas del diseño, antes de la implementación del sistema.
• Enseñanza de la arquitectura de software: diseño de estrategias pedagógicas para formar la próxima generación de arquitectos de software.
A través de esta línea, buscamos no solo avanzar el conocimiento teórico en el campo, sino también generar un impacto práctico en la construcción de sistemas más robustos, eficientes y adaptables.

A lo largo de los años, se han propuesto varios métodos y frameworks para organizar, controlar, y mejorar los procesos de desarrollo de sistemas de software. Ninguno de estos métodos es mejor que los otros, cada uno tiene alcance limitado, y todos ellos tienen fortalezas y debilidades. Nuestro objetivo es estudiar estos métodos, evaluarlos, y también, proponer mejoras y adaptaciones a estos métodos y las herramientas que les dan soporte. El diseño de herramientas y tecnologías para dar soporte o automatizar las actividades de desarrollo de software es también un tema de esta línea de investigación. Temáticas asociadas:
• Metodologías de Desarrollo de Software
• Administración de Proyectos de Software
• Medición y Estimación de Software
• Aspectos Humanos de la Ingeniería de Software

El objetivo principal de la arquitectura empresarial es asegurar la correcta alineación entre los procesos de negocio y las tecnologías de la información, con el fin de lograr el cumplimiento de los objetivos estratégicos establecidos por la organización. Es por ello que la gestión de los procesos de negocio que operan en toda la organización, debe ser un punto de apoyo esencial para el cumplimiento de esos objetivos. Así, una correcta implementación de una arquitectura empresarial, alineada con el respectivo proceso de negocio y apalancada en una arquitectura orientada a servicios, son, hoy en día, una combinación clave que soporta la toma de decisiones estratégicas para responder rápida y eficazmente a los cambios organizacionales y de oportunidades que se producen en un entorno cada vez más globalizado. Temáticas asociadas:
• Sistemas de Información
• Procesos de Negocio
• Gestión de Procesos de Negocio
• Arquitectura Orientada a Servicios

A lo largo de su vida, un sistema de software es continuamente actualizado con el propósito de atender los siempre cambiantes requisitos de su entorno de operación. Nuestro objetivo es analizar estos procesos de cambio, construir modelos para describir el pasado, presente y futuro de la evolución de un sistema de software; y diseñar e implementar herramientas que apoyen y permitan analizar estos procesos. El estudio de la evolución de un sistema de software es importante porque los costos más altos están asociados a tareas de adaptación y mantenimiento; y porque, su vida útil depende fuertemente de los enfoques y técnicas usadas para la implementación de los cambios requeridos, las mejoras, y las extensiones. Temáticas asociadas:
• Comprensión de Software
• Reingeniería
• Análisis y Métricas de Software
• Visualización de Software