el modelo de cascada es un enfoque lineal y secuencial del ciclo de vida de desarrollo de software (SDLC) que es popular en ingeniería de software y desarrollo de productos. El modelo de cascada enfatiza la progresión de los pasos. De manera Similar a la dirección en la que el agua fluye sobre el borde de un acantilado, se establecen puntos finales u objetivos distintos para cada fase del desarrollo y no se pueden volver a visitar después de su finalización. El término fue introducido por primera vez en un artículo publicado en 1970 por el Dr. Winston W., Royce y sigue siendo utilizado en aplicaciones de diseño industrial.
la metodología de cascada se compone de siete etapas no superpuestas:
- requisitos: los requisitos potenciales, las pautas de plazos para el proyecto se analizan y se colocan en una especificación funcional. Esta etapa maneja la definición y planificación del proyecto sin mencionar procesos específicos.
- Análisis: las especificaciones del sistema se analizan para generar modelos de productos y el negocio guiará la producción. Esto es también cuando los recursos financieros y técnicos son auditados para determinar su viabilidad.,
- Diseño: se crea un documento de especificación de diseño para describir los requisitos técnicos de diseño, como lenguaje de programación, hardware, fuentes de datos, arquitectura y servicios.
- codificación/implementación: la fuente desarrollada utilizando los modelos, requisitos lógicos designados en las etapas anteriores. Por lo general, el sistema se diseña en componentes más pequeños, o unidades, antes de ser implementado en conjunto.
- Testing: aquí es cuando se llevan a cabo pruebas de control de calidad, unidad y beta para informar de problemas que pueden necesitar ser resueltos. Esto puede causar una repetición forzada de la etapa de codificación para la depuración., Si el sistema pasa las pruebas, la cascada continúa hacia adelante.
- operación/implementación: el producto o aplicación se considera completamente funcional y se implementa en un entorno en vivo.
- mantenimiento: el mantenimiento correctivo, adaptativo y perfectivo se lleva a cabo indefinidamente para mejorar, actualizar y potenciar el producto final. Esto podría incluir la liberación o la liberación de nuevas versiones.,
Antes de pasar a la siguiente fase, por lo general hay una revisión y firma para asegurar que todos los objetivos se han cumplido.
el enfoque de cascada es ideal para proyectos que tienen documentación específica, requisitos fijos, amplios recursos, una línea de tiempo establecida y tecnología bien entendida. Las alternativas al modelo de cascada incluyen el desarrollo conjunto de aplicaciones (JAD), el desarrollo rápido de aplicaciones (rad), la sincronización y estabilización, la gestión ágil de proyectos (APM) y el modelo espiral.,
ventajas del modelo de cascada
mientras que los métodos ágiles o dinámicos a menudo reemplazan al modelo de cascada, hay algunas ventajas:
- Las etapas iniciales de documentación y planificación permiten que los equipos grandes o cambiantes permanezcan informados y se muevan hacia un objetivo común.
- fuerzas, organización disciplinada.
- Es fácil de entender, seguir y organizar tareas.
- Facilita la departamentalización y el control gerencial basado en horarios o plazos.
- refuerza los buenos hábitos de codificación para definir antes del diseño y luego el código.,
- Permite que los primeros cambios de diseño o especificación se hagan fácilmente.
- define Claramente los hitos y plazos.
desventajas del modelo de cascada
Las desventajas del modelo de cascada típicamente rodean el riesgo asociado con la falta de revisión, incluyendo:
- NO es adaptable; a menudo cuando se encuentra un defecto, Todo el proceso necesita comenzar de nuevo.
- ignora el potencial de recibir comentarios de usuarios o clientes en mitad del proceso y realizar cambios basados en los resultados.
- retrasa las pruebas hasta el final del ciclo de vida de desarrollo.,
- no considera la corrección de errores.
- no maneja bien las solicitudes de cambios, ajustes de alcance o actualizaciones.
- Reduce la eficiencia al no permitir que los procesos se superpongan.
- No hay producto de trabajo disponible hasta las últimas etapas del ciclo de vida.
- No es ideal para proyectos complejos, de alto riesgo, en curso u orientados a objetos.