-
Programación o técnicas de codificación
En esta etapa no existían metodologías de desarrollo. Se crearon los lenguajes de tercera generación, los cuales son llamados lenguajes de alto nivel.
Ejemplos:
FORTRAN (FORmula TRANslator), el cual fue diseñado para aplicaciones científicas y de ingeniería.
COBOL (COmmon Business-Oriented Language), el cual fue diseñado para aplicaciones de gestión o administración. -
Modelo de procesos
Consistía en codificar y corregir (Code and-fix)
Este modelo implementaba el código y luego se pensaba en los requisitos, diseño, validación y mantenimiento.
Este modelo tiene tres problemas principales:
* Después de un número de correcciones, el código puede tener una muy mala estructura(los arreglos son muy costosos).
* El software puede estar bien diseñado, pero no se ajusta a las necesidades del usuario.
* El código es difícil de reparar por su pobre preparación para probar y modificar. -
Metodologías clásicas en cascada
Propuesta por Winston W.Royce.
El modelo en cascada consta de las siguientes fases:
* Definición de los requisitos: Los servicios, restricciones y objetivos.
* Diseño de software: Se particiona el sistema (software o hardware).
* Implementación y pruebas unitarias: Construcción de los módulos y unidades de software.
* Integración y pruebas del sistema: Se integran todas las unidades.
* Operación y mantenimiento: El sistema es puesto en marcha y se realiza la corrección de errores descubiertos. -
M.E jerárquica LCP de Warnier
LCP (Logical Construction Program)
Fue diseñado para resolver problemas informáticos de gestión, utilizando una estructura lógica. Se basa en el empleo de llaves de distintos tamaños que relacionan entre sí las tareas y operaciones. -
Metodologías ágiles en V
Propuesto por Alan Davis. Permitió hacer más explícita la tarea de la iteración de las actividades del proceso.
Consta de 4 niveles:
*El nivel 1 está orientado al “cliente”. Se compone del análisis de requisitos y especificaciones.
*El nivel 2 se dedica a las características funcionales del sistema propuesto.
*El nivel 3 define los componentes hardware y software del sistema final.
*El nivel 4 es la fase de implementación, en la que se desarrollan los elementos unitarios o módulos del programa. -
M.E orientadas a datos jerárquicos: JSP y JSD
Utilizan la técnica del diseño descendente, cuyo producto final es el programa escrito en el pseudocódigo propio del método, de tal forma que su codificación en cualquier lenguaje de programación es sencilla.
Pasos:
*Etapa de modelado (análisis): con el paso de entidad / acción y el paso de estructuras de entidad .
*Fase de red (diseño): con el paso inicial modelo , paso función , y la etapa de temporización del sistema .
*Etapa de implementación (realización): el paso de implementación. -
Metodología clásica iterativa
Es una evolución del modelo en cascada o waterfall. Se dice que el proceso se divide en 4 partes: Análisis, Diseño, Código y Prueba. Sin embargo, para la producción del software, se usa el principio de trabajo en cadena o “Pipeline”. Con esto se mantiene al cliente en constante contacto con los resultados obtenidos en cada incremento. Es el mismo cliente el que incluye o desecha elementos al final de cada incremento a fin de que el software se adapte mejor a sus necesidades reales. -
M.Mixta de las administraciones: MERISE
Las bases de MERISE comenzaron en 1972 por un equipo universitario de ingenieros de Aix-en-Provence.
Introducen dos ciclos complementarios: ciclo de abstracción y ciclo de decisión. El ciclo de abstracción se basa en la percepción de tres niveles de abstracción : conceptual, organizativo y físico. Además se definen dos niveles para cada nivel : un modelo de datos y otro de tratamientos.
Fases :
Estudio preliminar.
Estudio detallado.
Implementación.
Realización y puesta en marcha. -
M.E orientadas a procesos: Gane y Sarson
Es el resultado de varios años de aplicación práctica, en cuanto a formación y consultoría en métodos de análisis y diseño estructurado de sistemas. Fue creada por la empresa MCAUTO/IST bajo el nombre de STRADIS SDM.
La metodología de Gane y Searson hace referencia a cinco pasos:
*Construir un modelo lógico en curso.
*Construir un modelo lógico del nuevo sistema
*Diseñar la base de datos física.
*Crear un nuevo modelo físico del sistema.
*Empaquetar la especificación en subsistemas. -
M.E orientadas a procesos: DEMARCO
Fue creado por Tom DeMarco, se basa en el modelo básico entrada/proceso/salida, es decir los datos entran al sistema y éste los transforma para dar lugar a las salidas.
Pasos:
1)Estudio del Entorno Físico actual
2)Derivación de Correspondencia modelo lógico actual
En esta etapa se obtiene un modelo lógico derivado del anterior.
3)Derivación del Nuevo Modelo Lógico
4)Crear un Conjunto de Método físico Alternativos
5)Valorar cada opción
6)Seleccionar una opción
7)Empaquetar la especificación -
Metodología clásica incremental
Propuesto por Harlan Mills. Esta metodología combina elementos del modelo en cascada con la filosofía interactiva de construcción de prototipos. Este modelo aplica secuencias lineales de forma escalonada mientras progresa el tiempo en el calendario. Cada secuencia lineal produce un incremento del software.
Ventajas:
Es más fácil probar y depurar en una iteración más pequeña.
Es un modelo más flexible.
Inconveniente:
Cada fase de una iteración es rígida y no se superponen con otras. -
M.E jerárquica LCS
LCS (Logical Construction Systems).
Permite la descripción de la organización de datos y procedimientos. Fueron desarrollados en Francia por Jean-Dominique Warnier y en los Estados Unidos por Kenneth Orr sobre la base del álgebra de Boole. Este método ayuda al diseño de estructuras de programa identificando la salida y los resultados del procesamiento y luego trabajando hacia atrás para determinar los pasos y combinaciones de entrada necesarios para producirlos. -
M.Mixta de las administraciones: SSADM
Creada por el gobierno británico entre el Central Computing and Telecommunications Agency (CCTA) y Learmonth and Burchett Management Systems (LBMS),para unificar y estandarizar los proyectos de software de las distintas administraciones.
Características:
*Centrada en los usuarios
*Define de forma clara el proceso de producción
*Utiliza tres puntos de vista, para orientarse a datos, eventos y procesos.
*Flexibilidad en herramientas y técnicas de implementación -
M.E no jerárquica: IE(Information Engineering)
Desarrollado por J. Martin y C. Finkelstein. Es un enfoque de ingeniería de software para diseñar y desarrollar sistemas de información . Ingeniería de Información.
Etapas:
*Planificación: Construir una arquitectura de la información y una estrategia.
*Análisis: Comprender áreas del negocio y determinar los requisitos del sistema.
*Diseño: Establecer el comportamiento de sistemas deseados por el usuario.
*Construcción: Construir sistemas que cumplan los tres niveles anteriores. -
Metodología clásica de prototipos
Este diseño conduce a la construcción de un prototipo, el cual es evaluado por el cliente para una retroalimentación.
Etapas
*Comunicación
*Analogía
*Plan rápido.
*Modelado, diseño rápido
*Construcción del Prototipo
*Desarrollo, entrega y retroalimentación
*Entrega del final
Ventajas:
Este modelo es útil cuando el cliente conoce los objetivos generales para el software.
Inconvenientes:
El usuario tiende a crearse unas expectativas cuando ve el prototipo de cara al sistema final. -
Metodología clásica en espiral
Es una combinación entre el modelo waterfall y un modelo por iteraciones. El proceso empieza desde la de conceptualización, siguiendo el desarrollo, luego una fase de mejoras, para finalizar con el mantenimiento.
Dentro de cada etapa, existen una serie de fases que transcurren desde la planificación, pasando por el análisis de riesgos, el desarrollo y finalizando en la evaluación de lo realizado.
Más:https://www2.deloitte.com/es/es/pages/technology/articles/que-es-el-desarrollo-en-espiral.html -
M.E orientadas a procesos: Yourdon/Constantine
Creada por Edward Yourdon. Proporciona una manera para diseñar paso a paso sistemas y programas detallados. Unos pasos involucran el análisis, otros el desarrollo del diseño y otros más la medición y la mejora de la calidad del diseño.
Pasos o fases:
*Realizar lo DFD del sistema
*Realizar el Diagrama de estructuras, obteniéndolo a partir de los DFD’s mediante dos técnicas de análisis: trasformación y transacción.
*Evaluación del diseño
*Preparación del diseño para la implementación. -
M.Mixtas de las administraciones: METRICA
Surge en 1989 con el objetivo de crear un marco común para la planificación y el desarrollo de sistemas de información. En 1993 aparece la segunda versión y en el 2001 surge la tercera versión(V3)
Objetivos generales:
*Satisfacer las necesidades de los usuarios
*Mejorar la productividad
*Facilitar la comunicación entre todos los participantes
*Facilitar la operación, mantenimiento y uso de los productos software obtenidos
*Utilizar las distintas tecnologías que actualmente están conviviendo. -
Metodologías ágiles RAD
Se trata de un modelo de desarrollo de aplicaciones ágil. Este método abarca el desarrollo interactivo, la creación de prototipos y el empleo de utilidades CASE.
La metodología RAD suele englobar también la usabilidad, utilidad y la rapidez de ejecución.
Beneficios:
Avances medibles
Separación de los componentes del sistema
Comentarios constantes de los usuarios Inconvenientes:
Requiere sistemas modulares
Dificultad dentro de proyectos a gran escala
Exige mucha interactividad del usuario -
Metodología orientada a objetos Jacobson(OOSE)
Este método proporciona un soporte para el diseño creativo de productos de software, las actividades consisten en la transformación de un conjunto de requerimientos en un plan estructurado de construcción y un plan de acción.
Consta de cuatro pasos generales:
*Clase temporizador
*Construcción
*Diseño
*Prueba del sistema -
Metodología de desarrollo de sistemas dinámicos
Fue desarrollado por un consorcio de proveedores y de expertos en la materia del desarrollo de sistemas de información (IS).
Fases:
*Fase 1: Pre-Proyecto:
Se identifican los proyectos propuestos.
*Fase 2: Ciclo de Vida del Proyecto:
Epata 1: Estudio de Viabilidad
Etapa 2: Estudio del Negocio
Etapa 3: Iteración de Modelo Funcional
Etapa 4: Iteración de Diseño y Desarrollo
Etapa 5: Aplicación
*Fase 3: Post-Proyecto:
Asegurarse que el sistema operativo acepte de manera eficaz y segura el proyecto. -
Metodología orientada a objetos BOOCH(OOAD)
Es un lenguaje de modelado de objetos y una metodología ampliamente usada en el diseño de software orientado a objetos. Fue desarrollada por Grady Booch mientras trabajaba para Rational Software.
Los aspectos notables de la metodología de Booch han sido superados por el Lenguaje Unificado de Modelado, que combina elementos gráficos de la metodología de Booch junto a elementos de la técnica de modelado de objetos y la Ingeniería de software orientada a objetos. -
Metodologías ágiles de Scrum
Scrum es una metodología ágil y flexible para gestionar el desarrollo de software. Se basa en construir primero la funcionalidad de mayor valor para el cliente y en los principios de inspección continua, adaptación, auto-gestión e innovación.
Beneficios
Cumplimento de expectativas
Flexibilidad a cambios
Reducción del Time to Market
Mayor calidad del software
Mayor productividad
Maximiza el retorno de la inversión (ROI).
Predicciones de tiempos
Reducción de riesgos. -
Metodología orientada a objetos Rumbaugh(OMT)
Fue desarrollada por James Rumbaugh, uno de los precursores del Lenguaje Unificado de Modelado (UML).
La fase de análisis comienza con la declaración del problema.
La declaración del problema se “expande“ después en tres modelos:
• De objetos
• Dinámico
• Funcional
*El modelo de objetos representa los objetos del sistema.
*El modelo dinámico representa la interacción entre esos objetos.
*El modelo funcional representa los métodos del sistema desde la perspectiva de flujo de datos. -
M.Mixta de las administraciones: Eurométodo
Metodología para la adquisición de sistemas de información y servicios relacionados, desarrollada en el marco de un proyecto de instituciones europeas bajo supervisión de la Comisión Europea.
Objetivos:
*Ayudar al entendimiento mutuo entre clientes y proveedores de proyectos y servicios de sistemas de información dentro de un mercado internacional abierto.
*Mejorar la adquisición de sistemas de información y servicios.
*Proporcionar un marco para la unificación de la terminología de los métodos. -
Metodología orientada a objetos RUP
Es un proceso propietario de la ingeniería de software creado por Rational Software , adquirida por IBM.
Utiliza el enfoque de la orientación a objetos en su diseño y está diseñado y documentado el uso de la notación UML para ilustrar los procesos en acción.
Fases:
*Iniciación o Diseño : énfasis en el alcance del sistema
*Preparación : énfasis en la arquitectura
*Construcción : énfasis en el desarrollo
*Transición : énfasis en la aplicación. -
Metodologías para STR: COMET
Emplea notación UML, y está basada en un ciclo de desarrollo iterativo, con las siguientes fases: modelado de requisitos, análisis , diseño, construcción e integración incremental del software y validación del sistema .
En la fase de diseño, se desarrolla la arquitectura del software. En la fase de construcción se lleva la implementación.
Durante la fase de integración se integran los módulos de software creados.
En la fase de diseño, se lleva a cabo la validación temporal del sistema. -
Metodologías ágiles XP
Fundada por Kent Beck. Yacen en la comunidad de Smalltalk.
Su objetivo es el desarrollo y gestión de proyectos con eficacia, flexibilidad y control.
La metodología XP define cuatro variables para cualquier proyecto de software: costo, tiempo, calidad y alcance.
Fases:
*Entender lo que el cliente necesita > Fase de Exploración
*Estimar el esfuerzo > Fase de Planificación
*Crear la solución > Fase de Iteraciones
*Entregar el producto final al cliente > Fase de puesta en producción -
Metodologías ágiles de desarrollo adaptable de software ( ASD)
Formulada por Highsmith , la cual se basa en un funcionamiento cíclico y reconoce que en cada iteración se producirán cambios e incluso errores.
En esta metodología hay un ciclo de especular, colaborar y aprender.
Fue desarrollada con la intención de ofrecer una alternativa al
desarrollo de software basándose en la idea de que la optimización es la única solución para problemas de complejidad creciente.
Características:
*Iterativo
*Orientado en los componentes del software
*Tolerante a cambios. -
Metodologías ágiles Lean o Lean Software Development o LSD
Es una metodología ágil desarrollada por los mencionados Mary and Tom Poppendieck. Dicha metodología, como bien dice su nombre, contempla los principios Lean de Toyota.
Tiene como objetivo eliminar desperdicios, seleccionando aquellas características que realmente aportan valor, y da especial importancia a la velocidad y la eficiencia.
Se formalizó en el 2001 con el Manifiesto Ágil, aunque tiene raíces desde mucho antes. -
Metodologías ágiles Kanban
El método Kanban fue formulado por David J. Anderson, este utiliza las etapas del ciclo de vida del desarrollo de software (SDLC) para representar las diferentes etapas del proceso. El objetivo es controlar y gestionar el flujo de características (representadas por tarjetas Kanban) para que el número de características que entran en el proceso coincida con las que se están completando. Las principales ventajas son: es muy fácil de utilizar, actualizar y asumir por parte del equipo.