Ingeniería de Software
Este libro acompaña ISW515 — Ingeniería de Software del quinto ciclo de Ingeniería en Sistemas en la UNIMO. Si los libros anteriores te enseñaron a programar, este te enseña a construir software profesional: en equipo, con plazos, con clientes reales, con calidad medible.
La diferencia entre un programador y un ingeniero de software no es el lenguaje que usa. Es si sabe trabajar en equipo, gestionar cambios, probar su código, y entregar lo que prometió.
Prerrequisitos
- Análisis y Diseño de Sistemas — metodologías, requerimientos, UML.
- Programación II — POO, que se asume para los ejemplos de pruebas.
- Bases de Datos I — para los ejemplos de repositorios.
Qué encontrás acá
| # | Capítulo | Tema central |
|---|---|---|
| 1 | Introducción | Historia de la ingeniería de software, crisis del software, el costo de los bugs |
| 2 | Ágil y Scrum | Scrum avanzado, Kanban, estimación con story points, velocidad |
| 3 | Calidad y pruebas | Tipos de pruebas, pirámide de testing, métricas de calidad |
| 4 | TDD y testing | Test-Driven Development, pruebas unitarias en Python/JS, mocks |
| 5 | CI/CD y DevOps | Pipelines, GitHub Actions, Docker, despliegue automático |
El proyecto del libro: "La Esquina" va a producción
Continuamos con la Pupusería La Esquina. Ya hicimos el análisis y diseño (libro ADS415). Ahora el equipo de desarrollo tiene que construirlo y entregarlo de forma profesional:
- Sprint planning con el dueño.
- Code reviews antes de mergear.
- Tests automáticos que corren en cada push.
- Despliegue sin downtime.
Cada capítulo avanza en este proceso, mostrando las prácticas que usan equipos profesionales.
Notación y herramientas
| Herramienta | Uso en el libro |
|---|---|
| Git / GitHub | Control de versiones, pull requests, actions |
| Python + pytest | Ejemplos de pruebas unitarias |
| Docker | Contenedores para desarrollo y producción |
| GitHub Actions | Pipelines de CI/CD |
| Jira / Trello | Gestión del backlog (conceptual) |