Software">
Metodología de Cascada
Metodología de Cascada
Metodología de Cascada
Introducción
Actualmente, las empresas demandan sistemas de información lo suficientemente
robustos que soporten los procesos misionales de las mismas, permitiéndole satisfacer las
necesidades de sus clientes. Para ello es necesario que los proveedores de dicha solución
tecnológica logren canalizar todos sus requerimientos y desarrollen un software ajustado a sus
necesidades, cumpliendo oportunamente los tiempos de entrega del producto. Sin embargo, la
productividad en el desarrollo de software puede llegar a ser difícil de evaluar y atacar, ya que el
desarrollo de software es una labor creativa que depende en su mayoría de las personas, de
sus habilidades, conocimientos y metodologías. La mayoría de costos de las empresas que se
dedican a esta actividad, están en la mano de obra tan específica que requieren, es por esto que la
mejora de la productividad de sus ingenieros es de gran valor, pues sus ingresos se estiman en
parte por hora/hombre. Por lo anterior resulta importante encontrar una metodología que, sin
sacrificar el alcance funcional y tecnológico de los productos de software, su calidad y el
compromiso de entrega al cliente, permita optimizar los costos de producción (Pardini, 2018)
Actualmente, existen diferentes metodologías que permiten llevar a cabo esta ardua labor de
desarrollo de software
Las más importantes son: entre las más reconocidas figuran la metodología en cascada y la
metodología ágil. La primera sigue un proceso lineal y secuencial, donde una vez se completa una
de las etapas, el equipo de desarrollo continúa con la etapa siguiente. El equipo no puede
devolverse a una etapa anterior a menos que reinicie el proceso. La metodología ágil, en lugar de
segmentar los proyectos por etapas los aborda en su conjunto, logrando manejarlos de manera
más fluida, centrándose en la colaboración y funcionalidad cruzada.
Actualmente, existen un gran número de enfoques y métodos que se mezclan para llegar a los
objetivos trazados, ya sea por las organizaciones en general o para un área en especial, la
tendencia a evolucionado de una manera acelerada en los últimos 20 años, tanto en el desarrollo
de hardware como de software, integrando un gran número de herramientas físicas, virtuales y
humanas que configuran un entramado en el cual la información se convierte en el elemento
vital para su correcto funcionamiento, así mismo, cabe resaltar que dicha metodología
es denominada clásica y tiene una tendencia a la planificación, luego mencionan que esta
planeación se da con único fin de alcanzar resultados predecibles dado que “La experiencia
ha mostrado que, como consecuencia de las características del software, los resultados de los
procesos no son siempre predecibles y, sobre todo, es difícil predecir desde el comienzo del
proyecto cada resultado”.
Lo anterior permite ver una evolución corta en el tiempo, pero amplia en alcances pues sólo fue
hasta 1980 que se logró hacer una revisión de las ideas expuestas; igualmente, como sucede en la
ingeniería de sistemas en general, han existido avances relevantes, al tiempo que las nuevas
tecnologías siguen avanzando rápidamente, lo que hace que los conceptos también se impulsen y
se trasformen para explicarse y poder ser aplicados a las necesidades organizacionales.
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.
Diseño 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
(Descripción del 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.
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.
Mantenimiento: Una de las etapas más críticas, 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.
Ese sería el ciclo de vida del software a partir de un diseño implementado desde el modelo de
cascada, como se puede ver es de manera lineal, tiene una estructura rígida, la cual aporta como
ventaja el seguimiento sistemático de la información, en donde la cuantificación del proceso se
encuentra permanentemente relacionada con el desarrollo del programa.
VENTAJAS
-Realiza un buen funcionamiento en equipos débiles y productos maduros, por loque se requiere
de menos capital y herramientas para hacerlo funcionar de manera óptima.
-Promueve una metodología de trabajo efectiva: Definir antes que diseñar, diseñar antes que
codificar.
DESVENTAJAS
-En la vida real, un proyecto rara vez sigue una secuencia lineal, esto crea una mala
implementación del modelo, lo cual hace que lo lleve al fracaso
-El proceso de creación 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
-Una etapa determinada del proyecto no se puede llevar a cabo a menos de que se haya
culminado la etapa anterior.
Así pues, las técnicas utilizadas a partir del modelo de cascada son específicas, en cada uno de
los procesos se puede implementar una técnica diferente. No obstante, es complicado
utilizar diferentes técnicas en los procesos, puesto que no aplican de ninguna manera.
Igualmente, se puede decir que dichas técnicas tienen una rigurosidad alta al momento de
evaluar cada proceso por separado. La metodología permite evidenciar las problemáticas
que se puedan presentar.
El impacto del desarrollo de esta modalidad es intenso, aunque no muy alto, es decir, se puede
mejorar las condiciones, siempre y cuando esté dentro de la estructura de desarrollo
por etapas y cumpliendo los objetivos que se planteen en cada una de ellas
- El modelo de cascada fue el primero que se desarrolló, sin embargo, cuenta con
múltiples limitaciones, esto debido a que es un sistema que se puede llamar
rudimentario, que utiliza la fuerza para obtener resultado, un ejemplo es la rigidez de sus
operaciones, la poca integración en los procesos, la poca coordinación de las
herramientas y la precaria evaluación de estos, lo que ha hecho que se generen fallas y perdidas
por el proceso de rediseño.
Diseño
Descompone y organiza el sistema en elementos que puedan elaborarse por
separado, aprovechando las ventajas del desarrollo en equipo. Se describirá el diseño en
profundidad de la estructura interna de la aplicación con los patrones utilizados, haciendo
hincapié en el patrón modelo, vista y controlador
Implementación
Ahora abordaremos el diseño final que ven los usuarios de la aplicación, es decir, la capa vista. Se
realiza una introducción a las pantallas con las que los usuarios interactúan. En esta
implementación son necesarios dos archivos por cada página de las que consta
nuestra aplicación.
En primer lugar, hace falta una clase .java que es la que define el comportamiento de la página al
interactuar con ella. En segundo lugar, es necesaria una plantilla, muy similar a un
documento HTML, que sirven como referencias a los valores de variables, funciones y otros
elementos definidos en la clase java.
A excepción de los datos almacenados en la base de datos, todas las cadenas de texto de la
aplicación están almacenadas en estos ficheros de configuración. Por otro lado, todas las
páginas están compuestas de un la yout, que es un componente creado para que todas las páginas
usen una misma apariencia general y para que toda la aplicación tenga dos partes comunes, que
son la cabecera con el menú principal de la tienda y el footer, con información relevante de
nuestra tienda.
Verificación
Es necesario evaluar los objetivos y propósitos que se persiguen. A partir de ello, se define el tipo
de datos o información que se requiere.
Asegúrate de que todas las columnas estén claramente descritas y de que haya suficiente espacio
para registrar los datos. Esta herramienta busca quitar problemas y que tengamos un formato
claro y fácil de usar. Así que no hacen falta florituras ni colorines, mientras más básico, mejor.
Constantemente se debe buscar mejorar los formatos de registro de información para que no
pierdan su utilidad.
El encargado o encargada de recopilar los datos, debe tomarse su tiempo, a veces hay procesos
que son un poco repetitivos.
Instalación y mantenimiento
Se tiene que cuidar que los programas específicos que utiliza la tienda cumplan los objetivos
propuestos. Después de satisfechas las fases de implementación y verificación, lo próximo en
desarrollo de software será adoptar medidas de diferentes tipos para comprobar su rendimiento y
posibles mejoras.
Mantenimiento predictivo: nos servirá para saber en qué momento se va a producir un fallo o
congestión, afectando a su desempeño diario en la tienda.