LA EVOLUCIÓN DE LA METODOLOGÍA DEL DESARROLLO DEL SOFTWARE
PRIMERA ETAPA: 1950-1960 programación y técnicas de programación.
Se enfocaban en las tareas de codificación
Insatisfaccion del cliente
Necesidades poco claras por mal analisis
SEGUNDA ETAPA: 1960-1970 modelo de progresos.
Buscar alternativas para esquematizar de alguna manera la producción del software.
Code-and-fix es decir codificar y corregir
Implementaba el código y luego pensaba en los requisitos, diseño, validación y mantenimiento
Proyectos no podían concluir
Aparece la crisis del software debido a los excesos de costo, la escasa fiabilidad, insatisfacción del cliente o usuario
TERCERA ETAPA: 1970-1985 procesos de desarrollo software y modelos tradicionales del ciclo de vida.
Se empezó a dar importancia a tomar datos para analizarlos por partes y realizar una planeación
“Modelos de ciclo de vida del software”: Se focaliza en el suministro de una guía para los ingenieros de software
Modelo en cascada
1966-1970
Modelo iterativo,
Propone en la iteración de varios ciclos de la vida en cascada
Desarrollo en espiral
Barry Boehm en 1985
Modelo en v
Alan Davis
CUARTA ETAPA: 1985-1999 métodos rápidos e inicio del desarrollo ágil de la ingeniería de software.
Se comienza a estudiar los objetos
Proceso evolutivo del desarrollo software al modelo en espiral.
“Métodos rápidos”
Crear una versión prototipo y después integrar la funcionalidad de manera iterativa para satisfacer los requisitos del cliente
La metodología RAD
Scrum
Schwaber y Sutherland 1995
Extreme programming
fundamentada en la retroalimentación continua entre el cliente y el equipo de desarrollo
RUP (Rational Unified Process)
1998 - Describe las buenas practicas de la ingeniera de software
QUINTA ETAPA: 2000 - Presente, Metodologías del proceso de la ingeniera de software.
Se basa en un funcionamiento cíclico y reconoce que en cada iteración se producirán cambios e incluso errores.
Ofrece una alternativa al desarrollo de software aplicando la idea de que la optimización es la única solución para problemas de complejidad creciente.
ofrecer una alternativa al desarrollo de software ampliado en la idea de que la optimización es la única solución para problemas de complejidad creciente.
Busca atender a las necesidades de rapidez, flexibilidad y variantes externas