Ayds 02 Ing Requerimientos
Ayds 02 Ing Requerimientos
Ayds 02 Ing Requerimientos
Sistemas
UNPSJB – 2014
Temario
• Ingeniería de requerimientos (IR)
• Especificación de requerimientos de software
• Procesos de la IR
• Framework para los procesos de la IR
• Elicitación de requerimientos.
• Fuentes de conocimiento.
• Técnicas de elicitación
Especificación de requerimientos
del software (ERS)- Visiones
La visión tradicional:
• Requerimientos funcionales.
- inputs
- procesos
- outputs
Visión dinámica:
- control
- timing
- excepciones en el comportamiento
• Datos, entidadesAnálisis
dely Diseño
mundo real y relaciones
de Sistemas
Modelos
• del dominio del problema
• de los requerimientos funcionales
• de los requerimientos no funcionales
Participantes en el proceso IR
Aspectos principales de la RE
• comprender el problema
• describir el problema
• acordar sobre la naturaleza del problema
Propuesta:
• elicitación
• especificación
• validación
Análisis y Diseño de Sistemas
Feedback del
Requerimientos Usuario usuario
del usuario
modelo a ser validado
ERS
conocimiento modelo de req.
Elicitación de Requerimientos
1. Propósito
• Ganar conocimiento relevante del problema, para
producir una especificación rigurosa del software
necesario para resolver el problema.
• Al final de la fase de ER el analista podría ser un
“experto” en el dominio del problema.
2. Input
• Fuentes del conocimiento del dominio:
• expertos del dominio
• literatura sobre el dominio
• software existente en el dominio
• software similar en otros dominios
• standards nacionales e internacionales
• otros “stakeholders”
Elicitación de Requerimientos
3. Actividades
• Tareas a encarar por el analista:
• identificar fuentes de conocimiento
• adquirir el conocimiento
• decidir sobre la relevancia de un conocimiento
• comprender la significación del conocimiento y su
impacto
Elicitación de Requerimientos
5. Productos:
• Es un proceso de creación de modelos
• el analista comienza con modelos mentales con
conocimiento dependiente del domino
• al avanzar, los modelos son más orientados al
software
• no se produce ningún modelo formal
• sucesión de modelos mentales del dominio del
problema
Especificación de Requerimientos
1. Propósito
• Acuerdo usuario-desarrolladores sobre el problema
a resolver
• Pauta para el desarrollo de un sistema de software
2. Input
• Conocimiento sobre el dominio del problema
• Lo provee el proceso de elicitación
3. Actividades
• Análisis y asimilación del conocimiento de los
requerimientos
• Síntesis y organización del conocimiento en un
modelo de requerimientos coherente y lógico
Especificación de Requerimientos
4. Productos
• Se producen una variedad de modelos:
• modelos orientados al usuario, que especifican
comportamiento, características no funcionales, etc.
• modelos orientados al desarrollador, que
especifican propiedades funcionales y no
funcionales del software y restricciones
Validación
1. Propósito
• Certifica la consistencia del modelo (de
requerimientos) con las intensiones de clientes y
usuarios
• Visión más general que el concepto común de
validación
• La necesidad aparece cuando se modifica el modelo
actual
• Se aplica también a los modelos intermedios
Validación
2. Inputs
• Todo modelo está sujeto a validación, por lo tanto
cada modelo es input
• El conocimiento sobre el dominio del problema
debe ser validado
• Algunas partes del modelo formal
3. Actividades
• Interacción entre analistas, clientes del sistema y
usuarios en el dominio del problema.
• Similar a formular una nueva teoría científica y
posteriormente testearla
• Caracterizada por:
• preparación del experimento
• ejecutar el experimento y analizar los resultados
Validación
4. Productos
• Modelo de requerimientos en línea con las
expectativas de los usuarios
• No significa que el modelo sea correcto
• Compromiso entre lo deseado y lo posible y factible
Elicitación de Requerimientos
Conceptos
Técnicas
Elicitación de requerimientos
• Concepto: Es el proceso de adquirir (“eliciting”)
[sonsacar] todo el conocimiento relevante
necesario para producir un modelo de los
requerimientos de un dominio de problema
• Problemas:
- Información esparcida en distintas fuentes
- Forma no utilizable del conocimiento
- Dificultad cuando se trata de un experto humano
Análisis y Diseño de Sistemas
La brecha de comunicación…
Administración de ER
• Fuentes:
⇒Documentación.
⇒Personas con puntos de vista necesarios.
• Técnicas
⇒Cuestionarios
⇒Entrevistas
⇒Talleres
⇒Prototipos
⇒Otras…
Análisis y Diseño de Sistemas
Es imprescindible cuando:
⇒Introducción del sistema en infraestructuras existentes.
⇒Suplemento de funcionalidad ya disponible.
Documentación a analizar:
⇒Sobre las prácticas existentes de los usuarios.
⇒Sobre procedimientos de soporte.
⇒Sobre componentes técnicos.
⇒Sobre el modelo lógico
⇒Sobre los modelos de procesos y datos
⇒Sobre requisitos existente
Análisis y Diseño de Sistemas
Fuentes de ER - Personas
• Personas. Identificar stakeholders con puntos de vista
precisos para representar el conjunto de los
requerimientos:
1. Dirección general
2. Usuarios finales y dirección
3. Clientes
4. Proveedores
5. El equipo operativo
6. El equipo de mantenimiento
7. Asesoría jurídica u otros expertos.
• Aprendiz
• Elaboración de cuestionarios
• Entrevista de comienzo y final abierto
• Entrevistas estructuradas
• Reuniones
• Brainstorming
• Talleres
Análisis y Diseño de Sistemas
Tipos de cuestionarios
• Para recopilar información abierta.
Entrevistas estructuradas
Resumen
Técnicas ER
Técnicas ER
• Propósito:
– colocar los requerimientos en un contexto
mayor
– comprender la relación de ese problema
con los problemas y objetivos del sistema
mayor (la jerarquía sistémica vale para los
SBC)
– tener los requerimientos adecuados
Técnicas ER
Escenarios
Ventajas
Análisis de Formularios
Lenguaje Natural
• Forma más habitual de representación del
conocimiento
• La mayoría de lo que vale la pena conocer sobre el
dominio del problema puede formularse en NL
• Categorías de elicitación en NL:
– enfoques que interactúan con el usuario
– enfoques que elicitan desde un texto en NL
• Su atractivo reside en:
– vocabulario preexistente
– informalidad
– sintaxis
Análisis y Diseño de Sistemas
Resumen
Técnicas ER
Reuso de requerimientos
• Problemas de aplicación:
– acceso a los documentos de los requerimientos
– “adecuabilidad” de un viejo requerimiento
• Prerequisitos de aplicación:
– acceso a los requerimientos de los sistemas
existentes
– facilidades para seleccionar, testear y modificar
viejos requerimientos
– más barato que obtener los requerimientos desde
cero
Enfoques existentes
Reuso de requerimientos
Reuso de especificaciones
Reuso de requerimientos
Ingeniería reversa
Casos de uso
• Porción de actividad del sistema: respuesta a un estímulo
externo o temporal
• Colección única de procesos y datos para cada evento/
caso de uso
• Cada proceso se puede describir
• Cada caso de uso tiene un número de requerimientos
funcionales y no-funcionales
• Algunos requerimientos no-funcionales se aplican a todo
el caso de uso.
• Se divide al sistema en “piezas de funcionalidad” (los
casos de uso)
– Combinación de técnicas