MetodologíAs Y Ciclos De Vida

34
Ingeniería de Software Metodologías y Ciclos de Viva

Transcript of MetodologíAs Y Ciclos De Vida

Page 1: MetodologíAs Y Ciclos De Vida

Ingeniería de Software

Metodologías y Ciclos de Viva

Page 2: MetodologíAs Y Ciclos De Vida

Metodologias: Definición

• El conjunto de métodos que se utilizan en una determinada actividad con el fin de formalizarla y optimizarla.

• Determina los pasos a seguir y cómo realizarlos para finalizar una tarea.

Page 3: MetodologíAs Y Ciclos De Vida

Metodologias: Aplicación a la Ingeniería de Software

• Optimiza el proceso y el producto software.

• Métodos que guían en la planificación y en el desarrollo del software.

• Define qué hacer, cómo y cuándo durante todo el desarrollo y mantenimiento de un proyecto

Page 4: MetodologíAs Y Ciclos De Vida

Metodologias: Aplicación a la Ingeniería de Software

Sin metodología Con metodología

Page 5: MetodologíAs Y Ciclos De Vida

Metodologías: ElementosDefine una estrategia global para enfrentarse con el proyecto:

Fases.Tareas a realizar en cada fase.

Productos (final e intermedios).E/S de cada fase, documentos.

Procedimientos y herramientas. Apoyo a la realización de cada tarea.

Criterios de evaluación.Del proceso y producto. Saber si se han logrado los objetivos.

Page 6: MetodologíAs Y Ciclos De Vida

Metodologías: Ventajas

• Desde el punto de vista de gestión:

– Facilitar la tarea de planificación.– Facilitar la tarea de control y seguimiento de un proyecto.– Mejorar la relación coste/beneficio.– Optimizar el uso de recursos disponibles.– Facilitar la evaluación de resultados y cumplimiento de los

objetivos.– Facilitar la comunicación efectiva entre usuarios y

desarrolladores.– Ayuda a la gestión del proyecto.

Page 7: MetodologíAs Y Ciclos De Vida

Metodología: Ventajas

Desde el punto de vista de los ingenieros del software:

– Ayudar a la comprensión del problema.

– Optimizar el conjunto y cada una de las fases del proceso de desarrollo.

– Facilitar el mantenimiento del producto final.

– Permitir la reutilización de partes del producto.

Page 8: MetodologíAs Y Ciclos De Vida

Metodología: Ventajas

Desde el punto de vista del cliente o usuario final:

– Garantía de un determinado nivel de calidad en el producto final.

– Confianza en los plazos de tiempo fijados en la definición del proyecto.

– Definir el ciclo de vida que más se adecue a las condiciones y características del desarrollo.

Page 9: MetodologíAs Y Ciclos De Vida

Metodología: Ventajas

– Determinar las fases dentro del ciclo de vida especificando su orden de ejecución.

– Definir los resultados intermedios y finales.

– Proporcionar un conjunto de métodos, herramientas y técnicas para facilitar la tarea del ingeniero del software y aumentar suproductividad.

Page 10: MetodologíAs Y Ciclos De Vida

Ciclos de Vida: Definición

• Conjunto de fases por las que pasa el sistema que se está desarrollando desde que nace la idea inicial hasta que el software es retirado o reemplazado (“muere”).

• Se denomina a veces “paradigma”.– Dos puntos de vista– Transformación del producto.– Proceso que transforma el producto.

Page 11: MetodologíAs Y Ciclos De Vida

Ciclo de vida: funciones

Un ciclo de vida debe:

– Determinar el orden de las fases del proceso software.

– Establecer los criterios de transición para pasar de una fase ala siguiente.

– Definir las entradas y salidas de cada fase.

Page 12: MetodologíAs Y Ciclos De Vida

Ciclo de vida: funciones

• Describir los estados por los que pasa el producto.

• Describir las actividades a realizar para transformar el producto.

• Definir un esquema que sirve como base para:

– Planificar.– Organizar.– Coordinar.– Desarrollar.– ...

Page 13: MetodologíAs Y Ciclos De Vida

Ciclo de vida: Situación Real

Page 14: MetodologíAs Y Ciclos De Vida

Modelo ciclo de vida en cascada

Page 15: MetodologíAs Y Ciclos De Vida

Modelo ciclo de vida en cascada

Características:

• Es el más utilizado.

• Es una visión del proceso de desarrollo de software como una sucesión de etapas que producen productos intermedios.

• Para que el proyecto tenga éxito deben desarrollarse todas las fases.

• Las fases continúan hasta que los objetivos se han cumplido.

• Si se cambia el orden de las fases, el producto final será de inferior calidad,

Page 16: MetodologíAs Y Ciclos De Vida

Modelo ciclo de vida en cascada

CRITICAS:

• No refleja realmente el proceso de desarrollo del software

• Se tarda mucho tiempo en pasar por todo el ciclo• Perpetua el fracaso de la industria del software en su

comunicación con el usuario final• El mantenimiento se realiza en el código fuente• Las revisiones de proyectos de gran complejidad son

muy difíciles• Impone una estructura de gestión de proyectos

Page 17: MetodologíAs Y Ciclos De Vida

