Métodos de Desarrollo de Software
Evolución de Modelos de Ciclo de Vida
timeline
title Evolución de Métodos de Desarrollo de Software
1970 : Waterfall (Royce)
: Fases secuenciales
: Críticas al modelo
1985 : Prototipado
: Modelos Iterativos
: Espiral (Boehm)
1990 : Unified Process (UP)
: Fases, Iteraciones, Workflows
: Rational Unified Process
2001 : Agile Manifesto
: Scrum y XP
: TDD e Integración Continua
2010 : Lean / Kanban
: DevOps y CI/CD
: Software Product Lines
Contenidos
Definición de Modelo de Ciclo de Vida. Waterfall y sus variantes. Las críticas de Royce al Waterfall. Modelos basados en prototipos. Modelos iterativos incrementales y sus variantes, el modelo en espiral. Modelos evolutivos y co-evolutivos. Modelos guiados por la arquitectura. Criterios para seleccionar un modelo de ciclo de vida en un proyecto.
El Unified Process y sus Variantes. Fases, Etapas e Iteraciones en el marco de UP. Conceptos de artefacto, worker y workflow. Repaso de los principales templates de UP.
Métodos Agiles. Introducción a los métodos ágiles. El Agile Manifesto. Principios de los métodos ágiles. Scrum: roles, reuniones y productos de scrum. Extreme programming y sus prácticas. TDD e Integración Continua. Introducción al Lean Software Development y Kanban.
Software Product Line. Definición de reuso sistemático. Definición de Product Line. Contextos de aplicación. Estrategias de implantación. Las prácticas esenciales de Product Line y su interpretación. Métodos Formales. La importancia de los formalismos en ciertos dominios. Introducción a los principales métodos formales de desarrollo y sus notaciones: Z, CSP y otras álgebras de procesos, FSMs y Statecharts, Cleanroom Software Development.
Referencias
- The Agile Manifesto — Beck et al., 2001
- Managing the Development of Large Software Systems — Winston W. Royce, 1970
- Extreme Programming Explained — Kent Beck, Addison-Wesley, 1999