El Modelo Incremental combina elementos del MLS con la filosofía
interactiva de construcción de prototipos.
En una visión genérica, el proceso se divide en 4 partes: Análisis,
Diseño, Código y Prueba. Sin embargo, para la producción del Software, se usa
el principio de trabajo en cadena o “Pipeline”, utilizado en muchas otras
formas de programación. Con esto se mantiene al cliente en constante contacto
con los resultados obtenidos en cada incremento.
Es el mismo cliente el que incluye o desecha elementos al final de cada
incremento a fin de que el software se adapte mejor a sus necesidades reales.
El proceso se repite hasta que se elabore el producto completo.
De esta forma el tiempo de entrega se reduce considerablemente.
Al igual que los otros métodos de modelado, el Modelo Incremental es de
naturaleza interactiva pero se diferencia de aquellos en que al final de cada
incremento se entrega un producto completamente operacional.
El Modelo Incremental es particularmente útil cuando no se cuenta con
una dotación de personal suficiente. Los primeros pasos los pueden realizar un
grupo reducido de personas y en cada incremento se añadir• personal, de ser
necesario. Por otro lado los incrementos se pueden planear para gestionar
riesgos técnicos.
Pipeline
La arquitectura en pipeline (basada en filtros) consiste en ir
transformando un flujo de datos en un proceso comprendido por varias fases
secuenciales, siendo la entrada de cada una la salida de la anterior.
Esta arquitectura es muy común en el desarrollo de programas para el
intérprete de comandos, ya que se pueden concatenar comandos fácilmente con
tuberías (pipe).
También es una arquitectura muy natural en el paradigma de programación
funcional, ya que equivale a la composición de funciones matemáticas.
Características
- Se evitan proyectos largos
y se entrega “algo de valor” a los usuarios con cierta frecuencia.
- El usuario se involucre
más.
- Difícil de evaluar el
costo total.
- Difícil de aplicar a los sistemas
transaccionales que tienden a ser integrados y a operar como un todo.
- Requiere gestores
experimentados.
- Los errores en los
requisitos se detectan tarde.
- El resultado puede ser muy
positivo.
Ventajas:
- Con un paradigma
incremental se reduce el tiempo de desarrollo inicial, ya que se implementa la
funcionalidad parcial.
- También provee un impacto
ventajoso frente al cliente, que es la entrega temprana de partes operativas
del Software.
- El modelo proporciona
todas las ventajas del modelo en cascada realimentado, reduciendo sus
desventajas sólo al ámbito de cada incremento.
- Permite entregar al
cliente un producto más rápido en comparación del modelo de cascada.
- Resulta más sencillo
acomodar cambios al acotar el tamaño de los incrementos.
- Por su versatilidad
requiere de una planeación cuidadosa tanto a nivel administrativo como técnico.
- Los clientes no esperan
hasta el fin del desarrollo para utilizar el sistema. Pueden empezar a usarlo
desde el primer incremento.
- Los clientes pueden aclarar
los requisitos que no tengan claros conforme ven las entregas del sistema.
- Se disminuye el riesgo de
fracaso de todo el proyecto, ya que se puede distribuir en cada incremento.
- Las partes más importantes
del sistema son entregadas primero, por lo cual se realizan más pruebas en
estos módulos y se disminuye el riesgo de fallos
Desventajas:
- 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.
- Requiere de mucha
planeación, tanto administrativa como técnica.
- Requiere de metas claras
para conocer el estado del proyecto.
- Cada incremento debe ser
pequeño para limitar el riesgo (menos de 20.000 líneas).
- Cada incremento debe
aumentar la funcionalidad.
- Es difícil establecer las
correspondencias de los requisitos contra los incrementos.
- Es difícil detectar las
unidades o servicios genéricos para todo el sistema
Eduardo
Hernández
Geto
Jean Michel
Copyright
ResponderEliminar