Ciclo de la oferta: II Ciclo 2017
Sigla: PF3311
Creditaje: 4
Tipo de Curso: Optativo
Descripción

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.

Objetivos específicos
  • Reconocer la importancia del diseño arquitectural dentro del proceso de desarrollo de sistemas informáticos mediante el estudio de elementos, vistas, patrones y componentes arquitecturales más utilizados con el fin de que el estudiante implemente sistemas mantenibles, correctos y escalables.
  • Diseñar la arquitectura de un sistema computacional mediante una metodología que incluya los requerimientos funcionales, no funcionales, y los diversos intereses de los actores involucrados en el desarrollo del sistema.
  • Identificar los principales patrones arquitecturales utilizados en el desarrollo de sistemas informáticos.
  • Documentar la arquitectura de cualquier sistema computacional mediante el uso de estándares y metodologías reconocidos para facilitar su mantenimiento y evolución.
  • Conocer las metodologías disponibles para la validación de arquitecturas de software.
  • Comprender las tareas y responsabilidades de un arquitecto de software dentro del ciclo de vida del software.
Horario del curso
  • Miércoles: 5:00 PM - 8:50 PM
Aula: 305 IF