Zusammenfassung der Ressource
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.