La arquitectura de software especifica la estructura de estructuras de un sistema de software. Estas estructuras comprenden un conjunto de decisiones de diseño que satisfacen grandes retos en cuanto al tamaño, la complejidad y la calidad del software. Nuestro objetivo es analizar, diseñar y modelar estas estructuras con el fin de crear sistemas de software que garanticen el cumplimiento de requisitos funcionales y no funcionales a partir de los máximos niveles de abstracción. La línea de investigación incluye el estudio de estilos arquitectónicos, patrones arquitectónicos y atributos de calidad. De esta forma, se enfatiza en los factores que inciden en el diseño y la evolución de arquitecturas, la creación y representación de modelos arquitectónicos, y la concepción de arquitecturas de software a gran escala.
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.
Las nuevas formas de abordar la enseñanza de la Ingeniería en el SIGLO XXI, para entregar conocimiento y principios a los nuevos Ingenieros, plantean a su vez la necesidad de contar con una Línea de Investigación que articule las investigaciones en ese campo, con lo que sucede en la Ingeniería de Software - ISW. Los métodos de enseñanza-aprendizaje usados tradicionalmente en la ISW, así como la práctica pedagógica en este campo, requieren un nuevo enfoque o al menos un análisis para buscar nuevos caminos de enseñanza. Métodos como el «Aprendizaje Basado en Problemas» - ABP, complementado con la necesidad de considerar la virtualidad como un elemento esencial o complementario, invitan a repensar la actividad docente y los modelos tradicionalmente utilizados para que los estudiantes sean el centro de un proceso interactivo y colaborativo, que forme profesionales que interactúen con la realidad y brinden soluciones a los entornos productivos. El trabajo con escuelas de otras facultades será necesario a fin de enriquecer las propuestas en esta línea de investigación; por ejemplo, con la «Maestría en Educación» o con el «Instituto de Investigación en Educación» de la Universidad Nacional de Colombia. Esto permitiría realizar trabajo multidisciplinar que consolide y fortalezca las propuestas para la educación en IS.
El ciclo de vida de un sistema de software abarca tareas repetitivas que en la mayoría de casos implican un incremento en la duración y en los costos del proyecto. Nuestro objetivo es analizar diferentes mecanismos que permitan automatizar estas tareas mediante la concepción del paradigma de Ingeniería de Software Dirigida por Modelos. A partir de un conjunto de metamodelos, modelos y transformaciones se abordan problemas de diseño de software y se automatiza la generación de diferentes artefactos de software, principalmente de código fuente. Estos modelos son construidos a partir del diseño de Lenguajes de Dominio Específico, y el uso de representaciones, tanto gráficas, como textuales.
La cuarta revolución industrial involucrará la creación de sistemas ciberfísicos que harán converger las tecnologías digitales con las físicas y biológicas; esto conlleva un cambio radical en la forma de construir nuestro mundo. El cambio de paradigma en su relación con lo físico, requerirá de una nueva estrategia tecnológica que afectará la forma de construir software, y, por ende, es necesario repensar la ingeniería de software como disciplina requerida en la construcción de estos nuevos sistemas. Los sistemas «ciberfísicos» combinarán nuevas arquitecturas computacionales, con elementos de hardware, software y de redes, en donde los programas, los sensores, la nanotecnología y las comunicaciones, deben ser repensados. Las redes de sensores inalámbricos y redes de sensores inalámbricos ubicuos (WSN/USN) son una realidad que se mezclarán con los desarrollos de Internet de las Cosas (IoT) para dar nuevas posibilidades en la construcción de los sistemas de la 4a revolución. Tecnologías emergentes como 5G, computación en dispositivos móviles y los servicios en la nube, facilitarán la definición de nuevos sistemas soportados sobre la infraestructura de la 4a revolución.
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.
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.