viernes, 17 de febrero de 2012


Modelo en cascada

Desventajas

En la vida real, un proyecto rara vez sigue una secuencia lineal, esto crea una mala implementación del modelo, lo cual hace que lo lleve al fracaso.

El proceso de creación del software tarda mucho tiempo ya que debe pasar por el proceso de prueba y hasta que el software no esté completo no se opera. Esto es la base para que funcione bien.


Cualquier error de diseño detectado en la etapa de prueba conduce necesariamente al rediseño y nueva programación del código afectado, aumentando los costos del desarrollo.


Ventajas

Modelo y planificación fácil y sencillos.
Sus fases son conocidas por los desarrolladores.
Los usuarios lo pueden comprender fácilmente.





Modelo en espiral

Ventajas
El análisis del riesgo se hace de forma explícita y clara. Une los mejores elementos de los restantes modelos.
Reduce riesgos del proyecto
Incorpora objetivos de calidad
Integra el desarrollo con el mantenimiento, etc.
Además es posible tener en cuenta mejoras y nuevos requerimientos sin romper con la metodología, ya que este ciclo de vida no es rígido ni estático.

Desventajas

Genera mucho tiempo en el desarrollo del sistema

Modelo costoso
Requiere experiencia en la identificación de riesgos
Modelo construcción de prototipos


Ventajas
Este modelo es útil cuando el cliente conoce los objetivos generales para el software, pero no identifica los requisitos detallados de entrada, procesamiento o salida.

También ofrece un mejor enfoque cuando el responsable del desarrollo del software está inseguro de la eficacia de un algoritmo, de la adaptabilidad de un sistema operativo o de la forma que debería tomar la interacción humano-máquina.
La construcción de prototipos se puede utilizar como un modelo del proceso independiente, se emplea más comúnmente como una técnica susceptible de implementarse dentro del contexto de cualquiera de los modelos del proceso expuestos. Sin importar la forma en que éste se aplique, el paradigma de construcción de prototipos ayuda al desarrollador de software y al cliente a entender de mejor manera cuál será el resultado de la construcción cuando los requisitos estén satisfechos. De esta manera, este ciclo de vida en particular, involucra al cliente más profundamente para adquirir el producto.


Desventajas

A los usuarios les gusta el sistema real y a los desarrolladores les gusta construir algo de inmediato. Sin embargo, la construcción de prototipos se torna problemática por las siguientes razones:
Ø      El cliente ve funcionando lo que para el es la primera versión del prototipo que ha sido construido con “chicle y cable para embalaje”, y puede decepcionarse al indicarle que el sistema aun no ha sido construido.
Ø      El desarrollador puede caer en la tentación de aumentar el prototipo para construir el sistema final sin tener en cuenta los obligaciones de calidad y de mantenimiento que tiene con el cliente.



Modelo DRA


Ventajas
 
Es muy rápido.
Permite trabajar en él a varias personas a la vez

Desventajas
El enfoque DRA tiene inconvenientes para proyectos grandes, necesita suficientes recursos humanos para crear el numero correcto de equipos.
Si los desarrolladores y clientes no se comprenden con las actividades necesarias para completar el sistema, los proyectos fallarán.
El DRA sería inapropiado cuando los riesgos técnicos son altos.











MODELO BASADO EN COMPONENTES

Desventajas:
Genera mucho tiempo en el desarrollo del sistema - Modelo costoso –Requiere experiencia en la identificación de riesgos
Inconvenientes
Genera mucho trabajo adicional. Cuando un sistema falla se pierde tiempo y coste dentro de la empresa. Exige una cierta habilidad en los analistas (es bastante difícil).




MODELOS EVOLUTIVOS DE PROCESOS DEL SOFTWARE

El software, al igual que todos los sistemas complejos, evoluciona con el tiempo.
El modelo lineal secuencial se diseña para el desarrollo en línea recta. En esencia, este enfoque en cascada asume que se va entregar un sistema completo una vez que la secuencia lineal se haya finalizado. El modelo de construcción de prototipos se diseña para ayudar al cliente (o al que desarrolla) a comprender los requisitos. En general, no se diseña para entregar un sistema de producción. En ninguno de los paradigmas de ingeniería del software se tiene en cuenta la naturaleza evolutiva del software. Los modelos evolutivos son iterativos. Se caracterizan por la forma en que permiten a los ingenieros del software desarrollar versiones cada vez más completas del software.



Modelo incremental

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 sencilo 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.

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.

Conclusion:
Un modelo incremental lleva a pensar en un desarrollo modular, con entregas parciales del productoSoftware denomidados “incrementos” del sistema, que son escogidos en base a prioridades predefinidas de algún modo.
El modelo permite una implementación con refinacmientos sucesivos (ampliación y/o mejora).
Con cada incremento se agrega nueva funcionalidad o se cubren nuevos requisitos o bien se mejora la versión previamente implementada del producto software.






El modelo de desarrollo concurrente
Ventajas
• Excelente para proyectos en los que se conforman grupos de trabajo independientes.
• Proporciona una imagen exacta del estado actual de un proyecto.

Desventajas
• Si no se dan las condiciones señaladas no es aplicable.
• Si no existen grupos de trabajo no se puede trabajar en este método






El modelo de métodos formales







Ventajas

Se comprende mejor el sistema.
La comunicación con el cliente mejora ya que se dispone de una descripción clara y no ambigua de los requisitos del usuario.
El sistema se describe de manera más precisa.
El sistema se asegura matemáticamente que es correcto según las especificaciones.
Mayor calidad software respecto al cumplimiento de las especificaciones.
Mayor productividad

Desventajas
El desarrollo de herramientas que apoyen la aplicación de métodos formales es complicado y los programas resultantes son incómodos para los usuarios.
Los investigadores por lo general no conocen la realidad industrial.
Es escasa la colaboración entre la industria y el mundo académico, que en ocasiones se muestra demasiado dogmático.
Se considera que la aplicación de métodos formales encarece los productos y ralentiza su desarrollo.






Técnicas de cuarta generación



Ventajas
Reducción en el tiempo de desarrollo

Desventajas
Código ineficiente
No mas fáciles de usar que l3g
Mantenimiento cuestionable