Vous êtes sur la page 1sur 6

METODOLOGIA LINEAL

CASCADA
En Ingeniera de software el desarrollo en cascada, tambin llamado modelo en
cascada (denominado as por la posicin de las fases en el desarrollo de esta, que parecen
caer en cascada por gravedad hacia las siguientes fases), es el enfoque metodolgico que
ordena rigurosamente las etapas del proceso para el desarrollo de software, de tal forma
que el inicio de cada etapa debe esperar a la finalizacin de la etapa anterior.
1
Al final de cada
etapa, el modelo est diseado para llevar a cabo una revisin final, que se encarga de
determinar si el proyecto est listo para avanzar a la siguiente fase. Este modelo fue el
primero en originarse y es la base de todos los dems modelos de ciclo de vida.
La versin original fue propuesta por Winston W. Royce en 1970 y posteriormente revisada
por Barry Boehm en 1980 e Ian Sommerville en 1985.
2

Un ejemplo de una metodologa de desarrollo en cascada es:
1. Anlisis de requisitos.
2. Diseo del Sistema.
3. Diseo del Programa.
4. Codificacin.
5. Pruebas.
6. Implantacin.
7. Mantenimiento.
De esta forma, cualquier error de diseo detectado en la etapa de prueba conduce
necesariamente al rediseo y nueva programacin del cdigo afectado, aumentando los
costos del desarrollo. La palabra cascada sugiere, mediante la metfora de la fuerza de la
gravedad, el esfuerzo necesario para introducir un cambio en las fases ms avanzadas de un
proyecto.
Si bien ha sido ampliamente criticado desde el mbito acadmico y la industrial, sigue siendo
el paradigma ms seguido al da de hoy.
Fases del modelo


El "modelo cascada" sin modificar. El progreso fluye de arriba haca abajo, como una cascada.
Anlisis de requisitos
En esta fase se analizan las necesidades de los usuarios finales del software para determinar
qu objetivos debe cubrir. De esta fase surge una memoria llamada SRD (documento de
especificacin de requisitos), que contiene la especificacin completa de lo que debe hacer el
sistema sin entrar en detalles internos.
Es importante sealar que en esta etapa se debe consensuar todo lo que se requiere del
sistema y ser aquello lo que seguir en las siguientes etapas, no pudindose requerir nuevos
resultados a mitad del proceso de elaboracin del software de una manera.
Diseo del Sistema
Descompone y organiza el sistema en elementos que puedan elaborarse por separado,
aprovechando las ventajas del desarrollo en equipo. Como resultado surge el SDD
(Documento de Diseo del Software), que contiene la descripcin de la estructura relacional
global del sistema y la especificacin de lo que debe hacer cada una de sus partes, as como
la manera en que se combinan unas con otras.
Es conveniente distinguir entre diseo de alto nivel o arquitectnico y diseo detallado. El
primero de ellos tiene como objetivo definir la estructura de la solucin (una vez que la fase de
anlisis ha descrito el problema) identificando grandes mdulos (conjuntos de funciones que
van a estar asociadas) y sus relaciones. Con ello se define la arquitectura de la solucin
elegida. El segundo define los algoritmos empleados y la organizacin del cdigo para
comenzar la implementacin...
Diseo del Programa
Es la fase en donde se realizan los algoritmos necesarios para el cumplimiento de los
requerimientos del usuario as como tambin los anlisis necesarios para saber qu
herramientas usar en la etapa de Codificacin
Codificacin
Es la fase en donde se implementa el cdigo fuente, haciendo uso de prototipos as como de
pruebas y ensayos para corregir errores.
Dependiendo del lenguaje de programacin y su versin se crean las bibliotecas y
componentes reutilizables dentro del mismo proyecto para hacer que la programacin sea un
proceso mucho ms rpido.
Pruebas
Los elementos, ya programados, se ensamblan para componer el sistema y se comprueba
que funciona correctamente y que cumple con los requisitos, antes de ser entregado al usuario
final.
Verificacin
Es la fase en donde el usuario final ejecuta el sistema, para ello el o los programadores ya
realizaron exhaustivas pruebas para comprobar que el sistema no falle.
En la creacin de desarrollo de cascada se implementa los cdigos de investigacin y pruebas
del mismo.
Mantenimiento
Una de las etapas mas criticas, ya que se destina un 75% de los recursos, es el
mantenimiento del Software ya que al utilizarlo como usuario final puede ser que no cumpla
con todas nuestras expectativas.
Variantes
Existen variantes de este modelo; especialmente destacamos la que hace uso de prototipos y
en la que se establece un ciclo antes de llegar a la fase de mantenimiento, verificando que el
sistema final este libre de fallos.
Otros ejemplos de variantes del modelo en cascada son el modelo en cascada con fases
solapadas, cascada con subproyectos, y cascada con reduccin de riesgos.
3

Realiza un buen funcionamiento en equipos dbiles y productos maduros, por lo que se
requiere de menos capital y herramientas para hacerlo funcionar de manera ptima.
Es un modelo fcil de implementar y entenderw

