Portada » Diseño e Ingeniería » Modelos de Ciclo de Vida de Software y Gestión de Requisitos en Ingeniería
El modelo en cascada sigue una secuencia estricta de fases:
La cascada se caracteriza por su secuencialidad en las fases. El sistema se entrega completo al final del proyecto. El estado del proyecto es visible en todo momento. Este modelo asume que los requisitos son estables durante todo el proceso.
Los límites entre fases son muy rígidos y esto puede provocar que los errores se propaguen fácilmente.
Es el modelo más antiguo. En este modelo, el concepto de fase se mantiene. En los modelos antiguos, las actividades no se limitaban a una fase, sino que tenían lugar en varias de ellas, avanzando mediante iteraciones.
Es un proceso de desarrollo de software creado en respuesta a las debilidades del modelo tradicional de cascada.
Este modelo de desarrollo es un conjunto de tareas agrupadas en pequeñas etapas repetitivas (iteraciones). Es uno de los más utilizados, ya que se relaciona con estrategias de desarrollo del software y una programación extrema, siendo empleado en metodologías diversas.
El análisis de cada iteración permite identificar puntos de mejora que se pueden incorporar en las iteraciones posteriores.
La gestión de riesgos es más precisa. Al iniciar la planificación, se dispone de una visión de los riesgos a los que se enfrenta el equipo en cada iteración.
Los procesos cíclicos aportan un margen de flexibilidad extra.
Es una combinación del ciclo de vida en cascada y el modelo iterativo.
Las fases por las que pasa cada ciclo de la espiral son:
Definen las funciones, servicios o tareas a llevar a cabo. Son, en general, más fácilmente verificables.
Definen los aspectos técnicos que debe incluir el sistema desarrollado.
Objetivo: Establecer las fronteras del futuro sistema.
Acciones a llevar a cabo:
Objetivo: Descubrir las tareas que deben llevarse a cabo para examinar los requisitos, delimitarlos y definir exactamente cada uno.
Acciones a llevar a cabo:
Este proceso enlaza la definición de alto nivel del sistema desde la perspectiva del usuario –externa–, con el diseño del software que permitirá implementar dicho sistema –interna–.
Visión simplista: el proceso consiste exclusivamente en realizar un modelo conceptual de los requisitos. Sin embargo, el modelado es importante, pero no es la única tarea:
Objetivo: Describir completamente los requisitos del sistema a desarrollar.
Implica con frecuencia la construcción de un modelo (o varios) del sistema a construir desde el punto de vista de los usuarios del sistema, que incluya los requisitos obtenidos.
De manera generalizada, los requisitos se plasman en un documento denominado Especificación de Requisitos del Software (SRS).
En proyectos complejos, se suelen manejar 3 documentos:
Parte de la especificación.
En un modelado conceptual, cada entidad se corresponde de manera unívoca con un objeto en el mundo real. A menudo se plasman en modelos visuales.
Para crear estos modelos es necesario un lenguaje y un conjunto de reglas que establezcan cómo se han de usar los elementos del lenguaje (Ej: casos de uso, diagramas de clases de análisis UML, diagramas Entidad-Relación, notaciones formales).
Objetivo: Examinar si los documentos de requisitos definen el software que los usuarios esperan y no otro.
Un grupo de revisores con representación de los actores más significativos cumplimenta una tabla con sus análisis.
Seguimiento + Métricas + Herramientas de gestión
Seguimiento: Hace menos probable que el sistema final tenga inconsistencias por culpa de cambios realizados sin un control exhaustivo.
Los requisitos evolucionan iterativamente hasta alcanzar un nivel de calidad y detalle suficiente que permita iniciar los trabajos de diseño de las funcionalidades que les dan soporte.
Para facilitar la comprensión completa de todos los aspectos asociados con los requisitos, han de definirse líneas base. Una línea base es un conjunto de requisitos que deberá contener una entrega del producto.
Matriz de seguimiento: Tabla donde se relacionan dos documentos, los cuales pertenecen probablemente a etapas distintas del desarrollo.
Es posible tomar medidas de los requisitos software que indiquen el alcance del proyecto, su crecimiento potencial, su estabilidad y progreso. Las medidas de requisitos son únicas: caracterizan el espacio del problema. Otras medidas del desarrollo caracterizan el espacio de la solución.
El tamaño y complejidad de los desarrollos ha convertido el uso de herramientas en algo esencial.
Las herramientas de gestión de requisitos:
