generaciones de la metodologia de desarrollo de software
DESCRIPTION
desarrollo de softwareTRANSCRIPT
GENERACIONES DE LA
METODOLOGIA DE
DESARROLLO DE SOFTWARE
CONCEPTO:
Denominado ciclo de vida del desarrollo de software es una estructura aplicada al desarrollo de software. Tiene como objetivo presentar un conjunto de técnicas tradicionales y modernas que permitan desarrollar un software de calidad.
GENERACIONES:
Programación estructurada.- Surgió en el año 1960 por bohn y Jacopini, orientado a mejorar la claridad, calidad y tiempo de desarrollo de un software, utilizando subrutinas.Programación estructurada
Jackson.- Surgió en el año 1970 por Michael. A. Jackson, El objetivo era hacer COBOL programas de procesamiento de archivos por cantidades más fácil de modificar y mantener.
Análisis de los sistemas estructurados y método de diseño (SSADM). en 1980 fue producida para la Agencia Central de Informática y Telecomunicaciones, es un método de cascada para el análisis y diseño de sistemas de información.
Análisis Estructurado y Diseño Técnica (TDAA).- Se desarrolla desde finales de 1960 por Douglas T. Ross y más formalizada y publicado en 1981, diseñado específicamente para ayudar a las personas describir y comprender los sistemas.
Ingeniería de sistemas de información.-Se ocupa del
desarrollo, uso, aplicación e influencia de las tecnologías de la información. Desarrollo rápido de aplicaciones (RAD).- Desarrollado por James Martin en 1980. Es un ciclo de desarrollo diseñado para crear aplicaciones para computadoras de alta calidad.
Consta de cuatro etapas:-Planificación de los requisitos.- -Diseño.- -Construcción.- -Implementación.-
Programación orientada a objetos (POO, u OOP). Es un paradigma de programación que usa objetos en sus interacciones, para diseñar aplicaciones y programas informáticos.
-El estado.- Se encuentra compuesto por datos o
informaciones.
-El comportamiento.- Definido por
los métodos.
-La identidad.- Es una propiedad de un objeto
que lo diferencia del resto
Características de la POOAbstracción.-Encapsulamiento.-Modularidad.-Principio de ocultación.-Polimorfismo.-Herencia.-Recolección de basura (garbage
collection).-
Máquina de estados finitos virtual.- Se utiliza principalmente en aplicaciones de control de máquinas, instrumentación y telecomunicaciones complejas.
Método de desarrollo de sistemas dinámicos (Dynamic Systems Development Method).- Es un método que provee un FRAMEWORK para el desarrollo ágil de software.
Scrum.-Este método permite la creación de equipos auto organizados impulsando la co-localización de todos los miembros del equipo, y la comunicación verbal entre todos los miembros y disciplinas involucrados en el proyecto.
Proceso Unificado de Rational (Proceso Racional Unificado- RUP).- Es un proceso de desarrollo de software desarrollado por la empresa Rational Software, actualmente propiedad de IBM.
Programación extrema (xp).- Es una metodología de desarrollo de la ingeniería de software formulada por Kent Beck en el año 1999.
Empresa Unified Process (EUP).- Desarrollado por Scott W. Ambler y Larry Constantino en el año 2000, con el tiempo reelaborado en 2005 por Ambler, John Nalbone y Michael Vizdos.
Metodología de diseño Construccionista.- Es un enfoque para la construcción de sistemas altamente modulares de muchos componentes que interactúan.
Metodología convencional (sin metodología).- Los resultados finales son impredecibles.
No hay forma de controlar lo que está sucediendo en el Proyecto.
Los cambios organizativos afectan negativamente al proceso de desarrollo.
Metodología estructurada.- Es la primera aproximación al problema. Está orientada a procesos, es decir, se centra en especificar y descomponer la funcionalidad del sistema.
Se clasifican en: Orientadas a proceso
Orientadas a datos
Jerárquicos:
Modelo cascadaEs un proceso secuencial de desarrollo en el que los pasos de desarrollo son vistos hacia abajo (como en una cascada de agua) a través de las fases de análisis de las necesidades.
Definición de requerimientos
Implementación y pruebas de unidades
Integración y prueba del sistema
Operación y mantenimiento
Diseño de sistema y de software
Cliente …
Se hacen compromisos en las etapas iniciales
El resultado de cada etapa son documentos firmados y aprobados por las partes involucradas.
Altos costos, especialmente si se requieren cambios
¿Se hace al proceso de solución de problemas en ingeniería? ¿Qué voy a hacer?
¿Cómo lo voy hacer?
¿Cómo se ve completo?
¿lo hice bien?
Definición de requerimientos
Diseño de sistema y de
software
Diseño de programa
Codificación
Operación y mantenimiento
Pruebas de unidades e integración
Pruebas de sistema
Pruebas de aceptación
Valida requerimientos
verifica diseño
verifica diseño
Diseño de sistema y de
software
Definición de requerimientos
Operación y mantenimien
to
Integración y prueba del
sistema
Implementación y pruebas de unidades
¿Por qué falla el
proceso en cascada?
Prototipado: El prototipado permite desarrollar modelos de aplicaciones de software.
Incremental: Provee una estrategia para controlar la complejidad y los riesgos.
Espiral: Los principios básicos son: La atención se centra en la evaluación y reducción del riesgo del proyecto.
Cada ciclo comienza con la identificación de los interesados y sus condiciones de ganancia.
El espiral atraviesa con cuatro cuadrantes básicos: Determinar objetivos, alternativas, y desencadenantes de la iteración.
Evaluar alternativas; Identifica y resuelve los riesgos.
Desarrollar y verificar los resultados de la iteración, y plan de la próxima iteración.
Planifica la próxima iteración.