04.01.Elicitacion x 1

February 8, 2018 | Author: Mario David Lopez Valencia | Category: Knowledge, Engineering, Software, Epistemology, Psychology & Cognitive Science
Share Embed Donate


Short Description

Download 04.01.Elicitacion x 1...

Description

Elicitación 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 País de las Maravillas

Elicitación • 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 • ¿Dónde encontrar el conocimiento? • Problemas: – forma no utilizable del conocimiento – dificultad cuando se trata de un experto humano Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

2

Temario • • • • •

Técnicas de elicitacion Técnicas de elicitacion (II) RE como proceso social RE y elicitación de conocimiento Conclusión

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

3

Técnicas de elicitacion • • • • • • •

Partiendo del usuario Análisis de objetivo y meta Escenarios Análisis de formularios Lenguaje natural Reuso de requerimientos Análisis de tareas

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

4

Partiendo del usuario • El más 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 técnicas

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

5

Partiendo del usuario Técnicas • Entrevista de comienzo y final abierto • Entrevistas estructuradas • Brainstorming

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

6

Entrevistas de comienzo y final abierto • • • • •

forma más simple de interacción analista-usuario el analista deja que el usuario hable de su tarea ambiente informal útiles para obtener visiones generales no son útiles para obtener información detallada

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

7

Entrevistas estructuradas • direcciona al usuario hacia espectos específicos de requerimientos a elicitar • son útiles para información detallada • preguntas cerradas, abiertas, de sondeo y de guía • información para gaps, obstáculos y soporte

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

8

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

Ingeniería de Requerimientos. Introducción

9

Partiendo del usuario Resumen • El medio más directo para la elicitación • Se requieren habilidades especiales del analista • Problemas: – tiempo limitado del usuario – dificultades sicológicas

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

10

Técnicas de elicitacion • • • • • • •

Partiendo del usuario Análisis de objetivo y meta Escenarios Análisis de formularios Lenguaje natural Reuso de requerimientos Análisis de tareas

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

11

Análisis de objetivo y meta • Propósito: – colocar los requerimientos en un contexto mayor – comprender la relación de ese problema con los problemas y objetivos del sistema mayor (host) – tener los requerimientos adecuados

• La visión teleológica de los sistemas explica su comportamiento en términos de su meta

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

12

Análisis de objetivo y meta Conceptos básicos • Metas – un estado del sistema, o – un conjunto de valores deseados para un número de parámetros. – ejemplo: en una empresa 1M$ de ganancia, i.e., el (“ganancia”=parámetro y 1M$=valor del parámetro) – Varian su específicidad (abstracción) al subir el nivel • Metas estratégicas • Metas tácticas • Metas operacionales

• Objetivos – son las metas más abstractas – ejemplo: “aumentar la utilidad”

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

13

Análisis de objetivo y meta Descomposición 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

Ingeniería de Requerimientos. Introducción

14

Análisis de objetivo y meta Ej. de descomposición • 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

Ingeniería de Requerimientos. Introducción

15

Análisis de objetivo y meta Jerarquía de metas • Se organiza una jerarquía de metas • Resulta un lattice con niveles: – Metas más abstractas (objetivos) – Metas – Metas menos abstractas (sub-metas)

• En un nivel de la jerarquía, dos metas pueden: – soportarse mutuamente – ser mutuamente conflictivas

• Restricciones: impiden alcanzar las metas. Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

16

Análisis de objetivo y meta Resumen • El enfoque del análisis objetivo-meta ve el dominio del problema como consistente en objetivos, metas, submetas (medios), organizados en una jerarquía de metasubmeta (fin-medio), y restricciones • Propósito de la jerarquía 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

Ingeniería de Requerimientos. Introducción

17

Análisis de objetivo y meta Pasos en el análisis • Analizar la organización y el ambiente externo • Crear una jerarquía meta-submeta consistente en: objetivos organizacionales, metas y restricciones y sus relaciones (soporte, conflicto, restricción) • Validar y consensuar el modelo • Identificar la parte de la jerarquía meta-submeta que modeliza la parte de procesamiento de la información de la organización • Eliminar los casos de conflictos en el modelo anterior con los stakeholders • Seleccionar tareas (requerimientos) por eliminación de alternativas Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

18

Análisis de objetivo y meta Ventajas • permite una clara comprensión del dominio del problema • requerimientos del problema en un contexto mayor • considerar soluciones potenciales

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

19

Técnicas de elicitacion • • • • • • •

Partiendo del usuario Análisis de objetivo y meta Escenarios Análisis de formularios Lenguaje natural Reuso de requerimientos Análisis de tareas

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

20

Escenarios Conceptos básicos • Escenario = historia que ilustra cómo un sistema puede satisfacer necesidades del usuario • Descripción idealizada pero detallada de una instancia específica de interacción hombre-máquina • Medios diversos (texto, dibujos, diagramas) • Estructurados en diálogos o narrativas • Similitud con los prototipos

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

