El Documento de Requerimientos
De qu trata el Documento de Requerimientos? Para qu sirve? Qu diferencia tiene este documento con un modelo? Qu tcnicas de documentacin pueden usarse? Cules son sus limitaciones?
Documento de Requerimientos
En la prctica es comn describir los requerimientos en un documento llamado Especificacin de Requerimientos del Software (SRS Software Requirements Specification) Modelos de Requerimientos especificacin
stakeholders
elicitacin y modelado
Documento de Requerimientos
sistemas existentes
documentos
LaFHIS - Uchitel
anlisis y validacin
negociacin y priorizacin
Base para estimacin (tamao, costo, tiempo) y planificacin de proyecto Base para evaluacin de producto final
verificacin y validacin Debera tener suficiente informacin 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 descripcin de alto nivel de la funcionalidad Generalmente no interesados en los requerimientos detallados del sistema. Escribirn especificaciones de otros sistemas que interactan con este. El SRS sirve mas all de la puesta en produccin!
LaFHIS - Uchitel
Ms lectores de un SRS
Equipo de Operaciones
Debern dimensionar equipos y procedimientos de rutina.
Legales
Desarrollo de plan de capacitacin Generacin de manuales de usuario Procedimientos de soporte online Los que firman los contratos
LaFHIS - Uchitel
Qu es un SRS apropiado?
Consideremos dos proyectos:
A) Proyecto chico, 1 programador, 6 meses de trabajo
programador habla con el cliente y escribe un memo de 5 hojas
LaFHIS - Uchitel
Contenido de un SRS
Adaptado de IEEE-STD-830
Un SRS deber abarcar: Funcionalidad. Que es lo que el software hace? Interfases externas. Como debe interactuar con gente, con el hardware del sistema, con dems hardware y con dems software? Atributos de Calidad.
Disponibilidad, tiempo de respuesta, tiempo de recuperacin despus de fallas, etc.. Consideraciones de portabilidad, correctitud, precisin, mantenibilidad, seguridad y mas...
Restricciones de diseo. Existen estndares a cumplir, lenguaje de programacin, recursos, sistemas operativos, etc...?
LaFHIS - Uchitel
1 Introduction
Identifica el producto y el dominio de la aplicacin Define el contenido y estructura del resto del documento Describe todas las interfaces externas: sistema, usuario, hardware, software
2 Overall Description
Product perspective Product functions User characteristics Constraints Assumptions and Dependencies
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 seccin
8
this section organized by mode, user class, feature, etc. For example:
3.2.1 User Class 1
...
LaFHIS - Uchitel
Ejemplos de Organizacin de Requerimientos Funcionales - Seccin 3.2. Estmulo o estado del mundo externo
ej. Soporte de aterrizaje de aviones: viento, poca nafta, pista corta,... ej. llamado en espera, desvo de llamado, llamado en conferencia, contestador... ej. generar recibos de sueldo, reportes de costo, estado de cuentas... ej. para una biblioteca, organizar por tipo de libro ej. Sistema de admin. de proyectos: gerente, tcnicos, admines, ... ej. un procesador de palabras: page layout, outline, normal, ... ej. Auto: control, manejo de datos, comunicaciones, entretenimientos, ...
Funcionalidad de alto nivel (top-down) Output del sistema Objeto externo Tipo de usuario
LaFHIS - Uchitel
10
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
Consistencia
No hay contradicciones en la formulacin de objetivos, requerimientos y presunciones
Medibilidad
Los requerimientos han sido formulados de manera tal que su satisfaccin pueda ser evaluada de manera no ambigua
LaFHIS - Uchitel
12
Factibilidad
Los objetivos y requerimientos deberan ser realizables dentro del presupuesto y cronogramas dispuestos
LaFHIS - Uchitel
13
LaFHIS - Uchitel
14
Contraejemplos (1)
Omisin de objetivos y requerimientos faltantes Omisin de una reaccin 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 devolucin, 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 devolucin, x$ sern descontados a modo de multa de la cuenta corriente del usuario.
LaFHIS - Uchitel
15
Contraejemplos (2)
Ruido
Cada vagn estar equipado con un panel de informacin controlado va software y con carteles de prohibido fumar en cada ventana
Relleno
Contenido sin informacin relevante. Ej. contenido con el objeto de cumplir estndares.
Mala Estructura
Mezclar proceso de compra y prstamo de libros Referencias hacia adelante: Mltiples usos de participante para luego introducir la definicin de participante. Definiciones incidentales: El sistema enviar minutas a los participantes (aquellos que asistieron aunque sea parcialmente) de la reunin.
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 informacin contextual de por qu, la fuente y el impacto sobre otros requerimientos.
No medibilidad
Los paneles de informacin sern proveern informacin de manera clara y precisa
LaFHIS - Uchitel
17
el desarrollador seleccionado:
LaFHIS - Uchitel
18
IEEE recomienda que el SRS sea desarrollado conjuntamente por el contratante y el desarrollador
LaFHIS - Uchitel
19
Algunas Observaciones
El SRS ser imperfecto
contendr inconsistencias y imprecisiones omitir informacin, har simplificaciones
Anlisis reduce el riesgo de que las imperfecciones causen problema serios. Estas son muchas veces malas excusas para no invertir en Ingeniera de Requerimientos
LaFHIS - Uchitel
20
Resumen
Documento de Especificacin de Requerimientos
Propsitos y audiencias Cualidades esperadas, errores y falencias Dificultades inherentes a la construccin de un SRS de calidad Concepciones errneas sobre el SRS Contratacin
LaFHIS - Uchitel
21
22
Qu es un Modelo?
Una descripcin (de un problema o solucin)...
precisa abstracta manipulable formalmente interpretable en el mundo real
Una descripcin cuyo fin es lograr mayor entendimiento Una entidad que puedo
observar desde mltiples 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 tcnicas de documentacin pueden usarse? Cules son sus limitaciones?
Lenguaje Natural
La tcnica ms popular Ventajas
Limitaciones:
No hay lmite en cuanto a poder expresivo No hay una barrera evidente de comunicacin. Ningn entrenamiento especial es necesario Falta de estructura favorece ruido, referencias futuras, opacidad, definiciones incidentales, ... Informacin especfica puede ser difcil de encontrar Ambigedad : Frenado total ser activado por cualquier tren que recibe un comando de aceleracin o que entra al sector de estacin a mas de X kmh y cuando el tren que lo precede est a menos de Y metros Anlisis automatizado es imposible Provee poco soporte metodolgico
25
LaFHIS - Uchitel
LaFHIS - Uchitel
26
LaFHIS - Uchitel
27
Ejemplo: Indentacin
El sistema proveer informacin comparativa que es oportuna, itemizada en suficiente detalle como para que variaciones individuales de importancia no se pierdan entre otras variaciones, identificacin de la fuente de cada variacin sea posible, y sea identificable el rea de investigacin que maximizar los beneficios globales
vs.
La informacin comparativa ser oportuna, La informacin comparativa ser itemizada en suficiente detalle como para que
Variaciones individuales de importancia no se pierdan entre otras variaciones, Identificacin de la fuente de cada variacin sea posible Sea identificable el rea de investigacin que maximizar los beneficios globales
LaFHIS - Uchitel
28
Ejemplo: Cuando tres o ms seguidores de estrellas pierden su estrella de referencia, la nave inmediatamente alinear su eje principal con el eje soltierra salvo que la tapa de los instrumentos pticos no se encuentre abierta
LaFHIS - Uchitel
29
Ejemplo: Templates/Plantillas
Cada asercin deber ser estructurada con los siguientes campos:
Identificador Categora Especificacin Criterio de aceptacin Fuente Justificacin Interaccin (positiva/negativa) con otras aserciones Prioridad ...
LaFHIS - Uchitel
30
Tablas de Decisin
El sistema reportar al operador todas las fallas que se originan en funciones crticas o que ocurren durante la ejecucin de una secuencia crtica y para las cuales no existen respuestas de recuperacin de fallas.
(adaptado de la especificacin de la base espacial internacional)
Origen en funcione crtica Ocurre durante ejecucin de secuencia crtica No hay respuesta de recuperacin de fallas Reportar a Operador?
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
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 vlido
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 reunin Rango de fechas Consultar restricciones Gestionar de restricciones Restricciones para reunin
Rango de fechas
Informar de restricciones
Participante
Scheduler Controlar validez Fusionar de restricciones Restricciones para reunin Planificar reunin Repositorio de restricciones
LaFHIS - Uchitel
36
Diagramaticamente deficientes
Direccin absoluta de flechas (o posicin absoluta de elementos) suele no tener relevancia semntica en diagramas modernos
LaFHIS - Uchitel
37
Diagrama de Contexto
Visto previamente...
LaFHIS - Uchitel
38
LaFHIS - Uchitel
39
Diagramas de Secuencia
Conceptos:
Tiempo, comunicacin o interaccin entre agentes Descripcin basada en ejemplos.
LaFHIS - Uchitel
40
Pedido Denegado
[autorizado] pedido KO
Resolucin de conflictos
[hay conflictos]
[todas disponibles] notificacin cronograma fijado Planificando Reunin planificada [no hay conflictos]
LaFHIS - Uchitel
41
Falta de distincin entre descripcin y prescripcin Imposibilidad de representar mltiples opciones Poca gua para el anlisis y elaboracin
Criterios de verificacin y validacin? Grado de completitud?
LaFHIS - Uchitel
42
Ejemplo
!tr1, tr2: Tren: SigueA(tr1, tr2) -> Dist(tr1, tr2) < Dist-Frenado(tr1) SigueA(tr1, tr2) " tr1.via() = tr2.via() && tr1.direccin = tr2.direccin DistFrenado(tr) " ....tr1.velocidad()....tr1.peso()...., tr.modelo(), ....
Semntica
Dado una valuacin para elementos atmicos de la lgica, tenemos un mecanismo preciso para decidir si una frmula es verdadera
LaFHIS - Uchitel
43
Ejemplos
Semntica Dado una secuencia de valuaciones para elementos atmicos de la lgica, tenemos un mecanismo preciso para decidir si una frmula es verdadera
LaFHIS - Uchitel
44
Especificaciones Formales
Beneficios
Tienden a facilitar la reduccin de problemas clsicos de especificacin de requerimientos como
ambigedad, ruido, referencias a futuro, aserciones no medibles
Proveen mecanismos de anlisis ms sofisticados: Animacin, verificacin de correctitud va deduccin o exploracin exhaustiva Permiten la generacin automtica de contraejemplos, casos de falla, casos de prueba, modelos/vistas alternativas y fragmentos de cdigo El proceso de formalizacin puede ayudar a tener un mejor entendimiento informal del problema
Desventajas
Tienen poder expresivo limitado. Ej. aspectos cuantitativos Son difciles de escribir y de leer. Obtencin de especificaciones consistentes y adecuadas requiere mucho entrenamiento. Inaccesible para clientes, usuarios, etc. Integracin limitada de especificaciones con prcticas convencionales
LaFHIS - Uchitel
45
Lo que se viene...
Un modelo que trata de ...
resolver limitaciones y combinar beneficios de algunas de las tcnicas de especificacin mencionadas estructurar conocimiento de una manera alternativa, para facilitar las actividades de Ingeniera de Requerimientos
LaFHIS - Uchitel
46