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.

Entradas relacionadas: