Elicitacion de Requerimientos

45
Elicitación De Requerimientos Lic. Mario G. Oloriz Agosto 2004

description

Técnicas de elicitacionIngeniería de requerimientos como proceso socialIngeniería de requerimientos y elicitación de conocimiento

Transcript of Elicitacion de Requerimientos

  • Elicitacin De Requerimientos Lic. Mario G. Oloriz

    Agosto 2004

    *

  • Mario G. Oloriz*ElicitacinEs el proceso de adquirir (eliciting) [sonsacar] todo el conocimiento relevante necesario para producir un modelo de los requerimientos de un dominio de problemaObjetivo: entender el dominio del problema en particularDnde encontrar el conocimiento?Problemas:Forma no utilizable del conocimientoDificultad cuando se trata de un experto humano

    *

  • Mario G. Oloriz*TemarioTcnicas de elicitacionIngeniera de requerimientos como proceso socialIngeniera de requerimientos y elicitacin de conocimientoConclusin

    *

  • Mario G. Oloriz*Tcnicas de elicitacionPartiendo del usuarioAnlisis de objetivo y metaEscenariosAnlisis de formulariosLenguaje naturalReuso de requerimientosAnlisis de tareas

    *

  • Mario G. Oloriz*Partiendo del usuarioEl ms intuitivo de los enfoques Razones de las dificultades:Poca claridad del usuarioDificultad del usuario para transmitir su conocimientoDiferencias entre usuario y analista El usuario puede no querer el sistemaSe dispone de una serie de tcnicas

    *

  • Mario G. Oloriz*Partiendo del usuarioTcnicasEntrevista de comienzo y final abiertoEntrevistas estructuradasBrainstorming

    *

  • Mario G. Oloriz*Entrevistas de comienzo y final abiertoForma ms simple de interaccin analista-usuarioEl analista deja que el usuario hable de su tareaAmbiente informaltiles para obtener visiones generalesNo son tiles para obtener informacin detallada

    *

  • Mario G. Oloriz*Entrevistas estructuradasDirecciona al usuario hacia aspectos especficos de requerimientos a elicitarSon tiles para informacin detalladaPreguntas cerradas, abiertas, de sondeo y de guaInformacin para obstculos y soporte

    *

  • Mario G. Oloriz*BrainstormingSe utiliza para resolver la falta de consenso entre usuariosEs til combinarlo con la toma de decisionesAyuda a entender el dominio del problemaEncara la dificultad del usuario para transmitirReduce la falta de consensoAyuda a entender: al usuario y al analista

    *

  • Mario G. Oloriz*Partiendo del usuarioResumenEl medio ms directo para la elicitacinSe requieren habilidades especiales del analistaProblemas: tiempo limitado del usuario dificultades sicolgicas

    *

  • Mario G. Oloriz*Tcnicas de elicitacionPartiendo del usuarioAnlisis de objetivo y metaEscenariosAnlisis de formulariosLenguaje naturalReuso de requerimientosAnlisis de tareas

    *

  • Mario G. Oloriz*Anlisis de objetivo y metaPropsito:colocar los requerimientos en un contexto mayorcomprender la relacin de ese problema con los problemas y objetivos del sistema mayor (la jerarqua sistmica vale para los SBC)tener los requerimientos adecuados

    *

  • Mario G. Oloriz*Anlisis de objetivo y metaConceptos bsicosMetasun estado del sistema, o un conjunto de valores deseados para un nmero de parmetros.ejemplo: en una empresa 1M$ de ganancia, (ganancia=parmetro y 1M$=valor del parmetro)Varian su especficidad (abstraccin) al subir el nivelMetas estratgicasMetas tcticasMetas operacionalesObjetivos son las metas ms abstractasejemplo: aumentar la utilidad

    *

  • Mario G. Oloriz*Anlisis de objetivo y metaJerarqua de metasSe organiza una jerarqua de metas Resulta un lattice con niveles:Metas ms abstractas (objetivos)MetasMetas menos abstractas (sub-metas)En un nivel de la jerarqua, dos metas pueden:soportarse mutuamenteser mutuamente conflictivasRestricciones: impiden alcanzar las metas.

    *

  • Mario G. Oloriz*Anlisis de objetivo y metaResumenEl 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 restriccionesPropsito de la jerarqua de objetivos:identificar los requerimientos de software en el contexto del dominio del problemamapear los requerimientos hasta los objetivos de alto nivel del sistema

    *

  • Mario G. Oloriz*Anlisis de objetivo y metaPasos en el anlisisAnalizar la organizacin y el ambiente externoCrear una jerarqua meta-submeta consistente en: objetivos organizacionales, metas y restricciones y sus relaciones (soporte, conflicto, restriccin) Validar y consensuar el modeloIdentificar la parte de la jerarqua meta-submeta que modeliza la parte de procesamiento de la informacin de la organizacinEliminar los casos de conflictos en el modelo anterior con los stakeholdersSeleccionar tareas (requerimientos) por eliminacin de alternativas

    *

  • Mario G. Oloriz*Anlisis de objetivo y metaVentajasPermite una clara comprensin del dominio del problemaRequerimientos del problema en un contexto mayorConsiderar soluciones potenciales

    *

  • Mario G. Oloriz*Tcnicas de elicitacionPartiendo del usuarioAnlisis de objetivo y metaEscenariosAnlisis de formulariosLenguaje naturalReuso de requerimientosAnlisis de tareas

    *

  • Mario G. Oloriz*EscenariosConceptos bsicosEscenario = historia que ilustra cmo un sistema puede satisfacer necesidades del usuarioDescripcin idealizada pero detallada de una instancia especfica de interaccin hombre-mquinaMedios diversos (texto, dibujos, diagramas)Estructurados en dilogos o narrativasSimilitud con los prototipos

    *

  • Mario G. Oloriz*EscenariosVentajasLos usuarios encuentran ms fcil transmitir su experticia a travs de contar una historiaEs una solucin prometedora al problema de la comunicacin

    *

  • Mario G. Oloriz*Tcnicas de elicitacionPartiendo del usuarioAnlisis de objetivo y metaEscenariosAnlisis de formulariosLenguaje naturalReuso de requerimientosAnlisis de tareas

    *

  • Mario G. Oloriz*Anlisis de formulariosFormulario = coleccin estructurada de variables que est formateada para soportar ingreso de datos y su recuperacin Es una fuente importante pues:es un modelo formales un modelo de datosa menudo contienen informacin sobre la organizacinsus instrucciones de uso encierran conocimiento sobre el dominiosu anlisis puede automatizarse

    *

  • Mario G. Oloriz*Tcnicas de elicitacionPartiendo del usuarioAnlisis de objetivo y metaEscenariosAnlisis de formulariosLenguaje naturalReuso de requerimientosAnlisis de tareas

    *

  • Mario G. Oloriz*Lenguaje naturalForma ms habitual de representacin del conocimientoLa mayora de lo que vale la pena conocer sobre el dominio del problema puede formularse en NLCategoras de elicitacin en NL:enfoques que interactan con el usuarioenfoques que elicitan desde un texto en NLSu atractivo reside en:vocabulario preexistenteinformalidad sintaxis

    *

  • Mario G. Oloriz*Lenguaje naturalResumenEs una fuente importante de conocimientoDos limitaciones:el NL es muy complejola ambigedad del NL

    *

  • Mario G. Oloriz*Tcnicas de elicitacionPartiendo del usuarioAnlisis de objetivo y metaEscenariosAnlisis de formulariosLenguaje naturalReuso de requerimientosAnlisis de tareas

    *

  • Mario G. Oloriz*Reuso de requerimientosIdea de base: los requerimientos capturados para alguna aplicacin pueden usarse en otra similarRazones que la hacen interesante:mejora global del procesosimilitud en sistemascalidad

    *

  • Mario G. Oloriz*Reuso de requerimientosAplicacinProblemas de aplicacin:acceso a los documentos de los requerimientos adecuabilidad de un viejo requerimientoPrerequisitos de aplicacin:acceso a los requerimientos de los sistemas existentesfacilidades para seleccionar, testear y modificar viejos requerimientosms barato que obtener los requerimientos desde cero

    *

  • Mario G. Oloriz*Reuso de requerimientosEnfoques existentesReuso de especificaciones. Desarrollo y mantenimiento de una biblioteca de componentes reusables de requerimientosAnlisis de Dominio. Es el precursor del reuso de requerimientosIngeniera reversa. Obtener informacin de alto nivel de informacin de menor nivel

    *

  • Mario G. Oloriz*Reuso de requerimientosReuso de especificacionesAbarca las bibliotecas de requerimientos reusables as como las tcnicas para reusarlos Hay varios enfoques:Knowledge-Based Requirements Assistant (KBRA)Aprendiz de requerimientosRazonamiento analgico

    *

  • Mario G. Oloriz*Reuso de requerimientosAnlisis de Dominio Crear una estructura para reusar requerimientos a travs de:identificar categoras de dominios de problemasidentificar y formalizar los conceptos comunes entre los diferentes dominios de aplicacinorganizar bibliotecas de componentes reusablesDA ayuda a la comprensin del dominio del problemaLa elicitacin de requerimientos deviene en seleccin, adaptacin e incorporacinDA abarca todo el ciclo de vida del software.

    *

  • Mario G. Oloriz*Reuso de requerimientosIngeniera reversaProceso de anlisis de un sistema SW para:identificar componentes e interrelacionescrear representaciones (otra forma o mayor nivel)Construir SRS a partir de informacin de menor nivel Salida: especificaciones del sistema originalFactores de xito:disponibilidad, accesibilidad, testeabilidad y modificabilidad de los requerimientos existentessimilitud del nuevo sistema SW con uno existente

    *

  • Mario G. Oloriz*Tcnicas de elicitacionPartiendo del usuarioAnlisis de objetivo y metaEscenariosAnlisis de formulariosLenguaje naturalReuso de requerimientosAnlisis de tareas

    *

  • Mario G. Oloriz*Anlisis de tareastil en la interaccin hombre-mquina.describe la tarea de los usuarios en trminos:de actividades que ejecutan y cmo estn estructuradasdel conocimiento requerido para ejecutar esas actividadesopcin: anlisis jerrquico de tareas, en resumen, el anlisis de tareas:es un valioso input el proceso de REel conocimiento sobre el dominio del problema se refiere al viejo sistemaes una base para el futuro sistema

    *

  • Mario G. Oloriz*Anlisis de tareasAnlisis jerrquico. EjemploRecibir pedidoArchivar hasta procesamientoProcesar pedidocontrolar datos clientesverificar datos fijoscontrolar nivel de crditocontrolar productosverificar datos fijosverificar stock controlar condicion de entregalugar de entregafecha de entregaPost procesoarchivar copiaenviar a Despacho y a Crditosregistrar cumplimiento

  • Mario G. Oloriz*TemarioTcnicas de elicitacionRE como proceso socialRE y elicitacin de conocimientoConclusin

    *

  • Mario G. Oloriz*RE como proceso socialRE en un contexto socialNo hacerlo es fuente de fallas de los sistemas:no se construye para atender los requerimientos, ono soporta las reales necesidades de los usuariosPremisas los aspectos sociales y tcnicos son igualmente importantes interdependencia de ambos aspectosLos requerimientos son producto de la interaccin usuario-tcnicosolo tienen sentido en el contexto organizacional.

    *

  • Mario G. Oloriz*RE como proceso socialParticipacin del usuarioEs importante mayor participacin del usuario y que los equipos de desarrollo deben ser ms pensados en su constitucin.

    Participantes en el desarrollo (Macaulay):interesados financieramenteresponsable por el diseo e implementacinresponsable por la introduccin del sistemainteresados en el uso

    *

  • Mario G. Oloriz*RE como proceso socialMtodos etnograficosCaractersticas:alternativa a los enfoques clsicos podra producir SRS de mayor calidadconocimiento no registrado formalmente. Los analistas son:observadores pasivosno aslan las tareasResultados de las investigaciones tienden a:comprobar la utilidad del enfoquesu uso requiere ms elaboracin y estructuracindifcil de entender y consumidor de tiempocomplemento de tcnicas ms duras

    *

  • Mario G. Oloriz*TemarioTcnicas de elicitacionRE como proceso socialRE y elicitacin de conocimientoConclusin

    *

  • Mario G. Oloriz*RE y elicitacin de conocimientoHay propuestas de fusionar ambos enfoques. Ingeniera del conocimiento: transferir el expertise a un programa de computacin. Similitud de los problemas del analistaPrincipal dificultad: la comprensin el dominio del problema

    *

  • Mario G. Oloriz*RE y elicitacin de conocimientoIngeniera del conocimientoObstculos en la extraccin del conocimiento:dificultad en explicar acciones y decisioneslenguaje del ingeniero de conocimiento y el usuariorelacin con usarios, con experiencias y necesidades conflictivasse generaron tcnicas para superarlosClasificacin de las tcnicas:observacinelicitacin no estructuradamappinganlisis formalelicitacin estructuradaTcnicas de RE corresponden a estos tipos

    *

  • Mario G. Oloriz*RE y elicitacin de conocimientoIntercambiabilidad de las tcnicas Los analistas de RE pueden mejorar los resultados aplicando tcnicas de elicitacin del conocimiento

    *

  • Mario G. Oloriz*TemarioTcnicas de elicitacionRE como proceso socialRE y elicitacin de conocimientoConclusin

    *

  • Mario G. Oloriz*ConclusinProblema 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;

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *