Documentos de Académico
Documentos de Profesional
Documentos de Cultura
05 Diseno
05 Diseno
1 El diseo
ltima modificacin: 02/05/2002
Objetivos
Introduccin
1 Anlisis centrado en el usuario
2 Ciclo de vida de la interfaz de usuario
3 Aproximaciones al diseo
4 Anlisis de tareas
5 Modelos arquitectnicos
6 Modelos abstractos
7 Estrategia de diseo
Conclusiones
Referencias
Bibliografa
Enlaces interesantes
Objetivos
Objetivos a conseguir
Conocer el proceso de diseo de sistemas interactivos
Estudiar notaciones y mtodos para el anlisis de la interfaz de usuario
Conocer y aplicar anlisis de tareas
Introducir conceptos de diseo orientado a objetos
Analizar estrategias de diseo
Introduccin
Los sistemas interactivos se caracteriza por la importancia del dilogo con el
usuario. La interfaz de usuario es por tanto, una parte fundamental en el proceso
de desarrollo de cualquier aplicacin y por tanto se tiene que tener en cuenta su
diseo desde el principio. La interfaz es la parte (hardware y software) del sistema
informtico que facilita al usuario el acceso a los recursos del ordenador. En este
sentido, THIMBLEBY [THI90] sugiere que la interfaz determinar en gran medida la
percepcin e impresin que el usuario poseer de la aplicacin. El usuario no est
interesado en la estructura interna de la aplicacin, sino en cmo usarla. No se
puede realizar la especificacin, disear las funciones y estructuras de datos y
escribir el cdigo y una vez casi terminado el proceso de desarrollo de la aplicacin
plantearse el diseo de la interfaz de usuario. Siguiendo esta forma de trabajo lo
mas seguro es que se obtengan diseos de interfaces muy dependientes de los
diseos que se han realizado de las datos y de las funciones, sin tener en cuenta
que esos datos han de ser obtenidos y representados por y para el usuario.
Una vez tenemos hecha la especificacin, propuesto un diseo y el cdigo est
implantado, es muy difcil cambiar las caractersticas de la interaccin y presentacin de
la informacin, excepto pequeas cosas. Por tanto, deberemos empezar con un idea
clara de cmo queremos la interfaz y como sern las interacciones con el usuario para
despus, desarrollar las especificaciones funcionales que sirvan de gua al diseo
posterior.
En el desarrollo de aplicaciones interactivas se podrn aplicar las tcnicas de la
ingeniera de software, pero teniendo en cuenta que hemos de modificar algunos
aspectos de los mtodos de diseo clsico para adaptarlos a las peculiaridades de
estos sistemas. Hay que tener en cuenta que un aspecto fundamental es el
anlisis y diseo de la parte interactiva, y que para realizarlo, necesitaremos
aplicar de tcnicas de anlisis y diseo especficas.
El desarrollo de un sistema interactivo deber tener en cuenta a los participantes
que van a intervenir en el mismo: el usuario, que posee la capacidad de eleccin
y actuacin, la computadora, que ofrece un programa y mecanismos para su
acceso, y el diseador, el encargado de anticipar las posibles acciones del usuario
y codificarlas en el programa. Todo ello se articula a travs de la interfaz de
Usuario de la aplicacin.
Diseador
IU
Usuario
Computadora
El diseo 5
Los usuarios
En primer lugar, a la hora de disear el sistema, deberemos tener en cuenta las
peculiaridades de los usuarios potenciales del mismo. Esta necesidad de incorporar
el factor humano en el diseo viene dada por el reconocimiento del mal diseo que
se ha hecho en gran cantidad de aplicaciones y el deseo de crear productos que
ayuden de forma efectiva al usuario. Adems, la caractersticas de los usuarios
pueden afectar al modo de trabajo y condicionar el proceso de comunicacin con el
sistema. Por ejemplo, los factores humanos pueden condicionar el tiempo de
aprendizaje, el rendimiento (tiempo para realizar una tarea), la frecuencia de
errores cometidos, grado de retencin (memoria de uso) o de satisfaccin del
usuario. A la hora de disear la aplicacin, se puede realizar por encargo directo
(por lo que existe un cliente), o bien, dirigirlo a un colectivo ms o menos amplio
de potenciales usuarios (nios, profesionales, estudiantes, etc.).
El anlisis del usuario implica conocer aspectos tales como:
Habilidades fsicas y sensoriales. Estas habilidades determinarn en
gran medida la adaptacin del entorno de trabajo a las caractersticas del
usuario (tamao de los botones, tipo de dispositivos, etc.). Podemos
encontrar casos en los que el diseo debe ser preferentemente
ergonmico por las limitaciones en movilidad de los usuarios, como por
ejemplo, la discapacidad por parlisis cerebral, o tener en cuenta
pequeas alteraciones como por ejemplo el daltonismo (ver captulo
Accesibilidad).
Habilidades cognitivas. Estas diferencias en la capacidad de
razonamiento y conocimiento estn motivadas por el grado de experiencia
que posee el usuario tanto de su propio trabajo como del uso del
ordenador como herramienta. Podemos tener una gran variedad de
usuarios desde los expertos a los noveles, usuarios cotidianos u
ocasionales, motivados o no, etc.
Diferencias de personalidad. Las diferencias en la personalidad puede
provocar alteraciones en la propia comunicacin. As, personas tmidas
tendrn un comportamiento ms cauto y prudente ante el ordenador que
una persona extrovertida y nerviosa.
Diferenciacin cultural. Tambin podemos encontrar diferencias
motivadas por el entorno sociocultural donde se encuentra el usuario,
que puede afectar al lenguaje utilizado, expresiones y terminologa, modo
de trabajar, etc. (ver captulo Internacionalizacin)
Este conjunto de caractersticas relevantes de los usuarios sern de gran ayuda en
las etapas posteriores de diseo. Para ello, podemos partir de una tabla en la cual
se recoja los distintos tipos de usuarios (secretaria, director, tcnico..) y sus
caractersticas relevantes (grado de utilizacin del sistema, nivel de experiencia,
etc.).
6 La interaccin persona-ordenador
Las tareas
Otro factor importante a tener en cuenta en el diseo son las tareas que realizan
los usuarios. Nuestra forma de actuar est dirigida por objetivos (goals) como se
recoge en el modelo de NORMAN (ver captulo El factor humano). Para lograr ese
objetivo (por ejemplo comer), debemos llevar a cabo una serie de actividades
(encender, coger, poner...) sobre unos objetos (microondas, pizza, temporizador...)
encaminadas a lograr ese objetivo. A la hora de realizar estas tareas mediante un
sistema interactivo deberemos tener en cuenta que sigan siendo familiares al
usuario, es decir, la forma de llevarlas a cabo, su representacin as como la
secuencia de acciones debe ser similar a la que realiza en el entorno real. Si esto
no se satisface, el usuario requerir un esfuerzo adicional para comprender las
tareas que realiza cotidianamente.
El escenario
Las personas no realizan su trabajo de forma aislada, sino que se ven
condicionadas por el escenario donde se desempea esta labor. Los aspectos ms
relevante a tener en cuenta son:
Entorno fsico. El entorno es fundamental para poder trabajar.
Deberemos prestar atencin a las caractersticas ergonmicas del mismo
(tipo de ubicacin, iluminacin, espacio, etc.) as como las peculiaridades
del entorno (ruido, polucin, calor, etc.). Puede haber casos de especial
importancia como sitios de alto riesgo (central nuclear) o condiciones
extremas (submarino, aeronave..)
Entorno social. El entorno social implica el trabajo dentro de un grupo
donde existen unas normas de comportamiento. Podemos encontrar
situaciones en las cuales pueda haber cooperacin para el trabajo (ayuda),
compartir datos o recursos, dependencias jerrquicas, etc.
Algunas de estas caractersticas pueden condicionar el diseo, ya que un trabajo
en equipo fuertemente acoplado (con alto nivel de cooperacin y comparticin de
datos) requerir de una aplicacin groupware para trabajo en grupo (ver captulo
Trabajo cooperativo con ordenador).
El diseo 7
Las primeras interfaces las realizaban los propios programadores para los
programas que ellos mismos utilizaban. Sin embargo, los diseos deben ir dirigidos
a usuarios con diferentes habilidades, y no necesariamente tienen que ser
expertos en informtica. Los ordenadores son herramientas con las cuales las
personas pueden realizar sus tareas, por lo que deberemos tener esto en cuenta a
la hora del diseo, ya que si el usuario percibe que algo es difcil de usar, cometer
errores, o bien no realizar la tarea adecuadamente. Para que esto no suceda, es
muy importante basar el diseo del sistema sobre aquellos conceptos que maneja
el usuario y fundamentarse sobre criterios consistentes y fundamentos tericos y
no en meros juicios intuitivos.
Un buen diseo depende del conocimiento (fundamentos) y experiencia de los
diseadores. Esta informacin se puede organizar y estructurar para que pueda
servir a otros diseadores. Podemos disponer de varias fuentes de informacin con
diferente grado de rigor y normativa, entre las que podemos destacar:
Principios. Son objetivos generales que pueden ser tiles para organizar
el diseo. Aconsejan al diseador cmo debe proceder. Sin embargo, no se
especifican mtodos para obtener esos objetivos, y est limitado al uso
prctico (por ejemplo: conocer al usuario, minimizar el esfuerzo para
realizar una tarea, mantener la consistencia, etc.).
Guas (guidelines). Conjunto de recomendaciones que deben ser
aplicados a la interfaz y que son cuantificables. Deben ser generales para
que puedan ser aplicadas en diferentes contextos. Pueden deducirse de
teoras cognitivas, ergonoma, sociologa, de la experiencia etc. (por
ejemplo, no disponer mas de siete tems en un men).
Estndares. Son principios y guas que se deben seguir por imposicin
industrial. Existen estndares de facto (Macintosh Toolbook, MS Windows,
IBM SAA/CUA). Estos estndares se disean para proteger la uniformidad
8 La interaccin persona-ordenador
y la lnea de productos desarrollados. Con ello, mejoran la eficiencia del
usuario (beneficio de una interfaz comn para muchos programas).
Existen otros estndares en otros mbitos: ANSI, ISO, DIN, MILSTD,
NASASTD.
Este conocimiento puede ayudar en el diseo, aunque sin embargo no es
suficiente, por lo que deberemos partir de los requisitos del sistema, conocimiento
del usuario y aplicar una metodologa para un desarrollo efectivo del sistema.
Deberemos aplicar tcnicas de anlisis y especificacin para la descripcin de
aquellos aspectos que sean relevantes dentro del sistema.
Un diseo centrado en el usuario requiere de una continua evaluacin del producto
a desarrollar. Por este motivo, cobran gran importancia los siguientes aspectos:
Mtodos formales. Permiten una especificacin precisa y sin ambigedad
del diseo a generar. Permite una verificacin formal de propiedades y en
algunos casos se puede generar la implementacin automticamente.
Herramientas de desarrollo de interfaces modelados (MBUID).
Estas herramientas obtienen el interfaz a partir del anlisis de los
requisitos de usuario. Su labor fundamental es la generacin de
aplicaciones a partir del diseo aunque tambin se pueden considerar
como herramientas de prototipado. Actualmente los lenguajes de
programacin visuales tambin disponen de libreras (ej. AWT en Java)
que permiten implementar las tcnicas de interaccin y presentacin de la
informacin. (ver captulo Herramientas).
Prototipado. Los prototipos son documentos, diseos o sistemas que
simulan o tienen implementadas partes del sistema final. El prototipo es
una herramienta muy til para hacer participar al usuario en el desarrollo
y poder evaluar el producto ya en las primeras fases del diseo (modelo
del ciclo de vida basado en prototipos).
No obstante, el desarrollo de sistemas interactivos sigue siendo una labor difcil y
con un alto coste en tiempo y esfuerzo. Un motivo de esta complejidad es por la
necesidad de adaptar el diseo a una gran variedad de usuarios, a diferentes
cometidos y sobre diferentes contextos.
Aproximaciones al diseo
El desarrollo de Sistemas Interactivos es una tarea compleja para la cual
necesitaremos de herramientas y metodologas que nos permitan realizar un
diseo satisfactorio centrado en el usuario. Existen dos aproximaciones para
realizar el diseo:
Aproximacin emprica. El diseo se basa en la propia experiencia del
diseador o bien en la de otros diseadores que se recoge mediante
compendios de recomendaciones (guas, reglas de oro, estndares, etc.)
ms o menos relevantes para la construccin de un interfaz con xito.
Estos resultados generalmente estn avalados por unos estudios de
evaluacin por el usuario (tests de usabilidad).
Aproximacin metodolgica. Se basa en unos fundamentos tericos y
en la aplicacin de una serie de pasos para la realizacin del diseo.
La aproximacin metodolgica posee bastantes aportaciones de otras disciplinas,
sobre todo de las teoras cognitivas ya que aportan mecanismos para la descripcin
del conocimiento que el usuario posee del sistema. De hecho, la aproximacin
emprica se basa en las aportaciones ms relevantes (enunciadas como reglas de
diseo) de las aportaciones tericas (ver captulo Estndares y guas). En este
captulo nos centraremos en una aproximacin metodolgica para el desarrollo de
El diseo 9
10 La interaccin persona-ordenador
2)
3)
4)
ejecutar la accin,
5)
6)
7)
Este modelo proporciona una base para representar y entender las consecuencias
cognitivas de diseos particulares.
El diseo 11
12 La interaccin persona-ordenador
producen en el sistema, y sin tener en cuenta su estructura interna. El modelo PIE
propuesto por A. DIX [DIX91] es el ms conocido.
Estos tres modelos no tienen por qu ser excluyentes entre s, ya que bsicamente
se diferencian los aspectos relevantes del estudio y en el nivel de abstraccin con
el que se analiza el sistema.
Anlisis de tareas
Introduccin
El anlisis de tareas es un trmino que cubre diferentes tcnicas orientadas a
describir las interacciones entre las personas y los entornos de una manera
sistemtica. El anlisis de tareas se puede definir como el estudio de lo que un
usuario tiene que realizar en trminos de acciones y/o procesos cognitivos para
conseguir un objetivo. Es por tanto una metodologa que esta soportada por un
conjunto de tcnicas para ayudar en el proceso analtico de recogida de
informacin, organizarlo y usarlo para realizar valoraciones o decisiones de diseo.
Conceptos iniciales:
Una de las premisas de cualquier aproximacin con la que abordemos el
diseo es la de conocer el usuario y las actividades que realiza.
Esta informacin se recoge en la fase de anlisis de las tareas con una
notacin que permita su formalizacin y estudio.
Para ello, consideraremos una tarea como una unidad significativa de
trabajo en la actividad de una persona.
El anlisis de tareas nos proporciona informacin muy relevante acerca del sistema
a disear que a menudo no se recoge con las tcnicas de requisitos tradicionales
de la ingeniera del software. Dentro del proceso de anlisis de tareas, hay dos
fases muy importantes:
Obtencin de la informacin necesaria para comprender las actividades
que realiza el usuario (fase de anlisis)
Representacin de esta informacin sobre un modelo adecuado (fase de
modelado)
Mediante estos pasos, se obtiene una descripcin formal del conjunto de acciones
que debe realizar el usuario para la consecucin de un determinado objetivo o
finalidad. Estos mtodos parten de las teoras cognitivas para realizar una
representacin del usuario y su interaccin con la interfaz. Se modela su
comprensin, conocimiento, intenciones y mecanismo de procesamiento. El nivel
de representacin depende del modelo concreto (desde tareas y objetivos hasta el
anlisis de la actividades motoras). En concreto, esta informacin puede ser muy
til para:
Comprender el dominio de la aplicacin: identificacin de las actividades
ms importantes y sus relaciones.
Facilitar discusiones interdisciplinares: el conocimiento de las tareas puede
ser til al diseador, usuarios, analistas, psiclogos, socilogos, etc.
Diseo de la nueva aplicacin de forma consistente con el actual modelo
conceptual, preservando las caractersticas ms relevantes del
funcionamiento lgico.
Anlisis y evaluacin de usabilidad. Se puede predecir el rendimiento
humano e para identificar problemas de uso.
Definiciones bsicas:
El diseo 13
14 La interaccin persona-ordenador
el usuario para
comportamiento.
su
ejecucin.
Anlisis
centrado
en
rutinas
de
Tipo
Notaci
n
Especificacin
Comentarios
HTA
Cognitivo
Grfico
SemiInformal
Modelo de descomposicin
del conocimiento
GOMS
Cognitivo
Textual
SemiInformal
UAN
Cognitivo
Grfico
SemiInformal
KLM
Predictivo
Textual
Tiempo
Medicin
humano
TAG
Predictivo
Textual
Esquemas
Medida de la consistencia
CTT
Descriptivo Grfico
Lgica temporal
Herramientas de soporte al
anlisis y verificacin.
del
rendimiento
El diseo 15
Secuencia de Tareas
Seleccin de Tareas
*
Iteracin de Tareas
Tarea Unitaria
0. Hacer t
1. Calentar el agua
1.1 Llenar cazo
1.2 Encender fuego
1.3 Poner cazo en fuego
1.4 Esperar
1.5 Apagar fuego
2. Vaciar tetera
3. Poner hojas de t en tetera
4. Verter el agua
5. Esperar
6. Servir el t
Plan 0: hacer 1.
si tetera est llena,
entonces hacer 2 al mismo tiempo
hacer 3-4-5
Cuando el t ha reposado, hacer 6
Plan 1: hacer 1.1-1.2-1.3-1.4
16 La interaccin persona-ordenador
Cuando el agua est hirviendo, hacer 1.5
El anlisis de la informacin es la fase final. Usaremos esta informacin como base
para decisiones de diseo y puede servir como gua para las actividades de diseo.
La metodologa para utilizar HTA como anlisis de tareas sera la siguiente:
Etapa inicial. Definicin de las tarea principal, que puede ser dividida entre
cuatro y ocho subtareas.
Etapa intermedia. Decidir el nivel de detalle que se requiere y en que
punto acabar la descomposicin
Parte final. Revisin y evaluacin del trabajo realizado para comprobar su
consistencia
GOMS
GOMS (propuesto por CARD/MORAN [CAR83]) comprende a una familia de lenguajes
(que incluye a NGOMSL, KLM) que se basan en la visin del usuario como un
sistema procesador de informacin (modelo de procesador humano) [EBE94]. El
modelo GOMS se basa en el mecanismo de razonamiento humano para la
resolucin de problemas y realiza la formalizacin de aquellas actividades (fsicas y
mentales) que intervienen en esa labor. Para cada tarea se describe el objetivo a
satisfacer (Goal), el conjunto de operaciones (Operations) que el sistema pone a
disposicin del usuario para la interaccin, los mtodos disponibles para llevar a
cabo esas operaciones (Methods) y por ltimo, un conjunto de reglas de seleccin
(Selection) para determinar la alternativa ms conveniente en cada caso (descritas
mediante estructuras de control ifthen). Cada tarea se podra descomponer en
otras tareas primitivas formando un rbol jerrquico.
Los objetivos son las metas que se propone el usuario (lo que desea obtener). Los
objetivos pueden servir como un punto de referencia en caso de un error. Un
objetivo contiene informacin de la intencin del usuario. Para ello, debe realizar
una serie de operaciones bsicas. Las operaciones son unidades elementales de
percepcin, motoras o actos cognitivos cuya ejecucin es necesaria para cambiar
algn aspecto del modelo mental del usuario, o bien, para modificar el entorno.
Este tipo de acciones puede afectar al sistema (pulsar una tecla) o bien, slo al
estado mental del usuario (leer el cuadro de dilogo). Existe un grado de
flexibilidad acerca de la granularidad de las operaciones (amplitud de cada
operacin). Para llevar a cabo estas operaciones, existen varias posibilidades de
descomposicin de una tarea en subtareas. Por ejemplo, en un gestor de ventanas,
se puede cerrar la ventana mediante ratn en un men o teclado (atajo). Cada
una de estas posibilidades ser un mtodo.
GOAL: CERRAR-VENTANA
[select GOAL: USAR-METODO-RATON
MOVER-RATON-A-MENU-VENTANA
ABRIR- MENU
CLICK-SOBRE-OPCION-CERRAR
GOAL: USAR-METODO-TECLADO
PULSAR-TECLAS-ALT-F4]
Cuando hay ms de una alternativa, podemos indicar una serie de condiciones y
reglas para tomar la mejor alternativa (mtodo):
METHODS:
TECLADO
IF
(USUARIO-EXPERTO)USAR-METODO-
ELSE USAR-METODO-RATON]
Podemos descomponer los objetivos en subobjetivos.
GOAL: EDITAR-DOCUMENTO
GOAL: ABRIR-DOCUMENTO
El diseo 17
El modelo GOMS fue uno de los primeros mtodos utilizados para el diseo de
interfaces de usuario, teniendo gran repercusin en investigaciones posteriores.
Permite describir cmo un experto realiza tareas y las descompone en subtareas.
Sin embargo, una de sus puntos dbiles es que slo considera comportamientos
sin errores y tareas secuenciales.
KLM
Uno de los modelo GOMS ms simple es el KLM (KeyStroke Level Mode), que
simplifica el conjunto de operaciones disponibles a la pulsacin de teclas y
movimiento de ratn. Esta simplificacin permite obtener predicciones del tiempo
que una persona emplear para la realizacin de una tarea.
Estas mediciones parten de unos valores experimentales que determinan
mediciones concretas para la realizacin de actividades elementales. A partir de
estos resultados experimentales, se puede deducir que por trmino medio:
18 La interaccin persona-ordenador
El tiempo de planificacin de una tarea se puede estimar que dura 2-3
seg. si ya est definida, y de 5 a 30 seg. si hay que pensarla.
El tiempo de respuesta del usuario para una accin vara notablemente
segn el tipo de dispositivo y de la destreza del usuario. Podramos crear
una tabla donde aparecen las operaciones ms usuales sobre los
dispositivos (pulsar tecla, mover ratn, etc.) y su tiempo en funcin de las
habilidades del usuario.
Operador
Descripcin
Segundos
K
Pulsacin de teclado:
Buen mecangrafo (135 ppm)
0.08
Habilidoso (90ppm)
0.12
Normal (40ppm)
0.28
Malo
1.20
P
Apuntar con el ratn
1.10
H
Ubicar las manos en teclado
0.40
D(ND,ID)
Dibujar un trazo
0.9ND+.016I D
(N: n segmentos, I: longitud)
M
Preparacin mental
1.35
Por ejemplo, podemos comparar el tiempo de respuesta entre el diseo de dos
mens con mucha profundidad o con mucha ramificacin. En un men basado en
ordenes numeradas (16 opciones). Partiendo de las siguientes hiptesis:
Opciones con igual probabilidad
Usuario experto mecangrafo
Podramos concluir con la siguiente medicin. Una seleccin de un men por su
posicin (1-16) necesitara de los siguientes operadores:
Operador M para buscar y visualizar el men
Uno o dos operadores K para introducir el nmero de tem + 1K (pulsacin
de tecla ENTER)
M + K (1er dgito) + 0.44K * (2 dgito) + K (Enter)
1.35 + 0.20 + 0.44(0.20) + 0.20 = 1.84 seg.
*
Se puede comparar con la utilizacin del ratn para la eleccin del men. Para ello
bastarn los siguientes operadores:
M + P + K (click ratn)
1,35 + 1.10 + 0.20 = 2.65 seg.
Como vemos, KLM para este caso podra predecir que la seleccin por teclado sera
ms rpida (efectiva) que la seleccin por men.
Se puede utilizar para analizar igualmente el balanceo de los mens (profundidad),
selecciones de elementos por identificador o apuntando, etc. Otra utilidad que
posee este mtodo es la de hacer explcito el conocimiento implcito que debe
poseer el usuario acerca del sistema.
TAG
Este es otro tipo de formalismo para representar el conocimiento del usuario. TAG
(Task Action Grammar) describe el conocimiento del usuario para realizar una
determinada tarea en base a una gramtica con caractersticas [HAR90]. El
conocimiento que posee el usuario del tipo "como puedo hacer..." se puede
expresar mediante un esquema que engloba a un conjunto de reglas individuales.
Un esquema estar formado por una estructura sintctica definida a partir de un
conjunto de caractersticas. Las caractersticas (features) son atributos que definen
la semntica de la tarea. La tareas que tenga estructuras sintcticas diferentes
El diseo 19
20 La interaccin persona-ordenador
tarea[obj_ant=fichero, obj_nuevo=vacio, cambio=no] := "delete"
param1[obj_ant=vacio] := NULL
param1[obj_ant =fichero] := drive-id + "nombre_fichero"
param1[obj_ant=disco] := drive-id
param2[obj_nuevo=vacio] := NULL
param2[obj_nuevo =fichero] := drive-id + "nombre_fichero"
param2[obj_nuevo=disco] := drive-id
drive-id := NULL | "A:" | " "B:" | "C:" | ...
TAG no realiza predicciones absolutas de rendimiento. Mas bien, se puede utilizar
para generar hiptesis que deben ser probadas experimentalmente.
TAG se ha utilizado para medir la consistencia de lenguajes de rdenes (UNIX,
MSDOS), aunque tambin se puede generalizar para acciones de manipulacin
directa, ubicacin de rdenes en mens, etc.
Consistente
copy src_file target_file
rename src_file target_file
delete src_file
Inconsistente
copy src_file target_file
rename target_file in src_file
make src_file deleted
UAN
Las tcnicas basadas en gramticas no resultan adecuadas para la descripcin de
la interaccin en interfaces grficas de usuario basadas en el paradigma de
manipulacin directa ya que no permiten describir la realimentacin visual
(feedback) del sistema. A esto se une la dificultad de especificar tareas basadas en
el arrastre de iconos ya que su semntica depende del lugar donde se suelte. En
este sentido, UAN (User Action Notation) es una notacin centrada en el usuario
para descripcin de tareas. Su principal caracterstica es la descripcin fsica de las
acciones a realizar en el proceso de interaccin [HAR95].
Una especificacin en UAN se realiza mediante una tabla dividida en 3 columnas
describiendo las acciones de usuario, la realimentacin de la interfaz y el estado
del sistema tras la accin. Las acciones de usuario y la realimentacin poseen una
notacin donde explcitamente se designa la manipulacin que se realiza sobre los
objetos de la interfaz. As por ejemplo, las acciones Mv y M^ denotan el efecto de
pulsar y soltar el botn del ratn, ~[fichero] representa el movimiento del ratn
en el contexto del objeto fichero mientras que fichero > ~ significa que el objeto
fichero se est arrastrando. Del mismo modo podemos especificar la respuesta del
sistema (feedback) para cada accin tales como la una seleccin en vdeo inverso
de un icono (fichero!), vdeo normal (fichero-!), o un parpadeo (fichero!!). La
siguiente descripcin especifica la tarea de borrar un fichero mediante tcnicas de
arrastre.
UAN
1) ~[fich] Mv
2) ~[x,y]*
Realimentacin
fich!, forall(fich!): fich-!
outline(fich) > ~
Estado
Seleccin = fich
El diseo 21
3) ~[papelera]
4) M^
Seleccin = null
ConcurTaskTrees (CTT)
CTT es una notacin desarrollada por FABIO PATERN [PAT00] cuyo principal
finalidad es la de poder representar las relaciones temporales existentes entre las
actividades y usuarios que son necesarios para llevar a cabo en las tareas. En
concreto, esta notacin es especialmente til para aplicaciones CSCW (ver captulo
Trabajo cooperativo con ordenador).
Una de las principales ventajas de esta notacin es su facilidad de uso, lo que hace
que sea aplicable a proyectos reales con aplicaciones de un tamao mediolargo y
que con llevan especificaciones de cierta complejidad. La notacin genera una
representacin grfica en forma de rbol de la descomposicin jerrquica de las
tareas existentes en el sistema. Se permite la utilizacin de un conjunto de
operadores, sacados de la notacin de LOTOS, para describir las relaciones
temporales entre tareas (secuencialidad, concurrencia, recursin, iteracin...)
Podemos reutilizar partes de especificacin para la creacin de rboles de tareas
concurrentes e identificarlo como un patrn de tarea. Podemos identificar 4
categoras de tareas en funcin del actor que la llevar a cabo.
Tareas del usuario. Tareas realizadas completamente por el usuario, son
tareas cognitivas o fsicas que no interactan con el sistema. Describen
procesos realizados por el usuario usando la informacin que recibe del
entorno (por ejemplo seleccionar dentro de un conjunto de informacin
la que se necesita en un instante determinado para la realizacin de otra
tarea).
Tareas de la aplicacin. Tareas realizadas por la aplicacin y activadas
realizadas por la propia aplicacin. Pueden obtener informacin interna
del sistema o producir informacin hacia el usuario. Como ejemplo
podemos ver una tarea que presente los resultados obtenidos de una
consulta a una base de datos.
Tareas de interaccin. Son tareas que realiza el usuario interactuando
con la aplicacin por medio de alguna tcnica de interaccin. Un ejemplo
22 La interaccin persona-ordenador
puede ser seleccionar un elemento de una lista desplegable.
Tareas Abstractas . Tareas que requieren acciones complejas y que por
ello no es fcil decidir donde se van a realizar exactamente. Son tareas
que van a ser descompuestas en un conjunto de nuevas subtareas.
Para la descripcin se utilizan adems una serie de operadores temporales que
facilitan la descripcin de las relaciones temporales existentes entre tareas. Estos
operadores se han obtenido como una extensin de los operadores existentes en
LOTOS [EIJ89]. El uso de estos operadores facilita la descripcin de
comportamientos complejos. Los operadores temporales que podemos usar son:
T1 ||| T2. Entrelazado (Concurrencia independiente). Las acciones de las dos
tareas pueden realizarse en cualquier orden.
T1 |[]| T2. Sincronizacin (Concurrencia con intercambio de Informacin). Las
dos tareas tiene que sincronizarse en alguna de sus acciones para intercambiar
informacin.
T1 >> T2. Activar (enabling). Cuando termina la T1 se activa la T2. Las dos
tareas se realizan deforma secuencial.
T1 []>> T2. Activar con paso de informacin. Cuando termina T1 genera algn
valor que se pasa a T2 antes de ser activada.
T1 [] T2. Eleccin. Seleccin alternativa entre dos tareas. Una vez que se esta
realizando una de ellas la otra no esta disponible al menos hasta que termine la
que esta activa.
T1 [> T2. Desactivacin. Cuando se da la primera accin de T2, la tarea T1 se
desactiva.
T1 [][> T2. Desactivacin con paso de informacin. Igual que la anterior pero
pasando informacin de una tarea a la otra.
T1*. Iteracin. La tarea T1 se realiza de forma repetitiva. Se estar realizando
hasta que otra tarea la desactive.
T1(n). Iteracin finita. La tarea T1 puede darse n veces. Se utiliza cuando el
diseador conoce cuantas veces tiene que realizarse la tarea.
[T1]. Tarea opcional. No es obligatorio que se realice la tarea. Cuando describimos
las subtareas existente en la tarea de rellenar un formulario algunas de las
subtareas pueden ser opcionales (las de los campos que sean opcionales).
A la descripcin jerrquica de las tareas se le aade la descripcin de los objetos
que son manipulados por las distintas tareas. Estos objetos pueden clasificarse en
dos grupos:
Objetos perceptibles. Son objetos grficos que sirven para presentar
informacin al usuario (ventanas, tablas, grficos...) o elementos sobre los
que el usuario puede interactuar (mens, iconos...).
Objetos de aplicacin. Elementos que pertenecen al dominio de la
aplicacin. La informacin que almacenan estos objetos tiene que ser
mapeada a alguno de los otros para poder ser percibida por el usuario.
Cada objeto puede ser manipulado por mas de una tarea. Como ejemplo de
especificacin utilizando los ConcurTaskTrees podemos ver una parte de una
aplicacin para acceder a informacin sobre un museo. En la Figura 8 se muestra
el modo de introducir la informacin por parte del usuario sobre el tipo de artista
que est buscando y el sistema le presenta la informacin asociada a el.
El diseo 23
Acceso_Museo_virtual
Acceso_Info_Museo
Cerrar
[>
>>
Tarea de Usuario
Tarea Interactiva
Tarea de Aplicacin
Tarea Abstracta
[] >>
Selecc_Tipo_Arte Selecc_adicional
[>
Acceso_Info_Artista
Cerra_Selec_Artista
[]
Selecc_Periodo Selecc_Lista_Alfabetica
>>
[] >>
>>
[>
Mostrar_lista_Artistas
Mostrar_Tarjeta_Info
Cerra_Info_Artistas
Selecc_Artista
Acceso_Info_Artista
Figura 8 Tarea de acceso a un museo mediante CTT
Modelos arquitectnicos
Los modelos arquitectnicos son una alternativa (en algunos casos
complementaria) para la representacin de sistemas interactivos. En este caso, se
pretende obtener un modelo del sistema a desarrollar, centrndose en los aspectos
computacionales bsicos en los que debe estar basado.
24 La interaccin persona-ordenador
Los primeros modelos que se proponen en este sentido son para describir el
sistema interactivo en su conjunto recogiendo sus caractersticas esenciales. Si
bien los primeros modelos como Seeheim o ARCH se centraban en aspectos
funcionales, las ltimas propuestas definen una arquitectura modular basada en
componentes como MVC o PAC. Tambin podemos encontrar propuestas
encaminadas hacia un diseo basado en modelos concretos del sistema con
herramientas para su obtencin automtica como puede ser MOBID, HUMANOID,
etc. (ver captulo Herramientas).
Los aspectos ms relevantes de estas propuestas se centran en la modelizacin de
los componentes interactivos (estructura) y mecanismo de interaccin (dilogo).
acciones
estado
presentacin
El diseo 25
Collection
Control
Feedback
Measure
26 La interaccin persona-ordenador
LOTOS (y en general todos los mtodos basados en lgebra de procesos) es que
explicitan todas las sincronizaciones que aparecen en un sistema interactivo.
Se han desarrollado metodologas para disear sistemas interactivos utilizando los
interadores en las que se describen las posibles formas de interconectarlos para
describir interacciones complejas.
En la siguiente imagen podemos ver como se interconectaran tres interadores
para describir parte de un sistema en el que se van a utilizan iconos para
representar objetos como ficheros, directorios y unidades de disco. El usuario
puede manipular los iconos por medio del ratn y puede modificar el estado de los
iconos usando tambin entradas de un men.
Se pueden utilizar otros formalismos para la descripcin de interadores como por
ejemplo la lgica temporal. En [DUK95] se realiza una combinacin de un modelo
de interador con lgica. Los axiomas se especifican en lgica modal de acciones
(MAL), de forma que, junto a los predicados basados en lgica de primer orden, se
extiende con un conjunto de operadores modales, que controlan las acciones que
se pueden provocar en el sistema. MAL incluye el concepto de agentes (humanos y
ordenador) y las responsabilidades mutuas entre ellos. Los operadores usuales son
el permiso (per) y la obligacin (obl) bajo un paradigma deontolgico.
Figura 12 Red de interadores para controlar iconos
enabled
Podemos encontrarnos axiomas con predicados de la forma "P [A] Q" , de modo
que si se satisface P, cuando se realice la accin A, Q ser cierto. Otro operador,
per(A) denota permiso para que la accin A pueda ocurrir, mientras que obl(A)
indica que esa accin obligatoriamente debe ocurrir.
El diseo 27
Gramticas
Las gramticas nos permiten describir secuencias, eleccin e iteraccin como
elementos bsicos del proceso del dilogo. Se puede utilizar herramientas tales
como lex&yacc para obtener un prototipo de la comunicacin. Las gramticas
describen el dilogo como reglas de produccin. BNF enfatiza la relacin entre
sintaxis y las acciones necesarias para realizar una orden. Una gramtica basada
en producciones describe un lenguaje como un conjunto de reglas que especifican
los literales correctos en el lenguaje. La gramtica consiste en:
Smbolos terminales (palabras reservadas del lenguaje). Representan
acciones que el usuario tienen que aprender y recordar.
Smbolos no terminales. Representan conjuntos de acciones agrupadas
para realizar una actividad/tarea.
Metasmbolos. ::= (definicin), | alternancia, () agrupacion, [ ] opcional
Este mtodo es muy adecuado para estilos de dilogo basados en rdenes. Una
extensin de este modelo (las gramticas multiparty) permite identificar al
participante que acta en la interaccin (U: usuario, C: computadora):
<Sesin> ::= <U: Open> <C:Respuesta>
<U:Open> ::= LOGIN <U: Name>
<C: Respuesta> ::= HELLO [<U: Name>]
Sin embargo, uno de los mayores inconvenientes que posee es que no permite
representar conceptos sensibles al contexto, junto a su dificultad para su
comprensin con especificaciones largas.
U: S(off)
S(on)
L(encendida)
U: S(on)
S(on)
L(encendida)
S: switch (interruptor)
L: Lampara
28 La interaccin persona-ordenador
Sin embargo, un problema asociado a este tipo de descripcin es la explosin
combinatoria de estados en cuanto existan dilogos concurrentes. Por ejemplo, las
diferentes opciones para el estilo del texto (itlica, negrita, subrayado, etc.)
provocan una explosin combinatoria de 2 n estados, con n siendo el nmero de
opciones.
inicio
copia
limpia
portapapeles
Portapapeles
Lleno y objeto
Seleccionado
borrar objeto
Crear objeto
selecc. objeto
deselecc. objeto
Portapapeles
Vaco
y objeto
Seleccionado
Portapapeles
Portapapeles
vaciar
Vacio sin
Lleno sin
portapapeles
seleccin
seleccin
Redes de Petri
Si consideramos los sistemas interactivos como un caso particular de sistemas
reactivos, podramos utilizar todas las tcnicas y herramientas que se disponen
para la especificacin y diseo de sistemas concurrentes. Existen abundantes
referencias de la utilizacin de Redes de Petri, CSP o LOTOS para la descripcin de
procesos, sincronizaciones, eventos y no determinismo. Dentro de todos estos
formalismos uno de los mas usados a la hora de especificar la naturaleza
concurrente de un sistema interactivo son las Redes de Petri.
Negrita On
Itlica On
Usuario pulsa
itlica
Usuario pulsa
Negrita
T1
T2
T3
T4
Usuario pulsa
itlica
Usuario pulsa
Negrita
Negrita Off
Itlica Off
El diseo 29
T2. Se puede describir arcos inhibitorios, como por ejemplo, no puede suceder T3
mientras que est el contador en Negrita (on).
Lenguaje de rdenes
En un sistema interactivo basado en objetos, podemos identificar un conjunto de
rdenes que deben aparecer en el modelo para poder representar y manipular los
objetos del interfaz de modo grfico e interactivo. Alguna de ellas son:
Seleccin/deseleccin de un objeto
Bsqueda/Identificacin de un objeto
Creacin/eliminacin de objetos
Mover/copiar objetos
30 La interaccin persona-ordenador
Obtener/cambiar valores de los atributos del objeto
Visualizacin del objeto
Adems podemos encontrarnos con objetos complejos que poseen acciones
especficas:
Agrupacin. Es un objeto formado por otros objetos. Se pueden ubicar y
eliminar componentes as como conocer sus valores.
Coleccin. Es un objeto que contiene un nmero variable de objetos. Se
pueden aadir nuevos objetos, eliminar, ordenar/clasificar, etc.
Lenguaje modal
Un modo es un estado (o conjunto de estados) en cual se puede realizar un
conjunto de posibles tareas de interaccin por el usuario [FOL90]. Ejemplos de
dilogos modales son:
Estado en el cual se permite que un conjunto de rdenes se pueda aplicar
nicamente al objeto/s seleccionado/s (modos sobre selecciones).
Estado en el cual se debe completar un cuadro de dilogo antes de hacer
otra operacin (ventana modal).
Estado en el cual se usa un programa externo para modificar un objeto
(grfico, diagrama, etc.).
Los modos pueden aparecer por la estructura que posea el lenguaje de rdenes.
Las sintaxis del lenguaje puede tener las siguientes estructuras:
1)
Los modos pueden ser beneficiosos o perjudiciales segn el uso que se haga de
ellos. Los dilogos modales que no son perceptibles (visibles por el usuario) y que
no tienen un significado coherente aumentan la probabilidad de error por parte del
usuario y su dificultad de aprendizaje. Un dialogo modal bien diseado deber indicar
claramente el modo actual (por ejemplo insercin/sobreescritura en un editor),
suministrar informacin acerca de las rdenes disponibles y disponer de significados
intuitivos para las acciones asociadas.
Modelos abstractos
El estudio de los sistemas interactivos como sistemas reactivos permite estudiar
propiedades relacionadas con estos sistemas tales como la ausencia de
interbloqueos o inanicin. Sin embargo, desde el punto de vista de la interaccin
con el usuario, las propiedades deseables del sistema estn relacionadas con la
parte de interaccin con el humano, tales como: las propiedad de comenzar
nuevamente (Restartability), deshacer la ltima accin en cualquier momento
(Undo), utilizar toda la funcionalidad de la aplicacin (completitud), capacidad para
cancelar en cualquier momento la ejecucin de una tarea, observacin en todo
El diseo 31
momento del estado del sistema (Observabilidad), etc.. Bsicamente este tipo de
propiedades de inters se pueden resumir en los siguientes casos:
1)
2)
El Modelo PIE
El modelo PIE [DIX91] ofrece una visin externa del sistema, donde se recoge el
comportamiento visible por parte del usuario. Bajo este modelo de caja negra, PIE
describe el sistema en base al efecto perceptible que produce la interaccin
(entradas de usuario) sobre el sistema. Las entradas son un conjunto de rdenes
(P) que forman parte de un programa. El efecto (E) observado por el usuario es
resultado de un proceso de interpretacin (I), de modo que para cada entrada
posible, podemos obtener su interpretacin como una funcin de transformacin
del dominio de las entradas al dominio de los efectos:
Figura 17 RedPIE
Figura 18 RedPIE
32 La interaccin persona-ordenador
La propiedad de alcanzabilidad garantiza que se puede realizar cualquier tarea
sobre la interfaz de usuario, independientemente del estado actual del sistema, es
decir:
Estrategia de diseo
Con los modelos que se disponen de las tareas y de la arquitectura del sistema,
deberemos guiar el diseo para obtener una implementacin correcta. Este
proceso en algunos casos puede ser automtico, pero en la mayora de los casos,
requerir de un profundo reconocimiento de los aspectos ms delicados del
proceso de diseo y que est directamente relacionados con el dilogo con la
mquina y la presentacin de la informacin. Nos centraremos en los mecanismos
bsicos de interaccin y el dilogo con la aplicacin y la capa de presentacin.
Tareas de interaccin
Cuando el usuario realiza una interaccin con el ordenador, introduce una unidad
de informacin que posee significado en el contexto de la aplicacin. EL tipo de
interacciones que se pueden realizar en el sistema son [FOL90]:
Posicionamiento. Obtencin de una posicin u orientacin. La posicin
puede ser en cualquier dimensin (2D, 3D). Se puede usar para dibujo,
situar ventanas, arrastrar elementos, etc.
Valor. Obtencin de un dato cuantificable, ya sea numrico (por ejemplo,
el nmero de pgina, n de copias, etc.) o porcentual (p.e. barra de
progresin).
Texto. Introduccin de un texto o identificador (nombre de fichero,
apellidos, etc.).
Seleccin. Obtencin de una alternativa (de entre varias posibles). Se
puede distinguir entre la seleccin sobre un conjunto finito o bien de
tamao variable, en el cual la opciones pueden ser alternativas disyuntivas
o no.
Arrastre. Secuencia de posiciones entre una posicin inicial y otra final
(por ejemplo movimiento de una carpeta con el ratn).
A cada una de estas interacciones podemos aplicarles un conjunto de tcnicas que
nos permitan facilitar y flexibilizar el modo de obtencin de la informacin.
Tarea de posicionamiento
Esta tarea consiste en la obtencin de una coordenada 2D o 3D. La accin que se
realiza es la de mover un cursor por pantalla para introducir un valor, o introducir
la coordenada directamente. Algunos de los aspectos a tener en cuenta son:
Sistema de coordenadas. El movimiento del objeto puede ser en funcin
de un sistema de coordenadas del propio objeto, de la pantalla o del
mundo. Este factor es muy importante en los sistemas de modelado de
posicionamiento 3D (Realidad Virtual).
El diseo 33
Tarea de seleccin
Esta tarea bsica consiste en la seleccin de un elemento de entre un conjunto (de
rdenes, atributos, objetos..). El conjunto puede ser:
Tamao fijo: Elementos invariables (rdenes, etc.)
Tamao variable: Elementos de la aplicacin (objetos)
La tarea de seleccin se puede realizar de los siguientes modos:
Mediante identificador: La seleccin
identificador del objeto (nombre)
Apuntando: Bsqueda
apuntador (ratn)
espacial
del
se
objeto
realiza
introduciendo
mediante
un
el
dispositivo
34 La interaccin persona-ordenador
El diseo 35
Figura 24 Deslizador
Tarea de arrastre
Esta tarea consiste en la introduccin de una secuencia de posiciones que denotan
un movimiento. Esta tarea tpicamente se ha utilizado para describir
explcitamente manipulaciones de objetos grficos (mover, rotar, escalar), y que ha
sido utilizada para dar significado a las operaciones de un sistema de escritorio
(drag and drop) y en operaciones de diseo grfico. Esta tarea requiere de una
realimentacin continua del objeto desplazado (puede ser una instancia, una
lnea/caja elstica, un punto de una curva, etc.).
36 La interaccin persona-ordenador
El diseo 37
2)
3)
38 La interaccin persona-ordenador
Diseo de la presentacin
El significado de una imagen puede ser ms fcilmente percibido por el observador
si posee claridad visual. Deberemos por tanto enfatizar la organizacin lgica de la
informacin. Para conseguir una buena organizacin se puede utilizar las reglas de
Gestalt, que permiten mejorar la claridad visual de la informacin. Estas reglas se
basan en cmo organiza el observador los estmulos visuales (de forma global) y
que se pueden resumir en los siguientes principios:
Similitud. Objetos similares prximos
representacin conjunta/agrupada
se
interpretan
como
una
Similitud
Proximidad
Cierre
Continuidad
El diseo 39
40 La interaccin persona-ordenador
Realimentacin
La realimentacin es de gran importancia en los sistemas interactivos, ya que el
usuario debe estar informado en cada momento de las acciones que realiza.
Cuando por ejemplo una tarea tarda ms tiempo del razonable, se deber informar
mediante algn tipo de mensaje de ese proceso para no provocar incertidumbre.
Sin embargo, un problema que deberemos tener en cuenta es que tenga una
gestin rpida, ya que en tal caso puede no coincidir el estmulo con la respuesta
del sistema. Algunos ejemplos de realimentacin son:
Sobre las rdenes. Mostrar efectos, errores, confirmacin, indicadores
Sobre la seleccin. Resaltar de forma no ambigua la orden activa
Esta realimentacin debe ser fcil de leer y entender. Para ello se debe fomentar la
consistencia, y en algunos casos puede condicionar la estructura de datos del
modelo, ya que sea necesario almacenar informacin adicional para realizar el
feedback.
Para su diseo, se debe estudiar las acciones de cada tarea y ver como es la
interaccin (realimentacin del propio gesto), confirmacin (seleccin, mensajes,
iluminacin) y posibles errores (pantalla de aviso) La realimentacin informa al
usuario acerca de su interaccin con el sistema. Indica qu est haciendo y le
ayuda a realizarlo correctamente. Se puede utilizar cualquier combinacin de
canales sensoriales (sonoro, visual, tctil, etc. ).
Se puede clasificar la realimentacin por su dimensin temporal:
Futura. Realimentacin de una accin antes de llevarla a cabo. Indica qu
suceder si se realiza una accin (por ejemplo, etiqueta informativa de los
botones).
Presente. Realimentacin durante la interaccin. Indica qu esta
sucediendo actualmente (p. e. borrado de ficheros, formateando, mover
cursor..).
Pasada. Informacin de lo que ha sucedido, y cmo ha cambiado el
sistema (p. e. informacin de finalizacin de tareas).
Gestin de errores
Sobre un sistema, un factor crtico desde el punto de vista del usuario, es cmo se
organizan los mensajes de error y su explicacin. Normalmente ocurren por un
desconocimiento por parte del usuario que puede ser motivado por diferentes
causas:
Errores por acciones del usuario. Error en la traslacin entre la
intencin del usuario y su accin (intencin correcta, pero realizacin
incorrecta). La solucin es mejorar el diseo ergonmico, mejorar los
El diseo 41
Conclusiones
En este captulo hemos visto las caractersticas ms relevantes de los sistemas
interactivos y las dificultades que se plantean a la hora de realizar un diseo
efectivo. Si bien para el diseo de sistemas interactivos existe abundante
bibliografa, la mayora est basada en recomendaciones, consejos y guas de
estilo para el diseo que estn recogidas de la experiencia de los autores. Sin
embargo, raramente aportan una metodologa clara para llevar a cabo de forma
sistemtica el proceso de diseo. En este captulo hemos incluido diferentes
propuestas metodolgicas basadas en teoras cognitivas para el diseo defectivo
de aplicaciones interactivas.
Para ello, deberemos aplicar notaciones que permitan analizar las tareas que el
usuario realiza en su entorno de trabajo, y utilizar tcnicas para su traduccin a
conceptos de diseo. Posteriormente, hemos visto modelos arquitectnicos que
proponen la arquitectura bsica (sobre la base de componentes interactivos) que
debe poseer el sistema, y por ltimo, hemos aplicado una serie de tcnicas que
nos permitan trasladar de forma efectiva el modelo conceptual del sistema a un
modelo computacional basado en eventos y componentes grficos.
Referencias
[ANN67] ANNETT J. y DUNCAN K. Task analysis and training in design, en
Occupational Psychology, Nm. 41, 1967
[CAR83]
[EIJ89]
42 La interaccin persona-ordenador
[FAC92]
[FOL90]
[HAC98] HACKOS J. y REDISH J. User and task analysis for interface design. John
Wiley Publishing, 1998
[HAR90] HARRISON M. y THIMBLEBY H. eds. Formal methods in humancomputer
interaction. Cambridge University Press, 1990.
[HAR95] HARTSON H. R. y MAYO K. A framework for precise, reusable task
abstraction. Design, Specification and Verification of Interactive
System DSVIS96 (PALANQUE P. y BATISDE R. eds.), Springer Verlag
EG, 1995
[OLS98]
[PAT00]
[PER89]
[SHE89]
and
evaluation
of
interactive
Bibliografa
BAECKER, R., GRUDIN, J., BUXTON, W., GREENBERG, S. (ED.) Readings in Human
Computer Interaction: towards the year 2000, 2 ed. Morgan Kaufman Published.
1995.
COX K. y WALKER D. User interface design. Prentice Hall, 1993
DIX A., FINLAY J., ABOWD G. y BEALE R. HumanComputer Interaction, 2 edicin.
Prentice Hall, 1998
FOLEY J., VAN DAM A., FEIRNER S. y HUGHES J. Computer graphics: principles and
practice, 2 edicin. Addison and Wesley, 1990
OLSEN, D. Developing user interfaces. Morgan Kaufman Publishers, 1998
PATERN F. Modelbased design and evaluation of interactive application. Springer
Verlag, 2000
SHNEIDERMAN B. Designing the user interface. Strategies for effective human
computer interaction, 3 edicin. AddisonWesley, Reading, MA, 1992
El diseo 43
Enlaces interesantes
http://giove.cnuce.cnr.it/ctte.html
ConcurTaskTrees.
Herramientas y documentacin.
http://hcibib.org/tcuid/
Taskcentered user interface design: a practical introduction.
LEWIS C. (http://www.cs.colorado.edu/~clayton/) y RIEMAN J. (http://home.att.
net/~jrieman/)