21

Escenarios Ventajas • Los usuarios encuentran más fácil transmitir su expertise a través de “contar una historia” • Es una solución prometedora al problema de la comunicación

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

22

Técnicas de elicitacion • • • • • • •

Partiendo del usuario Análisis de objetivo y meta Escenarios Análisis de formularios Lenguaje natural Reuso de requerimientos Análisis de tareas

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

23

Análisis de formularios • Formulario = colección estructurada de variables que está formateada para soportar ingreso de datos y su recuperación • Es una fuente importante pues: – – – –

es un modelo formal es un modelo de datos a menudo contienen información sobre la organización sus instrucciones de uso encierran conocimiento sobre el dominio – su análisis puede automatizarse Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

24

Técnicas de elicitacion • • • • • • •

Partiendo del usuario Análisis de objetivo y meta Escenarios Análisis de formularios Lenguaje natural Reuso de requerimientos Análisis de tareas

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

25

Lenguaje natural • Forma más habitual de representación del conocimiento • La de lo que mayoría 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 Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

26

Lenguaje natural Resumen • Es una fuente importante de conocimiento • Dos limitaciones: – el NL es muy complejo – la ambigüedad del NL

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

27

Técnicas de elicitacion • • • • • • •

Partiendo del usuario Análisis de objetivo y meta Escenarios Análisis de formularios Lenguaje natural Reuso de requerimientos Análisis de tareas

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

28

Reuso de requerimientos • Idea de base: los requerimientos capturados para alguna aplicación pueden usarse en otra similar • Razones que la hacen interesante: – mejora global del proceso – similitud en sistemas – calidad

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

29

Reuso de requerimientos Aplicación • Problemas de aplicación: – acceso a los documentos de los requerimientos – “adecuabilidad” de un viejo requerimiento

• Preequisitos 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

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

30

Reuso de requerimientos Enfoques existentes • Reuso de especificaciones. Desarrollo y mantenimiento de una biblioteca de componentes reusables de requerimientos • Análisis de Dominio. Es el precursor del reuso de requerimientos • Ingeniería reversa. Obtener información de alto nivel de información de menor nivel

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

31

Reuso de requerimientos Reuso de especificaciones • Abarca las bibliotecas de requerimientos reusables así como las técnicas para reusarlos • Hay varios enfoques: – Knowledge-Based Requirements Assistant (KBRA) – Aprendiz de requerimientos – Razonamiento analógico

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

32

Reuso de requerimientos Análisis de Dominio • Crear una estructura para reusar requerimientos a través de: – identificar categorías de dominios de problemas – identificar y formalizar los conceptos comunes entre los diferentes dominios de aplicación – organizar bibliotecas de componentes reusables

• DA y RA: objetivos similares, DA tiene mayor alcance • DA ayuda a la comprensión del dominio del problema • La elicitación de requerimientos deviene en selección, adaptación e incorporación • DA abarca todo el ciclo de vida del software. Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

33

Reuso de requerimientos Ingeniería reversa • Proceso de análisis de un sistema SW para: – identificar componentes e interrelaciones – crear representaciones (otra forma o mayor nivel)

• Construir SRS a partir de información 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

Ingeniería de Requerimientos. Introducción

34

Técnicas de elicitacion • • • • • • •

Partiendo del usuario Análisis de objetivo y meta Escenarios Análisis de formularios Lenguaje natural Reuso de requerimientos Análisis de tareas

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

35

Análisis de tareas • útil en la interacción hombre-máquina. • describe la tarea de los usuarios en términos: – de actividades que ejecutan y cómo están estructuradas – el conocimiento requerido para ejecutar esas actividades

• opción: análisis jerárquico de tareas • en resumen, el análisis 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

Ingeniería de Requerimientos. Introducción

36

Análisis de tareas Análisis jerárquico. Ejemplo Recibir pedido Archivar hasta procesamiento Procesar pedido controlar datos clientes verificar datos fijos controlar nivel de crédito

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 Créditos registrar cumplimiento Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

37

Temario • • • • •

Técnicas de elicitacion Técnicas de elicitacion (II) RE como proceso social RE y elicitación de conocimiento Conclusión

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

38

Técnicas de elicitación (Nuseibeh-Easterbrook) • • • • • •

Técnicas tradicionales Técnicas de elicitación grupales Prototipos Técnicas orientadas por modelos Técnicas cognitivas Técnicas contextuales

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

39

Técnicas tradicionales • • • •

Cuestionarios Surveys Entrevistas (de comienzo y final abierto, estructuradas) Análisis de documentos (formularios, organigramas, modelos, standards, manuales, normas, etc)

Técnicas tradicionales Técnicas de elicitación grupales Prototipos Técnicas orientadas por modelos Técnicas cognitivas Técnicas contextuales

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

