Cargando ...
Por Mauricio Costanzo 3 minutos de lectura
Hay veces en las que los requerimientos para cierto problema se comprenden bien. Esta situación se encuentra en ocasiones cuando deben hacerse adaptaciones o mejoras bien definidas a un sistema ya existente (por ejemplo, una adaptación para software de facturación que es obligatorio hacer debido a cambios en las regulaciones gubernamentales). También ocurre en algunos nuevos esfuerzos de desarrollo, pero sólo cuando los requerimientos están bien definidos y tienen poca probabilidad de que cambien. Es aquí donde aplicar un modelo de proceso secuencial guiado por un plan sea la mejor opción para llevar a cabo la gestión de un proyecto de software.
El modelo en cascada, a veces llamado ciclo de vida clásico, sugiere un enfoque sistemático y secuencial para el desarrollo del software, que comienza con la especificación de los requerimientos por parte del cliente y avanza a través de planeación, modelado, construcción y despliegue, para concluir con el apoyo del software terminado. Debido al paso de una fase en cascada a otra, este modelo se conoce como “modelo en cascada”.
Es un ejemplo de un proceso dirigido por un plan; en principio, se debe planear y programar todas las actividades del proceso, antes de comenzar a trabajar con ellas.
Las principales etapas del modelo en cascada reflejan directamente las actividades fundamentales del desarrollo:
Actividades del modelo en cascadaLos servicios, las restricciones y las metas del sistema se establecen mediante consulta a los usuarios del sistema. Luego, se definen con detalle y sirven como una especificación del sistema.
El proceso de diseño de sistemas asigna los requerimientos, para sistemas de hardware o de software, al establecer una arquitectura de sistema global. El diseño del software implica identificar y describir las abstracciones fundamentales del sistema de software y sus relaciones.
Durante esta etapa, el diseño de software se rea liza como un conjunto de programas o unidades del programa. La prueba de unidad consiste en verificar que cada unidad cumpla con su especificación.
Las unidades del programa o los programas individuales se integran y prueban como un sistema completo para asegurarse de que se cumplan los requerimientos de software. Después de probarlo, se libera el sistema de software al cliente.
Por lo general (aunque no necesariamente), ésta es la fase más larga del ciclo de vida, donde el sistema se instala y se pone en práctica. El mantenimiento incluye corregir los errores que no se detectaron en etapas anteriores del ciclo de vida, mejorar la implementación de las unidades del sistema e incrementar los servicios del sistema conforme se descubren nuevos requerimientos.
El pobre Winston Royce pagó todos los platos rotos ....
Winston W. Royce (1929 – 7 de junio de 1995) fue un computólogo Americano, director en el Centro de Tecnología de Software Lockheed en Austin, Texas. Fue un pionero en el campo de ingeniería de software,1 conocido por su papel en 1970 el cual el modelo en cascada de ingeniería de software se extrajo por error.La creación del modelo en cascada (waterfall) es adoptado e institucionalizado por el Departamento de Defensa de los Estados Unidos como consecuencia de una mala interpretación del trabajo de Winston Royce, “Managing the Development of Large Software Systems”, donde el autor sugiere que este tipo de enfoque para el desarrollo de software es arriesgado y que invita al fracaso. Royce comentaba que los cambios de diseño son propensos a ser tan disruptivos que los requisitos software sobre los que el diseño se basa y que son la justificación de todo serán violados. O bien los requisitos deben ser modificados, o se requiere un cambio sustancial en el diseño. En efecto, el proceso de desarrollo ha vuelto al origen y se puede esperar hasta sobrecostes del 100% en el horario y/o costos. El hijo de Royce escribió que su padre sentía mucho que todo el mundo pensase que promovió él el uso del ciclo de vida en cascada. Y decía que su padre siempre había sido un defensor del desarrollo iterativo e incremental. El nombre de “cascada” se lo pusieron en el 76, Thomas y Thayer, en el artículo “Software Requirements: Are They Really A Problem?”.
El modelo de la cascada es el paradigma más antiguo de la ingeniería de software . Sin embargo, en las últimas tres décadas, las críticas hechas al modelo han ocasionado que incluso sus defensores más obstinados cuestionen su eficacia.
Entre los problemas que en ocasiones surgen al aplicar el modelo de la cascada se encuentran los siguientes:
En un análisis interesante de proyectos reales, se encontró que la naturaleza lineal del ciclo de vida clásico llega a “estados de bloqueo” en los que ciertos miembros del equipo de proyecto deben esperar a otros a fin de terminar tareas interdependientes. En realidad, ¡el tiempo de espera llega a superar al dedicado al trabajo productivo! .
Hoy en día, el trabajo de software es acelerado y está sujeto a una corriente sin fin de cambios (en las características, funciones y contenido de información). El modelo en cascada suele ser inapropiado para ese tipo de labor. No obstante, sirve como un modelo de proceso útil en situaciones en las que los requerimientos son fijos y el trabajo avanza en forma lineal hacia el final .
Proceso de descubrir, analizar, documentar y verificar los servicios que debe brindar un sistema y sus restricciones.
Existen cuatro grupos de actividades fundamentales que están presentes en todos los procesos de software (se trate de un simple programa o de un gran sistemas).
Modelo de Desarrollo Incremental. Harlan Mills en el año 1980. Se basa en el desarrollo a partir del incremento de la funcionalidades del programa, se puede considerar un precursor de las modernas metodologías iterativas.
Un proceso de software es una serie de actividades relacionadas que conducen a la elaboración de un producto de software.
Definición y explicación del proceso de construcción de un sistema aplicando la Ingeniería de Software
Todos los derechos reservados {{empresa.name}} © 2020 |
Desarrollado por Mauricio Costanzo