Modelos Clasicos de desarrollo de software | Ventajas y Desventajas

Modelos clasicos de desarrollo de software


Partimos de la definición que un modelo es una representación de la realidad, que logra llevarla a un ámbito donde es mas fácil estudiarla y comparar variables. Un modelo permite ver las características importantes de la realidad que estamos analizando.


En el área de la ingeniería de software los modelos de desarrollo corresponden a la estructura y características que se deben estudiar para que el software cumpla unos requerimientos. Existe modelos de desarrollo que se enfocan en la documentación, otros en que el software se entregue a tiempo, otros que durante el procesos de desarrollo se prevén los riesgos, etc.

Los modelo de desarrollo de software están clasificados en dos grupos. El primer grupo son los llamados clásicos que fueron modelos usados al principio de nacimiento del desarrollo de software, cuando se estaba iniciando este mundo del desarrollo de software. El segundo son llamados los modelos o ágiles que son los populares de hoy en día.

En este post solo voy a centrarme en sus ventajas y desventajas de los modelos clásicos asi que.

 

Clásicos

Lineal

Ventajas
  • Están bien definidos los requerimientos y alcance del proyecto.
  • Se tiene una buena documentación del proceso.
  • Se tiene buenos resultados cuando los requerimientos se han entendido correctamente.
Desventajas
  • Los cambios al proyecto o a los requerimientos pueden causar confusión cuando el proyecto ya ha comenzado.
  • Como generalmente es difícil que el cliente exponga explícitamente todos los requerimientos y como el modelo lo si necesita que los requerimientos estén claros se tienen dificultades a la hora de dar inicio al proyecto por las incertidumbres que se tienen  del mismo.
  • El cliente debe esperar hasta el final para poder ver el software funcional.

 

Espiral 

Ventajas
  • Proporciona potencial para el desarrollo rápido.
  • Se tiene un versionamiento del desarrollo.
  • El espiral termina hasta cuando el software se retira.
  • Utiliza prototipos como mecanismo de prevención de riesgos.
  • En cada iteración se analiza los riesgos de la fase.
  • El usuario va viendo la evolución del sistema.
  • Reduce el riesgo de construir productos que no satisfagan las necesidades del cliente.
  • Costo bajo de desarrollo.
Desventajas
  • Se requiere experiencia y habilidad para la evaluación de riesgos.
  • Si un riesgo importante no es descubierto y gestionado indudablemente surgen problemas.
  • Tiene el enfoque del ciclo de vida clásico.
  • Se desconoce el tiempo que se tardará en crear un producto aceptable.
  • Se pueden adoptar prácticas de prueba y error, sin realizar previamente un análisis y un diseño formal.
  • Por el afán de entrega del prototipo puede que no se tenga en cuenta la calidad del software.

 

DRA(DESARROLLO RÁPIDO DE APLICACIONES)

Ventajas
  • Desarrollo completos de un software en poco tiempo.
  • Los componentes del desarrollo son reutilizables.
Desventajas
  • Se requiere que el cliente y los programadores están comprometidos con las actividades rápidas.
  • No se acopla a todos los desarrollos.
  • No es recomendado cuando el software puede tener riesgos.

 

INCREMENTAL

Ventajas
  • Los usuarios pueden comenzar a usar el software desde el primer incremento.
  • Las partes más críticas son entregadas primero.
  • El cliente puede aclarar los requerimientos en cada incremento.
Desventajas

  • Cada incremento debe ser pequeño para limitar el riesgo.
  • Cada incremento debe incrementar la funcionalidad del anterior incremento.

WIN-WIN

Ventajas

  • Tiene un proceso iterativo
  • Permite el establecimiento de la arquitectura en cada iteración(cada vuelta del espiral).
  • Se establecen acuerdos con el cliente para llevar un desarrollo con respecto al costo.
Desventajas

  • Si no se llega a un acuerdo con el cliente se pueden tener problemas a la hora del desarrollo.
  • Genera mucho tiempo el desarrollo del sistema.
  • Se requiere experiencia en la identificación de riesgos.
  • No es aconsejable en desarrollos pequeños.



MÉTODOS FORMALES

Ventajas

  • La ambigüedad, lo incompleto y la inconsistencia se descubren y se corrigen más fácilmente mediante la aplicación del análisis matemático.
  • Sirven como base para la verificación de programas.
  • Permiten la identificación y corrección de errores que no se pudieron detectar de otra manera
Desventajas

  • Es difícil utilizar los modelos como un mecanismo de comunicación con clientes que no tienen muchos conocimientos técnicos.
  • Se requiere un conocimiento técnicos y matemáticos para el desarrollo de los métodos.


Bibliografía



Pressman, R., Ince, D., Ojeda Martín, R. and Joyanes Aguilar, L. (2004). Ingeniería del software. Madrid: McGraw-Hill, pp.59-67.


ESTADO DEL ARTE DE LA INGENIERÍA DEL SOFTWARE EN EL ÁMBITO NACIONAL E INTERNACIONAL DE ACUERDO A ORGANIZACIONES QUE TRATAN LA DISCIPLINA. (2010). [ebook] Pereira, pp.80-100. Available at: http://repositorio.ucp.edu.co:8080/jspui/bitstream/10785/1507/1/CDMIST18.pdf [Accessed 18 Feb. 2018].

0 Comentarios