40

Técnicas de elicitación grupales • Brainstorming • Focus groups • RAD/JAD

Técnicas tradicionales Técnicas de elicitación grupales Prototipos Técnicas orientadas por modelos Técnicas cognitivas Técnicas contextuales

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

41

Prototipos • Utilizado cuando hay gran incertidumbre sobre los requerimientos o cuando se requiere un feedback temprano del usuario • Se puede combinar con otras técnicas (base para un grupo de discusión) o como base de un cuestionario o análisis de un protocolo

Técnicas tradicionales Técnicas de elicitación grupales Prototipos Técnicas orientadas por modelos Técnicas cognitivas Técnicas contextuales

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

42

Técnicas orientadas por modelos • Métodos basados en objetivos • Métodos basados en escenarios

Técnicas tradicionales Técnicas de elicitación grupales Prototipos Técnicas orientadas por modelos Técnicas cognitivas Técnicas contextuales

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

43

Técnicas cognitivas • Análisis de protocolos • “Laddering” (indagación para elicitar la estructura del conocimiento del involucrado) • “Card sorting” • “Repertory grids” (grillas de repertorio)

Técnicas tradicionales Técnicas de elicitación grupales Prototipos Técnicas orientadas por modelos Técnicas cognitivas Técnicas contextuales

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

44

Técnicas contextuales Surgen como reacción a las técnicas tradicionales y los métodos cognitivos – Métodos etnográficos (observación del participante) – Etnometodología – Análisis de conversación (estudio de conversación e interacción)

Técnicas tradicionales Técnicas de elicitación grupales Prototipos Técnicas orientadas por modelos Técnicas cognitivas Técnicas contextuales

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

45

Temario • • • • •

Técnicas de elicitacion Técnicas de elicitacion (II) RE como proceso social RE y elicitación de conocimiento Conclusión

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

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 técnicos son igualmente importantes – interdependencia de ambos aspectos

• Los requerimientos son – producto de la interacción usuario-técnico – solo tienen sentido en el contexto organizacional. Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

47

RE como proceso social Participación del usuario • Es importante mayor participación del usuario y que los equipos de desarrollo deben ser más pensados en su constitución. • Participantes en el desarrollo (Macaulay): – – – –

interesados financieramente responsable por el diseño e implementación responsable por la introducción del sistema interesados en el uso

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

48

RE como proceso social Métodos etnograficos • Características: – alternativa a los enfoques clásicos – podría producir SRS de mayor calidad – conocimiento no registrado formalmente.

• Los analistas son: – observadores pasivos – no aíslan las tareas

• Resultados de las investigaciones tienden a: – – – –

comprobar la utilidad del enfoque su uso requiere más elaboración y estructuración difícil de entender y consumidor de tiempo complemento de técnicas más “duras”

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

49

Temario • • • • •

Técnicas de elicitacion Técnicas de elicitacion (II) RE como proceso social RE y elicitación de conocimiento Conclusión

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

50

RE y elicitación de conocimiento • Hay propuestas de fusionar ambos enfoques. • Ingeniería del conocimiento: transferir el “expertise” a un programa de computación. • Similitud de los problemas del analista • Principal dificultad: la comprensión el dominio del problema

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

51

RE y elicitación de conocimiento Ingeniería del conocimiento • Obstáculos en la extracción del conocimiento: – – – –

dificultad en explicar acciones y decisiones lenguaje del ingeniero de conocimiento y el usuario relación con usarios con experiencias y necesidades conflictivas se generaron técnicas para superarlos

• Clasificación de las técnicas: – – – – –

observación elicitación no estructurada mapping análisis formal elicitación estructurada

• Técnicas de RE corresponden a estos tipos Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

52

RE y elicitación de conocimiento • Intercambiabilidad de las técnicas • Los analistas de RE pueden mejorar los resultados aplicando técnicas de elicitación del comnocimiento

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

53

Temario • • • • •

Técnicas de elicitacion Técnicas de elicitacion (II) RE como proceso social RE y elicitación de conocimiento Conclusión

Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

54

Conclusión • Problema principal: adquirir el conocimiento de los usuarios y otras fuentes • Técnicas vistas: – entrevistas al usuario, muy usadas, requieren preparación; – análisis de objetivos/metas, exitosas para alcanzar consenso; – escenarios: atacan la limitación de memoria, requiren del expertise de los usuarios; – análisis de formularios, bypass del usuario y una importante fuente de conocimiento; – análisis del NL: hacia el medio más conveniente para el usuario; – reuso: punto de partida en un conjunto de requerimientos reusables; – ciencia social: atienden a las reglas sociales y las prácticas de la organización; Alejandro Oliveros

Ingeniería de Requerimientos. Introducción

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

Ingeniería de Requerimientos. Introducción

56

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF