Vous êtes sur la page 1sur 56

Elicitacin de Requerimientos

Alejandro Oliveros Setiembre 2000

Empiece por el comienzo -dijo el Rey muy solemney siga hasta llegar al final: all para Alicia en el Pas de las Maravillas

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
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 2

Temario
Tcnicas de elicitacion Tcnicas de elicitacion (II) RE como proceso social RE y elicitacin de conocimiento Conclusin

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

Tcnicas de elicitacion
Partiendo del usuario Anlisis de objetivo y meta Escenarios Anlisis de formularios Lenguaje natural Reuso de requerimientos Anlisis de tareas

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

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

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

Partiendo del usuario Tcnicas


Entrevista de comienzo y final abierto Entrevistas estructuradas Brainstorming

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

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

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

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

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

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

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

Partiendo del usuario Resumen


El medio ms directo para la elicitacin Se requieren habilidades especiales del analista Problemas:
tiempo limitado del usuario dificultades sicolgicas

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

10

Tcnicas de elicitacion
Partiendo del usuario Anlisis de objetivo y meta Escenarios Anlisis de formularios Lenguaje natural Reuso de requerimientos Anlisis de tareas

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

11

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

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

12

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=parmetro y 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

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

13

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

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

14

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 material AND aumentar productividad
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 15

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.


Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 16

Anlisis de objetivo y meta Resumen


