Análisis comparativo de distintos ciclos de vida del software
La ingeniería de software se define con cinco actividades
estructurales: comunicación, planeación, modelado, construcción y despliegue.
Donde le acompaña las actividades sombrilla como: seguimiento y control del
proyecto, administración de riesgo, aseguramiento de calidad, etc. Y cada
actividad consta de unas series de tareas.
La manera en que están organizadas estas actividades
estructurales se llama flujo de proceso. Que son lo siguiente:
Flujo de proceso iterativo.
Flujo de proceso evolutivo.
Flujo de proceso paralelo.
Modelos de ciclo de vida
Modelo de proceso prescriptivo (o tradicional)
Modelo de proceso secuencial
- Sigue un flujo de proceso lineal.
- Requerimientos definidos y bien comprendidos desde el comienzo.
- Ideal para adaptaciones (o mejoras) a sistemas existentes.
- No se dispone de una versión funcional del software hasta que finalice el proceso.
- Genera pausas en el proceso por tener que esperar a que termine la fase anterior. “Estados de bloqueo”.
- Difícil de usar para trabajos acelerados y con constantes cambios de los recursos (tecnología, personal, necesidades, etc.)
- Ejemplo: modelo de la cascada y modelado en V.
Modelo de proceso incremental
- Sigue una combinación del flujo de proceso lineal y de paralelo.
- Produce software en incrementos.
- El software puede mejorar o cambiar en el siguiente incremento, dependiendo de la evaluación del cliente.
- Es útil cuando el tiempo para la entrega es corto y no hay mucho personal para la implementación completa del software.
- Los incrementos se planean para administrar riesgos técnicos.
- Se usa en los modelos de proceso ágil (o la mayoría de ellos).
Modelo de proceso evolutivo
- Ideal para software que evoluciona con el tiempo.
- Permite desarrollar versiones más completas del software por cada iteración.
- Ideal para cuando el cliente no conoce en detalle que es lo que quiere que haga el software.
- Creación de prototipos como forma de recaudar requisitos y direccionar del desarrollo del software.
- Al evolucionar el producto directamente desde un prototipo, no se considera la calidad del software.
- Ejemplo: modelo espiral.
Modelo de proceso concurrente
- Describe las múltiples actividades del software ocurriendo simultáneamente.
- Ideal para manejar cambios en el proceso de desarrollo.
- Se guía está por las necesidades del usuario, las decisiones de la gestión y los resultados de las revisiones., no por tiempo. [mc]
- Proporciona el ‘estado actual’ del software, mediante la red de procesos.
Modelos especializados
Fue creado para ingeniería de software
especializado.
Modelo basado en componente
- Tiene características del modelo espiral, tiene enfoque evolutivo y es incremental.
- Este modelo hace posible la reutilización del software.
- De a poco disminuye el tiempo en el desarrollo y el costo del software.
- Utiliza estructura de datos estandartes, prototipos de interfaz y arquitecturas de programas.
Modelo de métodos formales
- Elimina muchos problemas difíciles, mediante la utilización de análisis matemático.
- En el desarrollo utilizan métodos formales. [mf]
- Ideal para software que necesita mucha calidad, en el tema de seguridad.
- Ideal para software con mucho riesgo.
- Muy costoso en aplicarlo (hablando en tiempo y dinero).
- Se requiere mucha capacitación para utilizarla.
- No hay forma de comunicar con los clientes no-técnicos.
Proceso unificado
- “Impulsado por caso de uso, centrado en la arquitectura, iterativo e incremental”
- También se sigue el flujo de proceso paralelo.
- Se adapta al tipo de proyecto del software.
Conclusión
Los modelos de ciclo de vida son herramientas útiles al
desarrollo del software. Y como herramienta, no hay una que solucione
todos los problemas. Todas tienen ventajas, desventajas y el por qué fue
creada. Como las fórmulas de las integrales del cálculo infinitesimal, hay que
saber elegir cual modelo de ciclo de vida es la ideal para el trabajo.
Bibliografía
Pressman, Roger S.; Ingeniería del Software – Un enfoque
moderno -; Mc Graw Hill; Séptima Edición; 2010
Comentarios
Publicar un comentario