El curso de Arquitectura de Software tiene como objetivo principal el estudiar los principales elementos utilizados durante el proceso de diseño arquitectural de un sistema de software. Sin importar el tipo de sistema que se esté desarrollando, el diseño de la arquitectura es de los elementos más críticos y relevantes dentro del ciclo de vida del software. La arquitectura de un sistema define todos los elementos y componentes necesarios para satisfacer los requerimientos funcionales, no funcionales y todos los intereses de los actores involucrados en el desarrollo del sistema, tratando al mismo tiempo de hacer que el sistema sea mantenible, seguro, eficiente, escalable, adaptable y correcto.
El curso utiliza una combinación entre la teoría y la práctica, mediante el estudio de los principales conceptos teóricos del campo, incluyendo el proceso de desarrollo de la arquitectura dentro del ciclo de vida del software, su documentación y validación, y como estos elementos son aplicados en sistemas informáticos reales, por ejemplo, redes sociales, sistemas bancarios, sitios de comercio electrónico, aplicaciones en la nube y sistemas de tiempo real, por nombrar algunos. Finalmente se estudiarán las arquitecturas más utilizadas (microservices, monolithic, peer to peer, publisher-subscriber, client-server, etc.), así como el rol del arquitecto de software en el ciclo de vida del software. El curso es relevante para cualquier profesional o investigador con experiencia en el desarrollo de software. Este curso es interesante porque involucra temas de Ingeniería de Software, Sistemas Operativos, Redes, Infraestructura, Bases de Datos y Seguridad de la Información, entre otros. El curso está diseñado para estudiantes de la Maestría Profesional y de la Maestría Académica, con metodologías específicas para cada uno, con el fin de maximizar el aprovechamiento del curso por parte de cada estudiante. Ambas incluyen el intercambio de ideas y experiencias entre los estudiantes y el profesor del curso, con el objetivo de ver la aplicación de la teoría estudiada en sistemas, equipos y procesos de la vida real.