Un Sistema de Gestión de Interfaz de Usuario (UIMS) es un mecanismo para separar claramente la lógica de proceso o de negocio del código de la interfaz gráfica de usuario (GUI) en un programa informático. [ 1 ] Los UIMS están diseñados para soportar arquitecturas de N capas , definiendo y aplicando rigurosamente el límite entre la lógica de negocio y la GUI. Casi siempre, un UIMS implica una arquitectura de software bastante rígida , y generalmente solo admite un paradigma de separación. Un UIMS también puede incluir bibliotecas y sistemas, como herramientas gráficas, para la creación de recursos de interfaz de usuario o almacenes de datos.
En general, no es fácil usar varios sistemas UIMS simultáneamente, por lo que elegir el modelo adecuado es una decisión de diseño crucial en cualquier proyecto. La elección del sistema depende de los sistemas para los que se deseen crear interfaces de usuario y del estilo general de la aplicación. Por ejemplo, si se desea crear una interfaz web, una aplicación independiente o ambas, este será un factor importante a la hora de elegir. Si se desea implementar la aplicación en Macintosh, Windows y Linux, esto influirá aún más en la elección del sistema UIMS.
En diversos artículos de investigación se describen numerosos enfoques para los sistemas de gestión de información universitaria (UIMS). Sin embargo, no existen muchos sistemas disponibles comercialmente o a través de software libre.
Modelos
En una obra frecuentemente citada, Foley y Wallace describen un «modelo lingüístico» para la gestión de la interfaz de usuario, compuesto por una capa de presentación, una capa de control de diálogo y una capa de aplicación. Estas capas se corresponden con las capas léxica, sintáctica y semántica de la teoría del lenguaje formal. Si bien el modelo de Foley resulta teóricamente esclarecedor, no propone un sistema práctico específico para la separación del código. Además, existen numerosos casos límite interesantes que no se ajustan claramente a ninguna de estas capas.
Una teoría más directamente aplicable a la gestión de interfaces de usuario es el patrón de diseño modelo-vista-controlador (MVC) , que se describe en detalle en un artículo aparte. Una variante reciente del MVC es el modelo modelo-vista-presentador (MVC), similar a este, pero que aporta perspectivas interesantes al problema.
Implementaciones
Un sistema basado en funciones concibe todas las acciones de la interfaz de usuario como interfaces para funciones. Los diálogos existen únicamente para recopilar parámetros para las funciones que se ejecutan al cerrarse el diálogo. Los árboles de menú son una familia de implementaciones de modelos que siguen este patrón.
Los sistemas de gestión de interfaces de usuario (UIMS) basados en gramática proporcionan un lenguaje especializado para describir la interfaz de usuario. Generalmente, se trata de un lenguaje especial diseñado específicamente para la presentación de los elementos de la interfaz de usuario.
El modelo de edición es una especialización de las interfaces de usuario basadas en gramática. Presentan toda la interacción como representaciones directas de los objetos de presentación subyacentes. Esencialmente, utilizan la gramática del lenguaje de programación como gramática para la interfaz gráfica de usuario (GUI). Una barra de desplazamiento puede representar un número entero, una casilla de verificación un valor booleano y una función se presenta como un botón o un elemento de menú. Un cuadro de diálogo o un menú es la presentación de un objeto complejo que contiene propiedades y funciones. Una capa de controlador sincroniza automáticamente el objeto con la presentación y viceversa mediante una conexión bidireccional proporcionada por un patrón observador . La habilitación/deshabilitación y la validación presentan desafíos especiales en el modelo de edición, pero pueden resolverse. En la década de 1990, ViewSoft Internet, un programa comercial, estuvo disponible brevemente e implementaba un constructor de GUI de propósito general basado en el modelo de edición.
Las redes de transición presentan la lógica de la interfaz de usuario como una especie de diagrama de flujo inteligente. En un modelo de lenguaje de eventos, el lenguaje de programación se diseña en torno al manejo de eventos. Este es esencialmente el enfoque adoptado en los lenguajes .NET de Microsoft, C# y Visual Basic.NET, con sus estructuras de lenguaje de delegados y eventos.
Otros modelos incluyen Hypertalk, sistemas de producción y lenguajes declarativos.
Ejemplos de UIMS y modelos
- Tigre
- Capa de menú
- HyperCard
- ViewSoft Internet
- Sasafrás
- ALGAS
- Chirrido
- Modelo-vista-controlador (MVC)
- Modelo-vista-presentador (MVP)
- Modelo lingüístico
- Modelo de Seeheim
- Higgins UIMS
- Modelo de arco
- Picasso-3
- ProcSee
- Administrador de interfaz Lisp común
Investigadores destacados
Brad Myers , Dan Olsen , Scott Hudson y James D. Foley han realizado importantes investigaciones en este campo .
Referencias
- ^ Olsen, Dan (1991). Sistemas de gestión de interfaz de usuario: modelos y algoritmos . Editores Morgan Kaufmann . ISBN 1-55860-220-8.
Enlaces externos
- Presentador de vista de modelo
- Esquema de un curso de UIMS
- ProcSee UIMS
- Sistemas de gestión de interfaz de usuario: modelos y algoritmos
- Interfaces de usuario
- Sistemas de gestión