Ir al contenido principal

Modelo De Cascada

 ¿Qué es el modelo en cascada?

El desarrollo en cascada (en inglés, waterfall model) es un procedimiento lineal que se caracteriza por dividir los procesos de desarrollo en sucesivas fases de proyecto. Al contrario que en los modelos iterativos, cada una de estas fases se ejecuta tan solo una vez. Los resultados de cada una de las fases sirven como hipótesis de partida para la siguiente. El waterfall model se utiliza, especialmente, en el desarrollo de software.

¿Cómo funciona el modelo en cascada?

El desarrollo del modelo se atribuye al teórico de la informática Winston W. Royce. Sin embargo, Royce no es el inventor de este modelo. Muy al contrario, en su ensayo de 1970 titulado Managing the Development of Large Software Systems, el teórico presenta una reflexión crítica acerca de los procedimientos lineales. A modo de alternativa, Royce presenta un modelo iterativo incremental en el que cada una de las fases se basa en la anterior y verifica los resultados de esta.

Royce propone un modelo compuesto por siete fases que se ha de ejecutar en diversas vueltas (iteraciones):

  1. Requisitos de sistema

  2. Requisitos de software

  3. Análisis

  4. Diseño

  5. Implementación

  6. Prueba

  7. Servicio




Las fases del desarrollo en cascada

En este modelo, las diferentes fases de un proceso de desarrollo se suceden una detrás de otra como en una cascada. Cada una de las fases concluye con un resultado provisional (hito) como, por ejemplo, un catálogo de requisitos en forma de pliego de condiciones, la especificación de una arquitectura de software o una aplicación a nivel alfa o beta.

Análisis

Todo proyecto de software comienza con una fase de análisis que incluye un estudio de viabilidad y una definición de los requisitos. En el estudio de viabilidad se evalúan los costes, la rentabilidad y la factibilidad del proyecto de software. El estudio de viabilidad da como resultado un pliego de condiciones (una descripción general de los requisitos), un plan y una estimación financiera del proyecto, así como una propuesta para el cliente, si fuera necesario. A continuación, se realiza una definición detallada de los requisitos, la definición de los requisitos da como resultado un pliego de condiciones, una descripción detallada de cómo se han de cumplir los requisitos del proyecto. Por último, la primera fase del waterfall model incluye un análisis de la definición de los requisitos en el que los problemas complejos se dividen en pequeñas tareas secundarias y se elaboran las correspondientes estrategias de resolución.

Diseño

La fase de diseño sirve para formular una solución específica en base a las exigencias, tareas y estrategias definidas en la fase anterior. En esta fase, los desarrolladores de software se encargan de diseñar la arquitectura de software, así como un plan de diseño detallado del mismo, centrándose en componentes concretos, como interfaces, entornos de trabajo o bibliotecas. La fase de diseño da como resultado un borrador preliminar con el plan de diseño del software, así como planes de prueba para los diferentes componentes.

Implementación

La arquitectura de software concebida en la fase de diseño se ejecuta en la fase de implementación, en la que se incluye la programación del software, la búsqueda de errores y las pruebas unitarias. En la fase de implementación, el proyecto de software se traduce al correspondiente lenguaje de programación. Los diversos componentes se desarrollan por separado, se comprueban a través de las pruebas unitarias y se integran poco a poco en el producto final. La fase de implementación da como resultado un producto de software que se comprueba por primera vez como producto final en la siguiente fase (prueba alfa).


Prueba

La fase de prueba incluye la integración del software en el entorno seleccionado. Por norma general, los productos de software se envían en primer lugar a los usuarios finales seleccionados en versión beta (pruebas beta). Las pruebas de aceptación desarrolladas en la fase de análisis permiten determinar si el software cumple con las exigencias definidas con anterioridad. Aquellos productos de software que superan con éxito las pruebas beta están listos para su lanzamiento.


Mantenimiento

Una vez que la fase de prueba ha concluido con éxito, se autoriza la aplicación productiva del software. La última fase del modelo en cascada incluye la entrega, el mantenimiento y la mejora del software.

Pros y contras del modelo en cascada

Esta metodología permite estructurar la organización de forma clara en aquellos proyectos de desarrollo en los que las diversas fases de proyecto se diferencian claramente entre sí. Como cada una de las fases concluye con un hito, el proceso de desarrollo es muy fácil de comprender. El punto clave del modelo reside en la documentación de todos y cada uno de los pasos de proceso. Los conocimientos adquiridos se registran en pliegos de requisitos o borradores preliminares.


Video Explicativo






Bibliografía
IONOS. (2021, 3 diciembre). El modelo en cascada: desarrollo secuencial de software. IONOS Digitalguide. Recuperado 5 de diciembre de 2021, de https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/el-modelo-en-cascada/

Rosa Carolina Cortes Galvis. (2017, 21 abril). Modelo de desarrollo de Software (CASCADA)- Ejemplo de aplicación [Vídeo]. YouTube. https://www.youtube.com/watch?v=V05gm73c5ds&t=351s

Comentarios

Entradas más populares de este blog

Modelo RUP (Rational Unified Process)

  Modelo RUP (Proceso Unificado de Rational) Es un proceso de ingeniería de software, que hace una propuesta orientada por disciplinas para lograr las tareas y responsabilidades de una organización que desarrolla software. Su meta principal es asegurar la producción de software de alta calidad que cumpla con las necesidades de los usuarios, con una planeación y presupuesto predecible.     Características:   Dirigido por Casos de Uso: Los casos de uso son los artefactos primarios para establecer el comportamiento deseado del sistema. Centrado en la Arquitectura: La arquitectura es utilizada para conceptualizar, construir, administrar y evolucionar el sistema en desarrollo. Iterativo e Incremental: Maneja una serie de entregas ejecutables. Integra continuamente la arquitectura para producir nuevas versiones mejoradas. Conceptualmente amplio y diverso. Enfoque orientado a objetos. En evolución continua. Adaptable. Repetible. Permite mediciones: Est

Modelo De Prototipos

¿Qué es el modelo de prototipos? Es un modelo de desarrollo de software donde se crean prototipos en poco tiempo sin usar muchos recursos centrándose en diseños y resultados visibles a corto plazo para el cliente/usuario para que lo pueda evaluar fácilmente y dar retroalimentación y guiando a los desarrolladores para saber que aspectos mejorar.              ¿Cuales son sus principales características? Su desarrollo es bastante rápido y ágil. Se corrige constantemente antes de alcanzar la versión final. Pasa por muchas fases antes de llegar a su estado final. El desarrollador toma decisiones apresuradas constantemente con la finalidad de que quede lo antes posible. Las decisiones tomadas por el desarrollador se corrigen después si se cree necesario.   ¿Cuales son las fases necesarias para llevar a cabo este modelo? La primera fase es la comunicación   en la que se establece contacto con el cliente para definir las características principales del proyecto. Después sigue la analogía en