En que se basa cada de las generaciones de las metodologías
Generaciones
1.       Programación estructurada:

Surgio en el año 1960 por bohn y jacopini , orientado a mejorar la claridad , calidad y tiempo de desarrollo utilizando subrutinas .

2.       Programación estructurada Jackson:

Surgió en el año 1970 por Michael . A. Jackson, el  objetivo de Jackson era hacer los programas de procesamiento de archivos por lotes COBOL más fácil de modificar y mantener, pero el método se puede utilizar para diseñar programas para cualquier lenguaje de programación que tenga constructores, lenguajes como CJava y Perl. A pesar de su edad, JSP está todavía en uso y con el apoyo de herramientas de diagramación tales como herramientas de Microsoft Visio y CASE como Jackson Workbench

3.       análisis de los sistemas estructurados y métodos de diseño:

SSADM es una aplicación en particular y se basa en el trabajo de las diferentes escuelas de análisis estructurados métodos y desarrollo, como la de Peter Checkland Metodología blanda de sistemas, de Larry Constantino diseño estructurado, de Edward Yourdon Método estructurado de Yourdon , de Michael A. Jackson Programación Estructurada de Jackson, y Tom DeMarco análisis estructurado.

4.       Ingeniera de sistemas la información:

se origina del desarrollo de aplicación e influencia de las tecnologías de la información.

5.       Desarrollo rápido de aplicaciones:

es un proceso de desarrollo de software, desarrollado inicialmente por James Martin en 1980. El método comprende el desarrollo iterativo, la construcción de prototipos y el uso de utilidades CASE. Tradicionalmente, el desarrollo rápido de aplicaciones tiende a englobar también la usabilidad, utilidad y la rapidez de ejecución.

6.       Programación orientada a objetos:

es un paradigma de programación que viene a innovar la forma de obtener resultados. Los objetos manipulan los datos de entrada para la obtención de datos de salida específicos, donde cada objeto ofrece una funcionalidad especial.

7.       Máquina de estados finitos virtual:

 a un modelo de comportamiento de un sistema con entradas y salidas, en donde las salidas dependen no sólo de las señales de entradas actuales sino también de las anteriores.

8.       Método de desarrollo de sistemas dinámicos:

es un método que provee un framework para el desarrollo ágil de software, apoyado por su continua implicación del usuario en un desarrollo iterativo y creciente que sea sensible a los requerimientos cambiantes, para desarrollar un sistema que reúna las necesidades de la empresa en tiempo y presupuesto. Es uno de un número de métodos de desarrollo ágil de software y forma parte de la alianza ágil.

9.       Scrum:

es el nombre con el que se denomina a los marcos de desarrollo ágiles caracterizados por:

Adoptar una estrategia de desarrollo incremental, en lugar de la planificación y ejecución completa del producto.
Basar la calidad del resultado más en el conocimiento tácito de las personas en equipos auto organizados, que en la calidad de los procesos empleados.
Solapamiento de las diferentes fases del desarrollo, en lugar de realizar una tras otra en un ciclo secuencial o en cascada

10.   Proceso unificado radical:

es un proceso de desarrollo de software desarrollado por la empresa Rational Software, actualmente propiedad de IBM.1​ Junto con el Lenguaje Unificado de Modelado (UML), constituye la metodología estándar más utilizada para el análisis, diseño, implementación y documentación de sistemas orientados a objetos.

11.   Programación extrema:

es una metodología de desarrollo de la ingeniería de software formulada por Kent Beck, autor del primer libro sobre la materia, Extreme Programming Explained: Embrace Change (1999). Es el más destacado de los procesos ágiles de desarrollo de software. Al igual que éstos, la programación extrema se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad.

12.   Proceso unificado:

es un marco de desarrollo de software que se caracteriza por estar dirigido por casos de uso, centrado en la arquitectura y por ser iterativo e incremental. El refinamiento más conocido y documentado del Proceso Unificado es el Proceso Unificado de Rational o simplemente RUP.

El Proceso Unificado no es simplemente un proceso, sino un marco de trabajo extensible que puede ser adaptado a organizaciones o proyectos específicos. De la misma forma, el Proceso Unificado de Rational, también es un marco de trabajo extensible, por lo que muchas veces resulta imposible decir si un refinamiento particular del proceso ha sido derivado del Proceso Unificado o del RUP. Por dicho motivo, los dos nombres suelen utilizarse para referirse a un mismo concepto.

13.   metodologías estructuradas:

