Máster Arquitectura y Desarrollo Software Pénsum Académico 2018 19
Índice 1. Plan de estudios... 3 2. Objetivos generales del Máster... 3 3. Contenidos del Máster... 3 3.1. Diseño y arquitectura software... 4 3.2. Sistemas y estructuras de gestión de datos... 5 3.3. Paradigmas y lenguajes de programación... 6 3.4. Metodologías y entornos de desarrollo... 6 3.5. Pruebas y calidad del software... 6 3.6. Trabajo Final de Máster... 7 4. Horarios de clase... 7 5. Fechas de inicio y finalización... 7 2
1. Plan de estudios El plan de estudios del Máster en Diseño y Arquitectura Software consta de 11 asignaturas y se divide en 2 semestres: Primer semestre 1. Diseño software (5 créditos) 2. Tecnologías software (5 créditos) 3. Principios y herramientas de desarrollo (5 créditos) 4. Arquitecturas software (5 créditos) 5. Fundamentos de pruebas (5 créditos) Segundo semestre 6. Metodologías agile (5 créditos) 7. Diseño y optimización de bases de datos (5 créditos) 8. Bases de datos no estructuradas (5 créditos) 9. Gestión de pruebas (5 créditos) 10. Paradigmas de programación (5 créditos) 11. Trabajo Final de Máster (10 créditos) 2. Objetivos generales del Máster El Máster en Desarrollo y Arquitectura Software forma Arquitectos de Software capaces de liderar proyectos técnicos de creación de software a partir de la formación en múltiples procesos implicados, diseño óptimo de soluciones, técnicas y métodos de desarrollo, herramientas de validación y aseguramiento de estándares de calidad. Concretamente, el Máster se centra en la adquisición de competencias específicas para: 1. Definir arquitecturas software que satisfagan las necesidades y los requisitos de sistemas. 2. Dominar conceptos de algorítmica, paradigmas, entornos de programación, desarrollo y despliegue de software. 3. Comprender la tecnología a un nivel que permita un aprovechamiento óptimo de sus capacidades en el desarrollo de software. 4. Asegurar la calidad del software, dotando a los sistemas con atributos como la eficiencia, fiabilidad y mantenibilidad. 5. Tener la capacidad de liderar, orientar y apoyar equipos técnicos de desarrollo de software. 3. Contenidos del Máster Los contenidos del Máster están estructurados en 6 módulos los cuales agrupan el total de 11 asignaturas. Estos son: 3
1. Diseño y arquitectura software (15 créditos) o Arquitecturas software o Diseño software o Tecnologías software 2. Sistemas y estructuras de gestión de datos (10 créditos) o Diseño y optimización de bases de datos o Bases de datos no estructuradas 3. Paradigmas y lenguajes de programación (5 créditos) o Paradigmas de programación 4. Metodologías y entornos de desarrollo (10 créditos) o Metodologías agile o Principios y herramientas de desarrollo 5. Pruebas y calidad del software (10 créditos) o Fundamentos de pruebas o Gestión de pruebas 6. Trabajo Final de Máster (10 créditos) o Trabajo Final de Máster A continuación, se explicitan los objetivos y los contenidos tratados en cada uno de los módulos y las correspondientes asignaturas. 3.1. Diseño y arquitectura software El objetivo de este módulo es aprender a tomar decisiones adecuadas referentes al diseño del software que conduzcan a satisfacer los requisitos técnicos, operacionales y las necesidades, al mismo tiempo que se aseguran atributos de calidad como la eficiencia, la fiabilidad y el fácil mantenimiento. Las asignaturas del módulo y sus contenidos son: Arquitecturas software: Patrones de diseño Orientación a Objetos Principios SOLID Tipos de arquitectura Macro Microservices Stacks de alta disponibilidad Akka camel actors Escalabilidad Diseño software: TDD Clean Code 4
Diseño emergente Paradigma build first Persistencia Refactoring Desarrollo ágil Diseño de software en equipos distribuidos Tecnologías software: Homologación de software para CI Stack de Integración Continua Construcción en docker Pipeline CI Despliegue continuo Metodología y roles Desarrollo aplicación 3.2. Sistemas y estructuras de gestión de datos El propósito de este módulo es adquirir capacidades para seleccionar tecnologías y diseñar modelos relacionales y no relacionales para la persistencia de datos, considerando la optimización de esquemas y la aplicación de estructuras de datos avanzadas para mejorar las cotas de rendimiento de algoritmos. Las asignaturas del módulo y sus contenidos son: Diseño y optimización de bases de datos: Arquitecturas de aplicaciones basadas en bases de datos Configuración de sistemas gestores de bases de datos Análisis y optimización de consultas / queries Tecnologías para el almacenamiento y gestión de datos Diseño y optimización de bases de datos relacionales Sistemas distribuidos Sistemas de redundancia de datos Sistemas de alta disponibilidad y escalabilidad Estructuras de datos lineales y no lineales Bases de datos no relacionales: Principios de bases de datos no relacionales (NoSQL) Diseño de bases de datos NoSQL Introducción a soluciones NoSQL 5
3.3. Paradigmas y lenguajes de programación El objetivo de este módulo es dominar conceptos de paradigmas, entornos, lenguajes y tecnologías de programación que permitan su correcta elección y el aprovechamiento óptimo de sus capacidades. La asignatura del módulo y sus contenidos son: Paradigmas de programación: Paradigmas y lenguajes de programación Tecnologías de programación Framework MapReduce, HADOOP 3.4. Metodologías y entornos de desarrollo El propósito de este módulo es conocer y aprender a aplicar marcos de trabajo para desarrollar software de forma sistemática, reduciendo los riesgos y aumentando la calidad. Se incluye también la utilización de herramientas de soporte a metodologías de desarrollo software. Las asignaturas del módulo y sus contenidos son: Metodologías agile: Principios y valores Inception Scrum Kanban Lean Comunicación y enterprise learning Management 3.0 Principios y herramientas de desarrollo: DevOps Mindset Infraestructura ágil Herramientas para Base de Conocimiento Herramientas para Gestión de Requerimientos Organización Devops e Impedimentos 3.5. Pruebas y calidad del software El objetivo de este módulo se centra en ser capaz de asegurar la calidad del software. Se aprenden metodologías de procesos modernos de pruebas de software, la aplicación de técnicas para diseñar pruebas eficaces, la definición y configuración de un proceso de calidad completo, así como el establecimiento de procesos de mejora continua. Las asignaturas del módulo y sus contenidos son: Fundamentos de pruebas: 6
Proceso de pruebas Tipos de pruebas Técnicas de diseño de pruebas Niveles de prueba Testing y la arquitectura software Cobertura de test Diseño de pruebas Pruebas de desarrollo Testing basado en el contexto Pruebas de usuario Pruebas ágiles Gestión de pruebas: Estrategia de pruebas Gestión de calidad a nivel ejecutivo Gestión del proceso de pruebas Gestión de datos de prueba Integración continua y pruebas Proceso de mejora continua Gestión de defectos de software Gestión de métricas de calidad Gestión de herramientas de calidad Gestión de equipos de calidad 3.6. Trabajo Final de Máster El Trabajo Final de Máster permite que el alumno profundice en una o varias áreas de conocimiento del programa de estudios, siendo también una oportunidad para dar cohesión a los temas estudiados. El Trabajo Final de Máster se realiza en grupo y puede tener lugar con la participación de reconocidas empresas del sector. 4. Horarios de clase De martes a jueves de 19 a 22h. 5. Fechas de inicio y finalización Inicio: 23 de Octubre de 2018 Finalización clases lectivas: Julio de 2019 7
Recuperaciones: Julio 2019 Defensa Ordinaria Trabajo Final de Máster (TFM): del 16 al 17 de julio de 2019 Defensa Extraordinaria Trabajo Final de Máster (TFM): 13 de Septiembre de 2019 8