5 Documentación de Requerimientos
🎯 Introducción
Section titled “🎯 Introducción”La documentación de requerimientos es el proceso de registrar, estructurar y mantener de forma sistemática todos los requerimientos identificados para un sistema de software, sirviendo como contrato formal entre stakeholders y el equipo de desarrollo.
📄 Especificación de Requerimientos de Software (SRS)
Section titled “📄 Especificación de Requerimientos de Software (SRS)”El Software Requirements Specification (SRS) es el documento formal que describe de manera completa y detallada los requerimientos funcionales y no funcionales de un sistema de software según el estándar IEEE 830-1998.
🎯 Características de un Buen SRS
Section titled “🎯 Características de un Buen SRS”-
Correcto
Cada requerimiento representa con precisión alguna característica necesaria del sistema y puede ser trazado a su fuente.
-
No Ambiguo
Cada requerimiento tiene una única interpretación posible. Usar lenguaje preciso y evitar términos vagos.
-
Completo
El SRS incluye todos los requerimientos significativos. No debe haber información marcada como “TBD” (To Be Determined).
-
Consistente
No hay conflictos entre requerimientos individuales ni diferencias en terminología o formato.
-
Clasificado por Importancia
Cada requerimiento tiene asignada una prioridad (Crítico/Alto/Medio/Bajo o MoSCoW).
-
Verificable
Existe un proceso finito para verificar que el sistema cumple el requerimiento mediante casos de prueba.
-
Modificable
La estructura permite cambios fáciles, completos y consistentes sin redundancia.
-
Trazable
El origen de cada requerimiento es claro (backward) y facilita la referencia en diseño, código y pruebas (forward).
📊 Estructura del SRS según IEEE 830
Section titled “📊 Estructura del SRS según IEEE 830”🔄 Versionado y Trazabilidad
Section titled “🔄 Versionado y Trazabilidad”📌 Versionado de Requerimientos
Section titled “📌 Versionado de Requerimientos”El versionado es la práctica de asignar identificadores únicos a cada versión de un requerimiento, permitiendo rastrear su evolución a lo largo del ciclo de vida del proyecto.
Esquemas Comunes:
-
Versionado Semántico (SemVer): MAJOR.MINOR.PATCH
- MAJOR: Cambios incompatibles o rediseño significativo
- MINOR: Nuevas funcionalidades compatibles
- PATCH: Correcciones menores, clarificaciones
-
Versionado por Fecha: YYYY.MM.DD
-
Versionado Incremental: v1, v2, v3…
🔗 Trazabilidad
Section titled “🔗 Trazabilidad”La trazabilidad vincula requerimientos con otros artefactos del proyecto.
📋 Matriz de Trazabilidad
Section titled “📋 Matriz de Trazabilidad”MATRIZ DE TRAZABILIDAD
┌────────┬─────────────┬──────────┬──────────┬──────────┬──────────┐│ Req ID │ Fuente │ Caso Uso │ Diseño │ Código │ Prueba │├────────┼─────────────┼──────────┼──────────┼──────────┼──────────┤│ RF-001 │ Stakeholder │ CU-010 │ DIS-005 │ MOD-Auth │ TC-001 ││ RF-002 │ DOC-Vision │ CU-011 │ DIS-005 │ MOD-Auth │ TC-003 ││RNF-020 │ REG-GDPR │ N/A │ DIS-SEC │ MOD-Sec │ TC-SEC-1 │└────────┴─────────────┴──────────┴──────────┴──────────┴──────────┘🔄 Control de Cambios
Section titled “🔄 Control de Cambios”El control de cambios es el proceso formal para gestionar modificaciones a los requerimientos después de que han sido aprobados inicialmente.
📋 Proceso de Control de Cambios
Section titled “📋 Proceso de Control de Cambios”🏛️ Change Control Board (CCB)
Section titled “🏛️ Change Control Board (CCB)”El Change Control Board es el comité responsable de evaluar y aprobar cambios a los requerimientos.
Composición:
- Product Owner: Representa intereses del negocio y usuarios
- Arquitecto de Software: Evalúa impacto técnico y arquitectónico
- Líder de Desarrollo: Estima esfuerzo de implementación
- Representante del Cliente: Asegura alineación con necesidades del cliente
📄 Solicitud de Cambio (CR)
Section titled “📄 Solicitud de Cambio (CR)”Elementos Clave:
- CR ID y fecha de solicitud
- Solicitante y prioridad
- Tipo de cambio (nuevo, modificación, eliminación, clarificación)
- Requerimientos afectados
- Descripción del cambio y justificación
Evaluación:
- Alcance: Módulos y componentes afectados
- Esfuerzo: Horas de desarrollo, testing, documentación
- Costo: Estimación económica total
- Cronograma: Impacto en fechas de entrega
- Riesgos: Técnicos, de integración, de seguridad
- Dependencias: Recursos o sistemas externos necesarios
Decisión del CCB:
- Aprobado / Rechazado / Diferido
- Condiciones de aprobación
- Comentarios y justificación
- Firmas de autorización
Seguimiento:
- Estado de implementación
- Sprint o fase asignada
- Responsable
- Lista de tareas con progreso