Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

MODELO EN CASCADA (WATERFALL MODEL)

ANTECEDENTES

Definimos al modelo Cascada como un proceso secuencial, fácil de desarrollar en el que


los pasos de desarrollo son vistos hacia abajo (como en una cascada de agua) a través
de las fases de análisis de las necesidades, el diseño, implantación, pruebas (validación),
la integración, y mantenimiento.
 Es el primer modelo de proceso de desarrollo de software que se publicó y sirve
como base para otras metodologías.
 Se enfoca en una sola fase en la que todos los flujos de trabajo se ejecutan en
forma secuencial y la siguiente fase no debe empezar hasta que la fase previa
haya finalizado.
 El resultado de cada fase es uno o más documentos aprobados.
 Esta metodología no es compatible con el desarrollo iterativo, se desarrolla como
una única y gran iteración.
 Es el modelo más simple conocido.
 El resultado solo se ve al final. Si existe algún error esto tiene un resultado
catastrófico.

La versión original fue propuesta por Winston W. Royce en 1970 y posteriormente


revisada por Barry Boehm en 1980 e Ian Sommerville en 1985.

El modelo cascada es el más básico de todos los modelos y ha servido como bloque de
construcción para los demás paradigmas de ciclo de vida. Está basado en el ciclo
convencional de una ingeniería y su visión es muy simple: el desarrollo de software se
debe realizar siguiendo una secuencia de fases. Cada etapa tiene un conjunto de metas
bien definidas y las actividades dentro de cada una contribuyen a la satisfacción de metas
de esa fase.

En Ingeniería de software el desarrollo en cascada, también llamado secuencial o ciclo


de vida de un programa (denominado así por la posición de las fases en el desarrollo de
esta, que parecen caer en cascada “por gravedad” hacia las siguientes fases), o
modelo lineal, modelo clásico.
Fue el primer método ampliamente utilizado en la industria del software. Como enfoque
tradicional, no es repetitivo en contraste con los modelos ágiles con sprints simples, pero
puede ser complementado con bucles de retroalimentación y loopbacks.

La aplicación de la metodología en cascada se orienta mejor al desarrollo de proyectos de


corto plazo, de poca innovación y proyectos definitivos y detallados.

Ventajas
 Debido a la estructura lógica del modelo, a menudo se pueden evitar errores
conceptuales.
 El modelo conduce a una extensa documentación técnica, que es un alivio para
los nuevos programadores y desarrolladores y también es útil en la fase de
prueba.
 El progreso del proyecto puede ser monitoreado usando metas.
 El coste total puede estimarse con relativa precisión si no hay conflictos.
Desventajas
 Los conflictos, bugs y errores de programación a veces conducen a un aumento
de los costes y a una cantidad considerable de tiempo. Lo mismo se aplica si los
clientes no están satisfechos.
 Las especificaciones que se hacen inicialmente son a menudo difíciles de
entender para los clientes porque son más abstractas de lo que se supone que el
software debe hacer. Especialmente en proyectos subcontratados, esto puede ser
una desventaja decisiva, ya que la fecha de lanzamiento debe posponerse y el
mercado puede haber cambiado durante este tiempo.
OBJETIVOS

Los objetivos principales de este modelo son:


 Analizar los requerimientos del sistema y software.
 Diseñar el sistema de forma detallada, para cumplir con las necesidades del
usuario.
 Codificar correctamente haciendo uso de prototipos así como de pruebas y
ensayos para corregir errores.
 Realizar las respectivas pruebas del sistema.
 Implementar el sistema y asegurar que cubra las necesidades.
 Realizar el mantenimiento para corregir errores no descubiertos en la etapas
anteriores.
FASES

Consta de cinco a siete fases, cada fase está definida por diferentes tareas y objetivos,
por lo que la totalidad de las fases describe el ciclo de vida del software hasta su entrega.
Una vez finalizada una fase, sigue el siguiente paso de desarrollo y los resultados de la
fase anterior pasan a la siguiente fase.

1. Ingeniería y Análisis del Sistema: Debido a que el software es siempre parte de


un sistema mayor, el trabajo comienza estableciendo los requisitos de todos los
elementos del sistema y luego asignando algún subconjunto de estos requisitos al
software.

2. Análisis de los requisitos del software: 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
especificación de requisitos), que contiene la especificación completa de lo que
debe hacer el sistema sin entrar en detalles internos.
Es importante señalar 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
pudiéndose requerir nuevos resultados a mitad del proceso de elaboración
del software de una manera.

3. Diseño del sistema y programa: el diseño del software se enfoca en cuatro


atributos distintos del programa; la estructura de los datos, la arquitectura del
software, el detalle procedimental y la caracterización de la interfaz. El proceso de
diseño traduce los requisitos en una representación del software con la calidad
requerida antes de que comience la codificación.

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 Diseño del Software), que contiene la descripción de
la estructura relacional global del sistema y la especificación de lo que debe hacer
cada una de sus partes, así como la manera en que se combinan unas con otras.
Para el diseño del programa se realizan los algoritmos necesarios para el
cumplimiento de los requerimientos del usuario así como también los análisis
necesarios para saber qué herramientas usar en la etapa de Codificación.

4. Codificación:

Es la fase en donde se implementa el código fuente, haciendo uso de prototipos


así como de pruebas y ensayos para corregir errores. Dependiendo del lenguaje
de programación y su versión se crean las bibliotecas y componentes reutilizables
dentro del mismo proyecto para hacer que la programación sea un proceso mucho
más rápido.

5. Prueba: una vez que se ha generado el código comienza la prueba del programa.
La prueba se centra en la lógica interna del software y en las funciones externas,
realizando test de pruebas que aseguren que la entrada definida produce los
resultados que realmente se requieren.

Existen varios tipos de Pruebas:

 Pruebas de unidad
 Pruebas de integración
 Pruebas de sistema
 Pruebas de aceptación

6. Implementación y verificación.
Es la fase en donde el usuario final o el cliente ejecuta el sistema, y se asegura
que cubra sus necesidades.
Durante esta etapa, el diseño del software se lleva a cabo como un conjunto o
unidades de programas. La prueba de unidades implica verificar que cada una
cumpla su especificación.
7. Funcionamiento y mantenimiento. Por lo general (aunque no necesariamente),
ésta es la fase más larga del ciclo de vida. El sistema se instala y se pone en
funcionamiento práctico. El mantenimiento implica corregir errores no descubiertos
en las etapas anteriores del ciclo de vida, mejorar la implementación de las
unidades del sistema y resaltar los servicios del sistema una vez que se descubren
nuevos requerimientos.

Tipos de Mantenimiento:

 Mantenimiento Preventivo y Perfectivo


 Mantenimiento Correctivo
 Mantenimiento Evolutivo

BIBLIOGRAFIA

https://uniwebsidad.com/libros/tdd/capitulo-1/modelo-en-cascada

https://es.ryte.com/wiki/Modelo_en_Cascada

http://primermodelo.blogspot.com

También podría gustarte