Guía para la Especificación de
Requerimientos de Software(ERS)
DEFINICION
Se basa sobre el
problema de
descubrimiento y
comunicación de las
necesidades de clientes
y usuarios
Una condición o necesidad de un usuario
para resolver un problema o alcanzar un
objetivo.
Tipos de requerimientos
Requerimientos funcionales
Provee el sistema, describen todas las entradas , salidas y
sus relaciones
NO requerimientos funcionales
Definen los atributos que le indican al sistema cómo realizar su trabajo (eficiencia,
hardware, software,)
Clasificación de Requerimientos no funcionales
Énfasis de la
información
El énfasis es una forma
de prevenir que el
lector pierda atención
de enunciados que son
importantes para
entender el resto de la
información.
TIPS(TECNICAS
PARA
LOGRARLO)
Cualquier clase de
contraste enfatiza el
elemento
contrastado.
Lo que aparezca primero es enfatizado.
Un gráfico enfatiza su contenido
Involucrados en la creación de la ERS
Usuarios: Los usuarios que conocen muy bien el problema.
Clientes: Son las personas que tienen los recursos para hacer la compra
Desarrolladores: grupo de personas en la organizacion satisfacen los requerimientos de los usuarios y
los clientes
Problemas al definir
requerimientos
Falta de estandarización
Estructura inconsistente
Falta de organización
Dificultades para definir los
requerimientos
Existen muchos tipos de requerimientos y diferentes niveles de
detalle.
Un requerimiento puede cambiar a lo largo del ciclo de
desarrollo.
Son difíciles de expresar en palabras (el lenguaje es
ambiguo).
Nivel de especificad y alcances del documento
de requerimientos (REGLAS )
PASOS A SEGUIR(TIPS)
Si es para que varios proveedores
participen con propuestas, podrá tener
menos grado de detalle con el fin de
fomentar la competencia.
El nivel de detalle dependerá
de varios factores:
Prácticas normales de la organización.
El tipo de sistema por desarrollar.
En primera instancia se
debe definir cuál es el
objetivo de éste, para
determinar qué debe
incluirse.
Agrupación de requerimientos
TIPS DE CONFORMACION
La información RELACIONADA con otra
información debe estar localizada de la
misma forma físicamente
Agrupar los mismos por funcionalidad
que se deba suplir
Al redactar un documento, especialmente de
requerimientos, es fácil encontrarse con referencias
cruzadas, es decir, que no se pueda establecer una
dependencia unidireccional entre los enunciados.
Atributos de calidad que debe cumplir la ERS
Fallos de lenguaje natural
Los requerimientos son a menudo escritos en el
lenguaje natural , se debe hacer una revisión
independiente para identificar el uso ambiguo del
idioma de modo que se puede corregir.
Correcto
Una especificación de requisitos es correcta si
y sólo si todo requisito contenido en ella
representa alguna propiedad requerida por el
sistema a desarrollar. En otras palabras,
ningún requisito debe ser innecesario.
Herramientas de representación
El enfoque basado en proceso organiza
los requerimientos dentro de
jerarquías de funciones que se
comunican entre sí vía de flujos de
datos
El enfoque de comportamientos describe
comportamiento externo del sistema utilizando para ellos
algunos conceptos con cierto nivel de abstracción
El enfoque de objetos organiza los requerimientos
en términos de objetos del mundo real, sus
atributos, y los servicios ejecutados por esos
objetos.
Completo
Un requerimiento está
completo si no necesita
ampliar detalles en su
redacción, es decir, si se
proporciona la información
suficiente para su
comprensión.
Clasificado por su importancia y/o estabilidad
Un documento de requerimiento se encuentra clasificado por
importancia y/o estabilidad,
Clasificación
Grado de
estabilidad
Esencial: Imprescindible. Implica que el software no será
aceptado a menos que estos requerimientos sean
suministrados de la manera acordada.
Condicional: Pueden darse condiciones para que dicho
requerimiento este o no presente. Implica que éstos son
requerimientos que mejorarían el producto de software
Opcional: Implica una clase de requerimientos
que pueden o no existir
Grado de
importancia
se refiere a qué cuán volátil es el requerimiento para guiar a la organización
desarrolladora en los puntos donde debe ofrecer más flexibilidad.
Consistente
Un requerimiento es consistente si no es contradictorio
con otro requerimiento.
Si ningún requerimiento declarado está en
conflicto con otros documentos de más
alto nivel.
Modificable
Un documento de requerimientos es modificable si,
y solo si, su estructura y estilo son tales que
cualquier cambio a los requerimientos puede
hacerse de forma fácil, completa y consistente
REQUERIMIENTOS
Tener una organización coherente y fácil de leer con
una tabla de contenidos, índice y referencias cruzadas
explícitas.
No ser redundante, esto es que el requerimiento se
encuentre repetido en el documento.
Expresar cada requerimiento separadamente, en vez de
entremezclarlos.
Rastreable o trazable
Un documento de requerimientos es rastreable si y sólo si para cada
requerimiento contenido en ella se conoce su origen y puede
referenciarse como origen en posteriores documentos durante el
desarrollo
TIPOS
Rastreo retrospectivo Esto es donde el requerimiento
referencia explícitamente su origen en documentos
predecesores
Rastreo propectivo Esto significa que cada
requerimiento debe tener un identificador
único
Lenguajes de especificación de
requerimientos
Una vía para evitar la ambigüedad inherente en el lenguaje natural es escribir la especificación de
requerimientos del software en un idioma particular de lenguaje de especificación.
No ambiguo
Si cada requerimiento declarado tiene una sola
interpretación. ES NO AMBIGUO
Verificable
Un documento de requerimientos es verificable si, y solo si,
cada requerimiento declarado es verificable.
Recomendaciones para redactar de requerimientos sin ambigüedad
Orden más gramatical que técnico,
pero que resulta de gran utilidad para
que no ocurran confusiones a la hora
interpretar los requerimientos, es
decir, que no haya ambigüedad en la
especificación:
Compresible por el cliente y los usuarios
Pareciera que este atributo es redundante al establecer la propiedad de
noambigüedad al documento de requerimientos, sin embargo
Independiente del diseño
Un documento de requerimientos es
independiente del diseño si y sólo si no
especifica una determinada
descomposición del sistema (arquitectura)
ni ningún aspecto de su posible
implementación (algoritmo).
Conciso
El documento más corto es mejor.
Organizado
Un documento de requerimientos se encuentra organizado si los
requerimientos son fáciles de localizar.