El modelo de desarrollo en cascada se originó en la industria y la
construcción, donde los cambios a posteriormente son caros y difíciles de
implementar. Cuando estás creando un producto material, realizar cambios
en lo ya construido es mucho más difícil que en un programa
informático. En el mundo del software, todavía no se habían implantado
otras metodologías de desarrollo por lo que se adaptó el modelo en cascada que
se utilizaba en otros sectores.
Requisitos del software
En esta fase se hace un análisis de las necesidades del cliente para
determinar las características del software a desarrollar, y se especifica todo
lo que debe hacer el sistema sin entrar en detalles técnicos. Hay que ser
especialmente cuidadoso en esta primera fase, ya que en este modelo no se
pueden añadir nuevos requisitos en mitad del proceso de desarrollo.
Por lo tanto, esta es la etapa en la que se lleva a cabo una descripción
de los requisitos del software, y se acuerda entre el cliente y la empresa
desarrolladora lo que el producto deberá hacer. Disponer de una especificación
de los requisitos permite estimar de forma rigurosa las necesidades del
software antes de su diseño. Además, permite tener una base a partir de la cual
estimar el coste del producto, los riesgos y los plazos.
En el documento en el que se especifican los requisitos, se establece
una lista de los requerimientos acordados. Los desarrolladores
deben comprender de forma clara el producto que van a desarrollar. Esto se
consigue teniendo una lista detallada de los requisitos, y con una comunicación
fluida con el cliente hasta que termine el el tiempo de desarrollo.
Diseño
En esta etapa se describe la estructura interna del software, y las
relaciones entre las entidades que lo componen.
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.
Es conveniente distinguir entre diseño de alto nivel o arquitectónico y
diseño detallado. El primero de ellos tiene como objetivo definir la estructura
de la solución (una vez que la fase de análisis ha descrito el problema)
identificando grandes módulos (conjuntos de funciones que van a estar
asociadas) y sus relaciones. Con ello se define la arquitectura de la solución
elegida. El segundo define los algoritmos empleados y la organización del
código para comenzar la implementación.
Implementación
En esta fase se programan los requisitos especificados
haciendo uso de las estructuras de datos diseñadas en la fase anterior.La
programación es el proceso que lleva de la formulación de un problema de
computación, a un programa que se ejecute produciendo los pasos necesarios para
resolver dicho problema.
Al programar, tenemos que realizar actividades como el análisis de las
condiciones, la creación de algoritmos, y la implementación de éstos
en un lenguaje de programación específico.
Un algoritmo es un conjunto de instrucciones o reglas bien
definidas y ordenadas que permiten llevar a cabo una actividad mediante pasos
sucesivos.
Verificación
Como su propio nombre indica, una vez se termina la fase de
implementación se verifica que todos los componentes del sistema funcionen
correctamente y cumplen con los requisitos. El objetivo de las pruebas es el de obtener información de la calidad
del software, y sirven para: encontrar defectos o bugs, aumentar la calidad del
software, refinar el código previamente escrito sin miedo a romperlo o
introducir nuevos bugs, etc.
Instalación y mantenimiento
Una vez se han desarrollado todas las funcionalidades del software y se
ha comprobado que funcionan correctamente, se inicia la fase de instalación y
mantenimiento. Se instala la aplicación en el sistema y se comprueba que
funcione correctamente en el entorno en que se va a utilizar.
A partir de ahora hay que asegurarse de que el software funcione y hay
que destinar recursos a mantenerlo. El mantenimiento del software consiste en
la modificación del producto después de haber sido entregado al cliente, ya sea
para corregir errores o para mejorar el rendimiento o las características. El propósito de esta fase es mantener el valor del software a través del
tiempo. Esto puede hacerse añadiendo nuevos requisitos, corrigiendo errores,
renovando el aspecto visual, mejorando la eficiencia o añadiendo nueva
tecnología. El periodo de mantenimiento puede durar años, por lo que es una
fase clave del modelo en cascada.
Para
llevar a cabo correctamente la fase de mantenimiento, se necesita trazar un
plan de antemano que nos prepare para todos los escenarios que puedan
producirse durante esta fase. Para evitar futuros conflictos con el cliente, en
el plan hay que especificar cómo los usuarios solicitarán las modificaciones o
la corrección de errores, hacer una estimación del coste de la modificación de
funcionalidades o corrección de errores, quién se encargará del mantenimiento,
durante cuanto tiempo se dará soporte al software, etc.

No hay comentarios.:
Publicar un comentario