2.13.3 SE/Control de Versiones y CI/CD
Temas:
Core
- 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).
- Herramientas de prueba, incluyendo herramientas de análisis estático y dinámico. Fundamentos de Desarrollo de Software (SDF) -Practices,SEC-Coding
- 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.
Aprendizaje esperado (Learning Outcomes):
Core:
- 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]
- Identificar elementos de configuración y usar una herramienta de control de código fuente en un proyecto pequeño basado en equipo [Analizar]
- Describir cómo las herramientas de prueba estáticas y dinámicas disponibles pueden integrarse en el entorno de desarrollo 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]
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM