hci ceneval 2
TRANSCRIPT
Herramientas automatizadas para la construcción de interfaces
Herramientas de apoyo
• Auxilio en el diseño de la interface en base a especificaciones de usuarios
• Auxilio en la implementación de interfaces en base a las especificaciones del diseño
• Crear interfaces fáciles de usar
• Permitir al diseñador investigar rápidamente diversos diseños
(Brad Myers, 1995)
• Permitir a no programadores a diseñar e implementar interfaces de usuario
• Evaluación automática de la interface y proponer mejoras
• Permitir al usuario final configurar su interface
• Proveer portabilidad
• Ser fácil de usar
Ideas que funcionaron
• Windows Managers y Toolkits– Para administrar espacio en pantalla y percepción del ser
humano
• Lenguajes de eventos– Para programar acciones basadas en eventos externos (eg
ratón presionado, mover cursor)
• Herramientas gráficas interactivas o constructores de interfaces– Eg Visual Basic, colocando elementos en una pantalla sin
programar
Brad Myers et al, 2000
• Component systems
– La idea es integrar componentes construidos anteriormente e integrarlos en una nueva interface (eg Sun Java Beans)
• Lenguajes de scripts
– Permiten prototipos rápidos, como Python y Perl
• Hypertext
Brad Myers et al, 2000
• Programación orientada a objetos
– Objetos en una interface como botones u otros widgets pueden ser reutilizados
Ideas que no han funcionado
• User Interface Management Tools (UIMS)
– Como la administración de bases de datos, la idea es abstraer los detalles de una implementación, más no apropiado
• Herramientas basadas en lenguajes formales
– Difíciles inclusive para programadores
Brad Myers et al, 2000
• Constraints
– Herramientas diseñadas para mantener las reglasen un modelo, difícil de mantener
• Basados en modelos y en técnicas automáticas
– Diseñar interfaces en un alto nivel de abstracción, para luego generarlas con ciertas reglas, es impredecible
Ciclo de vida de las interfaces
Diversos modelos
• Modelo de Cascada
– Secuencia de pasos de ingeniería de software
– El cliente no es el usuario
• Modelo de Espiral
– Continúa si la retroalimentación de cada paso es positiva
10
11
Captura
Especificación
Diseño
Implementación
Pruebas
Mantenimiento
Gran idea
Producto
No pude regresar
Método de Cascada
12
Planificación
Evaluación Ingeniería
Análisis de riesgoAnálisis basado en requisitos iniciales
Análisis basado en reacción cliente
Decisión de seguir o no
Prototipoinicial
Prototipo sig. nivel
Sistema de Ingeniería
Evaluación del cliente
Planificación basada en cliente
Captura de requisitos y planificación inicial
Modelo de Espiral
Más métodos
• Método de Prototipos
– Construcción de modelos ejecutables
– El prototipo se puede convertir en el sistema en sí
• Diseño Centrado en el Usuario (UCD)
13
Paradigma de prototipos
14
Escuche al cliente
Construya/revise
prototipo
Pruebas del clienteal prototipo
15
Captura Parcial de Requerimientos
Especificación Formal
Construir Prototipo
Evaluar
Método Tradicional
PRR (probar, refinar, robustece
r)
Ciclo de Vida de
Prototipos
Modelo de Cascada vs Diseño Iterativo?
• Notaciones difieren (Cascada no tiene la perspectiva del usuario)
• El costo de corrección de errores en requerimientos se incrementa en un factor de 10 por cada etapa
• El diseño iterativo encuentra los errores primero
16
Desarrolladores con usuarios
• Desarrolladores trabajando con usuarios
– Ayudan a definir lo que el sistema hará y cómo lo hará
– Exploración iterativa y retroalimentación
• Ver el mundo a través de los ojos del usuario
– Usuario y cliente, la misma persona?• No se debe diseñar con el administrador en mente
17
Modelo de diseño de interacción
(re)Diseño
Necesidades / requerimientos
Evaluar
Construir versión
interactiva
Producto final
El ciclo de vida de Estrella
evaluación
implementación
prototipado
análisis de tareas /análisis funcional
requerimientos /especificaciones
diseño conceptual /representación diseño formal
Hartson y Hix, 89
Diseño Centrado al Usuario
• Basado en el usuario, no en los datos, involucra al usuario durante todo el proceso, desde sus inicios hasta sus etapas finales
• Altamente interdisciplinario, pues obtiene conocimiento de muchas áreas: arte y diseño, psicología, escritura técnica, ciencias computacionales, etc.
• Altamente iterativo, pues involucra pruebas y revisión, especialmente antes de la implementación
Norman y Draper, 1986