

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
En este documento se realizó un cuadro comparativo donde observamos algunas metodologías clásicas y sus diferencias entre cada una, se realizó en el año 2024 para la materia de Fundamentos de Ingeniería de software
Tipo: Esquemas y mapas conceptuales
1 / 2
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Metodologías Cascada Espiral Incremental Prototipo Definición Es denominado así por la posición de las fases en el desarrollo de esta, que parecen caer en cascada “por gravedad” hacia las siguientes fases. Es el enfoque metodológico que ordena rigurosamente las etapas del proceso para el desarrollo de software.
El modelo espiral, desarrollado durante la década de los años 80, es una extensión del modelo de cascada. A diferencia del modelo de cascada, que es dirigido por documentos, el modelo espiral se basa en una estrategia para reducir el riesgo del proyecto en áreas de incertidumbre, como tener requerimientos iniciales incompletos e inestables.
Permite construir el proyecto en etapas incrementales en donde cada etapa agrega funcionalidad. Estas etapas, consisten en requerimientos, diseño, codificación, pruebas y entrega. Permite entregar al cliente un producto más rápido en comparación del modelo en cascada.
Un prototipo es una versión preliminar, intencionalmente incompleta o reducida de un sistema. El uso de prototipos es una estrategia que puede aplicarse en casi todas las actividades del proceso de software. El propósito de los prototipos es obtener de manera rápida la información necesaria como ayuda en la toma de decisiones.
Etapas Ingeniería y Análisis del Sistema: Se identifican los requisitos de todos los elementos del sistema, asignando aquellos que correspondan al software.
Análisis de Requisitos del Software: Se recopilan y detallan los requisitos específicos del software, enfocándose en su ámbito, funciones, rendimiento e interfaces.
Diseño: Se traduce los requisitos en una representación detallada del software, abordando la estructura de datos, arquitectura, procedimientos e interfaces.
Codificación: Se convierte el diseño en código fuente legible por la máquina, basado en el diseño detallado.
Prueba: Se verifica la lógica interna y las funciones externas del software para asegurar que los resultados sean los esperados.
Mantenimiento: Se realizan cambios al software después de su entrega para corregir errores, adaptarlo a nuevos entornos o añadir funciones.
Se definen cuatro actividades:
Planificación: en la que se recolectan los requisitos iniciales o nuevos requisitos a añadir en esta iteración.
Análisis de riesgo: basándonos en los requisitos decidimos si somos capaces o no de desarrollar el software y se toma la decisión de continuar o no continuar.
Ingeniería: en el que se desarrolla un prototipo basado en los requisitos obtenidos en la fase de planificación.
Evaluación del cliente: el cliente comenta el prototipo. Si está conforme con él se acaba el proceso, si no se añaden los nuevos requisitos en la siguiente iteración.
Características • Secuencialidad estricta: Cada fase debe completarse antes de iniciar la siguiente. Revisiones al final de cada fase: Se realizan puntos de control para asegurar el avance correcto.
Documentación y requisitos definidos: Los requisitos deben estar completamente documentados y ser estables durante todo el proyecto.
Resultados tardíos: Los resultados solo se ven al final, lo que puede dificultar la detección temprana de errores.
Flexibilidad limitada: Originalmente, no permitía regresar a fases anteriores, aunque esto fue revisado.
Riesgo de altos costos por cambios: Cambiar algo en fases avanzadas puede ser costoso y llevar mucho tiempo.
Extensión del modelo de cascada: Es una evolución del modelo de cascada, pero con un enfoque en la gestión del riesgo en lugar de estar dirigido por documentos.
Enfoque en la reducción de riesgos: Cada ciclo del modelo espiral se centra en identificar y mitigar los riesgos asociados con áreas de incertidumbre, como requisitos incompletos o inestables.
Ciclos de trabajo iterativos: El desarrollo se organiza en ciclos, donde cada ciclo comienza con la identificación de objetivos, soluciones alternativas, y restricciones, seguido de una evaluación para reducir riesgos.
Revisiones al final de cada ciclo: Cada ciclo concluye con una revisión que evalúa los logros alcanzados y planifica las actividades del siguiente ciclo.
Uso de prototipos: Similar al modelo evolutivo, el modelo espiral puede incorporar prototipos como parte de su estrategia para gestionar riesgos.
Involucramiento del equipo: Todo el personal relevante participa en revisiones para evaluar y planificar las actividades, asegurando un compromiso colectivo con las siguientes etapas.
Desarrollo incremental: El producto se desarrolla de manera incremental, con prototipos sucesivos que mejoran con cada ciclo.
Modelo actual y relevante: Con algunas variantes, el modelo espiral es considerado uno de los modelos de proceso más importantes en la actualidad.
Desarrollo en Incrementos: El modelo incremental se basa en el desarrollo inicial de la arquitectura completa del sistema, seguido de incrementos o versiones parciales que añaden o mejoran funcionalidades.
Ciclo de vida independiente para cada incremento: Cada incremento sigue su propio ciclo de vida, generalmente basado en el modelo de cascada, y puede desarrollarse de manera serial o paralela.
Integración continua: A medida que se completa cada incremento, se verifica e integra con las versiones anteriores del sistema, asegurando que el sistema evoluciona de manera coherente.
Evaluación constante: Durante cada incremento, el sistema se evalúa con respecto a las versiones futuras, lo que ayuda a planificar y ajustar el desarrollo conforme avanza.
División en procesos y subprocesos: Las actividades de desarrollo se dividen en procesos más pequeños, facilitando la gestión y dando lugar a la idea de una "fábrica de software".
Evita el enfoque de "big bang": El desarrollo incremental evita la necesidad de un gran esfuerzo único al final del proyecto, permitiendo resultados tempranos y continuos.
Facilidad en la gestión y pruebas: El modelo facilita la gestión de proyectos y la realización de pruebas al trabajar con incrementos más pequeños y manejables.
Adaptabilidad a cambios: Es más probable que el modelo incremental se adapte a cambios en los requisitos del usuario a lo largo del tiempo, en comparación con un enfoque que intenta definir todo desde el principio.
Versión preliminar: Un prototipo es una versión inicial y parcial de un sistema de información, utilizada para demostración o evaluación.
Prototipo de requerimientos: Se crea rápidamente para entender y definir mejor los requisitos del sistema, especialmente cuando estos son difíciles de especificar.
Interacción con usuarios: Los usuarios, clientes o sus representantes experimentan con el prototipo y proporcionan retroalimentación, la cual se utiliza para ajustar y documentar los requisitos del sistema real.
Facilita la retroalimentación: Los usuarios encuentran más fácil dar retroalimentación mediante la interacción con un prototipo tangible en lugar de revisar especificaciones escritas, que pueden ser ambiguas o extensas.
Uso en fases tempranas: Puede utilizarse durante o antes de la fase de definición de requisitos, y también como precursor de modelos de desarrollo incremental o evolutivo.
Requerimientos pobres: A diferencia del modelo evolutivo, el prototipo se construye con los requisitos menos entendidos, lo que permite aprender y ajustar antes de proceder con el desarrollo completo.
Menos formalidad: Es un método menos formal de desarrollo, enfocado en la comprensión y clarificación de especificaciones.
lunes, 2 de septiembre de 2024 06:17 a. m.
Fundamentos de Ingeniería de Software página 1
comprensión y clarificación de especificaciones. Prototipo descartable o evolutivo: El prototipo puede ser desechado una vez que se ha aprendido lo necesario, o puede integrarse en el producto final si se considera adecuado.
Desventajas • Los proyectos reales raramente siguen el flujo secuencial que propone el modelo Normalmente, es difícil para el cliente establecer explícitamente al principio todos los requisitos.
El cliente debe tener paciencia. Hasta llegar a las etapas finales del proyecto, no estará disponible una versión operativa del programa.
Complejidad y Coste: El modelo espiral es más complejo y puede ser costoso debido a la necesidad de realizar múltiples ciclos y evaluaciones de riesgos. Esto puede llevar a un aumento en el tiempo y los recursos necesarios para completar un proyecto.
Dependencia de la Gestión del Riesgo: El éxito del modelo depende en gran medida de la capacidad de identificar y mitigar riesgos correctamente. Si los riesgos no se gestionan adecuadamente, el modelo puede no ser efectivo.
Dificultad en la Planificación: Debido a la naturaleza iterativa y flexible del modelo, puede ser difícil establecer un cronograma y presupuesto precisos al inicio del proyecto. Esto puede generar incertidumbre en la planificación y gestión del proyecto.
No adecuado para proyectos pequeños: Para proyectos de menor escala o con requisitos bien definidos desde el inicio, el modelo espiral puede ser innecesariamente complejo y excesivo.
Requiere experiencia y juicio especializado: El modelo espiral exige un equipo con experiencia en gestión de riesgos y en la evaluación de alternativas, lo que puede ser un desafío para organizaciones con menos recursos o experiencia en estas áreas.
Posible dilatación del proyecto: Al enfocar cada ciclo en la mitigación de riesgos, el modelo puede alargar el tiempo total de desarrollo, especialmente si los riesgos son numerosos o difíciles de manejar.
No se conoce cuando se tendrá un producto aceptable.
No se sabe cuántas iteraciones serán necesarias.
Da una falsa ilusión al usuario sobre la velocidad del desarrollo.
Se puede volver el producto aún y cuando no esté con los estándares.
Fundamentos de Ingeniería de Software página 2