2. 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
3. (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
4. 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
5. 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
6. Brad Myers et al, 2000 Programación orientada a objetos Objetos en una interface como botones u otros widgets pueden ser reutilizados
7. 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
8. Brad Myers et al, 2000 Constraints Herramientas diseñadas para mantener las reglas en 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
10. 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. 11 Método de Cascada Captura No pude regresar Especificación Gran idea Diseño Implementación Pruebas Producto Mantenimiento
12. 12 Análisis basado en requisitos iniciales Análisis basado en reacción cliente Sistema de Ingeniería Planificación basada en cliente Prototipoinicial Prototipo sig. nivel Captura de requisitos y planificación inicial Evaluación del cliente Modelo de Espiral Planificación Análisis de riesgo Decisión de seguir o no Evaluación Ingeniería
13. 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
14. Paradigma de prototipos 14 Construya/ revise prototipo Escuche al cliente Pruebas del cliente al prototipo
15. 15 Ciclo de Vida de Prototipos Captura Parcial de Requerimientos Especificación Formal Método Tradicional Construir Prototipo PRR (probar, refinar, robustecer) Evaluar
16. 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
17. 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
18. Modelo de diseño de interacción Necesidades / requerimientos (re)Diseño Evaluar Construir versión interactiva Producto final
19. El ciclo de vida de Estrella análisis de tareas / análisis funcional implementación evaluación prototipado requerimientos / especificaciones diseño conceptual / representación diseño formal Hartson y Hix, 89
20. 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