Modelos de desarrollo

Get Started. It's Free
or sign up with your email address
Rocket clouds
Modelos de desarrollo by Mind Map: Modelos de desarrollo

1. Incremental

1.1. El Modelo Incremental para el desarrollo del software, consiste en crear funcionalidad por pequeña que sea para que a partir de ella, las creaciones posteriores, tendrán una característica (o características) funcionales, lo cual hace que se constituya en base a elementos que funcionan y que va siendo cada vez más compleja su funcionalidad.

1.1.1. Fases

1.1.1.1. Definición de requerimientos

1.1.1.2. Asignar los requerimientos a los incrementos.

1.1.1.3. Diseño del incremento a partir de los requerimientos.

1.1.1.4. Desarrollo del incremento.

1.1.1.5. Validar incrementos.

1.1.1.6. Integrar incrementos.

1.1.1.7. Validar funcionamiento.

1.2. Ventajas

1.2.1. Permite entregar al cliente un producto más rápido en comparación del modelo de cascada.

1.2.2. Resulta más sencilo acomodar cambios al acotar el tamaño de los incrementos.

1.2.3. Con un paradigma incremental se reduce el tiempo de desarrollo inicial, ya que se implementa la funcionalidad parcial.

1.3. Desventajas

1.3.1. El modelo Incremental no es recomendable para casos de sistemas de tiempo real, de alto nivel de seguridad, de procesamiento distribuido, y/o de alto índice de riesgos.

1.3.2. Requiere de mucha planeación, tanto administrativa como técnica.

1.3.3. Requiere de metas claras para conocer el estado del proyecto.

2. DRA

2.1. El Desarrollo Rápido de Aplicaciones o RAD (Rapid Application Development) es aquel método que contempla un desarrollo de modo iterativo así como la realización de prototipos.

2.1.1. Esta metodología está constituida por las siguientes etapas:

2.1.2. Modelado de la gestión: Dentro de esta etapa, el objetivo es la solución de las preguntas; por ejemplo: ¿Que información conduce el proceso de gestión?,¿Qué información se genera?, ¿A donde va a parar esa información?,etc.

2.1.3. Modelado de datos: Contempla la definición de las características de los objetos, así como la constitución de los objetos y sus vínculos entre ellos.

2.1.4. Modelado de proceso: Describe las metodologías que manipulan los objetos así como la comunicación entre ellos.

2.1.5. Generación de aplicaciones: Permite la utilización de recursos que ya existen o crear componentes reutilizables.

2.1.6. Pruebas de entrega: Prueba todos los componentes nuevos.

2.2. Características

2.2.1. Debe contener dentro de un equipo, personas que involucran tanto su desarrollo así como aquellos que analizan los requirimientos.

2.2.2. Muestra mediante modelos que contemplen los factores que permitan dar nociones a la vida real.

2.3. Ventajas

2.3.1. Mayor flexibilidad.

2.3.2. Menor codificación manual.

2.3.3. Mayor involucramiento de los usuarios.

2.3.4. Posiblemente menos fallas.

2.3.5. Ciclos de desarrollo más pequeños.

2.4. Desventajas

2.4.1. Comprar puede ser más caro que construir.

2.4.2. Costo de herramientas integradas y equipo necesario.

2.4.3. Progreso más difícil de medir.

2.4.4. Menos eficiente.

2.4.5. Riesgo de revertirse a las prácticas sin control de antaño.

3. Espiral

3.1. Este modelo fue propuesto por Boehm en 1988. Básicamente consiste en una serie de ciclos que se repiten en forma de espiral, comenzando desde el centro.

3.1.1. Determinación de objetivos

3.1.2. Se definen objetivos específicos para la fase.

3.1.3. Se identifican restricciones en el proceso o el producto.

3.1.4. Se identifican los posibles riesgos.

3.1.5. Se planean estrategias alternativas dependiendo de los riesgos.

3.1.6. Análisis y reducción de riesgos

3.1.7. Para cada uno de los riesgos identificados se lleva a cabo un análisis detallado.

3.1.8. Se toman medidas para reducir los riesgos.

3.1.9. Desarrollo y validación

