Documente Academic
Documente Profesional
Documente Cultură
El Documento de Requerimientos
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
sistemas Documento de
existentes Requerimientos
documentos
análisis negociación y
LaFHIS - Uchitel y validación 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 3
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.
• Analistas (de sistemas, de requerimientos),
– Escribirán especificaciones de otros sistemas que interactúan con este.
– El SRS sirve mas allá de la puesta en producción!
• Desarrolladores (ej. arquitectos, diseñadores,
programadores, ...)
– Deben implementar los requerimientos
• Testers (V&V’ers)
– Deben determinar la satisfacción de los requerimientos
• Gerentes
– Medir y controlar el proceso desarrollo
LaFHIS - Uchitel 4
Más lectores de un SRS
• Equipo de Operaciones
– Deberán dimensionar equipos y procedimientos de rutina.
• Equipo de soporte de usuario
– Desarrollo de plan de capacitación
– Generación de manuales de usuario
– Procedimientos de soporte online
• Legales
– Los que firman los contratos
• Subcontratistas
• Entes reguladores
• ...
¿Cómo se escribe un documento que le
sirva a una audiencia tan variada?
LaFHIS - Uchitel 5
LaFHIS - Uchitel 6
Contenido de un SRS
Adaptado de IEEE-STD-830
LaFHIS - Uchitel 7
Identifica el producto y
1 Introduction el dominio de la aplicación
Purpose
Define el contenido y estructura
Scope del resto del documento
Definitions, acronyms,
abbreviations
Describe todas las interfaces externas:
Reference documents sistema, usuario, hardware, software
Overview
2 Overall Description
Product perspective Resumen de funciones
principales
Product functions
User characteristics Cualquier cosa que limitará las
Constraints opciones del desarrollador (ej.
Assumptions and Dependencies regulaciones, limitaciones de
hardware, etc)
3 Specific Requirements
Appendices La parte principal del documento. IEEE
STD provee 8 esqueletos diferentes
Index para esta sección
LaFHIS - Uchitel 8
IEEE STD Sección 3 (ejemplo)
3.1 External Interface 3.3 Performance
Requirements Requirements
3.1.1 User Interfaces
3.1.2 Hardware Interfaces
3.1.3 Software Interfaces 3.4 Design Constraints
3.1.4 Communication Interfaces
3.2 Functional Requirements 3.4.1 Standards compliance
this section organized by mode, user 3.4.2 Hardware limitations
class, feature, etc. For example: etc.
3.2.1 User Class 1 3.5 Software System
3.2.1.1 Functional Requirement 1.1 Attributes
… 3.5.1 Reliability
3.2.2 User Class 2
3.5.2 Availability
3.5.3 Security
3.2.1.1 Functional Requirement 1.1
3.5.4 Maintainability
…
3.5.5 Portability
... 3.6 Other Requirements
LaFHIS - Uchitel 9
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
– con respecto a inputs: el comportamiento requerido del
software ha sido especificado para todos los inputs posibles.
– con respecto a estructura: no hay secciones rotuladas: “A
completar...”
LaFHIS - Uchitel 11
• Pertinencia
– Cada requerimiento y presunción se necesita para la
satisfacción de objetivo
– El SRS no contiene elementos que no están relacionados con
la definición de requerimientos (ej. decisiones de diseño o
implementación)
• 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)
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
– Tarde (etapa de especificación de requerimientos
detallados)
• mas trabajo para el contratante; experiencia en IR no
necesariamente existe dentro de la organización
– IEEE recomienda que el SRS sea desarrollado
conjuntamente por el contratante y el desarrollador
LaFHIS - Uchitel 19
Algunas Observaciones
LaFHIS - Uchitel 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
LaFHIS - Uchitel 23
Unidad 3
El Documento de Requerimientos
LaFHIS - Uchitel 25
LaFHIS - Uchitel 26
Lenguaje Natural Controlado
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
LaFHIS - Uchitel 29
Ejemplo: Templates/Plantillas
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)
LaFHIS - Uchitel 31
LaFHIS - Uchitel 32
Diagramas: Árboles de Decisión
Origen en funciones críticas
F T
F T F T
F T
No Reportar Reportar a
a Operador Operador
LaFHIS - Uchitel 33
Iniciador
Fusionar
Copia de restricciones Restricciones
Pedido de Pedido restricciones para la reunión
reunión inválido
Actigram Datagram
Datos y eventos Actividades de control
Datos de de control de integridad
entrada Actividades
Actividad productoras
Datos Datos
de salida Actividades
Componente consumidoras
responsable Recursos necesarios
para procesamiento
LaFHIS - Uchitel 35
Ejemplo SADT
Rango de
fechas
Restricciones
Pedido de reunión Gestionar de para reunión
restricciones
Rango de
fechas
plazo Rango de todas las
Consultar máximo fechas restricciones
Pedido de restricciones Informar de recibidas
reunión Pedido de restricciones Restricciones
restricciones para reunión
Scheduler Fusionar de
Restricciones restricciones
Participante personales
Scheduler
Controlar validez
LaFHIS - Uchitel 36
SADT: Algunas Observaciones
• Diagramas semánticamente ricos (ej. más que DFDs)
– Distingue responsables, dato, restricciones de integridad, etc...
• Criterios de consistencia inter-diagrams.
– Ej. Una actividad del control de un datagrama debe aparecer como
actividad en un actigrama
• Noción de refinamiento gráfico
– Los datos de E/S de una actividad deben aparecer como E/S de
alguna sub-actividad
• 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...
pedido de restricciones
pedido de reunión
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
[no autorizado]
pedido KO pedido OK
Reunión notificada
pedido de debilitar restricciones Restricciones
pedidas
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
• Técnicas de manipulación sintáctica que preserven la semántica
– modus ponens, ecadenamiento, instanciación, ...
LaFHIS - Uchitel 43
Especificaciones Formales
- Lógicas Temporales -
• Sintaxis
– [] P : siempre en el futuro vale P.
– <> P : en algún momento en el futuro vale P.
– P U Q : siempre en el futuro vale P hasta que valga Q.
– X P : En el próximo estado vale P.
• Ejemplos
– Presunción: “Una persona esperada a una reunión efectivamente participará de
la reunión si la fecha y lugar de reunión le es conveniente y ha sido notificado
de la reunión”
! p: persona, r: reunión: Esperado(p, r) && Notificado(r, m) &&
Conveniente(r, p) -> <> Participa(p, r)
– Q vale después de que P valga pero antes de que R valga:
[] !P || <>(P && !R U (Q || []!R)))
• Semántica
– Dado una secuencia de valuaciones para elementos atómicos de la
lógica, tenemos un mecanismo preciso para decidir si una fórmula es
verdadera
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
– Proveen mecanismos de análisis más sofisticados: Animación,
verificación de correctitud vía deducción o exploración exhaustiva
– Permiten la generación automática de contraejemplos, casos de falla,
casos de prueba, modelos/vistas alternativas y fragmentos de código
– El proceso de formalización puede ayudar a tener un mejor
entendimiento informal del problema
• 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...
LaFHIS - Uchitel 46