modelos de ciclos de vida de software

Get Started. It's Free
or sign up with your email address
modelos de ciclos de vida de software by Mind Map: modelos de ciclos de vida de software

1. Los tipos de Modelos de ciclos de vida normalmente se basan el el análisis y diseño estructurados, pero los objetos tienen una particularidad, y es que están basados en componentes que se relacionan entre ellos a través de interfaces, o lo que es lo mismo, son más modulares y por lo tanto el trabajo se puede dividir en un conjunto de mini proyectos. Además, hoy en día la tendencia es a reducir los riesgos, y en este sentido, el ciclo de vida en cascada no proporciona muchas facilidades. Debido a todo esto, el ciclo de vida típico en una metodología de diseño orientado a objetos es iterativo e incremental.

1.1. COMPONENTES DEL MODELO DE ESTRUCTURA DE OBJETOS El componente básico del OSM es la clase de objetos. Se distinguen tres tipos de clase: *Objetos Entidad. *Objetos de Interfaz. *Objetos de Control.

1.1.1. Este modelo identifica : *las clases de objetos en la aplicación. *como las clases de objetos se asocian unas con otras. *como se comunican los objetos. *Los detalles de cada clase de objetos, incluyendo atributos y operaciones. Durante el proceso de análisis y diseño, el OSM es definido en sucesivos niveles incrementales de detalle, hasta que el nivel necesario para la complementación es alcanzado

1.1.1.1. Durante el ciclo de desarrollo se aportan los siguientes elementos al modelo: Análisis del Negocio: se reconocen objetos claves del negocio y generan las abstracciones en las clases apropiadas (objetos entidad). Análisis de Requerimientos: se identifican asociaciones estructurales entre objetos y nuevas clases (entidad). Diseño lógico: Se incorporan todas las clases necesarias para la aplicación incluyendo los objetos de interfaz y de control. Diseño Físico: se incorporan todos los detalles remanentes para la complementación física de cada clase de objetos.

2. Se basa en la creación de una implementación parcial de un sistema, cuyo propósito es aprender sobre los requerimientos del sistema. Un prototipo es construido de una manera rápida tal como sea posible para que los usuarios y clientes experimenten con el prototipo. Estos individuos luego proveen la retroalimentación sobre lo que a ellos les gustó y no les gustó acerca del prototipo proporcionado. Esta infórmación se captura en la documentación de la especificación de requerimientos.

2.1. Etapas: Plan rápido. Modelado, diseño rápido Construcción del Prototipo Desarrollo, entrega y retroalimentación Comunicación Entrega del desarrollo final

2.1.1. Ventajas Este 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 está 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-máquina Se puede reutilizar el código   Inconvenientes: 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 desatender aspectos importantes, 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. Es frecuente que el usuario se muestre reacción a ello y pida que sobre ese prototipo se construya el sistema final, lo que lo convertiría en un prototipo evolutivo, pero partiendo de un estado poco recomendado. En aras de desarrollar rápidamente el prototipo, el desarrollador suele tomar algunas decisiones de implementación poco convenientes (por ejemplo, elegir un lenguaje de programación incorrecto porque proporcione un desarrollo más rápido). Con el paso del tiempo, el desarrollador puede olvidarse de la razón que le llevó a tomar tales decisiones, con lo que se corre el riesgo de que dichas elecciones pasen a formar parte del sistema final..

3. Modelo XP

3.1. Es una metodología ágil centrada en potenciar las relaciones interpersonales como clave para el éxito en desarrollo de software, se basa en realimentación continua entre el cliente y el equipo de desarrollo, comunicación continua entre todos los participantes, simplicidad en las soluciones implementadas y facilidad para enfrentar los cambios. XP se define como especialmente adecuada para proyectos con requisitos imprecisos, muy cambiantes y donde existe un alto riesgo técnico.

4. Modelo de prototipos

5. Modelo orientado a objetos

6. Modelo Espiral

6.1. El modelo espiral de los procesos software es un modelo del ciclo de meta-vida representado como una espiral determinando 4 pasos 1.Determinar objetivos. 2.Análisis del riesgo. 3.Desarrollar y probar 4.Planificación

6.1.1. El modelo espiral captura algunos principios básicos o caracteristicas:

6.1.2. Decidir qué problema se quiere resolver antes de viajar a resolverlo.

6.1.3. Examinar tus múltiples alternativas de acción y elegir una de las más convenientes.

6.1.4. Evaluar qué tienes hecho y qué tienes que haber aprendido después de hacer algo.

6.1.5. No ser tan ingenuo para pensar que el sistema que estás construyendo será "EL" sistema que el cliente necesita, y

6.1.6. Conocer (comprender) los niveles de riesgo, que tendrás que tolerar.

6.1.7. El modelo espiral no es una alternativa del modelo cascada, ellos son completamente compatible

7. En esta metodología el desarrollo y entrega del sistema se divide en incrementos, con cada incremento se entrega parte de la funcionalidad requerida en el sistema. Los Requerimientos de usuarios son priorizados y la prioridad más alta es incluida en los primeros incrementos.Se evitan proyectos largos y se entrega “Algo de valor” a los usuarios con cierta frecuencia, el usuario se involucra más en el proyecto se evalúan y el resultado puede ser muy positivo.

7.1. El modelo de desarrollo incremental provee algunas caracteristicas significativas para los proyectos:

7.2. Construir un sistema pequeño es siempre menos riesgoso que construir un sistema grande.

7.3. Al ir desarrollando parte de las funcionalidades, es más fácil determinar si los requerimientos planeados para los niveles subsiguientes son correctos.

7.4. Si un error importante es realizado, sólo la última iteración necesita ser descartada.

7.5. Reduciendo el tiempo de desarrollo de un sistema (en este caso en incremento del sistema) decrecen las probabilidades que esos requerimientos de usuarios puedan cambiar durante el desarrollo.

7.6. Si un error importante es realizado, el incremento previo puede ser usado.

7.7. Los errores de desarrollo realizados en un incremento, pueden ser arreglados antes del comienzo del próximo incremento

8. Un modelo de ciclo de vida de software es una vista de las actividades que ocurren durante el desarrollo de software, intenta determinar el orden de las etapas involucradas y los criterios de transición asociadas entre estas etapas.

8.1. Un modelo de ciclo de vida del software:

8.2. Describe las fases principales de desarrollo de software.

8.3. Define las fases primarias esperadas de ser ejecutadas durante esas fases.

8.4. Ayuda a administrar el progreso del desarrollo.

8.5. Provee un espacio de trabajo para la definición de un detallado proceso de desarrollo de software.

9. Modelo Incremental

10. Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto de desarrollo de software.

11. Modelo cascada

11.1. La visión del modelo cascada del desarrollo de software se enfoca en una secuencia simple de fases o etapas. Cada fase tiene un conjunto de metas bien definidas, y las actividades dentro de una fase contribuye a la satisfacción de metas de esa fase de manera que el inicio de cada etapa debe esperar a la finalización de la inmediatamente anterior

11.1.1. El modelo de ciclo de vida cascada, captura algunos principios básicos o características:

11.1.2. Planear un proyecto antes de embarcarse en él.

11.1.3. Definir el comportamiento externo deseado del sistema antes de diseñar su arquitectura interna.

11.1.3.1. Documentar los resultados de cada actividad.

11.1.4. Diseñar un sistema antes de codificarlo.

11.1.5. Testear un sistema después de construirlo.

11.1.6. Una de las contribuciones más importantes del modelo cascada es para los administradores, posibilitándoles avanzar en el desarrollo, aunque en una escala muy bruta.