Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El Documento de Requerimientos
¿De qué trata el Documento de Requerimientos? ¿Para qué sirve? ¿Qué diferencia
tiene este documento con un modelo? ¿Qué técnicas de documentación pueden usarse?
¿Cuáles son sus limitaciones?
Documento de Requerimientos
En la práctica es común describir los requerimientos en un documento llamado
Especificación de Requerimientos del Software (SRS Software Requirements
Specification) Modelos de Requerimientos especificación
stakeholders
elicitación y modelado
Documento de Requerimientos
sistemas existentes
documentos
LaFHIS - Uchitel
análisis y validación
negociación y priorización
2
¿Para qué sirve un SRS?
• • • • Comunicar de manera precisa los requerimientos, objetivos y presunciones
del dominio Contrato
– legal, documento interno o a modo de memorando
Base para estimación (tamaño, costo, tiempo) y planificación de proyecto Base para
evaluación de producto final
– – verificación y validación Debería tener suficiente información para decidir si
el producto final es aceptable (satisface los requerimientos)
LaFHIS - Uchitel
Lectores de un SRS
• Clientes y Usuarios
– Interesados en validar objetivos del sistema y descripción de alto nivel de la
funcionalidad – Generalmente no interesados en los requerimientos detallados del
sistema. – Escribirán especificaciones de otros sistemas que interactúan con este.
– El SRS sirve mas allá de la puesta en producción!
LaFHIS - Uchitel
4
Más lectores de un SRS
• Equipo de Operaciones
– Deberán dimensionar equipos y procedimientos de rutina.
• Legales
LaFHIS - Uchitel
LaFHIS - Uchitel
6
Contenido de un SRS
Adaptado de IEEE-STD-830
LaFHIS - Uchitel
1 Introduction
2 Overall Description
Resumen de funciones principales Cualquier cosa que limitará las opciones del
desarrollador (ej. regulaciones, limitaciones de hardware, etc) La parte principal
del documento. IEEE STD provee 8 esqueletos diferentes para esta sección
8
IEEE STD Sección 3 (ejemplo)
3.1 External Interface Requirements
3.1.1 User Interfaces 3.1.2 Hardware Interfaces 3.1.3 Software Interfaces 3.1.4
Communication Interfaces
this section organized by mode, user class, feature, etc. For example:
3.2.1 User Class 1
...
LaFHIS - Uchitel
LaFHIS - Uchitel
10
Cualidades de un SRS (1)
• Completitud
– con respecto a los objetivos (ver Jackson):
• Req, Dom |= G • Correspondencia entre el mundo real y G, • Correspondencia entre
el mundo real y Dom • Completitud de G con respecto al mundo real
LaFHIS - Uchitel
11
• Consistencia
– No hay contradicciones en la formulación de objetivos, requerimientos y
presunciones
• “Medibilidad”
– Los requerimientos han sido formulados de manera tal que su satisfacción pueda
ser evaluada de manera no ambigua
LaFHIS - Uchitel
12
Cualidades de un SRS (3)
• Precisión (No ambiguo)
– No hay vocabulario ambiguo: cada término está definido y es usado
consistentemente. – No hay aserciones ambiguas: Objetivos, requerimientos y
presunciones deben estar escritos de manera tal que no permiten interpretaciones
distintas – No hay responsabilidades ambiguas: la separación de responsabilidades
entre el mundo y el software debe estar indicado claramente.
• Factibilidad
– Los objetivos y requerimientos deberían ser realizables dentro del presupuesto y
cronogramas dispuestos
LaFHIS - Uchitel
13
LaFHIS - Uchitel
14
Contraejemplos (1)
• Omisión de objetivos y requerimientos faltantes • Omisión de una reacción a un
input • Requerimientos inadecuados
– No hay un requerimiento sobre estado de las puertas en caso de emergencia – Qué
pasa si la alarma de emergencia es activada mientras las puertas se cierran – “Si
un libro no es devuelto a la semana del tercer aviso de devolución, el usuario
negligente será notificado y deberá pagar una multa de x$” vs. – “Si un libro no es
devuelto a la semana del tercer aviso de devolución, x$ serán descontados a modo de
multa de la cuenta corriente del usuario.”
LaFHIS - Uchitel
15
Contraejemplos (2)
• Ruido
– “Cada vagón estará equipado con un panel de información controlado vía software y
con carteles de prohibido fumar en cada ventana”
• Relleno
– Contenido sin información relevante. Ej. contenido con el objeto de cumplir
estándares.
• Mala Estructura
– Mezclar proceso de compra y préstamo de libros – Referencias hacia adelante:
Múltiples usos de “participante” para luego introducir la definición de
participante. – Definiciones incidentales: “El sistema enviará minutas a los
participantes (aquellos que asistieron aunque sea parcialmente) de la reunión.
LaFHIS - Uchitel
16
Contraejemplos (3)
• Poca Modificabilidad
– Uso de literales para valores cuantificables.
• Opacidad
– Un requerimiento como: “el comando de velocidad del tren deberá ser siempre al
menos 12kph por encima de la velocidad real del tren” sin información contextual de
por qué, la fuente y el impacto sobre otros requerimientos.
• No medibilidad
– Los paneles de información serán proveerán información de manera clara y precisa
LaFHIS - Uchitel
17
LaFHIS - Uchitel
18
Una complicación: Contratación
• ¿Cuándo licitar/contratar?
– Temprano (etapa conceptual)
• sólo se pueden evaluar las propuestas sobre la aparente competencia técnica
LaFHIS - Uchitel
19
Algunas Observaciones
• El SRS será imperfecto
– contendrá inconsistencias y imprecisiones – omitirá información, hará
simplificaciones
20
Resumen
• Documento de Especificación de Requerimientos
– Propósitos y audiencias – Cualidades esperadas, errores y falencias –
Dificultades inherentes a la construcción de un SRS de calidad – Concepciones
erróneas sobre el SRS – Contratación
LaFHIS - Uchitel
21
22
¿Qué es un Modelo?
• Una descripción (de un problema o solución)...
– – – – precisa abstracta manipulable formalmente interpretable en el mundo real
• Una descripción cuyo fin es lograr mayor entendimiento • Una entidad que puedo
– observar desde múltiples ángulos – Hacerle preguntas (y obtener respuestas)
LaFHIS - Uchitel
23
Unidad 3
El Documento de Requerimientos
¿De qué trata el Documento de Requerimientos? ¿Para qué sirve? ¿Qué diferencia
tiene este documento con un modelo? ¿Qué técnicas de documentación pueden usarse?
¿Cuáles son sus limitaciones?
Lenguaje Natural
• La técnica más popular • Ventajas
• Limitaciones:
LaFHIS - Uchitel
LaFHIS - Uchitel
26
Lenguaje Natural Controlado
• Restricciones gramaticales y de presentación que buscan forzar el uso de texto
simple con el objeto de
– aumentar entendibilidad – reducir ambigüedad – permitir algunos análisis simples
de manera automática – reducir el uso inconsistente de términos
LaFHIS - Uchitel
27
Ejemplo: Indentación
• El sistema proveerá información comparativa que es oportuna, itemizada en
suficiente detalle como para que variaciones individuales de importancia no se
pierdan entre otras variaciones, identificación de la fuente de cada variación sea
posible, y sea identificable el área de investigación que maximizará los beneficios
globales
vs.
LaFHIS - Uchitel
28
Ejemplo: Estructura Gramatical
• Especificación de requerimientos debe tener la siguiente estructura:
– – – – – Localización Actor Acción Objeto/Dueño Restricción.
29
Ejemplo: Templates/Plantillas
• Cada aserción deberá ser estructurada con los siguientes campos:
– – – – – – – – – Identificador Categoría Especificación Criterio de aceptación
Fuente Justificación Interacción (positiva/negativa) con otras aserciones Prioridad
...
LaFHIS - Uchitel
30
Tablas de Decisión
“El sistema reportará al operador todas las fallas que se originan en funciones
críticas o que ocurren durante la ejecución de una secuencia crítica y para las
cuales no existen respuestas de recuperación de fallas.”
(adaptado de la especificación de la base espacial internacional)
F F F F
T F F F
F T F F
T T F F
F F T F
T F T T
F T T T
T T T T
LaFHIS - Uchitel
31
LaFHIS - Uchitel
32
Diagramas: Árboles de Decisión
Origen en funciones críticas
F T
F No Reportar a Operador
F No Reportar a Operador
T Reportar a Operador
F No Reportar a Operador
T Reportar a Operador
LaFHIS - Uchitel
33
Verificar pedido
Pedido válido
Restricciones de participantes
Restricciones personales
Recolectar restricciones
Participante
34
LaFHIS - Uchitel
Diagramas: SADT
• “Structured Analysis and Design Technique” (Ross & Schoman, 1977) • Precursor en
diagramas para requerimientos • Dos diagramas que son vistas duales/complementarias
entre si
Actividades productoras
Componente responsable
Actividades consumidoras
LaFHIS - Uchitel
35
Ejemplo SADT
Rango de fechas Pedido de reunión Rango de fechas Consultar restricciones Gestionar
de restricciones Restricciones para reunión
Rango de fechas
Informar de restricciones
Participante
36
SADT: Algunas Observaciones
• Diagramas semánticamente ricos (ej. más que DFDs)
– Distingue responsables, dato, restricciones de integridad, etc...
• Diagramaticamente deficientes
– Dirección absoluta de flechas (o posición absoluta de elementos) suele no tener
relevancia semántica en diagramas modernos
LaFHIS - Uchitel
37
Diagrama de Contexto
• Visto previamente...
LaFHIS - Uchitel
38
Diagramas Estructurales del Dominio
• Ej. Diagramas de clase, modelos entidad relación • Conceptos: Entidades y
Relaciones entre entidades (asociaciones, subclases, etc)
LaFHIS - Uchitel
39
Diagramas de Secuencia
• Conceptos:
– Tiempo, comunicación o interacción entre agentes – Descripción basada en
ejemplos.
LaFHIS - Uchitel
40
Diagramas de Transición de Estados
• Conceptos: Estados, Eventos, Guardas y Transiciones
Pedido Denegado
[autorizado] pedido KO
Resolución de conflictos
[hay conflictos]
LaFHIS - Uchitel
41
LaFHIS - Uchitel
42
Especificaciones Formales - Lógica de Primer Orden • Sintaxis
– – – – Operadores booleanos (disyunción, conjunción, negación, implicación)
Variables tipadas Cuantificación universal y existencial sobre el universo de
instancias Predicados booleanos y Funciones
• Ejemplo
– !tr1, tr2: Tren: SigueA(tr1, tr2) -> Dist(tr1, tr2) < Dist-Frenado(tr1) –
SigueA(tr1, tr2) " tr1.via() = tr2.via() && tr1.dirección = tr2.dirección –
DistFrenado(tr) " ....tr1.velocidad()....tr1.peso()...., tr.modelo(), ....
• Semántica
– Dado una valuación para elementos atómicos de la lógica, tenemos un mecanismo
preciso para decidir si una fórmula es verdadera
LaFHIS - Uchitel
43
Ejemplos
LaFHIS - Uchitel
44
Especificaciones Formales
• Beneficios
– Tienden a facilitar la reducción de problemas clásicos de especificación de
requerimientos como
• ambigüedad, ruido, referencias a futuro, aserciones no medibles
• Desventajas
– Tienen poder expresivo limitado. Ej. aspectos cuantitativos – Son difíciles de
escribir y de leer. Obtención de especificaciones consistentes y adecuadas requiere
mucho entrenamiento. Inaccesible para clientes, usuarios, etc. – Integración
limitada de especificaciones con prácticas convencionales
LaFHIS - Uchitel
45
Lo que se viene...
• Un modelo que trata de ...
– resolver limitaciones y combinar beneficios de algunas de las técnicas de
especificación mencionadas – estructurar conocimiento de una manera alternativa,
para facilitar las actividades de Ingeniería de Requerimientos
LaFHIS - Uchitel
46