Sistema de gestión de la interfaz de usuario


Un sistema de gestión de interfaz de usuario (UIMS) es un mecanismo para separar limpiamente el proceso o la lógica empresarial del código de la interfaz gráfica de usuario (GUI) en un programa informático. [1] Los UIMS están diseñados para admitir arquitecturas de N niveles al definir y hacer cumplir estrictamente el límite entre la lógica comercial y la GUI. El UIMS casi siempre implica una arquitectura de software bastante rígida y, en la mayoría de los casos, solo se admite un paradigma de separación en un solo UIMS. Un UIMS también puede tener bibliotecas y sistemas como herramientas gráficas para la creación de recursos de interfaz de usuario o almacenes de datos.

Por lo general, no es fácil usar varios sistemas UIMS al mismo tiempo, por lo que elegir el modelo correcto para su UIMS es una decisión de diseño crítica en cualquier proyecto. La elección del sistema depende de los sistemas para los que desea crear interfaces de usuario y del estilo general de su aplicación. Por ejemplo, si desea crear un front-end basado en la web, o simplemente una aplicación independiente o ambas, sería un factor importante a la hora de elegir. Si desea implementar en Macintosh, Windows y Linux, eso influirá aún más en su elección de un sistema UIMS.

Hay muchos enfoques de UIMS descritos en trabajos de investigación. Sin embargo, no hay muchos sistemas disponibles comercialmente o de código abierto.

En un cuerpo de trabajo citado con frecuencia, Foley y Wallace describen un "modelo lingüístico" para la gestión de la interfaz de usuario que consta de una capa de presentación, una capa de control de diálogo y una capa de aplicación. Estas capas corresponden a las capas léxica, sintáctica y semántica de la teoría del lenguaje formal. Si bien el modelo de Foley es teóricamente esclarecedor, no propone un sistema práctico específico para separar el código. También hay muchos casos fronterizos interesantes que no encajan claramente en una de estas capas.

Una teoría más directamente aplicable a la gestión de la interfaz de usuario es el patrón de diseño modelo-vista-controlador , que se describe en detalle en su propio artículo. Una variante reciente de MVC es el modelo modelo-vista-presentador que es similar a MVC, pero tiene algunas ideas interesantes sobre el problema.

Un sistema basado en funciones aborda 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 llaman cuando el diálogo se está cerrando. Los árboles de menús son una familia de implementaciones de modelos que siguen este patrón.