02 - Procesos de la Ingeniería de Requerimientos
1. Procesos en la Ingeniería de Requerimientos
-
El análisis de requerimientos es visto como un proceso completo llamado Ingeniería de Requerimientos, cuyo objetivo es crear y mantener un documento de requerimientos.
-
Este proceso consta de cuatro subprocesos principales:
1. Estudio de Viabilidad: Evalúa si el sistema es factible y contribuye a los objetivos de la organización.
2. Obtención y Análisis de Requerimientos: Involucra determinar qué servicios debe proporcionar el sistema y sus restricciones.
3. Especificación de Requerimientos: Documentar formalmente los requerimientos en un formato estándar.
4. Validación de Requerimientos: Verificar que los requerimientos reflejan fielmente lo que el cliente desea.
5. Gestión de Requerimientos: Manejo de cambios y evolución de los requerimientos durante el ciclo de vida del proyecto.
2. Estudio de Viabilidad
- Tiene como propósito evaluar:
1. Contribución a la organización: Si el sistema aporta a los objetivos estratégicos de la empresa.
2. Implementación tecnológica: Si el sistema se puede desarrollar usando la tecnología disponible.
3. Integración: Si el sistema se puede integrar con otros sistemas existentes.
-
El estudio de viabilidad se debe realizar en un plazo breve (dos o tres semanas).
-
El resultado es un informe que decide si se continúa o no con el desarrollo del sistema, incluyendo recomendaciones sobre el alcance y requerimientos adicionales.
3. Obtención y Análisis de Requerimientos
-
Consiste en trabajar con los clientes y usuarios finales para entender sus necesidades.
-
Se pueden utilizar técnicas como:
- Entrevistas
- Revisión de documentación
- Tormentas de ideas (brainstorming)
- Observación directa
- Dificultades de la obtención de requerimientos:
- Los stakeholders no siempre saben expresar sus necesidades de manera clara.
- Los ingenieros deben traducir los requerimientos expresados en términos del cliente a un lenguaje técnico y estructurado.
- Conflictos entre requerimientos de distintos stakeholders.
4. Validación de Requerimientos
-
La validación asegura que los requerimientos definidos sean los correctos y reflejen lo que el cliente necesita.
-
Verificaciones necesarias:
1. Validez: Asegurar que los requerimientos reflejan necesidades reales.
2. Consistencia: No deben existir contradicciones entre los requerimientos.
3. Completitud: El documento de requerimientos debe contemplar todas las funciones y restricciones del sistema.
4. Realismo: Asegurar que los requerimientos puedan implementarse dentro de las limitaciones tecnológicas y presupuestarias.
5. Verificabilidad: Se deben poder diseñar pruebas para cada requerimiento especificado.
- Técnicas de validación:
- Revisiones de requerimientos: Participación del cliente y el equipo de desarrollo.
- Construcción de prototipos: Modelos ejecutables para verificar el entendimiento de los requerimientos.
- Generación de casos de prueba: Diseñar pruebas para validar cada requerimiento.
5. Gestión de Requerimientos
-
Proceso continuo que gestiona los cambios de requerimientos durante todo el ciclo de vida del sistema.
-
Tipos de Requerimientos:
- Requerimientos Duraderos: Están relacionados con la actividad principal de la organización y son relativamente estables.
- Requerimientos Volátiles: Pueden cambiar durante el desarrollo o después de que el sistema se ponga en funcionamiento.
- Proceso de Gestión de Cambios:
1. Identificar el problema o propuesta de cambio.
2. Analizar la validez y el impacto del cambio propuesto.
3. Estimar los costos asociados al cambio (modificaciones en diseño, implementación, pruebas, etc.).
4. Tomar una decisión sobre si continuar o no con el cambio.
5. Implantar el cambio en el documento de requerimientos y en el sistema.
- Un buen proceso de gestión de cambios asegura que todos los cambios propuestos se manejen de manera controlada y se mantenga la coherencia del documento de requerimientos con el sistema implementado.
6. Riesgos en la Etapa de Recolección de Requerimientos
- El proceso de recolección de requerimientos implica ciertos riesgos que pueden causar retrasos o incluso la cancelación del proyecto. Algunos de ellos son:
- Los clientes no saben lo que quieren o no se comprometen a escribir un conjunto de requerimientos.
- Insistencia de los clientes en agregar nuevos requerimientos una vez que se ha definido el costo y la planificación.
- Comunicación lenta o poco clara con los clientes.
- Los clientes no participan en las revisiones o no entienden el proceso de desarrollo de software.
- Solución: Establecer una buena relación con los clientes y tener una comunicación abierta y efectiva para identificar y controlar estos riesgos.