EVOLUCIÓN DE LAS METODOLOGÍAS Y MODELOS UTILIZADOS EN EL DESARROLLO DE SOFTWARE.
-
Origen
Primera generación de computadores, las prácticas de desarrollo no obedecían a una metodología, los programadores se dedicaban a desarrollar sus código, lo que acarreaba una multitud de problemas -
Necesidad
Para finales de los 60 se veía la necesidad de establecer puntos de verificación del correcto avance de los sistemas, evitando errores tardíos -
Modelos y metodologías clásicas
se acoge el primer modelo: "fix and code". Adopta una serie de pasos a seguir como base inicial par ala fabricación del software. Toma popularidad el término "crisis del software" por los costos, también se acuna el término "ingeniería de software". -
Modelo en Cascada
Propiciado por Winston Royce. , sugiere un enfoque sistemático y secuencial, disciplinado y basado en análisis, diseño, pruebas y mantenimiento -
"the humble programmer"
Edsger Dijkstra presenta este trabajo, sentando las bases para la creación de las metodologías tradicionales conocidas -
clico de vida del desarrollo del Software
Dijkstra y el uso de los postulados de permitió solucionar inconvenientes de sistemas complejos a través del análisis por partes o etapas. “Software Develop Life Clicle” sienta las bases de los estados por los que debe trascender un producto de desarrollo desde que nace a partir de un requerimiento -
ingeniería del Software
implementación de una serie de “modelos” que dividen el proyecto en etapas desde su concepción inicial, el desarrollo, pruebas, lanzamiento y mantenimiento -
diferenciación entre “modelos” y “metodologías”
Aparecen los modelos. Cendejas (2014) en su tesis doctoral deja clara la separación de ambos conceptos: El autor aclara que modelo es la abstracción simplificada del proceso de desarrollo y que la metodología es un compendio amplio que incluye al modelo, reglas, notaciones y documentación del proceso. -
Modelo de Desarrollo Incremental
Creado por Harlan Mills. Se basa en el desarrollo a partir del incremento de la funcionabilidad del programa, se puede considerar un precursor de las modernas metodologías iterativas. -
Modelo de desarrollo evolutivo
Propuesto por Barry Boehm. Conjuga una naturaleza iterativa en la construcción de prototipos con aspectos controlados y sistemáticos del modelo en cascada. el software se desarrolla en una serie de entregas evolutivas. En cada ciclo repetitivo va ganando madurez el producto final. -
Scrum
Utiliza un enfoque incremental que tiene como fundamento la teoría de control empírico de procesos. Define tres roles: el “Scrum master”, líder del equipo y de la implementación de la filosofía, mas no del desarrollo; el dueño del producto y el equipo de desarrollo -
Modelo de desarrollo basado en Componentes
Creada por Fred Brooks. .” Promueve el uso de desarrollos “pre-fabricados” para que se puedan re utilizar. -
Modelo de Cascada en “V”
propuesto por Alan Davis dice que Las pruebas necesitan empezarse lo más pronto posible en el ciclo de vida y estas actividades deberían ser llevadas a cabo en paralelo con las actividades de desarrollo -
Metodologías Ágiles
alternativas que procuran un enfoque en el software y no en la arquitectura o la documentación, los enfoques ágiles valoran a los individuos, equipo e interacciones por encima de los procesos y herramientas -
desarrollo rápido de aplicaciones
presentado por James Martin. Se centra en una lista de tareas y una estructura de desglose del trabajo orientada a la rapidez. Comprende el desarrollo bajo un modelo iterativo la construcción de prototipos y el uso de aplicaciones informáticas dirigidas a aumentar la productividad en todos los aspectos del ciclo de desarrollo -
Microsoft Solution Framework
conjunto de las mejores prácticas. Es flexible, permite aplicar de manera individual e independiente cada uno de sus componentes, es escalable según la magnitud del proyecto -
Rational Unified Process
Es dirigido por “casos de uso”, se centra en la arquitectura, dicta pautas específicas para la constitución del equipo y las escalas de tiempo, es iterativa e incremental. desde sus inicios ha contado con respaldo por parte de IBM. Propuesta por Ivar Jacobson, Grady Booch y James Rumbaugh. -
Extreme Programming
Propuesta por Kent Beck, Sus postulados o principios son: Retroalimentación rápida, asumir simplicidad, el cambio incremental, la aceptación del cambio y el trabajo de calidad. busca guiar a equipos de desarrollo de software pequeños