El enfoque del anlisis objetivo-meta ve el dominio del problema como consistente en objetivos, metas, submetas (medios), organizados en una jerarqua de metasubmeta (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

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

17

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 la parte 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
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 18

Anlisis de objetivo y meta Ventajas


permite una clara comprensin del dominio del problema requerimientos del problema en un contexto mayor considerar soluciones potenciales

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

19

Tcnicas de elicitacion
Partiendo del usuario Anlisis de objetivo y meta Escenarios Anlisis de formularios Lenguaje natural Reuso de requerimientos Anlisis de tareas

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

20

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

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

21

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

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

22

Tcnicas de elicitacion
Partiendo del usuario Anlisis de objetivo y meta Escenarios Anlisis de formularios Lenguaje natural Reuso de requerimientos Anlisis de tareas

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

23

Anlisis de formularios
Formulario = coleccin estructurada de variables que est formateada para soportar ingreso de datos y su recuperacin 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 el dominio su anlisis puede automatizarse
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 24

Tcnicas de elicitacion
Partiendo del usuario Anlisis de objetivo y meta Escenarios Anlisis de formularios Lenguaje natural Reuso de requerimientos Anlisis de tareas

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

25

Lenguaje natural
Forma ms habitual de representacin del conocimiento La de lo que mayora vale la pena conocer sobre el dominio 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
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 26

Lenguaje natural Resumen


Es una fuente importante de conocimiento Dos limitaciones:
el NL es muy complejo la ambigedad del NL

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

27

Tcnicas de elicitacion
Partiendo del usuario Anlisis de objetivo y meta Escenarios Anlisis de formularios Lenguaje natural Reuso de requerimientos Anlisis de tareas

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

28

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

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

29

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

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

30

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 de requerimientos Ingeniera reversa. Obtener informacin de alto nivel de informacin de menor nivel

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

31

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

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

32

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.
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 33

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
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 34

Tcnicas de elicitacion
Partiendo del usuario Anlisis de objetivo y meta Escenarios Anlisis de formularios Lenguaje natural Reuso de requerimientos Anlisis de tareas

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

35

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
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 36

Anlisis de tareas Anlisis jerrquico. Ejemplo


Recibir pedido Archivar hasta procesamiento Procesar pedido
controlar datos clientes
verificar datos fijos controlar nivel de crdito

controlar productos
verificar datos fijos verificar stock

controlar condicion de entrega


lugar de entrega fecha de entrega

Post proceso
archivar copia enviar a Despacho y a Crditos registrar cumplimiento
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 37

Temario
Tcnicas de elicitacion Tcnicas de elicitacion (II) RE como proceso social RE y elicitacin de conocimiento Conclusin

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

38

Tcnicas de elicitacin (Nuseibeh-Easterbrook)


Tcnicas tradicionales Tcnicas de elicitacin grupales Prototipos Tcnicas orientadas por modelos Tcnicas cognitivas Tcnicas contextuales

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

39

Tcnicas tradicionales
Cuestionarios Surveys Entrevistas (de comienzo y final abierto, estructuradas) Anlisis de documentos (formularios, organigramas, modelos, standards, manuales, normas, etc)

Tcnicas tradicionales Tcnicas de elicitacin grupales Prototipos Tcnicas orientadas por modelos Tcnicas cognitivas Tcnicas contextuales

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

40

Tcnicas de elicitacin grupales


Brainstorming Focus groups RAD/JAD

Tcnicas tradicionales Tcnicas de elicitacin grupales Prototipos Tcnicas orientadas por modelos Tcnicas cognitivas Tcnicas contextuales

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

41

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 tradicionales Tcnicas de elicitacin grupales Prototipos Tcnicas orientadas por modelos Tcnicas cognitivas Tcnicas contextuales

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

42

Tcnicas orientadas por modelos


Mtodos basados en objetivos Mtodos basados en escenarios

Tcnicas tradicionales Tcnicas de elicitacin grupales Prototipos Tcnicas orientadas por modelos Tcnicas cognitivas Tcnicas contextuales

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

43

Tcnicas cognitivas
Anlisis de protocolos Laddering (indagacin para elicitar la estructura del conocimiento del involucrado) Card sorting Repertory grids (grillas de repertorio)

Tcnicas tradicionales Tcnicas de elicitacin grupales Prototipos Tcnicas orientadas por modelos Tcnicas cognitivas Tcnicas contextuales

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

44

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 tradicionales Tcnicas de elicitacin grupales Prototipos Tcnicas orientadas por modelos Tcnicas cognitivas Tcnicas contextuales

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

45

Temario
Tcnicas de elicitacion Tcnicas de elicitacion (II) RE como proceso social RE y elicitacin de conocimiento Conclusin

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

46

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.
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 47

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
Ingeniera de Requerimientos. Introduccin 48

Alejandro Oliveros

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
Ingeniera de Requerimientos. Introduccin 49

Alejandro Oliveros

Temario
Tcnicas de elicitacion Tcnicas de elicitacion (II) RE como proceso social RE y elicitacin de conocimiento Conclusin

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

50

RE y elicitacin de conocimiento
Hay propuestas de fusionar ambos enfoques. Ingeniera del conocimiento: transferir el expertise a un programa de computacin. Similitud de los problemas del analista Principal dificultad: la comprensin el dominio del problema

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

51

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 observacin elicitacin no estructurada mapping anlisis formal elicitacin estructurada

Clasificacin de las tcnicas:

Tcnicas de RE corresponden a estos tipos


Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 52

RE y elicitacin de conocimiento
Intercambiabilidad de las tcnicas Los analistas de RE pueden mejorar los resultados aplicando tcnicas de elicitacin del comnocimiento

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

53

Temario
Tcnicas de elicitacion Tcnicas de elicitacion (II) RE como proceso social RE y elicitacin de conocimiento Conclusin

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

54

Conclusin
Problema principal: adquirir el conocimiento de los usuarios y otras 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 los usuarios; anlisis de formularios, bypass del usuario y una importante fuente de conocimiento; 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 la organizacin;
Alejandro Oliveros Ingeniera de Requerimientos. Introduccin 55

Referencias
Loucopoulos, P., Karakostas, V., System Requirements Engineering, McGraw-Hill, 1995, London. Nuseibeh; B., Easterbrook, S., Requirements Engineering: A Roadmap, ICSE2000, Limerick

Alejandro Oliveros

Ingeniera de Requerimientos. Introduccin

56

Vous aimerez peut-être aussi