Metodologías de Desarrollo de Software: Comparativa y Características
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,28 KB
Modelo Cascada
Características
- Cada fase empieza cuando se ha terminado la fase anterior.
- Para pasar de una fase a otra es necesario conseguir todos los objetivos de la etapa anterior.
- Ayuda a prevenir que se sobrepasen las fechas de entrega y los costes esperados.
- Al final de cada fase, el personal técnico y los usuarios tienen la oportunidad de revisar el progreso del proyecto.
Ventajas
- Es un método simple y de fácil implementación.
- Al realizar una fase tras otra, existe poco margen de error.
- Están controlados todos los requisitos antes de comenzar a trabajar.
Desventajas
- Una vez comenzadas las fases, es complejo realizar cambios en fases anteriores.
Modelo Prototipo
Características
- Reduce el riesgo y aumenta la probabilidad de éxito.
- No se conocen niveles apropiados de calidad y documentación.
- Problemas de gestión de configuración.
Ventajas
- Desarrollo rápido cuando no se conocen bien los requisitos.
- Adecuado para sistemas pequeños y de vida corta.
Desventajas
- Los usuarios suelen ver el prototipo como la solución o sistema final, y hay que dejar claro que es solo una especificación parcial.
- Puede llevar a un número de cambios excesivo.
Modelo Incremental
Características
- Los incrementos son pequeños.
- Permite una fácil administración de las tareas en cada iteración.
- La inversión se materializa a corto plazo.
- Se adapta a las necesidades que surjan.
Ventajas
- Los incrementos son pequeños.
- El cliente tiene una entrega temprana de partes operativas del software.
- Es más fácil probar y depurar en una iteración más pequeña.
- Es más fácil gestionar riesgos.
Desventajas
- Se requiere una experiencia importante para definir los incrementos.
- Requiere planificación, tanto administrativa como técnica.
Modelo Evolutivo
Características
- Permite desarrollar versiones cada vez más completas y complejas hasta llegar al objetivo final deseado.
- Existirán X número de versiones hasta que se desarrolle el sistema adecuado.
Ventajas
- Permite aprender de cada versión, que se incorporará en la siguiente.
- Cumple las necesidades inmediatas del cliente.
Desventajas
- Difícil planificar para las versiones más allá de la primera.
- Las lecciones se pueden aprender demasiado tarde.
Modelo Espiral
Características
- Describe el ciclo de vida de un software por medio de espirales que se repiten hasta que se puede entregar el producto terminado.
- Incorpora objetivos de calidad y gestión de riesgos.
- Permite iteraciones y vuelta atrás.
- El producto se trabaja continuamente y las mejoras a menudo tienen lugar en pasos muy pequeños.
Ventajas
- Puede aplicarse a lo largo de la vida del software.
- Reduce los riesgos antes de que se conviertan en problemas.
Desventajas
- Resulta difícil convencer a grandes clientes de que el enfoque evolutivo es controlable.
- Si un riesgo importante no es detectado y gestionado a tiempo, surgirán problemas.
Reutilización de Software
Es el proceso de creación de sistemas de software a partir de uno existente, en lugar de tener que desarrollarlos desde el principio.
Sirve para enfocar el desarrollo para maximizar la reutilización de software existente.
Ventajas
- Reduce tiempo y costes de desarrollo si los componentes están hechos.
Desventajas
- Los compromisos en los requisitos son inevitables.
RUP (Rational Unified Process)
Características
- Unifica los mejores elementos de métodos anteriores.
- Preparado para desarrollar grandes y complejos proyectos.
- Dirigido a los llamados “casos de uso”.
Ventajas
- Reduce riesgos del proyecto.
Desventajas
- Genera muchos costes.
- No recomendable para proyectos pequeños.