en la estructuración y descomposición funcional de problemas en unidades más pequeñas interrelacionadas entre sí. Representan los procesos, flujos y estructuras de datos, de una manera jerárquica y ven el sistema como entradas-proceso-salidas. Tiene como objetivo emplear las metodologías de análisis y diseño estructurado para su uso con herramientas CASE, incrementando la productividad en el desarrollo e implantación de sistemas de información y entre ellas podemos encontrar a Kendall & Kendall entre otras. Crea los modelos de forma descendente. Son las orientadas a procesos, a datos y las mixtas. Intentan aplicar formas ingenieriles para solucionar problemas técnicos al obtener un sistema de información, proponen la creación de modelos, flujos y estructuras mediante un top-down. Las metodologías estructuradas hacen fuerte separación entre los datos y los procesos. Producen una gran cantidad de modelos y documentación y se basan en ciclos de vida en cascada.

14.  proceso unificado ágil:

Este describe de una manera simple y fácil de entender la forma de desarrollar aplicaciones de software de negocio usando técnicas ágiles y conceptos que aún se mantienen válidos en RUP. El AUP aplica técnicas ágiles incluyendo Desarrollo Dirigido por Pruebas (test driven development - TDD), Modelado Ágil, Gestión de Cambios Ágil, y Refactorización de Base de Datos para mejorar la productividad.


principales metodologías existentes en el mercado; aspectos positivos y negativos de cada una de ellas
Modelo cascada
Lo positivo:
-          Realiza un buen funcionamiento en equipos débiles y productos maduros, por lo que se requiere de menos capital y herramientas para hacerlo funcionar de manera óptima.
-          Es un modelo fácil de implantar y entender.
-          Está orientado a documentos.
-          Promueve una metodología de trabajo efectiva: Definir antes que diseñar, diseñar antes que codificar
Lo negativo:
-          En la vida real, un proyecto rara vez sigue una secuencia lineal esto crea una mala implementación del modelo, lo cual hace que lo lleve al fracaso.
-          El proceso de creación del software tarda mucho tiempo ya que debe pasar por el proceso de prueba y hasta que el software no esté completo no se opera.
-          Cualquier error de diseño detectado en la etapa de prueba conduce necesariamente al rediseño y nueva programación del código afectado, aumentando los costos de desarrollo.
-          Una etapa determinada del proyecto no se puede llevar a cabo a menos de que se haya culminado la etapa anterior
Modelo Espiral
Lo positivo:
-          Se disminuyen los riesgos.
-          Al final de cada iteración se obtienen los puntos de verificación.
-          Se obtienen con anterioridad indicaciones de cualquier riesgo.
Lo negativo:
-          Aumento de costos.
-          Es un modelo complicado de llevar a cabo por que exige una gestión concienzuda, atenta y unos conocimientos profundos.
Modelo Incremental
Lo positivo:
-          Construir un sistema pequeño es menos riesgoso
-          Es más fácil determinar si los requerimientos son los correctos.
-          Si un error es realizado, solo la última iteración se descarta ya utiliza incremento previo.
Lo negativo:
-          Se presume que todos los requisitos se han definido al inicio.
-          Se requiere experiencia para definir los incrementos.
-          Si el sistema es grande, tomara más tiempo.
Modelo de prototipos
Lo positivo:
-          Ese modelo es útil cuando el cliente conoce los objetivos generales para el software, pero no identifica los requisitos detallados de entrada, procesamiento o salida.
-          También ofrece un mejor enfoque cuando el responsable del desarrollo del software esta inseguro de la eficacia de un algoritmo, de la adaptabilidad de un sistema operativo o de la forma que debería tomar la interacción humano-maquina.
-          Se puede reutilizar el código.
Lo negativo
-          El usuario tiende a crearse unas expectativas cuando ve el prototipo de cara al sistema final. A causa de la intención de crear un prototipo de forma rápida, se suelen pasar desatender aspectos 9mpotantes, tales como la calidad y el mantenimiento a largo plazo, lo que obliga en la mayor parte de los casos a reconstruirlo una vez que el prototipo ha cumplido su función.

-          En aras de desarrollar rápidamente el prototipo, el desarrollador suele tomar algunas decisiones de implantación poco convenientes. Con el paso del tiempo, el desarrollador puede olvidarse de la razón que le llevo a tomar tales decisiones con los que se corre el riesgo de que dichas elecciones pasen a formar parte de la decisión final.

Comentarios

Entradas populares de este blog

Metodología de Kendall y Kendall, James Senn y Llorens Fábregas