MATERIA:Diseño de Interfaces

CLAVE:COMP-450

SEMESTRE DE UBICACION:Cuarto

AREA:Ciencias de la Computación


OBJETIVOS: Se presentan los principios fundamentales para la implementación de las interfaces con los usuarios, que son, hoy en día, uno de los componentes principales de cualquier sistema de cómputo. Se describen los principios generales para crear un entorno en el cual se pueden construir buenas interfaces para el usuario, así como el marco de referencia y metodología para diseñar interfaces para el usuario. Asimismo se presentan y evalúan un amplio rango de lenguajes y herramientas para especificar y construir interfaces. El énfasis es en "cómo construir"

TEMARIO:

  1. Introducción

    Se discuten cuáles son los puntos principales en el diseño de interfases para el usuario, los estilos de diálogo más importantes, cuáles son las herramientas que se pueden utilizar para constuir interfaces, quiénes son los usuarios de las herramientas para interfases y, finalmente, el ciclo de vida de las interfases para usuario.

    • La importancia de las interfaces

    • Principales problemas para el diseñador e implementador de interfaces

    • Importancia de las herramientas para la construcción de interfaces

    • Diversidad en los estilos de interfaces y su rango de aplicación

    • Diversidad en herramientas

    • Habilidades necesarias para el diseño e implementación de interfaces

    • Habilidades necesarias para el diseño e implementación de interfaces

    • Ciclo de vida de las interfaces del usuario

  2. Marco de referencia para el diseño de interfaces

    Se presenta lo que integra un marco de referencia para tomar decisiones durante el diseño de interfases.

    • Utilización de un marco de referencia para la toma de decisiones en la etapa de diseño

    • Los criterios que determinan la partición de las decisiones

    • Clases de decisiones en la etapa de diseño

    • Como proporcionar contexto al usuario a través de ayudas, eco y solicitud de respuestas concretas

    • Las clases de decisión como marco de referencia

  3. Modelo conceptual del usuario final

    Se discute en qué consiste un modelo conceptual del usuario, la notación a utilizar para describirlo, los componentes de un modelo conceptual y la importancia del mismo.

    • El modelo conceptual como base para la interface Un metamodelo que describe los modelos conceptuales de los

    • Un metamodelo que describe los modelos conceptuales de los usuarios finales

    • Los objetos conceptuales como representantes de objetos en el mundo real

    • Las relaciones que describen asociaciones entre objetos

    • Las funciones como descriptores de lo que el usuario final puede hacer con las aplicaciones

    • El uso de los modelos conceptuales del usuario para clarificar aplicaciones

  4. Diálogos y guiones

    En este tema se describe lo que es un diálogo y el comó los guiones describen diálogos. Se revisa cuáles son las responsabilidades de una máquina de ejecución de guines y cuál es la información que se intercambia durante un diálogo. Por último se ven los distintos tipos de diálogo y guiones, qué es lo que describen y como evaluar las distintas técnicas de especificación de guiones.

    • Las máquinas de ejecución de guiones como controladoras del intercambio de las estafetas semánticas

    • Descripción de varios diálogos posibles a través de guiones

    • La especificación de guiones a través del diseño de diálogos

    • Proceso asícrono de eventos

    • Diálogos multienhebrados (multithreaded) y concurrentes

  5. Objetos que interaccionan

    Se presenta el concepto de objeto que interacciona y el por qué de su importancia, qué es lo que hacen y a qué se debe su importancia. Asimismo se revisan las clases más importantes de objetos de interacción, cómo construir objetos de interacción compuesto y cómo construir, modificar y generar objetos de interacción.

    • Uso de los objetos de interacción para la manipulación de objetos conceptuales

    • Funciones de los objetos de interacción

    • Transferencia de mensajes a través de objetos de interacción señal

    • Selección y solicitud de respuesta a través de objetos de interacción selectivos

    • Ingreso y modificación de información a través de objetos de interacción editables

    • Composición de objetos de interacción

    • Construcción, generación y modificación de objetos de interacción Individualización de objetos de interacción a través del

    • Individualización de objetos de interacción a través del diseño de diálogos

    • Herramientas para el diseño de objetos de interacción

    • Administradores de ventanas y sistemas manejadores de interfaces de usuarios

    • Modularización del software para interfaces de usuarios

    • Los manejadores de dispositivos como transductores

    • Los puntos de observación (viewports) para aplicaciones provistos por los administradores de ventanas

    • Otras aportaciones de los manejadores de sistemas de interfaces del usuario

    • Otras aportaciones de los manejadores de sistemas de interfaces del usuario

  6. Descripciones de los cambios de estado

    En esta sección se describe la utilización de los diagramas de estados para representar guiones; cómo manipular sistemas grandes de transición de estados; la representación de diálogos multienhebrados y las herramientas a utilizar para especificar sistemas de transición de estados.

    • Guiones representados por sistemas de transición de estados

    • Reducción de subgráficas de transiciones entre estados

    • Eliminación de transiciones redundantes en un diagrama de transición de estados

    • Mezcla de estados en un solo estado

    • Identificación de una subgráfica en un supernodo

    • Tablas de estados para representar diálogos multienhebrados

    • Perfeccionamiento de guiones a través de transformaciones

    • Otras técnicas para especificar guiones

  7. Gramáticas para la representación de diálogos

    Se estudia el uso de la gramática para describir diálogos, cómo generar diálogos a partir de gramáticas y cómo las gramáticas apoyan automáticamente lo siguiente: solicitud de respuesta, mensajes de contexto, reescritura gráfica y desbaratar.

    • Gramáticas como representantes de monológos

    • Extensión de gramáticas para la representación de diálogos

    • Proceso descendente utilizando gramáticas

    • Análisis gramatical ascendente utilizando gramáticas

    • Un ejemplo de generador de interfaces de usuario: SYNGRAPH

  8. Reglas y restricciones

    Se estudia con detenimiento el uso de las reglas para apoyar diálogos dirigidos por el usuario y la corrección de errores. Asimismo se muestra como procesar reglas, el apoyo que las restricciones dan a los objetos de interacción dinámica y cómo esfuerzan las relaciones espaciales y de apariencia

    • Reglas para los diálogos dirigidos por el usuario

    • Lenguajes para describir reglas

    • Aplicación "ansiosa" o "perezosa" de reglas

    • Las restricciones como apoyo a los objetos de interacción dinámica

    • Las restricciones como refuerzo para las relaciones espaciales y apariencia

  9. Técnicas de multiagente

    se revisan las técnicas principales multiagente: cómo controlar diálogos utilizando memoria compartida. Cómo generar diálogos multienhebrados desde los ciclos en los eventos. Y por último, el uso de técnicas orientadas a objetos para implementar interfases de usuario.

    • La memoria compartida como control de diálogos

    • Respuesta de manejadores de eventos a eventos

    • Los ciclos en los eventos para apoyar a los diálogos multienhebrados

    • Implementación de la interface del usuario en SmallTalk

    • Técnicas orientadas a objetos para implementar interfaces de usuarios

    • Uso de enfoques multiagente para la implementación interfaces de usuario de manipulación directa

  10. Otras técnicas para la especificación de diálogos

    • Extensión de lenguajes de programación existentes

    • Diseño de lenguajes de programación especializados

    • Descripción de diálogos concurrentes a través de Redes de Petri

    • Bases de conocimiento para el diseño de guiones

    • Evaluación

  11. Entorno para el desarrollo de interfaces de usuario

    Los subtemas a cubrir incluyen herramientas útiles para el diseño de interfases, guías, convenciones y estándares importantes y el por qué de su importancia, la conveniencia (o inconveniencia) de bibliotecas cerradas o abiertas, el uso de guiones para predecir facilidad de uso, el uso de bitácoras para el mejoramiento de las interfases y, finalmente herramientas necesarias para el desarrollo de interfases en multimedios.

    • Herramientas y facilidades presentes en un buen ambiente de desarrollo de interfaces

    • Directivas y asesorías como auxiliares en el diseño

    • Bibliotecas de objetos de interacción abiertas y cerradas

    • El uso de guiones como predictores de interfaces de usuario

    • Herramientas necesarias para interfaces basadas en multimedios

BIBLIOGRAFIA:

  • Brown, J.; Cunningham, S., Programming the user interface: Principles and Examples Wiley, New York,1992

BIBLIOGRAFIA COMPLEMENTARIA:

  • Abowd, G.; Finlay, J; Dix, A; Beale, R., Human-Computer Interaction, Prentice Hall Computer Science Series, 1994

  • Bass, L.; Dewan, P., User Interface Software, Computer Science Series, Wiley, 1993

  • Eberts, R.E., User Interface Design Prentice Hall Computer Science Series 1994

  • Marcus, A. organizador, Graphic design for user interfases, ACM SigGraph, Course Notes # 5, ACM, Chicago, 1992.

  • Sullivan, J.W.; Tykerm S.W.; Editores, Intelligent User Interfaces,

  • ACM Publications 1991