Denominación de la asignatura |
Gestión del Ciclo de vida de las aplicaciones |
Postgrado al que pertenece |
Máster en DevOps, Cloud Computing y Automatización de Producción de Software |
Créditos ECTS |
6 |
Cuatrimestre en el que se imparte |
Primer cuatrimestre |
Carácter de la asignatura | Obligatoria |
En un ciclo de vida tradicional, las etapas de desarrollo y despliegue de una aplicación son muy claras y requieren el establecimiento de unos límites claramente diferenciados, lo que muchas veces implica compleja sincronización y burocracia. En un entorno de DevOps el desarrollo de una aplicación y su ciclo de vida completo pasa a ser un flujo continuo donde requisitos, desarrollo, pruebas y despliegues se orquestan de manera simultánea y asegurando la máxima calidad y velocidad.
La forma en que se ejecutan las actividades dentro de las etapas de ALM depende del enfoque de cada organización y las metodologías más comunes son Waterfall y Ágil. Las organizaciones que usan Waterfall siguen el ciclo de vida tradicional del desarrollo de sistemas. Este consiste en una serie de fases individuales que comienzan con la iniciación, diseño, construcción (build) y pruebas secuenciales, y terminan con el despliegue. Estas fases se realizan secuencialmente y es primordial que la fase anterior se complete antes de que comience la siguiente.
Agile, decide descomponer las entregas de software en iteraciones más cortas y cada iteración se centra en proporcionar software listo para ser desplegado. Los tipos de metodologías ágiles incluyen Scrum, Lean, Kanban y XP (Programación Extrema). Las iteraciones se pueden desplegar y probar en producción, tanto para proporcionar características esenciales al negocio rápidamente, como para obtener una rápida retroinformación del usuario. Algunas organizaciones ido aún más lejos y han adoptado la entrega continua y el despliegue continuo. Esta última tendencia incorpora a DevOps, donde Desarrollo y Operaciones son parte del equipo del proyecto y todos son responsables de las pruebas.
Tema 1. Gestión del ciclo de vida de las aplicaciones y control de versiones
Introducción
Gestión del Ciclo de Vida de las Aplicaciones
Control de versiones
Edición simultánea
Clientes y control de versiones
Código Base Único
Preguntas frecuentes
Conclusiones
Control de versiones: Mejores prácticas en procesos ágiles
Tema 2. Integración y entrega continua con pruebas automatizadas
Introducción
Integración continua
Entrega continua
Pruebas automatizadas
Tema 3. Ejemplos y herramientas
Introducción
Descripción general del plugin Jenkins de ElasticBox
Escenarios compatibles de CI / CD
Configuración de Jenkins y ElasticBox
Configuración de CI / CD con ElasticBox, Jenkins y Bitbucket
Otras herramientas
Las actividades formativas de la asignatura se han elaborado con el objetivo de adaptar el proceso de aprendizaje a las diferentes capacidades, necesidades e intereses de los alumnos.
Las actividades formativas de esta asignatura son las siguientes:
En la programación semanal puedes consultar cuáles son las actividades concretas que tienes que realizar en esta asignatura.
Estas actividades formativas prácticas se completan, por supuesto, con estas otras:
Bibliografía básica
Los textos necesarios para el estudio de la asignatura han sido elaborados por la UNIR y están disponibles en formato digital para consulta, descarga e impresión en el aula virtual.
Bibliografía complementaria
Hüttermann, M. (2011). Lightweight tools and Agile strategies. Manning Publications.
Lines, M. & Ambler, S. (2015). Introduction to Disciplined Agile Delivery: A Small Agile Team's Journey from Scrum to Continuous Delivery. CreateSpace Independent Publishing Platform.
McCullough, M. & Loeliger, J. (2012). Version Control with Git: Powerful tools and techniques for collaborative software development. O'Reilly.
Olausson, M. & Ehn, J. (2015). Continuous Delivery with Visual Studio ALM 2015. Apress.
Sachs, L., Aiello, B. & Aiello, R. (2016). Agile Application Lifecycle Management: Using DevOps to Drive Process Improvement. Addison-Wesley Professional.
El sistema de calificación se basa en la siguiente escala numérica:
0 - 4, 9 |
Suspenso |
(SS) |
5,0 - 6,9 |
Aprobado |
(AP) |
7,0 - 8,9 |
Notable |
(NT) |
9,0 - 10 |
Sobresaliente |
(SB) |
La evaluación continua supone el 100% de la calificación final de la asignatura. Este 100% de la nota final se compone de las calificaciones obtenidas en las diferentes actividades formativas llevadas a cabo durante la asignatura.
En la programación semanal de la asignatura, se detalla la calificación máxima de cada actividad o evento concreto puntuables.
Fernando López Hernández
Formación
Doctor en Ing. Informática y Telecomunicación. Actualmente trabaja como profesor asociado a tiempo completo en UNIR.
Experiencia
Director y Coordinador Académico del Máster en Aplicaciones para Móviles de UNIR.
Coordinador Académico del Experto en Robótica. Profesor en el Grado de Ingeniería Informática (Informática Gráfica y Visualización, Algebra, Algoritmia y Complejidad), Grado de Diseño digital (Imagen e Imagen en Movimiento) y Máster de Aplicaciones Móviles (Objective-C y Tecnologías iOS). Previamente trabajó como investigador sénior postdoctoral en UNIR. Antes de unirse a UNIR trabajó como investigador predoctoral y postdoctoral en el Video Processing and Understanding Lab (VPU Lab) de la Universidad Autónoma de Madrid.
Líneas de investigación
Multimedia, gráficos, procesamiento de imagen y vídeo, lenguajes de programación, desarrollo de aplicaciones móviles.
Obviamente, al tratarse de formación online puedes organizar tu tiempo de estudio como desees, siempre y cuando vayas cumpliendo las fechas de entrega de actividades, trabajos y exámenes. Nosotros, para ayudarte, te proponemos los siguientes pasos:
Ten en cuenta estos consejos…
|