UNIDAD 5 TÉCNICAS DE EDUCCIÓN 5. TÉCNICAS DE EDUCCIÓN ....................................................................... 1 5.1. ENTREVISTA NO ESTRUCTURADA ................................................... 2 5.2. ENTREVISTA ESTRUCTURADA ......................................................... 3 5.3. OBSERVACIÓN DE TAREAS HABITUALES......................................... 3 5.4. VEINTE PREGUNTAS ........................................................................ 3 5.5. INCIDENTES CRÍTICOS ..................................................................... 3 5.6. CLASIFICACIÓN DE CONCEPTOS ...................................................... 4 5.7. CUESTIONARIOS .............................................................................. 4 5.8. ANÁLISIS DE TAREAS ...................................................................... 4 5.9. ANÁLISIS DE PROTOCOLOS.............................................................. 5 5.10. EMPARRILLADO .............................................................................. 8 5.11. TORMENTA DE IDEAS .................................................................... 16 5.12. TÉCNICA NOMINAL DE GRUPO...................................................... 16 5.13. ENTREVISTA DE GRUPO ................................................................. 17 5.14. MÉTODO DELPHI ........................................................................... 18 5.15. LADDERING ........................................................................ ................................................................................... ........... 18 5.16. OBSERVACIÓN PARTICIPATIVA ..................................................... 18 5.17. PROTOTIPADO RÁPIDO .................................................................. 19 5.18. FOCUS GROUP .................................................................... ............................................................................... ........... 19 5.19. JOINT /RAPID APPLICATION DESIGN (JAD/RAD) (JAD/RAD) ............ ................. ........... .......... 19 5.20. ESCENARIOS /CASOS DE USO ......................................................... 20
Cuando los investigadores tratan el tema de educción, se refieren a una gran cantidad de métodos o TÉCNICAS de representación o modelación de requisitos [Kovitz 1998] pero no a la forma como se obtienen esos requisitos. A pesar de que existe una una gran cantidad de técnicas de educción [Goguen and Linde 1993], en muchos casos, se utiliza simplemente las entrevistas para la captura de información. Sin embargo, existe evidencia que las entrevistas tradicionales y otras técnicas de inspección son inadecuadas para el desarrollo de sistemas actuales [Beyer and Holtzblatt 1995]. Se hace evidente la falta de herramientas que integren el soporte específico de la educción [Cucchiarelli et al. 1994] [Si-Said and Rolland 1997] y, principalmente, la casi inexistencia de una guía que permita auscultar los parámetros involucrados en el proceso y, a partir de su análisis, obtener un plan de educción adecuado que permita obtener óptimamente los requisitos [Sutcliffe 1996], es decir, de una actividad formal que que permita la planificación de este este proceso y así “tener algo más que anécdotas para guiar la inversión de tiempo y dinero” [Kuwana and Herbsleb 1993]. La mayoría de los métodos o técnicas ponen poca atención en “la influencia del contexto del sistema para la determinación de los requisitos” [Berry and Lawrence 1998] [Siddiqi and Shekaran 1996]. Sin embargo, para que “un método o técnica sea poderoso debe explotar las características del problema, y como éstas varían ampliamente, necesitamos un repertorio de éstos, cada cual
Asignatura: Educción de Requisitos
1
adecuado para una cierta clase de problemas” [Jackson [Jackson 1995] o la “selección juiciosa de una combinación de técnicas o métodos” [Finkelstein 1994]. En el caso de la educción, existen variadas técnicas que provienen de áreas como sicología cognitiva, antropología, sociología, y lingüística [Nuseibeh and Easterbrook 2000] [Potts 1991] y que han sido utilizadas en Ingeniería del Conocimiento [Gómez et al. 1997]. Por tanto, es posible que sean utilizadas en Ingeniería de Software: “Las teorías, metodologías, y herramientas deben ser simplemente valorados en términos de su utilidad en el desarrollo de sistemas, sin considerar su origen“ [Shaw and Gaines 1996]. No obstante la mayoría de los Ingenieros desconoce esta diversidad de técnicas, y de esta manera se pierde la oportunidad de optimizar la captura de requisitos. “Es imperativo que los analistas sean concientes de la variedad de técnicas de adquisición de requisitos” [Byrd et al 1992]. Las diversas revisiones de técnicas de educción son muy generales y no permiten conocer las características particulares de cada una [Playle and Schroeder 1996] [Saiedian and Dale 2000] [Goguen and Linde 1993] [Nuseibeh and Easterbrook 2000]. Sin esa información es difícil distinguir la conveniencia de utilizar una u otra técnica en un proyecto de desarrollo. Pero también es necesario conocer las características del proyecto de desarrollo, como las fuentes de requisitos, los participantes del proceso, y el tipo o dominio de aplicación: “El entendimiento de la organización, el entorno y el contexto del proyecto es un buen punto de partida para el proceso de educción” [Christel and Kang 1992]. Las fuentes de requisitos son variadas y su identificación es esencial para el proceso de educción [Pohl 1996]. Generalmente, la información estará en varias varias personas de la organización [Shaw [Shaw and Gaines 1996], que no sólo son los (futuros) usuarios del sistema, sino otras personas con intereses en el proyecto. Pero también puede estar en documentos internos y externos a la organización, en el trabajo de los usuarios [Finkelstein 1994], e incluso en sistemas existentes: “Un sistema existente es, en sí, una compleja y detallada especificación de requisitos” [Sutcliffe 1996]. En los sistemas existentes, los analistas menos experimentados pueden ganar conocimiento del dominio de aplicación, incluso en paquetes de software de mercado pueden servir para que los usuarios identifiquen las funciones necesitadas y deseadas [El Emam and Madhavji 1995a]. El tipo de problema puede referirse a la complejidad o la estructuración del conocimiento debido a la naturaleza del dominio que, como en el proceso completo [Carmel 1995], también influye en el proceso de captura de requisitos: “La complejidad de los sistemas de software modernos también complica el proceso de educción” [Saiedian and and Dale 2000]. En En principio, se sospecha sospecha que las técnicas de educción tendrán diferentes resultados sobre diferentes tipos de problemas [Chatzoglou 1997]: “Cada método tiene sus fortalezas y debilidades, y es más adecuado para uso en dominios de aplicación particulares” [Nuseibeh and Easterbrook 2000].
5.1. Entrevista no estructurada Esta es la técnica más popular utilizada en la obtención de información para la especificación de requisitos del sistema software. Es una técnica altamente dependiente de las destrezas y conocimientos comunicacionales tanto del entrevistador como del entrevistado. Es una interacción sistemática en la que no existe estructura ni plan previo de objetivos por lo que se utiliza generalmente en las primeras sesiones a modo de orientación general. Puede utilizarse con todos los que tienen interés en el desarrollo del producto. Asignatura: Educción de Requisitos
2
Aunque no existe una preparación fina de la sesión el IR debe delimitar el alcance de la sesión y evitar profundizar en demasía sobre un problema en particular. Su libertad de formato permite capturar información gran cantidad de información y mucha de ella imprevista, pero consume bastante tiempo.
5.2. Entrevista estructurada En este tipo de entrevista se realiza una preparación sobre el objetivo y contenido de preguntas que serán hechas a los entrevistados. Para ello se debe formular y agrupar las cuestiones lógicamente respecto de acciones o procesos que se han identificado en sesiones previas. A pesar de que consumen bastante tiempo de preparación y de que pueden contener problemas de lenguaje como ambigüedad, son una excelente forma de profundizar en situaciones particulares.
5.3. Observación de tareas habituales Es una forma de conocer los procesos relacionados con el problema sin interferir en las acciones de los usuarios. En este caso, se observa las diferentes acciones e interacciones en el entorno real. El IR puede tomar nota o, para ganar tiempo y no perder información, grabar la sesión. Es adecuada para tomar primeros contactos con dominios un poco desconocidos y captura, principalmente, flujos de información, eventos, procedimientos, tareas y características de los usuarios. Es una técnica que no requiere mucha preparación ni entrenamiento. Sin embargo, entre las desventajas esta el consumo de tiempo, la captura de muchos datos irrelevantes, y la inoportunidad y fastidio que puede provocar la observación de los usuarios.
5.4. Veinte preguntas Es una variación a la observación de tareas habituales. En este caso, el IR presenta un caso o situación al usuario y este debe realizar veinte preguntas para dar solución al problema. Esto permite conocer la información relevante a manejar en el caso presentado. Requiere tener un conocimiento inicial de los procesos involucrados.
5.5. Incidentes críticos Es una técnica de entrevista estructurada que se centra en eventos importantes del dominio. El objetivo es obtener una completa cuenta de solución del caso en cuestión, describiendo los factores que influyen en él. Para ello se pide a los usuarios que describan casos particularmente interesantes o difíciles del dominio del problema. Esto dará un conocimiento completo del procedimiento seguido así como datos que en casos normales escapen a la entrega de los usuarios. Una alternativa es imaginar un caso que puede ser crítico e ir complicándolo con interpelaciones de la forma “Qué pasaría si ...?”. Otra alternativa es la Imposición de Restricciones que permite Asignatura: Educción de Requisitos
3
condicionar la solución o proceder en un caso restringiéndolo ya sea en tiempo o en la cantidad de datos de entrada. Esta técnica permite conocer prioridades o información imprescindible o superflua en una situación del problema.
5.6. Clasificación de conceptos En esta técnica, el IR presenta a su entrevistado un conjunto de atributos (constructs) del dominio del problema escrito en tarjetas individuales. El entrevistado es pedido ordenar las tarjetas en grupos basándose en similitudes definidas por él. Además, puede proveer un nombre para cada categoría agrupada y crear una jerarquía de sus componentes. La técnica puede generar reglas o generar similitudes o métricas de distancias entre conceptos. Los resultados de la técnica pueden ser representados en una matriz, con los atributos en las filas y los ordenes en las columnas. Los recursos demandados por esta técnica son mínimos y consume poco tiempo. La técnica funciona bien en dominios que emplean métodos convergentes, es decir, de clasificación y diagnóstico. La tarea o dominio debería tener un gran número de componentes con correlaciones fuertes. Si el marco del problema es altamente variable (respuestas o salidas diferentes para problemas similares) la clasificación de conceptos puede ser menos efectiva.
5.7. Cuestionarios Un cuestionario es esencialmente una entrevista estructurada escrita en papel u otro medio. La diferencia es que el entrevistado puede tomarse más tiempo para responder y hacerlo en un momento y lugar adecuado, incluso, remotamente. Si el cuestionario es distribuido a un gran número de usuarios (clientes) es llamado Survey. Los cuestionarios son útiles en dominios donde se requiere recolectar un gran número de enfoques de una situación o para contrastar opiniones. No obstante, el entrevistador debe conocer suficientemente el dominio para preparar las preguntas. Una variante al cuestionario es la completación de oraciones. Esto permite aclarar dudas específicas surgidas en sesiones anteriores.
5.8. Análisis de tareas Esencialmente es descomponer tareas en subtareas o pasos y analizar cada una de ellas para capturar la información y destreza requerida para ejecutarlas. La técnica consiste en llegar a la clasificación de los factores implicados en la solución del problema y la identificación de las tareas atómicas necesarias. Las categorías a aplicar a una tarea individual pueden incluir: tiempo necesario, frecuencia de ejecución, procedimientos usados, acciones empleadas, objetos utilizados, ratio de error, posición en la jerarquía de la tarea, etc. Esto implica que también es necesario identificar las acciones y conceptos de forma taxonómica. Por ejemplo, si se está estudiando el juego de póker, se puede comenzar con la estructura siguiente: Asignatura: Educción de Requisitos
4
Conceptos: Cartas, Mesa, Mano, Jugador, Dinero, Jugada,... Acciones: Barajar, Repartir, Descantarse, Ver, Apostar,... Una forma de Análisis de Tareas supone que los demás conceptos son derivables a partir de un emparejamiento de las acciones con los objetos. Por ejemplo, Ver jugada, Repartir cartas. Una vez identificados los conceptos, es necesario identificar los planes (ganar el juego, hace dinero) y las estrategias (faroles aleatorios, jugar a amarrar), y usar este análisis para identificar los conocimientos requeridos y usados equiparando pares concepto-acción con las descripciones de tareas que ocurren en la secuencias de la tarea.
5.9. Análisis de protocolos Es una técnica similar a la observación de tareas habituales. En este caso, no hay un intervalo entre el acto de pensar o actuar y el acto e reportarlo. En ambas técnicas existe alguien (usuario) que está desarrollando su comportamiento para efectuar una tarea normal con un problema específico. En el AP, además de registrar las sesiones, se capturan los protocolos (descripciones) en voz alta realizados por los usuarios (clientes) al enfrentar una situación particular del dominio para descubrir el proceso subyacente. Este método es particularmente útil cuando los casos se han seleccionado previamente y, habitualmente, revela una gran cantidad de detalles interesantes. Sin embargo, las preguntas pueden interferir con la tarea y el interrogatorio se efectúa normalmente bajo presión, con frecuencia, el experto adoptará un enfoque atípicamente sistemático. Si el sistema debe realizar una emulación cognoscitiva del usuario, esto último podría ser un problema. Esta técnica puede utilizarse complementariamente con otras técnicas como Análisis de tareas. Generalmente, va más allá de lo que un experto explícitamente contaría en una situación de solución de un problema para permitir información acerca de los conocimientos que está utilizando, pero que no pueden verbalizarse conscientemente, Es particularmente útil para extraer información sobre heurísticas que los usuarios utilizan en la solución de problemas, pero que no pueden explicar. Resumidamente, la técnica consiste en grabar, en un protocolo, el comportamiento de los usuarios mientras trabaja en la solución del problema, y ese protocolo se transcribe y analiza para, finalmente, convertirlo en un conjunto de razonamientos que llevan a la solución del problema. Reconstruyendo esta solución pueden modelarse los conocimientos de los usuarios. El protocolo puede ser de distintos tipos entre los que caben destacar: la copia literal, el parafraseado o copia del contenido semántico, la inferencia o generación de una verbalización a partir de la información utilizable, y el recuerdo o recuperación de la información previamente considerada. El análisis de protocolos es adecuado para el tipo de tareas en que el pensar en voz alta puede ser una forma aceptable y útil de educción de conocimientos. Concretamente, aquellas tareas para las cuales la verbalización es una parte natural del pensamiento, son justamente las que se puede tomar el pensamiento en voz alta como datos. Es decir, si se produce la información verbal mientras alguien efectúa inferencias, o al identificar características sobresalientes de los objetos en una situación, entonces la información obtenida a partir de protocolos contiene informaciones aceptables. Sin embargo, hay otros tipos de tareas, por ejemplo, aquellas que usan en el proceso un Asignatura: Educción de Requisitos
5
lenguaje especial para las partes de la pieza que están describiendo o la sección que actualmente están instanciando, para las cuales el proceso de pensar en voz alta y explicarlo puede ser distorsionante o erróneo. Y, por descontado, hay tareas para las cuales no existe una verbalización natural, las tareas perceptivomotoras son ejemplo de ello. El siguiente ejemplo criptoaritmético es medianamente complejo y muy bien definido, pero servirá didácticamente para mostrar la técnica. DONALD + GERALD -------------ROBERT
Con D=5
El protocolo siguiente, se corresponde al inicio de la resolución del problema por un individuo con experiencia en este tipo de juegos (E: Experto; IR: Ingeniero de requisitos). El registro de la sesión arroja:
E: Yo sé que D vale 5, entonces T es igual a cero pues es la suma de D+D, y tengo un acarreo sobre la segunda columna. Ahora hay un D+G=R y no hay un 1 delante de R, luego G es menor que 5 e incluso menor que 4 si hubiera acarreo en la columna anterior. Yo puedo decir entonces que R es forzosamente mayor o igual a 6. Y tengo también que L+L que vale R y sé que en esa columna hay acarreo. IR: Continúa, por favor. E: Sí, entonces se tiene que I+L+L=R ó I+L+L=10+R. El primer caso, debe ser más fácil de tratar porque eso querría decir que ...2 no sirve ...L=3 y R=7, ó L=4 y R=9. En el segundo caso, se tendría L=4 y R=9, R vale 9 lo que no es posible. De hecho, es el segundo caso el más interesante. Así, se considera que L=8 y R=7, entonces G=2 ó 1, y se tiene así un acarreo sobre la tercera columna, entonces 1+A+A=E...
La transcripción permite segmentarlo y agregar información adicional acerca del comportamiento del individuo mientras resuelve el caso.
Líneas 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Texto D vale 5 Entonces T es igual a 0. Hay un acarreo en la segunda columna. Ahora - hay un D+G, que vale R, Y no hay un 1 delante de R, Luego G es menor que 5, Incluso menor que 4 si hay acarreo sobre esa columna. Se puede decir, entonces, que R es forzosamente mayor o igual a 6. También se tiene que L+L vale R, Y se sabe que en esa columna hay acarreo...
Asignatura: Educción de Requisitos
6
11. 12. 13. 14. 15. 16. ....
Entonces se tiene que I+L+L=R. O, I+L+L=10+R. El primer caso debe ser más fácil de tratar, Porque eso querría decir que ...2 no sirve... L=3 y R=7, O, L=4 y R=9... ....
Posteriormente debe procederse con la codificación del protocolo, la que debe hacerse de la forma más objetiva posible y abstrayéndose del contexto. Lo primero que debe realizarse es identificar el vocabulario utilizado por el experto para designar los conceptos, su tipo, es decir entero, real, lista, tabla, conjunto, etc., las características, las relaciones y los valores. Estos distintos elementos permiten definir los posibles estados del problema. Los objetos aparecen, frecuentemente, en el grupo nominal de la frase, las relaciones en el verbal y los valores en el grupo objeto. •
•
•
Objetos: Letras D, G, R, T, L que son variables simples. o Cifras 0,1,2,...9, que son constantes. o Columnas tal como la 2 y la 6, que se indican por (C2 LLR) y (C6 DGR) o respectivamente, y son constantes. C1 representa la columna más a la derecha. Acarreos sobre las columnas 2 y 6 que se indican por A2 y A6, y que son variables o simples. Relaciones: De igualdad que se indicaran por IG. o De diferencia que se indicará DIF. o De inferioridad en sentido estricto, indicado por INF; de superioridad indicado por o SUP; de superioridad e igualdad, indicado por SUI. De igualdad hipotética indicado por IH. El uso del condicional en “eso querría decir o que” de la línea 14 indica que tiene en mente (A3 IH0). Valores: 0,...9 para las letras o 0 ó 1 para los acarreos o
Además es necesario añadir, a los objetos, los conjuntos de valores posibles bajo condiciones. Por ejemplo: • •
La línea 7 da [(G INF 4) Si (A6=1)] Las líneas 11,15 y 16 dan [(((L IG 3) y (R IG 7)) ó ((L IG 4) y (L IG 9))) si ((1+L+L)IG R)]
Este protocolo indica pues que: •
antes de la línea 1, el estado del problema es (D IG 5),
Asignatura: Educción de Requisitos
7
• •
después de la línea 3, se tiene que: (D IG 5), (T IG 0), (A2 IG 1), después de la línea 16, se tiene que: (D IG 5), (T IG 0), (A2 IG 1), (G INF 5), (R SUI 6), [(G INF 4) si (A6=1)], [(((L IG 3) y (R IG 7)) ó (L IG 4) y (R IG 9))) si ((1+L+L) IG R)]
El razonamiento puede verse como una búsqueda en el espacio de estados posibles del problema, representado en un árbol de decisión. Luego es posible identificar los operadores utilizados en el protocolo. Estos permiten el paso de un estado del problema a otro, Por ejemplo el operador de “asignación” indicado por AS, permite el paso de un estado en el que (A2 es desconocido), a otro en el cual (A2 IG 1): A2 desconocido ---AS----> A2 IG 1 Finalmente debe obtenerse las inferencias, que son reglas de la forma Si Condiciones ENTONCES Acciones. En el ejemplo tendríamos: •
La línea 1,2,3 dan SI (C1 D D T) y (D IG 5) ENTONCES (AS T 0) y (AS A2 1)
5.10. Emparrillado La teoría de la Construcción Personal (Repertory Grid en inglés), fue desarrollada por Kelly en 1955 para tratamientos siquiátricos, se basa en la idea de que cada persona tiene su propio modelo o visión del mundo que le rodea. La técnica estriba en definir un área de interés, esto es, algún aspecto de conocimientos en un dominio. Esta área es descrita en términos de los elementos que lo comprenden. Con independencia de los problemas de interpretación que presenta esta técnica, los emparrillados padecen dos graves inconvenientes. Uno es de carácter ético, pues son, por su naturaleza, extremadamente intrusivos, pero no de una manera obvia. De este modo, los individuos pueden proporcionar información de la que no son conscientes ni están enterados. El segundo inconveniente es que hay que ser muy cuidadosos con la interpretación de la parrilla. Pues, mientras que puede ser muy buena para alumbrar importantes áreas de preocupación o enfoques, con tal de que los elementos hayan sido elegidos con el suficiente cuidado y sean representativos del dominio, es bastante fácil malentender la relativa importancia de lo elementos individuales. Un emparrillado es, esencialmente, un test de clasificación complejo en el cual se decide una lista de elementos en base a un conjunto bipolar de características. Cada característica se define como una dimensión de escala bipolar interna que extrae la similaridad de un conjunto de elementos y la diferencia de este conjunto de elementos de los otros. Los datos generados por cada sujeto se introducen en una tabla bidimensional en la cual hay una columna por cada elemento y una fila por cada característica. Cada intersección fila-columna en la tabla contiene un valor indicando como una característica dada se aplicó a un elemento particular. Asignatura: Educción de Requisitos
8
Generalmente, hay tres estrategias de diseñar la parrilla: dicotómica, es decir, los valores asignados son 0 o 1 dependiendo de si existe o no la característica para cada elemento; clasificatoria, donde se asigna para cada uno de los n elemento un valor entre 1 y n dependiendo del orden lógico que tenga esa característica; y evaluativa asignando un valor entre 1 y m valorando la característica entre dos polos opuestos. La técnica de emparrillado se aplica en cinco etapas: 1. 2. 3. 4. 5.
Identificación de los elementos, Identificación de las características, Diseño de la Parrilla, Formalización, e Interpretación o análisis de resultados.
Para ver estos pasos consideremos una parrilla para diferentes tipos de coches (Ci) y un conjunto de características que los describen.
E1 2 2 4 5 5 4 2 4 1
1.Manejable 2.Deportivo 3.Seguro 4.Habitable 5.Confortable 6.Silencioso 7.Nervioso 8.Bonito 9.Barato
E2 3 2 5 4 5 4 2 2 1
E3 5 2 3 3 4 5 3 3 4
E4 2 1 2 2 1 2 1 3 4
E5 5 5 4 1 3 2 5 4 2
E6 3 2 5 5 5 4 2 2 1
E7 3 3 4 6 4 4 4 4 1
E8 2 1 1 2 1 1 1 2 5
No Manejable No Deportivo Ligero Poco Habitable Inconfortable Ruidoso Pesado Feo Mal precio
Tabla 1. Parrilla evaluada. A partir de la parrilla establecida, se construye una matriz de distancias entre los conceptos. Cada distancia entre conceptos se calcula sumando las diferencias absolutas de los valores de estos conceptos sobre el conjunto de las características. Así, por ejemplo, en la tabla 1, la distancia entre E1 y E2 viene dada por: 1+0+1+1+0+0+0+2+0=5, que, naturalmente, es igual a la distancia entre E2 y E1. Realizando esta operación entre todos los conceptos, se obtiene la matriz de distancias dada por la tabla 2, donde ahora la matriz o parrilla representa distancias entre elementos y no evaluación de elementos según propiedades. E1 E2 E3 E4 E5 E6 E7 E8
E1
Asignatura: Educción de Requisitos
E2 5
E3 13 12
E4 17 18 14
E5 18 19 15 19
E6 4 1
13 19 20
E7 5 8 12 20 13 7
E8 21 20 18 4 23 21 24
9
Tabla 2. Matriz de distancias entre elementos. A partir de esta parrilla, se crea un árbol de acuerdo con una de las convenciones siguientes: distancia mínima, máxima o media. Para realizar la distancia mínima, se usa el procedimiento: 1. Se señalan en la parrilla, enmarcándolos, los elementos de distancia mínima. En el ejemplo, son el E2 y E6 de distancia 1. 2. Esos elementos se remplazan, entonces, en la matriz por el conjunto que forman. En este caso, [E2 , E6]. 3. La distancia de este conjunto con un elemento de la matriz se calcula como, el mínimo de las distancias entre ese elemento y cada uno de los elementos del conjunto. Aquí, por ejemplo la distancia entre [E2 , E6] y E1 es: Min ((E1,E2), (E1,E6))=Min (5,4)=4.
Procediendo de esta forma se obtiene la matriz de la Tabla 3., y se vuelve al paso 1.
[E2 , E6]
E1
E3 12 13
E4 18 17 14
E5 19 18 15 19
E7 7 5 12 20 13
E8 20 21 18
[E2 , E6] 4 E1 E3 E4 4 23 E5 E7 24 E8 Tabla 3. Matriz de distancias mínimas en primera iteración.
A continuación, en la siguiente iteración del procedimiento, se obtendría la matriz dada por la tabla 4., siendo: Min {[(E2 , E6),E1)] , [E4,E8]} = Min {[(E2 , E6),E4] , [(E2 , E6),E8] , [E1,E4] , [E1 , E8]} = {18,20,17,21}= 17.
{[E2 , E6] , E1}
[E4 , E8] 17
E3 12 14
E5 18 19 15
{[E2 , E6] , E1} [E4 , E8] E3 E5 E7 Tabla 4. Matriz de distancias mínimas en primera iteración.
E7 5
20 12 13
Las siguientes iteraciones producirían las matrices: Asignatura: Educción de Requisitos
10
Iteración 3:
{[E2 , E6] , E1 , E7} [E4 , E8] E3 E5
{[E2 , E6] , E1, E7}
[E4 , E8] 17
E3
E5 13 19 15
12
14
Min {E261-48 , E7-48} = {17, 20} = 17 Min {E261-3 , E7-3} = {12, 12} = 12 Min {E261-5 , E7-5} = {18, 13} = 13
Iteración 4:
E2617 , E3 E48 E5
E2617 , E3
E48 14
E5 13
19
Min {E2617-48 , E3-48} = {17, 14} = 14 Min {E2617-5 , E3-5} = {13, 15} = 13
Iteración 5:
E26173 , E5 E48
E26173 , E5
E48 14
Min {E26173-48 , E5-48} = {14, 19} = 14
Finalmente se obtiene {[E2, E6 , E1 , E7 , E3 , E5], [E4 , E8]} que se representa por el árbol ordenado dado por la figura 1. Al analizar los resultados se observa que E2 y E6 aparecen como muy parecidos en la consideración del experto (dado que su distancia es sólo 1). Se distinguen también, dos clases de elementos. La primera compuesta por [E2, E 6 , E 1 , E 7 , E 3 , E 5], y la segunda por [E4 , E 8]. Además en el grupo pueden distinguirse dos subgrupos [E 2, E6 , E1 , E7] y [E3 , E5], puesto que en el primero se Asignatura: Educción de Requisitos
11
encuentran sus elementos a distancias menores de 5, mientras que la distancia del grupo o los elementos del segundo subgrupo es de 7. Para las distancias máxima y media, se usa el mismo procedimiento, pero, en vez de trabajar sobre la distancia mínima, se trabaja, respectivamente, los valores máximos y medios, entre elementos.
Asignatura: Educción de Requisitos
12
14 13 12 11 10 9 8 7 6 5 4 3 2 1 E2
E6
E1
E7
E3
E5
E4
E8
Figura 1. Árbol ordenado de la matriz de distancias de los elementos.
También es posible realizar la clasificación por características. El principio es el mismo que para los elementos, aunque la distancia entre dos características es un poco menos inmediata de calcular. En efecto, se puede llegar a un punto en el que las características estén muy correlacionadas pero aparezcan de manera opuesta en la parrilla. Así, por ejemplo, la característica Barato recibe valores, tanto más altos, cuanto menores sean los valores medios de las otras características. Esto es por que una característica puede ser expresada en forma positiva o negativa. En este caso se procede de la siguiente forma: Para cada par de características (C i, C j), se calculan las dos distancias siguientes: d1(Ci, C j) = la suma sobre todos los elementos de las diferencias absolutas de los valores de Ci y C j. d2(Ci, C j) = d1(Ci, C’ j) siendo C’ j la característica opuesta a C j.
Calculándose la característica C’ j como: C j
1
2
3
4
5
C’ j
5
4
3
2
1
Asignatura: Educción de Requisitos
13
A continuación, se construye la matriz de distancias utilizando la distancia d 1 por encima de la diagonal, y d2 por debajo. Por ejemplo:
E1
E2
E3
E4
E5
E6
E7
E8
Manejable 2
3
5
2
5
3
3
2
No Manejable
Deportivo 2
2
2
1
5
2
3
1
No Deportivo
De donde, la característica opuesta a Deportivo es No Deportivo y los valores resultantes de intercambiar los polos serán:
No Deportivo
4
4
4
5
1
4
3
5
Deportivo
De esta forma:
d1(Manejable, Deportivo) = 0+1+3+1+0+1+0+1 = 7 y d2(Manejable, No Deportivo) = 2+1+1+3+4+1+0+3 = 15
Haciendo esto para todos los elementos, se obtiene la matriz de la tabla 5. Manejable:C1 Deportivo:C2 Seguro:C3 Habitable:C4 Confortable:C5 Silencioso:C6 Nervioso:C7 Bonito:C8 Barato:C9
C1 15 15 12 22 13 17 11 14
C2 7 14 11 14 10 20 14 13
C3 11 12 19 17 18 14 12 3
C4 14 17 7 23 21 11 11 6
C5 13 14 4 7 22 16 14 5
C6 9 14 6 7 6 12 10 9
C7 7 2 10 15 12 12 14 13
C8 9 8 8 11 12 10 6
C9 16 17 23 22 23 19 17 15
11
Tabla 5. Matriz de distancias para las características.
Asignatura: Educción de Requisitos
14
Se construye, entonces, tal y como se ve en la tabla 6, la matriz diagonal superior eligiendo por valor en i, j el más pequeño de los valores entre Mij y M ji. Se toma pues la distancia más significativa.
C1 C1 C2 C3 C4 C5 C6 C7 C8 C9
C2 7
C3 11 12
C4 12 11 7
C5 13 14 4 7
C6 9 10 6 7 6
C7 7 2
10 11 12 12
C8 9 8 8 11 12 10 6
C9 16 13 3 6 5 9 13 11
Tabla 6. Matriz diagonal superior de características.
A continuación se aplica el procedimiento de distancia mínima como para el caso de los elementos, obteniéndose el árbol ordenado de la figura 2.
8 7 6 5 4 3 2 1 C1
C7
C2
C8
C3
C9
C5
C4
C6
Figura 2. Árbol ordenado de características.
En este caso parece que Deportivo y Nervioso están estrechamente ligadas. Lo mismo sucede con Seguro y Caro, pues, en efecto, cuanto más seguro es un coche más caro es. Nótese que es el polo Caro y no el polo Barato el que se une al polo Seguro. Esto es debido a que Barato/Caro ha sido de las características que han cambiado sus valores en el cálculo de las distancias d 1 y d2. De hecho, en la tabla 5, los valores de C9 de la submatriz inferior son menores que los valores de C 9 en la submatriz superior. Finalmente se constata que existe una relación entre Seguro, Caro y Confortable.
Asignatura: Educción de Requisitos
15
Una vez que se han obtenido los árboles, serán herramientas para futuras sesiones donde se corroborarán, refutarán, o matizarán las conclusiones obtenidas con los interesados.
5.11. Tormenta de ideas En esta técnica (Brainstorming) todas las opiniones que llegan a la mente se analizan y estudian en grupo. Una forma de hacerlo es pensar en voz alta, hasta que la imaginación de unos y otros, por inspiraciones sucesivas, haga brotar una nueva idea. Los principios fundamentales de esta técnica son: a) Es preciso explicar todas las ideas sugeridas por el problema planteado de una forma tan libre que la crítica sea eliminada en esa búsqueda colectiva. Es la preselección tanto de las ideas propias como de las ajenas. b) Es aconsejable inspirarse con, y en, las ideas de los demás y mejorarlas sin temor a la ofensa. La discusión de una idea simple, ya emitida, puede transformarla en una idea nueva. c) Se trata, pues, en primer lugar, de buscar una gran cantidad de ideas, la calidad viene más tarde, cuando ya está más avanzado el trabajo de la imaginación. d) En el caso de un problema difícil, el director de la discusión repite las ideas del grupo, bien recordando las ya expuestas o bien buscando la inspiración en las siguientes preguntas: ¿Es posible modificar algo? ¿Es posible añadir? ¿Es posible eliminar? ¿Se puede sustituir un elemento por otro? ¿Es posible combinar elementos entre sí? ¿Se puede tomar la idea en un sentido opuesto? • • • • • •
En la fase de desecho y selección de ideas, se consideran como buenas aquellas que: • •
•
Se pueden poner en funcionamiento inmediatamente. No sobrepasen los límites del marco restrictivo impuesto (presupuesto, tiempo, técnicas, etc.) Sean compatibles con otras ideas ya admitidas para otros aspectos del problema.
La técnica puede generar información de entidades del dominio de alto nivel y restricciones asociadas. En su forma clásica es poco sistemática y puede supeditarse a problemas pensamiento en grupo.
5.12. Técnica Nominal de Grupo Es una forma de estructurar reuniones de pequeños grupos que permiten combinar efectivamente juicios individuales y usarlos en situaciones en que existe incertidumbre o desacuerdo acerca de la
Asignatura: Educción de Requisitos
16
naturaleza del problema y las posibles soluciones. Esta técnica es útil en: identificar problemas, explorar soluciones y establecer prioridades. Básicamente, incluye los cuatro pasos siguientes: 1. 2. 3. 4.
Generación por escrito de ideas. Registro de ideas en la que la petición se hace en círculo (round robin). Discusión secuencial de la lista de ideas. Votación.
Esta técnica reduce efectos negativos del comportamiento en grupo tales como: no participación y conflictos, que pueden surgir por la interacción frente a frente entre miembros del grupo.
5.13. Entrevista de grupo Implica conducir discusiones en áreas relevantes. Las entrevistas constan de las tres etapas siguientes: 1. Establecer la relación con el grupo, estructurar las reglas de interacción del grupo y el conjunto de objetivos. 2. Intentar provocar discusiones intensas y acaloradas en áreas relevantes. 3. Intentar sumarizar las respuestas del grupo para determinar la amplitud del acuerdo.
El proceso de interacción produce un cierto número de potenciales ventajas, entre las que cabe destacar las siguientes: a) Bola de nieve. Cada individuo es capaz de ampliar y refinar sus opiniones en la interacción con los otros miembros del grupo. b) Estimación. Una entrevista de grupo es más excitante y ofrece más estimulación a los participantes que la entrevista estándar. c) Seguridad. La seguridad de estar entre una multitud anima a los miembros del grupo, más retraídos o tímidos, a expresar sus opiniones y sus conocimientos de forma que de otra manera no lo harían. d) Libertad. Los individuos no están sometidos a ningún tipo de presión que condicionar sus respuestas. e) Votación. Esta técnica enfatiza el encontrar una solución de compromiso a un problema. Implica presentar un problema a los individuos y animar a cada uno a que vote sobre soluciones alternativas al mismo. Estas alternativas son clasificadas y evaluadas por el grupo de individuos. La técnica es efectiva sólo si cada individuo se compromete con la decisión del grupo, aunque tenga alguna reserva sobre la misma.
La estructura proporcionada por las metas reduce los problemas de interpretación inherentes a las Entrevistas No Estructuradas y permite al IR prevenir distorsión causada por la subjetividad del individuo. Es más efectiva porque obliga a los entrevistados a ser sistemáticos en atender las tareas de la entrevista. Sin embargo, el moderador puede introducir sesgos en la entrevista por desplazar Asignatura: Educción de Requisitos
17
los tópicos demasiado rápidamente, verbalmente, o, incitar ciertas respuestas, fracasar en cubrir ciertas área, y así sucesivamente. Esta técnica puede usarse para definir el alcance del problema, identificar soluciones alternativas o solicitar soluciones adecuadas. Para que la técnica sea efectiva, el IR debe ser cauto acerca de los posibles efectos de las diferencias de status, rango o experiencia entre los distintos usuarios.
5.14. Método Delphi El método Delphi, es una técnica de predicción cualitativa, cuya filosofía se basa en el establecimiento de previsiones de futuro basadas en las opiniones subjetivas procedentes de un grupo de expertos. El procedimiento consiste en un proceso de retroalimentación de respuestas con el objetivo de obtener un resultado representativo de la opinión del grupo. Este proceso logra una convergencia de las respuestas sobre la importancia y ocurrencia de una serie de sucesos. Caracteriza a esta técnica, el anonimato de las respuestas, lo que contribuye a contestar libremente el cuestionario sin que la opinión de unos individuos pueda influir en los demás. El procedimiento es de la siguiente forma: 1. Se envía el cuestionario a todos los individuos elegidos, a los se les pide, por una parte, que validen las cuestiones y agregue otras, junto con la contestación del formulario. 2. Una vez recogidos los cuestionarios, se tabulan las respuestas con el fin de obtener los resultados representativos del grupo. 3. En una segunda ronda, se vuelve a enviar el cuestionario donde aparecen los principales comentarios de la primera circulación, junto con la contestación obtenida del grupo, representada por la median y la dispersión de opinión mediante el primer y el tercer cuartil. 4. El proceso anterior se repite, si es necesario, para conseguir una mayor convergencia de las respuestas antiguas como las que han aparecido posteriormente.
5.15. Laddering La técnica de grilla escalonada permite construir una jerarquía de conceptos o metas. Partiendo de un “concepto semilla” del dominio, independiente de la posición jerárquica que ocupe, el entrevistador va haciendo preguntas para completar un diagrama del dominio. La pregunta ¿De qué es un ejemplo “concepto semilla”? permite subir en la jerarquía. Para bajar, se puede preguntar ¿Qué es un ejemplo de “concepto semilla”?, y para moverse a través del nivel, el entrevistador puede pedir ¿Cuáles son otros ejemplos de esta clases de elementos de tarea?.
5.16. Observación Participativa Es una técnica tomada prestada de la antropología, en donde se pretende recoger información acerca de una cultura por medio de la participación en los ritos, celebraciones, políticas y sus actividades diarias. Como técnica de educción es utilizada cuando el Ingeniero de Requisitos participa activamente en algunas tareas para conocer las habilidades y conocimientos necesarios para una efectiva realización de tareas. Asignatura: Educción de Requisitos
18
5.17. Prototipado Rápido La creación de un prototipo del sistema software permite facilitar la captura de requisitos de funcionamiento y diseño antes de comprometer recursos. Para ello el dominio debe ser bien conocido por el desarrollador. Otra variante de prototipo es el Storyboarding. Estos son dibujos o pantallas que muestran secuencias típicas o interacciones con el sistema deseado. La desventaja de la técnica es que se gasta considerable tiempo en la construcción de prototipo.
5.18. Focus Group Focus Group puede ser utilizado a lo largo de todo el proceso de Ingeniería de Requisitos. Se refiere, esencialmente, a reuniones grupales donde se anima a la discusión abierta de los individuos en presencia del Ingeniero de Requisitos. La discusión provee al IR del conocimiento acerca de lo que piensan y sienten los individuos acerca de variados aspectos del sistema. Si existe una maqueta de del sistema entonces la sesión puede tomar lugar después que los usuarios han sido expuestos al sistema. IR actuará como moderador pasivo pero facilitará la discusión. Esta técnica puede: • • • •
Facilitar la captura de propuestas de diseño Facilitar consenso sobre conceptos del producto Apoyar a usuarios en el análisis de su propio problema e identificar la necesidad de cambio. Apoyar el desarrollo de un significado compartido del sistema que esta siendo especificado.
5.19. Joint/Rapid Application Design (JAD/RAD) JAD/RAD es un método en donde los que tienen algún interés en el sistema trabajan juntos en una sesión grupal dirigida por un facilitador, para especificar y realizar un desarrollo preliminar de un sistema. En la sesión participan los siguientes roles: • • • • • •
El líder de la sesión (facilitador interno o externo a los interesados) Usuarios representativos Especialistas Analistas Representante de desarrollo, y Directivos.
El plan típico dura cerca de cinco días y el facilitador guía a los participantes de la sesión a través de las siguientes tareas:
Asignatura: Educción de Requisitos
19
• • • • • •
Orientación Definir requisitos de alto nivel Delimitar alcance del sistema Identificar y estimar diseño Conclusiones Documentar resultados
La técnica es popular en el desarrollo de sistemas de información pues mejora la calidad del producto y acelera la captura de requisitos y su construcción, pero requiere mucho tiempo de preparación y ejecución, además de distraer a los usuarios de su trabajo por varios días. Al se un grupo de personas no natural y con diferente status, es posible que se pierdan muchas opiniones.
5.20. Escenarios/Casos de Uso Tanto los escenarios como los casos de uso permiten al trazar una secuencia particular de acciones y eventos que describen una parte del comportamiento del sistema. Los casos de uso representan cada forma diferente en que un actor interactúa con un sistema. En otras palabras, es una descripción de un conjunto de posibles escenarios con un propósito común. Es una descripción en lenguaje natural que ayuda conocer la frontera del sistema y alcance de los requisitos, pero no describe internamente el sistema ni capturan conocimiento del dominio. Para especificar un caso de uso se debe, inicialmente identificar los actores externos al entorno del sistema que interactúan con él. Para cada actor se identifican posibles casos de uso, se describen algunos escenarios concretos para ilustrar los casos de uso, y finalmente se agrupan escenarios similares en un caso de uso si ellos son variaciones sobre un tema. Ejemplo caso de uso:
Nombre: Hacer Pedido Precondición: Un usuario válido ha ingresado al sistema Descripción: 1. El caso de uso comienza cuando el cliente selecciona Hacer Pedido. 2. El cliente ingresa su nombre y dirección. 3. Si el cliente ingresa solamente el código postal, el sistema proveerá la ciudad y el estado. 4. El cliente ingresará códigos de producto de los ítems deseados. 5. El sistema proveerá una descripción del producto y precio por cada ítem. 6. El sistema mostrará la información de los productos ordenados. 7. El cliente ingresará información de pago con tarjeta de crédito. 8. El cliente seleccionará Submit . 9. El sistema verificará esa información, salvará la orden como pendiente, y trasladará información a sistema de contabilidad. 10. Cuando el pago es confirmado, la orden es marcada como Confirmada, un Identificador de Orden es retornado al cliente, y el caso de uso termina.
Asignatura: Educción de Requisitos
20
Excepciones: En el paso 9, si cualquier información es incorrecta, el sistema pedirá al cliente corregir. Postcondición: La orden ha sido grabada en el sistema y marcada Confirmada.
La técnica permite una positiva retroalimentación para pruebas pero la generación de casos puede tomar tiempo.
Asignatura: Educción de Requisitos
21