Modelo ciclo de vida en cascada

Limitaciones:

• No se permiten las iteraciones.

• Los requisitos se congelan al principio del proyecto.

• No existe un proyecto “enseñable” hasta el final del proyecto.

Page 18: MetodologíAs Y Ciclos De Vida

Modelo ciclo de vida en cascada

Page 19: MetodologíAs Y Ciclos De Vida

Modelo de ciclo de vida en espiral

Page 20: MetodologíAs Y Ciclos De Vida

Modelo de ciclo de vida en espiral

Page 21: MetodologíAs Y Ciclos De Vida

Modelo de ciclo de vida en espiral

• Trata de mejorar los ciclos de vida clásicos y prototipos.

• Permite acomodar otros modelos

• Incorpora objetivos de calidad y gestión de riesgos• Elimina errores y alternativas no atractivas al comienzo • Permite iteraciones, vuelta atrás y finalizaciones rápidas

• Cada ciclo empieza identificando:

– Los objetivos de la porción correspondiente– Las alternativas– Restricciones

• Cada ciclo se completa con una revisión que incluye todo el ciclo anterior y el plan para el siguiente

Page 22: MetodologíAs Y Ciclos De Vida

Modelo de ciclo de vida en espiral

• Se usa en proyectos en los que se prevén riesgos.

• Representa un enfoque dirigido por el riesgo para el análisis y estructuración del proceso software.

• Ventajas:

– Utiliza las fases de modelos tradicionales. Se centra en la eliminación de errores y alternativas poco atractivas.

– Su orientación a detectar y prevenir el riesgo evita muchas dificultades.

• Desventajas:

– Complicado: Consume muchos recursos. – Las etapas y sus E/S no están claramente definidas.

Page 23: MetodologíAs Y Ciclos De Vida

Modelos de refinamiento sucesivo por pasos o por mejora iterativa

Page 24: MetodologíAs Y Ciclos De Vida

Iterativo

Page 25: MetodologíAs Y Ciclos De Vida

Iterativo

Page 26: MetodologíAs Y Ciclos De Vida

Iterativo

• Es una repetición de varios ciclos de vida en cascada.• Al final de cada ciclo se entrega una versión completa

del software mejorada respecto a la anterior.• Los ciclos se repiten hasta obtener un producto

satisfactorio.• Los usuarios deben evaluar el producto en cada

iteración y proponer mejoras.• Se suele aplicar en desarrollos en los que los requisitos

no están claros, las primeras versiones pueden ser prototipos que se desechan posteriormente.

Page 27: MetodologíAs Y Ciclos De Vida

Incremental

Page 28: MetodologíAs Y Ciclos De Vida

Incremental

• Es una repetición de varios ciclos de vida en cascada.• Al final de cada ciclo se entrega una versión parcial del

software incrementada con cierta funcionalidad nueva respecto a las entregas anteriores.

• Los ciclos se repiten hasta obtener un producto completo.

• Los usuarios disponen antes del software, aunque no sea completo, por lo que pueden sugerir mejoras.

• Se suele aplicar a desarrollos de gran tamaño.

Page 29: MetodologíAs Y Ciclos De Vida

Incremental

• Se evitan proyectos largos y se entrega “Algo de valor” a los usuarios con cierta frecuencia

• El usuario se involucra más

• Difícil de evaluar el coste total

• Requiere gestores experimentados

• Los errores en los requisitos se detectan tarde.

• El resultado es ser muy positivo

Page 30: MetodologíAs Y Ciclos De Vida

Modelo ciclo de vida prototipado

Page 31: MetodologíAs Y Ciclos De Vida

Modelo ciclo de vida prototipado

Page 32: MetodologíAs Y Ciclos De Vida

Modelo ciclo de vida prototipado

• No modifica el flujo del ciclo de vida• Reduce el riesgo de construir productos que no

satisfagan las necesidades de los usuarios• Reduce costos y aumenta la probabilidad de

éxito• Exige disponer de las herramientas adecuadas• No presenta calidad ni robustez• Una vez identificados todos los requisitos

mediante el prototipo, se construye el producto de ingeniería.

Page 33: MetodologíAs Y Ciclos De Vida

Modelo ciclo de vida prototipado

EL PROTOTIPADOPARA QUE SEA EFECTIVO:

• Debe ser un sistema con el que se pueda experimentar• Debe ser comparativamente barato (< 10%)• Debe desarrollarse rápidamente• Enfasis en la interfaz de usuario• Equipo de desarrollo reducido• Herramientas y lenguajes adecuados

• “El prototipado es un medio excelente para recoger el ‘feedback’ (realimentación) del usuario final”

Page 34: MetodologíAs Y Ciclos De Vida

Modelo ciclo de vida prototipado

PELIGROS DEL PROTOTIPO

• El cliente ve funcionando lo que para el es la primera versión del prototipo que ha sido construido con “plastilina y alambres”, y puede desilusionarse al decirle que el sistema aun no ha sido construido.

• El desarrollador puede caer en la tentación deampliar el prototipo para construir el sistema finalsin tener en cuenta los compromisos de calidad y demantenimiento que tiene con el cliente.