Вы находитесь на странице: 1из 4

MODELO EN CASCADA, MODELO INCREMENTAL, MODELO ESPIRAL Y PROGRAMACION EXTREMA

Modelo en cascada

El modelo en cascada o también denominado modelo convencional, se caracteriza por la existencia de un conjunto de fases secuenciadas en el tiempo. A la finalización de una fase se comienza la siguiente tomando como datos de entrada los resultados de la anterior.

Las fases principales consideradas son las siguientes:

• Definición de requisitos.

O de especificación de requisitos, es obtener una clara comprensión del problema a resolver, extraer las necesidades del usuario y derivar de ellas las funciones que debe realizar el sistema.

A su Vez Esta Compuesta De dos subfases: análisis de requisitos de usuario y análisis de requisitos de sistema.

Diseño.

Determinar una solución a los requisitos del sistema definidos en la fase anterior y se divide en:

Diseño de alto nivel o arquitectónico: definir la estructura de la solución (una vez que la fase de análisis ha descrito el problema) identificando grandes módulos (conjuntos de funciones que van a estar asociadas) y sus relaciones

Diseño detallado: define los algoritmos empleados y la organización del código para comenzar la implementación.

Implementación.

Es la solución eficiente en un lenguaje ejecutable que implementa las decisiones adoptadas en la fase de diseño. Suele incluir la codificación y la prueba del sistema hasta obtener un paquete ejecutable sobre la plataforma (hardware y S.O.) requerida por el usuario.

• Transferencia del producto.

La fase de transferencia del producto tiene como objetivo instalar el sistema de software desarrollado en el entorno del cliente y realizar las pruebas de aceptación necesarias. En muchas ocasiones el proceso de transferencia implica un período largo en el que se incluye la formación del usuario en el producto y la realización de las pruebas de aceptación junto con el usuario.

• Evolución.

La evolución del sistema de software suele incluirse dentro de una fase denominada de mantenimiento y está compuesta por:

1) Mantenimiento correctivo. Pretende eliminar problemas surgidos durante la fase de operación del sistema y que no han sido detectados anteriormente.

2) Mantenimiento perfectivo. Pretende mejorar la funcionalidad del sistema ya sea en relación con la eficiencia en ejecución del mismo (menor tiempo de respuesta, optimización del uso de la memoria, etc.), facilitar su uso, etc.

3) Mantenimiento evolutivo. Pretende modificar (ampliar, eliminar o sustituir) la funcionalidad del sistema para adaptarla a las nuevas necesidades del usuario o con el objetivo de adaptarlo a nuevas interfaces hardware o software.

Modelo incremental

El modelo de ciclo de vida en cascada obtiene el código como resultado de un proceso de refinamiento a partir de las especificaciones y diseño. Su principal desventaja es que si hubo una mala interpretación de los requisitos de usuario es muy costoso en tiempo y esfuerzo volver a fases anteriores.

Otro enfoque posible en el que al usuario se le van exponiendo productos intermedios denominados prototipos que le acercan al sistema final y sirven para validar con el usuario el sistema que se está construyendo antes de realizar la implementación

Un prototipo puede definirse como un modelo parcial ejecutable de un sistema de software. Existen dos enfoques básicos: prototipo vertical y prototipo horizontal

Prototipo vertical

Es importante cuando la especificación de requisitos demuestra problemas en conocer qué es lo que se desea sobre un aspecto muy concreto.

El prototipo horizontal

Por el contrario, pretende conocer mejor la estructura general de la interacción entre el usuario y el sistema de software a diseñar

También la técnica de prototipado puede clasificarse en función del uso que se va a hacer del prototipo a lo largo del desarrollo modelo basado en prototipos desechables y modelo de prototipado Incremental.

Modelo basado en prototipos desechables:

Aborda el problema de la inestabilidad de los requisitos generando un prototipo lo antes posible que sirva de base al mejor conocimiento de los requisitos de usuario. Este prototipo es desechado cuando usuarios y desarrolladores acuerdan un documento de requisitos de usuario

Modelo de prototipado Incremental.:

En prototipos desechables podemos tener mayor confianza en que el producto que le entreguemos al usuario responda a los requisitos deseados por éste, es aún cierto que el producto, desde el punto de vista del diseñador, puede presentar muchos problemas que sólo serán evaluados cuando el producto se haya implementado.

Meta-modelo en espiral

El desarrollo del sistema pasa por una serie de ciclos en los que tanto el conocimiento del sistema a realizar como el propio sistema van avanzando hasta obtener el producto final. En la última espiral se prosigue con un desarrollo convencional al haberse eliminado las incertidumbres en las espirales anteriores.

La idea clave detrás del modelo es asegurar que los aspectos menos conocidos o más

críticos sean realizados antes, en la suposición de que de poco sirve completar partes

poco críticas si éstas pueden verse modificadas o invalidadas por las partes críticas. La característica esencial es la orientación hacia la identificación y resolución de riesgos. El uso de prototipos es fuertemente promovido (aunque basado en prototipos desechables Los primeros ciclos están pensados para asegurar una correcta comprensión del sistema

y de sus requisitos, relegando cualquier implementación al momento en el que todos los factores de riesgo hayan sido eliminados

Las dificultades para implementar este modelo estriban en las implicaciones resultantes de una gestión del desarrollo muy diferente de la convencional y no sólo en la disponibilidad de tecnologías de software asociadas. Por otro lado, fue pensado para

proyectos muy grandes y no es evidente su utilidad para sistemas pequeños dados los grandes recursos en gestión que requiere.

La programación extrema

La Programación extremaes un modelo de proceso de software que toma los principios y practicas aceptadas llevándolas a niveles extremos.Se basa en retroalimentación continua entre el cliente y el equipo de desarrollo, comunicación fluida entre todos los participantes, simplicidad en las soluciones implementadas.

La metodología XP considera 12 prácticas:

Planificar.

Hacer pequeñas entregas.

Hacer uso de hojas de historias y usar metáforas.

Diseños simples y soluciones spike.

Probar o Testear.

Rearmar o refactorizar.

Programación en parejas y ritmo sostenido.

Propiedad Colectiva del código.

Integración Continua.

Semanas de 40 horas.

Cliente en sitio.

Usar estándares de Codificación

Las cuatro practicas esenciales que distinguen a XP de otros enfoques,

haciéndolo extremo son: liberación limitada, semana de trabajo de 40 horas, alojar

al cliente en sitio y programación en parejas