La finalidad de este blog es que encuentras la mayor cantidad de información acerca del método de cascada el cual consiste en una serie de etapas que se relacionan con las áreas del conocimiento del software al igual de como es que intervienen estas etapas en los roles de un ingeniero en software.
Modelos de desarrollo de software Modelo de cascada
lunes, 5 de noviembre de 2018
¿Que es el modelo de cascada?
El modelo en cascada es un proceso de desarrollo secuencial, en el que
el desarrollo de software se concibe como un conjunto de etapas que
se ejecutan una tras otra. Se le denomina así por las posiciones que
ocupan las diferentes fases que componen el proyecto, colocadas una encima
de otra, y siguiendo un flujo de ejecución de arriba hacia abajo, como una
cascada. El modelo de cascada fue uno de los primeros modelos de ciclo de vida que
formalizó un conjunto de procesos de desarrollo de software. Este modelo describe
un orden secuencial en la ejecución de los procesos asociados..
Las fases del modelo en cascada
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.
Relación entre el Modelo de cascada y Las Áreas del conocimiento del software
Fundamentos de los requerimientos
de software: es la encargada de describir la importancia de los requerimientos
cuantificables y también es la encargada de distinguir entre sistemas y
requerimientos software
Requerimientos del proceso:
describe los modelos de proceso actores de proceso, procesos de soporte y
gestión, y la calidad en cuanto a la mejora del proceso.
Captura de requisitos: en
donde vienen los requerimientos y como
se centra el ingeniero de software en cómo
puede obtenerlos, todo esto engloba lo
que son las técnicas de capturas.
Especificación de requerimientos:
se refiere a la producción de un documento o su equivalente electrónico, que
puede ser sistemáticamente revisado evaluado, y aprobado.
DISEÑO DEL SOFTWARE
Fundamentos del diseño del software: son conceptos generales del
software, el contexto en el que se está diseñando, o el proceso que se está
llevando a cabo para su creación.
Temas claves en el diseño del
software: el encargado de la distribución de componentes, control y
manejo de eventos el manejo de errores y la tolerancia en los
fallos.
Calidad evaluación de las del
diseño del software: centra en los aspectos específicos del diseño,
análisis de calidad y técnicas de evaluación
y medición.
CONSTRUCCIÓN DEL SOFTWARE
Fundamentos de la construcción en software:
se trata de los principios básicos de la construcción estos son minimización de la complejidad, anticipación
al cambio, y la construcción y verificación.
Gestión de la construcción:
planeación de la construcción y la medición de la construcción.
Consideraciones prácticas: los temas son los diseños de la
construcción de lenguajes por medio de la codificación y las pruebas de
construcción.
PRUEBAS DE SOFTWARE
Fundamentos de la pruebas de software:
se presenta la terminología relacionada con las pruebas, después se presentaba
los aspectos fundamentales de las pruebas.
Niveles de pruebas: están divididos entre los objetos de la prueba
y los objetos de las pruebas.
Técnicas para las pruebas: incluye a las pruebas basadas en la intuición
del probador/a y la experiencia. El segundo grupo comprende las técnicas
basadas en la especificación, seguido de técnicas basadas en el código.
MANTENIMIENTO DEL SOFTWARE
Fundamentos del mantenimiento del software: definiciones y
terminologías sobre la naturaleza de la necesidad de darle mantenimiento al
software, los constes y su evolución.
Temas claves del manteniendo del software:
estos comprenden los temas técnicos de gestión, especificación y conste el mantenimientos
y la medición del mantenimiento.
Proceso de manteniendo:
constituye a la compresión del software, la resignación y la ingeniera a la
inversa
PROCESO DE INGENIERÍA DEL SOFTWARE
Procesos de implementación y
cambios: se trata de la infraestructura del proceso, ciclo de gestión
del proceso software, modelos para el proceso de implementación y cambios y
consideraciones prácticas.
Definición de procesos: engloba a
los modelos del siclo de la vida del software, procesos del ciclo de vida del
software, notaciones para su adaptación de procesos de automatización.
Evolución de los procesos y
mediaciones de proceso y productos: consiste más que nada en la evaluación
de los procesos y sus métodos a la hora de evaluar y la medición cubre
genéricamente la medición de producto y proceso.
HERRAMIENTAS Y MÉTODO EN LA INGENIERÍA DEL SOFTWARE
Herramientas de la ingeniera del
software: Utiliza la misma estructura que guía en sí misma, con un tema
por cada una de las otras nueve AC de cuestiones carias sobre herramienta o
técnicas de integración de herramientas o qué tipo de herramientas son mejores
para una aplicación.
Métodos de ingeniería del
software: se divide en cuatro subsecciones métodos heurísticos que
tratan aproximaciones informales, métodos formales basados en aproximaciones matemáticas,
métodos de prototipo tratando varias formas de prototipado.
Fundamentos de la calidad de software:
como la ética y cultura de la ingeniería en software, valor y coste de la
calidad, modelos y características de la calidad y la mejore de la calidad.
Procesos de gestión de la calidad del software: Consiste en el
aseguramientos de la calidad, verificación y validación, y revisión y
auditorias por ultimo existe los temas acerca de la caracterización de defectos,
técnicas de gestión de la calidad del software, y medición de la calidad del
software.
Roles que intervienen en cada fase
Requisitos
Al papel que se juega primero es del analista del proyecto, como es que se debe de contemplar desde antes el proyecto, cuales serán sus costos, cuanto se cobrara por el, ademas de que se debe de contemplar cuanto sera el personal y el tiempo que se necesitara para sacar el proyecto adelante sin ningún tipo de problemas, es importante que en esta etapa se haga un rol mas administrativo que en los demás pues en su gran mayoría consiste en calcular costos.
Diseño
Como la palabra lo dice el ingeniero en software tiene que hacer el rol de diseñador donde deberá de describir la estructura del software descomponiendo la y volviéndola a armar para crear una mejor visión de que es lo que se entregara como producto final.
Implementacion
Durante esta fase se trabaja con un rol técnico pues se efectúa todo lo que se diseño previamente para llevarlo al mundo real y poder dar avances del producto o proyecto se podría decir que este es uno de los roles mas importantes que debe de aprender a manejar un Ingeniero en software.
Verificación
Se denomina como testeador o beta tester a este rol pues consiste en probar el software bajo todas los inconveniente o situaciones a las que se puede enfrentar así como medir su eficacia y eficiencia.
Instalación y mantenimiento
El ingeniero debe de estar comprometido con que dará mantenimiento al software una vez después de su entre claramente si esto se estableció en contrato en la fase uno, un rol que suele dejar de hacerse debido a que no siempre el mantenimiento se pagado sino que ya esta contemplado en el presupuesto.
Al papel que se juega primero es del analista del proyecto, como es que se debe de contemplar desde antes el proyecto, cuales serán sus costos, cuanto se cobrara por el, ademas de que se debe de contemplar cuanto sera el personal y el tiempo que se necesitara para sacar el proyecto adelante sin ningún tipo de problemas, es importante que en esta etapa se haga un rol mas administrativo que en los demás pues en su gran mayoría consiste en calcular costos.
Diseño
Como la palabra lo dice el ingeniero en software tiene que hacer el rol de diseñador donde deberá de describir la estructura del software descomponiendo la y volviéndola a armar para crear una mejor visión de que es lo que se entregara como producto final.
Implementacion
Durante esta fase se trabaja con un rol técnico pues se efectúa todo lo que se diseño previamente para llevarlo al mundo real y poder dar avances del producto o proyecto se podría decir que este es uno de los roles mas importantes que debe de aprender a manejar un Ingeniero en software.
Verificación
Se denomina como testeador o beta tester a este rol pues consiste en probar el software bajo todas los inconveniente o situaciones a las que se puede enfrentar así como medir su eficacia y eficiencia.
Instalación y mantenimiento
El ingeniero debe de estar comprometido con que dará mantenimiento al software una vez después de su entre claramente si esto se estableció en contrato en la fase uno, un rol que suele dejar de hacerse debido a que no siempre el mantenimiento se pagado sino que ya esta contemplado en el presupuesto.
Referencias
https://openclassrooms.com/en/courses/4309151-gestiona-tu-proyecto-de-desarrollo/4538221-en-que-consiste-el-modelo-en-cascada
https://librosweb.es/libro/tdd/capitulo_1/modelo_en_cascada.html
Libro:Ingeneria en software volumen I Capitulo 4 Pag 127
https://librosweb.es/libro/tdd/capitulo_1/modelo_en_cascada.html
Libro:Ingeneria en software volumen I Capitulo 4 Pag 127
Suscribirse a:
Comentarios (Atom)