3.1.10. Se elige un modelo de desarrollo

3.1.11. Se desarrolla un prototipo.

3.1.12. Planeación

3.1.13. Se evalúa el proyecto.

3.1.14. Se decide si se continúa con otra iteración de la espiral.

3.1.15. Se planea la siguiente fase.

3.2. Ventajas

3.2.1. El análisis del riesgo se hace de forma explícita y clara.

3.2.2. Reduce riesgos del proyecto

3.2.3. Incorpora objetivos de calidad

3.2.4. Integra el desarrollo con el mantenimiento, etc.

3.3. Desventajas

3.3.1. Genera mucho tiempo en el desarrollo del sistema.

3.3.2. Modelo costoso.

3.3.3. Requiere experiencia en la identificación de riesgos.

4. Construcción de prototipo

4.1. El prototipo debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar mucho dinero pues a partir de que éste sea aprobado nosotros podemos iniciar el verdadero desarrollo del software.

4.2. Ventajas

4.2.1. Reducción de la incertidumbre y del riesgo, Reducción de tiempo y de costos.

4.2.2. Incrementos en la aceptación del nuevo sistema, mejoras en la administración de proyectos, mejoras en la comunicación entre desarrolladores y clientes, etc.

4.3. Desventajas

4.3.1. La dependencia de las herramientas de software.

4.3.2. Depende de las iteraciones del prototipo

5. Concurrente

5.1. El modelo de proceso concurrente define una serie de acontecimientos que dispararán transiciones de estado a estado para cada una de las actividades de la ingeniería del software.

5.1.1. el modelo de proceso concurrente define actividades en dos dimensiones:

5.1.1.1. 1. Dimensión de sistemas.

5.1.1.2. 2. Dimensión de componentes.

5.2. Ventajas

5.2.1. Excelente para proyectos en los que se conforman grupos de trabajo independientes.

5.2.2. Proporciona una imagen exacta del estado actual de un proyecto.

5.3. Desventajas

5.3.1. Si no se dan las condiciones señaladas no es aplicable.

5.3.2. Si no existen grupos de trabajo no se puede trabajar en este método

6. Rup

6.1. RUP es explícito en la definición de software y su trazabilidad, es decir, contempla en relación causal de los programas creados desde los requerimientos hasta la implementación y pruebas.

6.1.1. Fases

6.1.1.1. Inicio

6.1.1.2. Elaboración

6.1.1.3. Construcción

6.1.1.4. Transición

6.2. Desventajas

6.2.1. Método pesado

6.2.2. Por el grado de complejidad puede ser no muy adecuado.

6.2.3. En proyectos pequeños, es posible que no se puedan cubrir los costos de dedicación del equipo de profesionales necesarios.

6.3. Ventajas

6.3.1. Es el proceso de desarrollo más general de los existentes actualmente.

6.3.2. Es una forma disciplinada de asignar tareas y responsabilidades en una empresa de desarrollo (quién hace qué, cuándo y cómo).

7. Basado en componentes

7.1. El modelo de desarrollo basado en componentes conduce ala reutilización del software, y la reutilización proporciona beneficios a los ingenieros de software.

7.2. Ventajas

7.2.1. 1. Reutilización del software. Nos lleva a alcanzar un mayor nivel de reutilización de software.

7.2.2. 2. Simplifica las pruebas. Permite que las pruebas sean ejecutadas probando cada uno de los componentes antes de probar el conjunto completo de componentes ensamblados.

7.2.3. 3. Simplifica el mantenimiento del sistema. Cuando existe un débil acoplamiento entre componentes, el desabollador es libre de actualizar y/o agregar componentes según sea necesario, sin afectar otras partes del sistema.

7.2.4. 4. Mayor calidad. Dado que un componente puede ser construido y luego mejorado continuamente por un experto u organización, la calidad de una aplicación basada en componentes mejorará con el paso del tiempo

7.3. Desventajas

7.3.1. Los “compromisos” en los requisitos son inevitables, por lo cual puede que el software no cumpla las expectativas del cliente.

7.3.2. Las actualizaciones de los componentes adquiridos no están en manos de los desarrolladores del sistema.