04.01.Elicitacion x 1
-
Upload
mario-david-lopez-valencia -
Category
Documents
-
view
222 -
download
0
Embed Size (px)
Transcript of 04.01.Elicitacion x 1
-
8/4/2019 04.01.Elicitacion x 1
1/56
Elicitacin de Requerimientos
Alejandro Oliveros
Setiembre 2000
Empiece por el comienzo
-dijo el Rey muy solemne-
y siga hasta llegar al final: all para
Alicia en el Pas de las Maravillas
-
8/4/2019 04.01.Elicitacion x 1
2/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 2
Elicitacin
Es el proceso de adquirir (eliciting) [sonsacar] todo el
conocimiento relevante necesario para producir un
modelo de los requerimientos de un dominio de
problema Objetivo: entender el dominio del problema en particular
Dnde encontrar el conocimiento?
Problemas:
forma no utilizable del conocimiento dificultad cuando se trata de un experto humano
-
8/4/2019 04.01.Elicitacion x 1
3/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 3
Temario
Tcnicas de elicitacion
Tcnicas de elicitacion (II)
RE como proceso social
RE y elicitacin de conocimiento
Conclusin
-
8/4/2019 04.01.Elicitacion x 1
4/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 4
Tcnicas de elicitacion
Partiendo del usuario
Anlisis de objetivo y meta
Escenarios
Anlisis de formularios
Lenguaje natural
Reuso de requerimientos
Anlisis de tareas
-
8/4/2019 04.01.Elicitacion x 1
5/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 5
Partiendo del usuario
El ms intuitivo de los enfoques
Razones de las dificultades:
no claridad del usuario
dificultad del usuario para transmitir su conocimiento diferencias entre usuario y analista
el usuario puede no querer el sistema
Se disponen de una serie de tcnicas
-
8/4/2019 04.01.Elicitacion x 1
6/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 6
Partiendo del usuario
Tcnicas
Entrevista de comienzo y final abierto
Entrevistas estructuradas
Brainstorming
-
8/4/2019 04.01.Elicitacion x 1
7/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 7
Entrevistas de comienzo y final abierto
forma ms simple de interaccin analista-usuario
el analista deja que el usuario hable de su tarea
ambiente informal
tiles para obtener visiones generales
no son tiles para obtener informacin detallada
-
8/4/2019 04.01.Elicitacion x 1
8/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 8
Entrevistas estructuradas
direcciona al usuario hacia espectos especficos de
requerimientos a elicitar
son tiles para informacin detallada
preguntas cerradas, abiertas, de sondeo y de gua
informacin para gaps, obstculos y soporte
-
8/4/2019 04.01.Elicitacion x 1
9/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 9
Brainstorming
clave para resolver la falta de consenso entre usuarios
es til combinarlo con la toma de decisiones
ayuda a entender el dominio del problema
encara la dificultad del usuario para transmitir
reduce la falta de consenso
ayuda a entender: al usuario y al analista
-
8/4/2019 04.01.Elicitacion x 1
10/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 10
Partiendo del usuario
Resumen
El medio ms directo para la elicitacin
Se requieren habilidades especiales del analista
Problemas:
tiempo limitado del usuario
dificultades sicolgicas
-
8/4/2019 04.01.Elicitacion x 1
11/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 11
Tcnicas de elicitacion
Partiendo del usuario
Anlisis de objetivo y meta
Escenarios
Anlisis de formularios
Lenguaje natural
Reuso de requerimientos
Anlisis de tareas
-
8/4/2019 04.01.Elicitacion x 1
12/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 12
Anlisis de objetivo y meta
Propsito:
colocar los requerimientos en un contexto mayor
comprender la relacin de ese problema con los problemas y
objetivos del sistema mayor (host) tener los requerimientos adecuados
La visin teleolgica de los sistemas explica su
comportamiento en trminos de su meta
-
8/4/2019 04.01.Elicitacion x 1
13/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 13
Anlisis de objetivo y meta
Conceptos bsicos
Metas un estado del sistema, o
un conjunto de valores deseados para un nmero de parmetros.
ejemplo: en una empresa 1M$ de ganancia, i.e., el (ganancia=parmetroy 1M$=valor del parmetro)
Varian su especficidad (abstraccin) al subir el nivel
Metas estratgicas
Metas tcticas
Metas operacionales
Objetivos
son las metas ms abstractas ejemplo: aumentar la utilidad
-
8/4/2019 04.01.Elicitacion x 1
14/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 14
Anlisis de objetivo y meta
Descomposicin AND y OR
Un objetivo Ob puede ser descompuesto en los objetivos
G1,G2,...,Gn
AND: significa que para cumplir el objetivo Ob deben
cumplirse todos los objetivos G1,G2,...,Gn OR: significa que para cumplir el objetivo Ob debe
cumplirse alguno de los objetivos G1,G2,...,Gn
-
8/4/2019 04.01.Elicitacion x 1
15/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 15
Anlisis de objetivo y meta
Ej. de descomposicin
OR:
aumentar ganancias reducir costos
OR
aumentar ventas AND:
reducir costos: reducir costos de maquinaria
AND
reducir costos de materialAND
aumentar productividad
-
8/4/2019 04.01.Elicitacion x 1
16/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 16
Anlisis de objetivo y meta
Jerarqua de metas
Se organiza una jerarqua de metas
Resulta un lattice con niveles:
Metas ms abstractas (objetivos)
Metas Metas menos abstractas (sub-metas)
En un nivel de la jerarqua, dos metas pueden:
soportarse mutuamente
ser mutuamente conflictivas Restricciones: impiden alcanzar las metas.
-
8/4/2019 04.01.Elicitacion x 1
17/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 17
Anlisis de objetivo y meta
Resumen
El enfoque del anlisis objetivo-meta ve el dominio del
problema como consistente en objetivos, metas, sub-
metas (medios), organizados en una jerarqua de meta-
submeta (fin-medio), y restricciones Propsito de la jerarqua de objetivos:
identificar los requerimientos de software en el contexto del
dominio del problema
mapear los requerimientos hasta los objetivos de alto nivel
del sistema
-
8/4/2019 04.01.Elicitacion x 1
18/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 18
Anlisis de objetivo y meta
Pasos en el anlisis
Analizar la organizacin y el ambiente externo
Crear una jerarqua meta-submeta consistente en: objetivos
organizacionales, metas y restricciones y sus relaciones (soporte,conflicto, restriccin)
Validar y consensuar el modelo
Identificar la parte de la jerarqua meta-submeta que modeliza laparte de procesamiento de la informacin de la organizacin
Eliminar los casos de conflictos en el modelo anterior con los
stakeholders Seleccionar tareas (requerimientos) por eliminacin de alternativas
-
8/4/2019 04.01.Elicitacion x 1
19/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 19
Anlisis de objetivo y meta
Ventajas
permite una clara comprensin del dominio del problema
requerimientos del problema en un contexto mayor
considerar soluciones potenciales
-
8/4/2019 04.01.Elicitacion x 1
20/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 20
Tcnicas de elicitacion
Partiendo del usuario
Anlisis de objetivo y meta
Escenarios
Anlisis de formularios
Lenguaje natural
Reuso de requerimientos
Anlisis de tareas
-
8/4/2019 04.01.Elicitacion x 1
21/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 21
Escenarios
Conceptos bsicos
Escenario = historia que ilustra cmo un sistema puede
satisfacer necesidades del usuario
Descripcin idealizada pero detallada de una instancia
especfica de interaccin hombre-mquina Medios diversos (texto, dibujos, diagramas)
Estructurados en dilogos o narrativas
Similitud con los prototipos
-
8/4/2019 04.01.Elicitacion x 1
22/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 22
Escenarios
Ventajas
Los usuarios encuentran ms fcil transmitir su expertise
a travs de contar una historia
Es una solucin prometedora al problema de la
comunicacin
-
8/4/2019 04.01.Elicitacion x 1
23/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 23
Tcnicas de elicitacion
Partiendo del usuario
Anlisis de objetivo y meta
Escenarios
Anlisis de formularios
Lenguaje natural
Reuso de requerimientos
Anlisis de tareas
-
8/4/2019 04.01.Elicitacion x 1
24/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 24
Anlisis de formularios
Formulario = coleccin estructurada de variables queest formateada para soportar ingreso de datos y surecuperacin
Es una fuente importante pues: es un modelo formal
es un modelo de datos
a menudo contienen informacin sobre la organizacin
sus instrucciones de uso encierran conocimiento sobre eldominio
su anlisis puede automatizarse
-
8/4/2019 04.01.Elicitacion x 1
25/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 25
Tcnicas de elicitacion
Partiendo del usuario
Anlisis de objetivo y meta
Escenarios
Anlisis de formularios
Lenguaje natural
Reuso de requerimientos
Anlisis de tareas
-
8/4/2019 04.01.Elicitacion x 1
26/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 26
Lenguaje natural
Forma ms habitual de representacin del conocimiento
La de lo que mayora vale la pena conocer sobre eldominio del problema puede formularse en NL
Categoras de elicitacin en NL: enfoques que interactan con el usuario
enfoques que elicitan desde un texto en NL
Su atractivo reside en: vocabulario preexistente
informalidad sintaxis
-
8/4/2019 04.01.Elicitacion x 1
27/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 27
Lenguaje natural
Resumen
Es una fuente importante de conocimiento
Dos limitaciones:
el NL es muy complejo
la ambigedad del NL
-
8/4/2019 04.01.Elicitacion x 1
28/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 28
Tcnicas de elicitacion
Partiendo del usuario
Anlisis de objetivo y meta
Escenarios
Anlisis de formularios Lenguaje natural
Reuso de requerimientos
Anlisis de tareas
-
8/4/2019 04.01.Elicitacion x 1
29/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 29
Reuso de requerimientos
Idea de base: los requerimientos capturados para alguna
aplicacin pueden usarse en otra similar
Razones que la hacen interesante:
mejora global del proceso similitud en sistemas
calidad
-
8/4/2019 04.01.Elicitacion x 1
30/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 30
Reuso de requerimientos
Aplicacin
Problemas de aplicacin:
acceso a los documentos de los requerimientos
adecuabilidad de un viejo requerimiento
Preequisitos de aplicacin: acceso a los requerimientos de los sistemas existentes
facilidades para seleccionar, testear y modificar viejos
requerimientos
ms barato que obtener los requerimientos desde cero
-
8/4/2019 04.01.Elicitacion x 1
31/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 31
Reuso de requerimientos
Enfoques existentes
Reuso de especificaciones. Desarrollo y mantenimiento
de una biblioteca de componentes reusables de
requerimientos
Anlisis de Dominio. Es el precursor del reuso derequerimientos
Ingeniera reversa. Obtener informacin de alto nivel
de informacin de menor nivel
-
8/4/2019 04.01.Elicitacion x 1
32/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 32
Reuso de requerimientos
Reuso de especificaciones
Abarca las bibliotecas de requerimientos reusables as
como las tcnicas para reusarlos
Hay varios enfoques:
Knowledge-Based Requirements Assistant (KBRA) Aprendiz de requerimientos
Razonamiento analgico
-
8/4/2019 04.01.Elicitacion x 1
33/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 33
Reuso de requerimientos
Anlisis de Dominio
Crear una estructura para reusar requerimientos a travs de:
identificar categoras de dominios de problemas
identificar y formalizar los conceptos comunes entre los diferentes dominios
de aplicacin
organizar bibliotecas de componentes reusables DA y RA: objetivos similares, DA tiene mayor alcance
DA ayuda a la comprensin del dominio del problema
La elicitacin de requerimientos deviene en seleccin, adaptacin
e incorporacin
DA abarca todo el ciclo de vida del software.
-
8/4/2019 04.01.Elicitacion x 1
34/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 34
Reuso de requerimientos
Ingeniera reversa
Proceso de anlisis de un sistema SW para:
identificar componentes e interrelaciones
crear representaciones (otra forma o mayor nivel)
Construir SRS a partir de informacin de menor nivel Salida: especificaciones del sistema original
Factores de xito:
disponibilidad, accesibilidad, testeabilidad y modificabilidad
de los requerimientos existentes similitud del nuevo sistema SW con uno existente
-
8/4/2019 04.01.Elicitacion x 1
35/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 35
Tcnicas de elicitacion
Partiendo del usuario
Anlisis de objetivo y meta
Escenarios
Anlisis de formularios Lenguaje natural
Reuso de requerimientos
Anlisis de tareas
-
8/4/2019 04.01.Elicitacion x 1
36/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 36
Anlisis de tareas
til en la interaccin hombre-mquina.
describe la tarea de los usuarios en trminos: de actividades que ejecutan y cmo estn estructuradas
el conocimiento requerido para ejecutar esas actividades
opcin: anlisis jerrquico de tareas
en resumen, el anlisis de tareas: es un valioso input el proceso de RE
el conocimiento sobre el dominio del problema se refiere al
sistema viejo es una base para el futuro sistema
-
8/4/2019 04.01.Elicitacion x 1
37/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 37
Anlisis de tareas
Anlisis jerrquico. Ejemplo
Recibir pedidoArchivar hasta procesamiento
Procesar pedidocontrolar datos clientes
verificar datos fijos
controlar nivel de crdito
controlar productosverificar datos fijos
verificar stock
controlar condicion de entregalugar de entrega
fecha de entrega
Post proceso
archivar copiaenviar a Despacho y a Crditos
registrar cumplimiento
-
8/4/2019 04.01.Elicitacion x 1
38/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 38
Temario
Tcnicas de elicitacion
Tcnicas de elicitacion (II)
RE como proceso social
RE y elicitacin de conocimiento Conclusin
-
8/4/2019 04.01.Elicitacion x 1
39/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 39
Tcnicas de elicitacin
(Nuseibeh-Easterbrook)
Tcnicas tradicionales
Tcnicas de elicitacin grupales
Prototipos
Tcnicas orientadas por modelos Tcnicas cognitivas
Tcnicas contextuales
-
8/4/2019 04.01.Elicitacion x 1
40/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 40
Tcnicas tradicionales
Cuestionarios
Surveys
Entrevistas (de comienzo y final abierto, estructuradas)
Anlisis de documentos (formularios, organigramas,modelos, standards, manuales, normas, etc)
Tcnicas tradicionalesTcnicas de elicitacin grupales
Prototipos
Tcnicas orientadas por modelos
Tcnicas cognitivas
Tcnicas contextuales
-
8/4/2019 04.01.Elicitacion x 1
41/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 41
Tcnicas de elicitacin grupales
Brainstorming
Focus groups
RAD/JAD
Tcnicas tradicionalesTcnicas de elicitacin grupales
Prototipos
Tcnicas orientadas por modelos
Tcnicas cognitivas
Tcnicas contextuales
-
8/4/2019 04.01.Elicitacion x 1
42/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 42
Prototipos
Utilizado cuando hay gran incertidumbre sobre los
requerimientos o cuando se requiere un feedback
temprano del usuario
Se puede combinar con otras tcnicas (base para un
grupo de discusin) o como base de un cuestionario o
anlisis de un protocolo
Tcnicas tradicionalesTcnicas de elicitacin grupales
Prototipos
Tcnicas orientadas por modelos
Tcnicas cognitivas
Tcnicas contextuales
-
8/4/2019 04.01.Elicitacion x 1
43/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 43
Tcnicas orientadas por modelos
Mtodos basados en objetivos
Mtodos basados en escenarios
Tcnicas tradicionalesTcnicas de elicitacin grupales
Prototipos
Tcnicas orientadas por modelos
Tcnicas cognitivas
Tcnicas contextuales
-
8/4/2019 04.01.Elicitacion x 1
44/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 44
Tcnicas cognitivas
Anlisis de protocolos
Laddering (indagacin para elicitar la estructura delconocimiento del involucrado)
Card sorting Repertory grids (grillas de repertorio)
Tcnicas tradicionalesTcnicas de elicitacin grupales
Prototipos
Tcnicas orientadas por modelos
Tcnicas cognitivas
Tcnicas contextuales
-
8/4/2019 04.01.Elicitacion x 1
45/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 45
Tcnicas contextuales
Surgen como reaccin a las tcnicas tradicionales y los
mtodos cognitivos
Mtodos etnogrficos (observacin del participante)
Etnometodologa
Anlisis de conversacin (estudio de conversacin e
interaccin)
Tcnicas tradicionalesTcnicas de elicitacin grupales
Prototipos
Tcnicas orientadas por modelos
Tcnicas cognitivas
Tcnicas contextuales
-
8/4/2019 04.01.Elicitacion x 1
46/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 46
Temario
Tcnicas de elicitacion
Tcnicas de elicitacion (II)
RE como proceso social
RE y elicitacin de conocimiento Conclusin
-
8/4/2019 04.01.Elicitacion x 1
47/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 47
RE como proceso social
RE en un contexto social
No hacerlo es fuente de fallas de los sistemas: no se construye para atender los requerimientos, o
no soporta las reales necesidades de los usuarios
Premisas los aspectos sociales y tcnicos son igualmente importantes
interdependencia de ambos aspectos
Los requerimientos son
producto de la interaccin usuario-tcnico solo tienen sentido en el contexto organizacional.
RE como proceso social
-
8/4/2019 04.01.Elicitacion x 1
48/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 48
RE como proceso social
Participacin del usuario
Es importante mayor participacin del usuario y que los
equipos de desarrollo deben ser ms pensados en su
constitucin.
Participantes en el desarrollo (Macaulay):
interesados financieramente
responsable por el diseo e implementacin
responsable por la introduccin del sistema
interesados en el uso
RE como proceso social
-
8/4/2019 04.01.Elicitacion x 1
49/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 49
RE como proceso social
Mtodos etnograficos
Caractersticas: alternativa a los enfoques clsicos
podra producir SRS de mayor calidad
conocimiento no registrado formalmente.
Los analistas son: observadores pasivos
no aslan las tareas
Resultados de las investigaciones tienden a: comprobar la utilidad del enfoque
su uso requiere ms elaboracin y estructuracin
difcil de entender y consumidor de tiempo complemento de tcnicas ms duras
-
8/4/2019 04.01.Elicitacion x 1
50/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 50
Temario
Tcnicas de elicitacion
Tcnicas de elicitacion (II)
RE como proceso social
RE y elicitacin de conocimiento Conclusin
-
8/4/2019 04.01.Elicitacion x 1
51/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 51
RE y elicitacin de conocimiento
Hay propuestas de fusionar ambos enfoques.
Ingeniera del conocimiento: transferir el expertise aun programa de computacin.
Similitud de los problemas del analista Principal dificultad: la comprensin el dominio del
problema
RE y elicitacin de conocimiento
-
8/4/2019 04.01.Elicitacion x 1
52/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 52
RE y elicitacin de conocimiento
Ingeniera del conocimiento
Obstculos en la extraccin del conocimiento: dificultad en explicar acciones y decisiones
lenguaje del ingeniero de conocimiento y el usuario
relacin con usarios con experiencias y necesidades conflictivas
se generaron tcnicas para superarlos
Clasificacin de las tcnicas: observacin
elicitacin no estructurada
mapping
anlisis formal
elicitacin estructurada Tcnicas de RE corresponden a estos tipos
-
8/4/2019 04.01.Elicitacion x 1
53/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 53
RE y elicitacin de conocimiento
Intercambiabilidad de las tcnicas
Los analistas de RE pueden mejorar los resultadosaplicando tcnicas de elicitacin del comnocimiento
-
8/4/2019 04.01.Elicitacion x 1
54/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 54
Temario
Tcnicas de elicitacion
Tcnicas de elicitacion (II)
RE como proceso social
RE y elicitacin de conocimiento Conclusin
-
8/4/2019 04.01.Elicitacion x 1
55/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 55
Conclusin
Problema principal: adquirir el conocimiento de los usuarios yotras fuentes
Tcnicas vistas: entrevistas al usuario, muy usadas, requieren preparacin;
anlisis de objetivos/metas, exitosas para alcanzar consenso;
escenarios: atacan la limitacin de memoria, requiren del expertise de losusuarios;
anlisis de formularios, bypass del usuario y una importante fuente deconocimiento;
anlisis del NL: hacia el medio ms conveniente para el usuario;
reuso: punto de partida en un conjunto de requerimientos reusables;
ciencia social: atienden a las reglas sociales y las prcticas de laorganizacin;
-
8/4/2019 04.01.Elicitacion x 1
56/56
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 56
Referencias
Loucopoulos, P., Karakostas, V., System Requirements
Engineering, McGraw-Hill, 1995, London.
Nuseibeh; B., Easterbrook, S., Requirements
Engineering: A Roadmap, ICSE2000, Limerick