Arquitecturas de Sistemas Interactivos: Introducción
Download
Report
Transcript Arquitecturas de Sistemas Interactivos: Introducción
Arquitecturas de Sistemas
Interactivos: Introducción
Objetivos
Introducción a los aspectos relacionados con
el desarrollo de sistemas interactivos
aspectos computacionales y de software
nivel de detalle intermedio
no generalidades
no específico de ninguna plataforma o configuración de
hardware particular
no describe ninguna herramienta ni metodología
particular
se citan:
los enfoques existentes, con ventajas y desventajas
los aspectos a considerar
la forma de funcionamiento de las arquitecturas gráficas
Objetivos
Foco del curso:
Interfaces convencionales actuales
2D
WIMP (‘Windows, Icons, Menues and Pointing’)
Dispositivos convencionales (mouse, teclado,
pantalla)
Post-WIMP
3D, multimedia, multimodalidad, colaborativas,
inteligentes, animaciones, ....
Evolución histórica
Entrada
Salida
Inicialmente
Conecciones con cables
Cintas de papel y tarjetas
perforadas
Teclado
Paneles de luces
Papel
Actualmente
Teclado
+ teclas cursor
+ mouse
+ micrófono
VR: ej. 'data gloves'
Lenguaje natural
Terminales de caracteres
Pantallas gráficas
Audio
Futuro
VR: 'Head mounted displays'
Agentes
Lecciones:
Los teclados y terminales son solamente artefactos de la tecnología
actual
Los nuevos dispositivos de E/S cambiarán las formas de interactuar
Objetivos
Principales contenidos
Niveles de software:
Sistemas de ventanas (presentaciones,
eventos)
Toolkits
Modelos arquitectónicos (diálogo)
Herramientas de construcción
Arquitecturas para post-WIMP
‘Human Computer Interaction’
(HCI)
Diseño, Implementación y Evaluación de
Sistemas Computacionales Interactivos
para su utilización por seres humanos.
Diseño
Evaluación
Implementación
HCI
Dificultades diseño IUs
Dificultades de los diseñadores para
comprender las tareas del usuario
Especificaciones iniciales incompletas o
ambiguas
Amplia diversidad de usuarios, con
diferentes características.
Complejidad inherente de las tareas y los dominios
La interfaz debe satisfacer las necesidades,
experiencia y expectativas de los usuarios previstos.
Los programadores tienen dificultades para
colocarse en el rol de usuarios
Dificultades construcción IUs
Dificiles de diseñar, requiriendo una
implementación iterativa
Programación basada en eventos
ej. operación con múltiples ventanas (diálogos)
Requerimientos de alto “feedback”
La aplicación no posee el control de la ejecución
Multiprocesamiento
Prototipos, chequeos con usuarios
Sintáctico, semántico
Robustez del software
Tolerar cualquier acción del usuario
Dificultades construcción IUs
Soporte débil de los lenguajes actuales
Dificultades de uso de las herramientas
actuales
Cubren mayormente aspectos de presentación
Difícil modularización
Toolkits de primitivas
Separación vs. Rendimiento
“Post-WIMP” requiere arquitecturas
especializadas
Requerimientos particulares (3D, temporales,
distribución)
Qué es una Interfaz con el
Usuario (IU)?
“Sistema interactivo” (SI)
“Interfaz con el usuario” (IU)
Programa computadorizado que desempeña sus tareas
interactuando con un operador humano (“usuario”).
Porción de un sistema interactivo que administra la
presentación de datos y las acciones realizadas por el
usuario.
Aspectos sintácticos y léxicos de la interacción
“Aplicación” o “Núcleo Funcional” (NF)
Porción del sistema interactivo que no incluye la interfaz
con el usuario
Semántica de la aplicación
Sistemas Interactivos
Aspectos
sintácticos y
léxicos
Aplicación
Interfaz
Aspectos
semánticos
Sistema
Interactivo
Operador
Niveles de Abstracción
Núcleo Funcional
Incremento en el
nivel de abstracción
Control del Diálogo
Objetos de Interacción
Sistema de Ventanas
Drivers
Conocimiento
del dominio
Control de los
obj. de interacción
Control delsecuenciamientode las
acciones del usuario
Control de los
recursos E/S Control de los
dispositivos físicos
Roles en una IU
“Operador” / “usuario” / “usuario final”
Persona que utilizará el sistema interactivo.
“Diseñador del sistema”
Desarrolla la arquitectura global de un SI
Especifica las tareas que serán efectuadas dentro de cada
módulo
“Diseñador de la interfaz a usuario”
Define la IU con la cual interactuará el operador
Utiliza la especificación de tareas
Necesita comprender:
Tareas a ser resueltas
Necesidades del operador
Costos y beneficios de las UI particulares
En términos del operador y los costos de
implementación y mantenimento
Roles en una IU
“Diseñador del núcleo funcional” o
“programador de la aplicación”
“Diseñador del software de la interfaz a
usuario”
Crea la estructura de software necesaria para
implementar las tareas semánticas de la aplicación (no
incluidas en la IU)
Diseña la estructura del software que implementará la
interfaz definida por el diseñador de la IU.
“Desarrollador de herramientas”
crea herramientas para la construcción de interfaces
No todos los actores se encuentran presentes en
el proceso de desarrollo de un SI
Roles en una IU
Sistema Interactivo
Núcleo
Funcional
Software
de la IU
Look
&Feel
Operador
Desarrollador
Herram.
Requerimientos
Diseñador
NF
Diseñador
SI
Diseñador
software IU
Especif.
Tareas
Herram.
Construcc.
Diseñador
IU