Ingeniería de Software
Calendario
Cada semana: dos sesiones de teoría (A y B, 2 h) y un laboratorio (2 h). Los temas marcados con ✂️ pueden pasar a lectura autónoma si se pierden clases.
Proceso y requisitosDiseño y arquitecturaCalidad: pruebas, revisión e integraciónProducción y evolución
- 01
¿Qué es la ingeniería de software?
Proceso y requisitos- Sesión A
- Presentación del curso · ¿Qué es la ingeniería de software?
- Sesión B
- La IA en el ciclo de desarrollo: qué hace bien, qué hace mal y cómo usarla con responsabilidad
- Laboratorio
- Entorno y Git en equipo: ramas, pull requests y conflictos sobre Kallpa
P0 publicadoApuntesDiapositivasCódigo - 02
Procesos, planificación y estimación
Proceso y requisitos- Sesión A
- Procesos: cascada, iterativo, Scrum y Kanban
- Sesión B
- Planificación y estimación · Caso: el Boeing 737 MAX
- Laboratorio
- Issues, tablero y estimación del backlog de Kallpa
- 03
Requisitos e historias de usuario
Proceso y requisitos- Sesión A
- Requisitos: elicitación y entrevistas
- Sesión B
- Historias de usuario, criterios de aceptación y priorización
- Laboratorio
- Entrevista simulada y backlog de una funcionalidad de Kallpa
- 04
Especificaciones y design docs
Proceso y requisitos- Sesión A
- Especificaciones: contratos, invariantes y tipos
- Sesión B
- Design docs y desarrollo guiado por especificaciones
- Laboratorio
- De la especificación al código, con y sin un agente
- 05
Complejidad, módulos profundos y conceptos
Diseño y arquitectura- Sesión A
- Diseño: complejidad, módulos profundos y ocultamiento de información
- Sesión B
- Conceptos, acoplamiento y cohesión
- Laboratorio
- Refactorizar un módulo superficial de Kallpa
- 06
APIs y patrones de diseño
Diseño y arquitectura- Sesión A
- Interfaces y APIs: REST, errores, versionado e idempotencia
- Sesión B
- Patrones de diseño que siguen vigentes
- Laboratorio
- Diseñar y documentar una API con OpenAPI
- 07
- Sesión A
- Arquitectura: capas, hexagonal, monolito y microservicios
- Sesión B
- Atributos de calidad y decisiones de arquitectura (ADR) · diagramas C4
- Laboratorio
- Un ADR y un diagrama de contenedores para Kallpa
- 08
- Sesión A
- Repaso
- Sesión B
- Examen parcial
- Laboratorio
- Sin laboratorio
- 09
Pruebas unitarias, dobles de prueba, TDD y BDD
Calidad: pruebas, revisión e integración- Sesión A
- Pruebas: unitarias, dobles de prueba y cobertura
- Sesión B
- TDD y BDD
- Laboratorio
- Pruebas unitarias de Kallpa con node:test
- 10
Pruebas basadas en propiedades, fuzzing, mutación y oráculos
Calidad: pruebas, revisión e integración- Sesión A
- Pruebas basadas en propiedades y fuzzing
- Sesión B
- Pruebas de mutación y oráculos para código generado
- Laboratorio
- Encontrar con fast-check y Stryker errores que las pruebas no ven
- 11
Revisión de código y análisis estático
Calidad: pruebas, revisión e integración- Sesión A
- Revisión de código
- Sesión B
- Análisis estático, tipos y linters · Revisar código escrito por IA
- Laboratorio
- Revisar pull requests de otro equipo; TypeScript estricto y ESLint
- 12
Integración continua y dependencias
Calidad: pruebas, revisión e integración- Sesión A
- Integración continua y build
- Sesión B
- Dependencias y cadena de suministro
- Laboratorio
- Un pipeline de GitHub Actions para Kallpa
- 13
Despliegue y operación
Producción y evolución- Sesión A
- Despliegue: contenedores, entornos y feature flags
- Sesión B
- Operación: observabilidad, SLOs, incidentes y postmortems
- Laboratorio
- Desplegar Kallpa, observarla y escribir el postmortem de un incidente simulado
- 14
Agentes y productos con modelos de lenguaje
Producción y evolución- Sesión A
- Desarrollo con agentes: herramientas, MCP e ingeniería de contexto
- Sesión B
- Productos con modelos de lenguaje: evals, inyección de prompts y costo
- Laboratorio
- Un conjunto de evals para una funcionalidad con LLM
- 15
- Sesión A
- Seguridad y privacidad desde el diseño
- Sesión B
- Ética, accesibilidad y licencias · procedencia del código generado
- Laboratorio
- Auditoría de seguridad y accesibilidad de Kallpa
- 16
Mantenimiento, deuda técnica y deprecación
Producción y evolución- Sesión A
- Mantenimiento: código heredado, deuda técnica y deprecación
- Sesión B
- Presentaciones finales
- Laboratorio
- Defensa oral de los proyectos
P5 entregaApuntesDiapositivasCódigo