Est orientado a documentos.
Es un modelo conocido y utilizado con frecuencia.
Promueve una metodologa de trabajo efectiva: Definir antes que disear, disear antes que
codificar.
Desventajas
En la vida real, un proyecto rara vez sigue una secuencia lineal, esto crea una mala
implementacin del modelo, lo cual hace que lo lleve al fracaso.
El proceso de creacin 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 diseo detectado en la etapa de prueba conduce
necesariamente al rediseo y nueva programacin del cdigo afectado, aumentando los
costos del desarrollo.
Una etapa determinada del proyecto no se puede llevar a cabo a menos de que se haya
culminado la etapa anterior.


PROTOTIPADO
El Modelo de prototipos, en Ingeniera de software, pertenece a los modelos de desarrollo
evolutivo. El prototipo debe ser construido en poco tiempo, usando los programas adecuados
y no se debe utilizar muchos recursos.
El diseo rpido se centra en una representacin de aquellos aspectos del software que sern
visibles para el cliente o el usuario final. Este diseo conduce a la construccin de un
prototipo, el cual es evaluado por el cliente para una retroalimentacin; gracias a sta se
refinan los requisitos del software que se desarrollar. La interaccin ocurre cuando el
prototipo se ajusta para satisfacer las necesidades del cliente. Esto permite que al mismo
tiempo el desarrollador entienda mejor lo que se debe hacer y el cliente vea resultados a corto
plazo.

Etapas
Plan rpido
Modelado, diseo rpido
Construccin del Prototipo
Desarrollo, entrega y retroalimentacin
Comunicacin
Entrega del desarrollo final

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.
Tambin 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 debera tomar la interaccin humano-mquina.

La construccin de prototipos se puede utilizar como un modelo del proceso independiente, se
emplea ms comnmente como una tcnica 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 construccin de prototipos ayuda al desarrollador de software y al
cliente a entender de mejor manera cul ser el resultado de la construccin cuando los
requisitos estn satisfechos. De esta manera, este ciclo de vida en particular, involucra al
cliente ms profundamente para adquirir el producto.

Desventajas
El usuario tiende a crearse unas expectativas cuando ve el prototipo de cara al sistema
final. A causa de la intencin de crear un prototipo de forma rpida, se suelen desatender
aspectos importantes, tales como la calidad y el mantenimiento a largo plazo, lo que
obliga en la mayor parte de los casos a reconstruirlo una vez que el prototipo ha cumplido
su funcin. Es frecuente que el usuario se muestre reacio a ello y pida que sobre ese
prototipo se construya el sistema final, lo que lo convertira en unprototipo evolutivo,
pero partiendo de un estado poco recomendado.
En aras de desarrollar rpidamente el prototipo, el desarrollador suele tomar algunas
decisiones de implementacin poco convenientes (por ejemplo, elegir un lenguaje de
programacin incorrecto porque proporcione un desarrollo ms rpido). Con el paso del
tiempo, el desarrollador puede olvidarse de la razn que le llev a tomar tales decisiones,
con lo que se corre el riesgo de que dichas elecciones pasen a formar parte del sistema
final...




RAD: Rapid Application Development, framework iterativo.
El desarrollo rpido de aplicaciones (RAD) es una metodologa de desarrollo de software, que
implica el desarrollo iterativo y la construccin de prototipos. El desarrollo rpido de
aplicaciones es un trmino originalmente utilizado para describir un proceso de desarrollo de
software introducido por James Martin en 1991.
Principios bsicos:
Objetivo clave es para un rpido desarrollo y entrega de una alta calidad en un sistema de
relativamente bajo coste de inversin.
Intenta reducir el riesgos inherente del proyecto partindolo en segmentos ms pequeos
y proporcionar ms facilidad de cambio durante el proceso de desarrollo.
Orientacin dedicada a producir sistemas de alta calidad con rapidez, principalmente
mediante el uso de iteracin por prototipos (en cualquier etapa de desarrollo), promueve la
participacin de los usuarios y el uso de herramientas de desarrollo computarizadas.
Estas herramientas pueden incluir constructores de Interfaz grfica de
usuario (GUI),Computer Aided Software Engineering (CASE) las herramientas,
los sistemas de gestin de bases de datos (DBMS), lenguajes de programacin de cuarta
generacin, generadores de cdigo, y tcnicas orientada a objetos.
Hace especial hincapi en el cumplimiento de la necesidad comercial, mientras que la
ingeniera tecnolgica o la excelencia es de menor importancia.
Control de proyecto implica el desarrollo de prioridades y la definicin de los plazos de
entrega. Si el proyecto empieza a aplazarse, se hace hincapi en la reduccin de
requisitos para el ajuste, no en el aumento de la fecha lmite.
En general incluye Joint application development (JAD), donde los usuarios estn
intensamente participando en el diseo del sistema, ya sea a travs de la creacin de
consenso estructurado en talleres, o por va electrnica.
La participacin activa de los usuarios es imprescindible.
Iterativamente realiza la produccin de software, en lugar de enfocarse en un prototipo.
Produce la documentacin necesaria para facilitar el futuro desarrollo y mantenimiento.