Referencias Bibliográficas: [Kim et al., 2021]
Temas
- Gestión de configuración de software y control de versiones: Fundamentos de Desarrollo de Software (SDF) -Practices
- Configuración en control de versiones, builds/configuración reproducibles.
- Estrategias de ramificación en control de versiones. Ramas de desarrollo vs ramas de lanzamiento. Desarrollo basado en tronco (trunk-based development).
- Estrategias de fusión/rebase, cuando sean relevantes.
- Gestión de lanzamientos (release management).
- Automatización de procesos de software:
- Sistemas de construcción (build systems): el valor de builds rápidos, herméticos y reproducibles, comparar/contrastar enfoques para construir un proyecto.
- Integración Continua (CI): el uso de automatización y pruebas automatizadas para hacer una validación preliminar de que la revisión actual del tronco se construye y pasa las pruebas (básicas).
- Despliegue Continuo (CD): el uso de automatización para liberar de forma automática cada cambio que supera las pruebas hacia el entorno de producción, garantizando entregas frecuentes y confiables.
- Gestión de dependencias: actualización de dependencias externas/aguas arriba, gestión de paquetes, SemVer.
- Herramientas de prueba, incluyendo herramientas de análisis estático y dinámico. Fundamentos de Desarrollo de Software (SDF) -Practices,SEC-Coding
- Conceptos y mecanismos de integración de herramientas. Fundamentos de Desarrollo de Software (SDF) -Practices
- Cultura DevOps: flujo, retroalimentación y aprendizaje continuo.
Aprendizaje esperado (Learning Outcomes)
- Describir la diferencia entre la gestión de configuración de software centralizada y distribuida [Describir]
- Describir cómo el control de versiones puede usarse para ayudar en la gestión de lanzamientos de software [Describir]
- Comprender el uso de sistemas de CI/CD como una fuente de verdad para el estado del código compartido del equipo (éxito en la construcción y pruebas) [Explicar]
- Demostrar la capacidad de usar herramientas de software para apoyar el desarrollo de un producto de software de tamaño mediano [Demostrar]
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM