Este documento describe diferentes metodologías para el desarrollo de software, incluyendo metodologías estructuradas, orientadas a objetos, tradicionales y ágiles. Define metodología como un proceso de software detallado y completo, y explica que se basan en modelos de proceso genéricos como la cascada o evolutivo. Luego detalla algunas metodologías específicas como Rational Unified Process, Extreme Programming y SCRUM, las cuales serán descritas con más detalle.
Este documento describe diferentes metodologías para el desarrollo de software, incluyendo metodologías estructuradas, orientadas a objetos, tradicionales y ágiles. Define metodología como un proceso de software detallado y completo, y explica que se basan en modelos de proceso genéricos como la cascada o evolutivo. Luego detalla algunas metodologías específicas como Rational Unified Process, Extreme Programming y SCRUM, las cuales serán descritas con más detalle.
Este documento describe diferentes metodologías para el desarrollo de software, incluyendo metodologías estructuradas, orientadas a objetos, tradicionales y ágiles. Define metodología como un proceso de software detallado y completo, y explica que se basan en modelos de proceso genéricos como la cascada o evolutivo. Luego detalla algunas metodologías específicas como Rational Unified Process, Extreme Programming y SCRUM, las cuales serán descritas con más detalle.
Un proceso de software detallado y completo suele denominarse
Metodologa. Las metodologas se basan en una combinacin de los modelos de proceso genricos (cascada, evolutivo, incremental, espiral entre otros). La comparacin o clasificacin de metodologas no es una tarea sencilla debido a la diversidad de propuestas y diferencias en el grado de detalle, informacin disponible y alcance de cada una de ellas. A grandes rasgos, si tomamos como criterio las notaciones utilizadas para especificar artefactos producidos en actividades de anlisis y diseo, podemos clasificar las metodologas en: METODOLOGAS ESTRUCTURADAS Los mtodos estructurados comenzaron a desarrollarse a fines de los 70s con la Programacin Estructurada, luego a mediados de los 70s aparecieron tcnicas para el Diseo (por ejemplo: el diagrama de Estructura) primero y posteriormente para el Anlisis (por ejemplo: Diagramas de Flujo de Datos). Estas metodologas son particularmente apropiadas en proyectos que utilizan para la implementacin lenguajes de 3ra y 4ta generacin. Ejemplos de metodologas estructuradas de mbito gubernamental: MERISE (Francia), MTRICA (Espaa), SSADM (Reino Unido). Ejemplos de propuestas de mtodos estructurados en el mbito acadmico: Gane & Sarson, Ward & Mellor, Yourdon & DeMarco e Information Engineering. METODOLOGAS ORIENTADAS A OBJETOS Su historia va unida a la evolucin de los lenguajes de programacin orientada a objeto, los ms representativos: a fines de los 60s SIMULA, a fines de los 70s Smalltalk-80, la primera versin de C++ por Bjarne Stroustrup en 1981 y actualmente Java o C# de Microsoft. A fines de los 80s comenzaron a consolidarse algunos mtodos Orientadas a Objeto. En 1995 Booch y Rumbaugh proponen el Mtodo Unificado con la ambiciosa idea de conseguir una unificacin de sus mtodos y notaciones, que posteriormente se reorienta a un objetivo ms modesto, para dar lugar al Unified Modeling Language (UML), la notacin Orientada a Objetos ms popular en la actualidad. Algunas metodologas orientadas a objetos que utilizan la notacin UML son: Rational Unified Process (RUP), OPEN,
MTRICA (que tambin soporta la notacin estructurada).
METODOLOGAS TRADICIONALES Las metodologas no giles son aquellas que estn guiadas por una fuerte planificacin durante todo el proceso de desarrollo; llamadas tambin metodologas tradicionales o clsicas, donde se realiza una intensa etapa de anlisis y diseo antes de la construccin del sistema. Todas las propuestas metodolgicas antes indicadas pueden considerarse como metodologas tradicionales. Aunque en el caso particular de RUP, por el especial nfasis que presenta en cuanto a su adaptacin a las condiciones del proyecto (mediante su configuracin previa a aplicarse), realizando una configuracin adecuada, podra considerarse gil. METODOLOGAS GILES Un proceso es gil cuando el desarrollo de software es incremental (entregas pequeas de software, con ciclos rpidos), cooperativo (cliente y desarrolladores trabajan juntos constantemente con una cercana comunicacin), sencillo (el mtodo en s mismo es fcil de aprender y modificar, bien documentado), y adaptable (permite realizar cambios de ltimo momento). Entre las metodologas giles identificadas son: Extreme Programming Scrum Familia de Metodologas Crystal Feature Driven Development Proceso Unificado Rational, una configuracin gil Dynamic Systems Development Method Adaptive Software Development Open Source Software Development SEGUIDAMENTE DETALLAREMOS LAS SIGUIENTES METODOLOGAS PARA DESARROLLO DE SOFTWARE: