Sunteți pe pagina 1din 31

Cascada

Incremental

Evolutivo
Espiral

Prototipos
Basado en Componentes

imagen

descripcin

Ventajas

Desventajas

1970 por Winston W. Royce.


Es un modelo clsico de desarrollo de
software, siendo una secuencia lineal de
actividades que consisten en: anlisis de
requerimientos, diseo implementacin y
pruebas.

Al ser un modelo lineal es ms simple de


implementar.
La cantidad de recursos a implementar
en este modelo son mnimos.
Despus de cierta codificacin se realizan
pruebas.
La documentacin se produce en cada
etapa lo cual hace ms sencilla la
comprensin.

No se puede volver atrs, si la fase de


diseo ha ido mal, las cosas pueden
complicarse en la fase de ejecucin.
Cualquier cambio que se genere en medio
puede causar mucha confusin.
Los pequeos errores en el software
pueden causar muchos problemas.

Imagen

Descripcin

Ventajas

Desventajas

Propuesto por Mills en 1980.


Se desarrolla el sistema para satisfacer un subconjunto
de los requisitos y en posteriores versiones se
incrementa el programa con nuevas funcionalidades.

El usuario se involucra ms.


Entrega temprana de partes operativas del

software.
Se evitan proyectos largos.
Resulta ms sencillo acomodar cambios,
debido al acotamiento de los
incrementos.

Difcil evaluar el costo total.


Los errores en los requisitos se
detectan tarde.
Requiere mucha planeacin tanto
administrativa como tcnica.
No es recomendable para sistemas de
alto nivel de seguridad, de alto ndice
de riesgos, de tiempo real, o de
procesamiento distribuido.

Imagen

Descripcin

Ventajas

Desventajas

Descripcin
Se basa en la idea de desarrollar una implementacin
inicial, exponindola al usuario y refinndola a travs de
diferentes versiones hasta llegar al sistema adecuado.

Ventajas
Satisface necesidades inmediatas de los clientes.
Se puede llevar tan pronto los usuarios desarrollen un

mejor entendimiento de su problema.


Este enfoque es mejor para sistemas pequeos y de
tamaos medio (hasta 500,000 lneas de cdigo)

Desventajas
El proceso no es visible.
A menudo los sistemas tienen una estructura

deficiente.
Hace difcil integrar contribuciones en equipo.
El proceso se hace agudo en sistemas grandes.

Imagen

Descripcin

Ventajas

Desventajas

Propuesto por Boehm en 1988.


Las actividades se representan como un espiral, cada
ciclo en el espiral representa una fase del proceso de
desarrollo del software. Reconoce la necesidad de
pasar por la secuencia de anlisis de requerimientos,
diseo, implementacin y pruebas, ms de una vez.

Eliminar riesgos.
Se muestra al clienta para obtener
retroalimentacin.
Evita una base de cdigo grande.
El producto avanza a pasos firmes.
Se pueden incluir otros mtodos de
desarrollo en la iteraciones.

Requiere una administracin mucho ms


cuidadosa.
Difcil definir los objetivos de cada ciclo.
Requiere experiencia en identificacin de
riesgos.
Genera mucho tiempo en el desarrollo
del sistema.

Imagen

Descripcin

Ventajas

Desventajas

Descripcin
Por Mc Craken y Jackson 1982.
Conduce a una versin preliminar o prototipo que es
retroalimentado por el cliente.
Un prototipo se puede eliminar o llegar a ser parte del
producto final.

Ventajas
til cuando los requerimientos son cambiantes.
Cuando se quiere probar una arquitectura o tecnologa.
Cuando no se conoce bien la aplicacin.

Desventajas
No se conoce cuando se tendr un producto aceptable.
Da una falsa ilusin de rapidez al cliente.
Se obliga en la mayor parte a reconstruirlo una vez que

el prototipo cumple alguna funcin.

Imagen

Descripcin

Ventajas

Desventajas

Descripcin
En general se refiere a la reutilizacin de cdigo. Se
reconocen, se modifican segn la necesidad y se
incorporan al sistema todos aquellos componentes
software que nos proporcionan una funcionalidad
especfica en nuestra solucin, puede ser tambin
software comercial.

Ventajas
Reduce la cantidad de software a desarrollarse.
Reduce costos y riesgos
Permite una entrega rpida.

Simplifica pruebas.

Desventajas
Puede que el sistema no cumpla con las necesidades

reales del cliente.


Si las nuevas versione de los componentes reutilizables
no estn bajo control de la organizacin que los utiliza,
se pierde parte de la evolucin del software..