Como hemos comentado en el capítulo 4, una característica clave de WIMP interfaces dela perspectiva del usuario es que las conductas de entrada y salida están intrínsecamente ligados a entidades independientes en la pantalla. esto crea la ilusión de quelas entidades en la pantalla son los objetos de interés -los objetos de interacción que han llamado-y que es necesario para el mundo la acción de una interfaz de manipulación directa. Desde la perspectiva del programador, incluso en el nivel de un sistema de ventanas, entradas y salidas son todavía muy separados de todo a excepción del ratón, y se necesita un poco de esfuerzo en el programa de aplicación para crear la ilusión del objeto interacción como el botón que acabamos de describir “Toolkit” (caja de herramientas). un conjunto de herramientas proporciona al programador un conjunto de listas-objeto de interacción, también llamado stécnicas de interacción. En cuestión de flexibilidad en las cajas de herramientas, la interacción de objetos se pueden adaptar a la situación específicas en las que se invocan por el programador. por ejemplo, la etiqueta del botón, podría ser un parámetro que el programador puede configurar, un botón en particular cuando se crea. Una de las ventajas de la programación con caja de herramientas es que pueden hacer valer la consistencia, tanto en la entrada y la forma de producción, proporcionando un comportamiento similar a una colección de widgest. por ejemplo, cada botón de interacción de objetos, dentro del mismo programa de aplicación de manera predeterminada podría tener un comportamiento como el descrito en la figura. Windo w Frame Tty Openwinn Text Canvas Panel Scrollba r Icon Hay dos características de la interacción de objetos y herramientas que son susceptibles de un enfoque orientado a objetos para la programación. En primer lugar, depende de ser capaz de definir la clase de objetos de interacción que puede ser invocado (o instancia) muchas veces dentro de una aplicación con sólo pequeñas modificaciones en cada caso. En segundo lugar, la creación de objetos complejos de interacción se ve facilitada por la construcción de su definición sobre la base de los objetos existentes interacción más simple. A pesar de la disponibilidad de la caja de herramientas y la abstracción valiosa la proporcionan los programadores, aún quedan obstáculos importantes por superar en la especificación, diseño e implementación de sistemas interactivos. Las cajas de herramientas proporcionan sólo un número limitado de objetos de interacción, lo que limita el tipo de comportamiento interactivo permite entre usuario y sistema. La cajas de herramientas son caras para crear y es muy difícil de utilizar por los no programadores . Incluso los programadores experimentados tienen dificultades para usar para producir una interfaz que es de esperar utilizable el conjunto de la programación y las técnicas de diseño que se supone que añadir otro nivel de servicios para el sistema de diseño interactivo más allá del nivel de juego de herramientas son fáciles de sistemas de gestión de la interfaz, o UIMS para abreviar . Las principales preocupaciones de un UIMS, son los siguientes: Una arquitectura conceptual de la estructura de un sistema interactivo que la concentración en un separación entre la semántica y la presentación; Técnicas para implementar una aplicación separada y al mismo tiempo la preservación dela presentación de la relación intencional entre los mismos; Técnicas de apoyo a la gestión, ejecución y evaluación de un ambiente interactivo en tiempo de ejecución; UIMS: user interface management systems Un problema mayor en el área de investigación es la separación de semánticas entre la aplicación y la interfaz provista para el usuario para hacer uso de ellas. Portabilidad: Permite usar la misma aplicación en diferentes sistemas, es lo mejor a considerar durante el desarrollo. Reusabilidad: La separación incrementa la probabilidad de que los componentes puedan ser reusados para reducir costos. Múltiples interfaces: Aumenta la flexibilidad interactiva de una aplicación, muchas otras interfaces pueden ser desarrolladas para acceder a la misma funcionalidad. Modificación: Permite al diseñador y al usuario aumentar la efectividad de una aplicación sin tener que alterarla internamente. Una vez que tenemos la separación entre aplicación y presentación, debemos considerar cómo comunicar estos complementos. Este rol de comunicación se llama control de dialogo. Este provee 3 grandes componentes de un sistema interactivo: la aplicación, la presentación y el control de dialogo. Presentación: Es el componente responsable para la aparición de la interfaz, incluyendo que entradas y salidas son disponibles para el usuario. Control del dialogo: Es el componente que regula la comunicación entre la presentación y aplicación. Interfaz de aplicación: Es la vista de la aplicación de semánticas que se provee al igual que una interfaz. El modelo Seeheim de componentes lógicos de un UIMS Léxico Sintáctico Semántico Componente de presentación Control de dialogo Modelo de aplicación de interfaz Usuario previsto Aplicació n prevista Vista Monitor Modelo Usuario Mouse Control Teclado Redes de Menú La comunicación entre la aplicación y la presentación se modela como una red de los menús y submenús. El menú se utiliza para incorporar todas las entradas de usuario posible en cualquier punto en el tiempo. Un menú que no tiene por qué ser una lista lineal de las acciones textual. el menú se puede representar como elementos gráficos o botones que el usuario puede seleccionar con un dispositivo señalador. Anotaciones de la gramática • el diálogo entre la aplicación y la presentación puede ser tratada como una gramática de las acciones y las respuestas. Diagramas de estado de transición • puede ser utilizado como un medio gráfico de expresión de diálogo. Idiomas del evento • son buenos para la descripción localizada de entrada y salida de comportamiento en términos de reglas de producción. Lenguajes Declarativos • se concentra más en la descripción de la forma de presentación y aplicación están relacionados. esta relación puede ser modelado como una base de datos compartida sobre los valores que la presentación y aplicación puede tener acceso. Restricciones • se pueden utilizar para hacer explícita la conexión entre la información independiente de la presentación y la aplicación. Especificación Gráfica • Estas técnicas permiten la especificación de diálogo para ser programado gráficamente en términos de los idiomas de presentación en sí.