Sistema de gestión de la interfaz de usuario


Un sistema de gestión de la interfaz de usuario (UIMS) es un mecanismo para separar claramente 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 definiendo y aplicando estrictamente el límite entre la lógica empresarial 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 único 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 puede usar fácilmente 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 desee crear interfaces de usuario y del estilo general de su aplicación. Por ejemplo, si desea crear una interfaz basada en web, o simplemente una aplicación independiente o ambas, eso 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 artículos de investigación. Sin embargo, no hay muchos sistemas disponibles comercialmente o de código abierto.

En un 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 de borde interesantes que no caen limpiamente en una de estas capas.

Una teoría más directamente aplicable de 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 enfoca todas las acciones de la interfaz de usuario como interfaces para funciones. Los cuadros de diálogo existen únicamente para recopilar parámetros para las funciones que se llaman cuando se cierra el cuadro de diálogo. Los árboles de menú son una familia de implementaciones de modelos que siguen este patrón.