Especificación de requisitos
La especificación de requisitos es el proceso de escribir en un Documento de Requisitos los requerimientos y requisitos(tanto funcionales como no funcionales). Idealmente los requisitos deben ser claros, sin ambigüedades, fáciles de entender, completos y consistentes.
Solo se debe describir el comportamiento externo del sistema. NO es un documento de diseño, pero tendrá algo de información sobre el diseño.
Formas para escribir una especificación de requisitos
- Enunciados en lenguaje natural: Los requerimientos se escriben al usar enunciados numerados en lenguaje natural Cada enunciado debe expresar un requerimiento. Cuando se escriben en lenguaje natural es expresivo, intuitivo y universal, también vago, ambiguo y su significado depende del lector.
Para minimizar interpretaciones erróneas, se puede elaborar un formato estándar (redactar el requisito en una sola oración, incluir las razones por las que se propuso), resaltar las partes claves del requisito o evitar el lenguaje técnico de la Ingeniería de Software.
- Lenguaje natural estructurado: Los requerimientos se escriben en lenguaje natural en una forma o plantilla estándar. Cada campo ofrece información de un aspecto del requerimiento. Conserva la expresividad y comprensión del lenguaje natural pero asegurando uniformidad en las especificaciones. Si sigue siendo complejo definir los requisitos pueden incluirse modelos gráficos o tablas.
- Lenguajes de descripción de diseño: Este enfoque usa un lenguaje como un lenguaje de programación, pero con características más abstractas para especificar los requerimientos al definir un modelo operacional del sistema. Aunque en la actualidad este enfoque se usa raras veces, aún tiene utilidad para especificaciones de interfaz.
- Anotaciones gráficas: Los modelos gráficos, complementados con de texto, sirven para definir los requerimientos funcionales del sistema; los casos de uso del UML y los diagramas de secuencia se emplean de forma común.
- Especificaciones matemáticas: Dichas anotaciones se basan en conceptos matemáticos como máquinas o conjuntos de estado finito. Aunque tales sin ambigüedades pueden reducir la impresión en un documento de requerimientos, la mayoría de los clientes no comprenden una especificación formal. No pueden comprobar que representa lo que quieren y por ello reticencia para aceptarlo como un contrato de sistema.
Escenarios
Los escenarios son una secuencia narrativas que pueden ser reales (reconstrucción de incidentes), deseadas (ilustración de la aplicación satisfactoria de una política determinada) o imaginadas pero no deseadas (ilustración de una política que tiene que ser evitada). Describen situaciones específicas de la aplicación centrando su atención en el comportamiento.
"Aunque los escenarios son útiles para adquirir y validar requisitos, no son requisitos en sí mismos. Describen el comportamiento del sistema sólo en situaciones específicas. Una especificación, en cambio, describe los que el sistema debería hacer de una forma general."
"Una vez que el contexto ha sido establecido, el próximo paso es determinar lo que se espera que el sistema haga, y para quién y con quién lo hará. La idea básica es especificar escenarios de uso que cubran todos los posibles caminos a través de las funciones del sistema."
Objetivos de los escenarios
Podemos definir los los objetivos de los escenarios en:
- Capturar los requisitos.
- Proveer un medio de comunicación entre los stakeholders.