Metodologías y los Ciclos de Vida de Desarrollo de Software.

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Metodologías y los Ciclos de Vida de Desarrollo de Software. por Mind Map: Metodologías  y los Ciclos de Vida de Desarrollo de Software.

1. Un modelo de ciclo de vida establece y muestra las distintas etapas y estados por los que pasa un producto software, desde su concepción inicial, pasando por su desarrollo, puesta en marcha y posterior mantenimiento, hasta la retirada del producto.

1.1. Un modelo de ciclo de vida del software:Describe las fases principales de desarrollo de software

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

1.3. Ayuda a administrar el progreso del desarrollo

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

1.5. El primer ciclo de vida del software, "Cascada", fue definido por Winston Royce a fines del 70. Sin embargo, ya desde 10 a 15 años atrás, el modelo cascada ha sido sujeto a numerosas críticas, debido a que es restrictivo y rígido, lo cual dificulta el desarrollo de proyectos de software moderno.

2. El ciclo de vida de desarrollo de software nos ayuda a determinar el orden de las etapas y los criterios durante el desarrollo de un software.

2.1. El ciclo de vida del software: Determinar el orden de las fases del proceso de software

2.2. Establecer los criterios de transición para pasar de una fase a la siguiente

2.3. Definir las entradas y salidas de cada fase

2.4. Describir los estados por los que pasa el producto

2.5. Describir las actividades a realizar para transformar el producto

2.6. Definir un esquema que sirve como base para planificar, organizar, coordinar, desarrollar

3. Modelo Espiral

3.1. El esfuerzo de desarrollo es iterativo. Tan pronto como uno completa un esfuerzo de desarrollo, otro comienza. Determinar qué quieres lograr.

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

3.1.2. Decidir qué problema se quiere resolver.

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

3.1.4. Evaluar qué se tiene hecho y qué se tiene que haber aprendido después de hacer algo.

3.1.5. Conocer los niveles de riesgo.

3.1.6. Es costoso ya que conlleva más trabajo.

3.1.7. Es mas utilizado en proyectos grandes.

3.2. En cada desarrollo ejecutado, puedes seguir estos cuatros pasos:

3.3. Determinar las rutas alternativas que puedes tomar para lograr estas metas.

3.4. Por cada una, analizar los riesgos y resultados finales, y seleccionar la mejor.

3.5. Seguir la alternativa seleccionada en el paso 2.

3.6. Establecer qué tienes terminado.

4. Modelo cascada

4.1. Este es el más básico de todos los modelos, y sirve como bloque de construcción para los demás modelos de ciclo de vida. La visión del modelo cascada del desarrollo de software es muy simple; dice que el desarrollo de software puede ser a través de una secuencia simple de fases. 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 o quizás a una subsecuencia de metas de la fase.

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

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

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

4.1.4. Documentar los resultados de cada actividad.

4.1.5. Diseñar un sistema antes de codificarlo.

4.1.6. Testear un sistema después de construirlo.

5. Metodología tradicional

5.1. Centran su atención en llevar una documentación exhaustiva de todo el proyecto y en cumplir con un plan de proyecto, definido todo esto, en la fase inicial del desarrollo del proyecto.

5.2. Se focalizan en la documentación, planificación y procesos (plantillas, técnicas de administración, revisiones, etc.)

6. Modelo de prototipos

6.1. Pertenece a los modelos de desarrollo evolutivo. El prototipo debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar muchos recursos.

6.1.1. Ventaja: 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. Desventaja: El usuario tiende a crearse unas expectativas cuando ve el prototipo de cara al sistema final. En aras de desarrollar rápidamente el prototipo, el desarrollador suele tomar algunas decisiones de implementación poco convenientes.

6.2. El diseño rápido se centra en una representación de aquellos aspectos del software que serán visibles para el cliente o el usuario final.

6.3. Este diseño conduce a la construcción de un prototipo, el cual es evaluado por el cliente para una retroalimentación; gracias a ésta se refinan los requisitos del software que se desarrollará

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

7. Metodología Agil

7.1. Nace como respuesta a los problemas que puedan ocasionar las metodologías tradicionales y se basa en dos aspectos fundamentales, retrasar las decisiones y la planificación adaptativa.

7.1.1. Algunos métodos ágiles de desarrollo de software: Adaptive Software Development (ASD) Agile Unified Process Feature Driven Development (FDD) Lean Software Development (LSD) Open Unified Process (OpenUP) Programación Extrema (XP) Método de desarrollo de sistemas dinámicos Scrum

7.2. Basan su fundamento en la adaptabilidad de los procesos de desarrollo.

8. Modelo en V

8.1. Se desarrolla en la fase de implementación, Es un modelo que suele funcionar bien para proyectos pequeños donde los requisitos son entendidos fácilmente.

8.2. Tiene las siguientes caracteristicas:

8.3. Es fácil de utilizar.

8.4. Se utiliza en proyectos pequeños.

8.5. Cuenta con entregables en cada fase.

9. Modelo Iterativo

9.1. Busca reducir el riesgo que surge entre las necesidades del usuario y el producto final por malos entendidos durante la etapa de recogida de requisitos.

9.2. Tiene las siguientes características:

9.3. No hace falta que los requisitos estén totalmente definidos al inicio del desarrollo

9.4. Consiste en la iteración de varios ciclos de vida en cascada

9.5. Al final de cada iteración se le entrega al cliente una versión mejorada o con mayores funcionalidades del producto.

10. Modelo Incremental

10.1. Se basa en la filosofía de construir incrementando las funcionalidades del programa.

10.2. aplica secuencias lineales de forma escalonada mientras progresa el tiempo en el calendario.

10.3. Tiene las siguientes características :

10.4. Es más fácil probar y depurar en una iteración más pequeña.

10.5. Es más fácil gestionar riesgos.

10.6. Es flexible, por lo que se reduce el coste en el cambio de alcance y requisitos.