Especificación de Requisitos
La especificación de requisitos es la actividad de documentar los requisitos elicitados y analizados de forma precisa, consistente y verificable, sirviendo como base acordada para el diseño, la construcción y la aceptación.
Definition
La especificación de requisitos es la producción de una representación documentada de los requisitos del sistema, escrita de manera que cada requisito sea inequívoco, verificable y trazable, y la colección en su conjunto sea consistente y completa.
Scope
Este tema abarca la estructura y el contenido de una especificación de requisitos de software; estilos que van desde el lenguaje natural estructurado hasta los casos de uso, las historias de usuario y los modelos formales; atributos de calidad de los buenos requisitos, como la falta de ambigüedad, la completitud, la consistencia y la capacidad de prueba; y estándares como ISO/IEC/IEEE 29148 que prescriben el contenido de la especificación.
Core questions
- ¿Cómo se pueden hacer los requisitos en lenguaje natural inequívocos y verificables?
- ¿Cuándo son valiosas las especificaciones formales o basadas en modelos?
- ¿Qué atributos de calidad caracterizan una buena especificación?
- ¿Cómo deben organizarse los requisitos funcionales y no funcionales en un documento?
Key theories
- Atributos de calidad de los requisitos
- Los requisitos individuales deben ser inequívocos, verificables, factibles y necesarios, mientras que el conjunto debe ser completo, consistente y trazable; estos atributos proporcionan criterios concretos para revisar una especificación.
- Especificación formal versus informal
- Las especificaciones van desde el lenguaje natural estructurado y los casos de uso hasta las notaciones matemáticas formales; la formalidad aumenta la precisión y la capacidad de análisis a costa del esfuerzo y la accesibilidad, por lo que el nivel se elige para que coincida con el riesgo y la audiencia.
Clinical relevance
Una especificación clara es el contrato entre las partes interesadas y los desarrolladores, y la referencia para la verificación; la ambigüedad u omisión en la especificación se propaga en diseños defectuosos y disputas sobre lo que se prometió.
Evidence & guidelines
ISO/IEC/IEEE 29148 define la estructura recomendada y las características de calidad de las especificaciones de requisitos y es el estándar principal que rige su contenido.
History
Las primeras especificaciones eran en gran medida prosa de formato libre; el estándar IEEE 830 formalizó la especificación de requisitos de software en la década de 1990, y trabajos posteriores introdujeron casos de uso, historias de usuario y notaciones basadas en modelos y formales, culminando en el estándar consolidado ISO/IEC/IEEE 29148.
Debates
- Documentos pesados versus historias de usuario ligeras
- La práctica basada en planes favorece los documentos de especificación exhaustivos, mientras que la práctica ágil prefiere las historias de usuario ligeras elaboradas justo a tiempo; la elección equilibra la exhaustividad y la claridad contractual con la adaptabilidad y la reducción de la sobrecarga de documentación.
Key figures
- Axel van Lamsweerde
- Michael Jackson
- Ian Sommerville
Related topics
Seminal works
- iso29148
- vanlamsweerde2009
- sommerville2015
Frequently asked questions
- ¿Qué hace que un requisito sea comprobable?
- Un requisito es comprobable cuando se establece con la suficiente precisión como para que un procedimiento objetivo pueda determinar si el sistema entregado lo satisface; los términos vagos como rápido o fácil de usar deben cuantificarse o dárseles criterios de aceptación medibles.
- ¿Las historias de usuario reemplazan las especificaciones de requisitos?
- Las historias de usuario son un estilo de especificación ligero adecuado para el desarrollo iterativo, pero aún requieren criterios de aceptación y, para sistemas complejos o regulados, a menudo se complementan con documentación más detallada para garantizar la completitud y la trazabilidad.