El modelado de la interfaz de usuario es una técnica de desarrollo utilizada por los programadores de aplicaciones informáticas. Las interfaces de usuario (UI) actuales son componentes de software complejos que desempeñan un papel esencial en la usabilidad de una aplicación. Por lo tanto, el desarrollo de interfaces de usuario requiere no solo pautas e informes de mejores prácticas, sino también un proceso de desarrollo que incluye la elaboración de modelos visuales y una notación estandarizada para esta visualización.
El término modelado de interfaz de usuario se utiliza principalmente en un contexto de tecnología de la información . Un modelo de interfaz de usuario es una representación de cómo los usuarios finales interactúan con un programa de computadora u otro dispositivo y también cómo responde el sistema. La tarea de modelado es entonces mostrar todos los " aspectos directamente experimentados de una cosa o dispositivo" [Trætteberg2002].
El modelado de interfaces de usuario es una disciplina bien establecida por derecho propio. Por ejemplo, las técnicas de modelado pueden describir objetos de interacción, tareas y diálogos de nivel inferior en interfaces de usuario. El uso de modelos como parte del desarrollo de la interfaz de usuario puede ayudar a capturar los requisitos del usuario, evitar un compromiso prematuro con diseños y widgets específicos y hacer explícitas las relaciones entre las diferentes partes de una interfaz y sus roles. [SilvaPaton2003].
Idiomas
MARIA
MARIA XML ( lenguaje basado en modelos para aplicaciones interactivas) es un lenguaje de marcado de interfaz de usuario universal, declarativo, de múltiples niveles de abstracción y basado en XML para modelar aplicaciones interactivas en entornos ubicuos.
UML
Algunos aspectos del modelado de la interfaz de usuario se pueden realizar utilizando UML . Sin embargo, el lenguaje no está destinado principalmente a este tipo de modelado, lo que puede hacer que los modelos sean algo sintéticos.
UMLi
UMLi es una extensión de UML y agrega soporte para la representación que ocurre comúnmente en las interfaces de usuario.
Debido a que los modelos de aplicación en UML describen algunos aspectos de las interfaces de usuario, y debido a que los entornos de desarrollo de interfaces de usuario basados en modelos (MB-UIDE) carecen de capacidad para modelar aplicaciones, la Universidad de Manchester inició el proyecto de investigación UMLi en 1998. UMLi tiene como objetivo abordar esto problema de diseñar e implementar interfaces de usuario usando una combinación de UML y MB-UIDE.
UsiXML
UsiXML ( USer Interface eXtensible Markup Language) es un lenguaje de especificación basado en XML para el diseño de interfaces de usuario. Admite la descripción de la IU para múltiples contextos de uso, como interfaces de usuario de caracteres (CUI), interfaces gráficas de usuario (GUI), interfaces de usuario auditivo e interfaces de usuario multimodales .
DiaMODL
DiaMODL combina un lenguaje orientado al flujo de datos (abstracción del interactor de Pisa) con UML Statecharts que se centra en el comportamiento. Es capaz de modelar el flujo de datos y el comportamiento de los objetos de interacción. Puede utilizarse para documentar la función y la estructura de interfaces de usuario concretas.
Himalia
Himalia combina los modelos hipermedia con el paradigma de control / compuesto. Es un idioma de interfaz de usuario completo, puede usarse para especificar pero también para ejecutarlo, por lo que la herramienta de diseño se puede clasificar como florín. [1]
Tipos de modelos
Los diferentes aspectos de una interfaz de usuario requieren diferentes tipos de modelos. Algunos de los modelos que se pueden considerar para el modelado de UI son:
- Modelo de dominio , incluido el modelo de datos (define los objetos que un usuario puede ver, acceder y manipular a través de la interfaz de usuario)
- Modelo de navegación , define cómo se puede navegar por los objetos que ve un usuario a través de la interfaz de usuario.
- Modelo de tarea . (describe las tareas que realiza un usuario final y dicta qué capacidades de interacción deben diseñarse)
- Modelo de usuario (representa las diferentes características de los usuarios finales y los roles que desempeñan dentro de la organización)
- Modelo de plataforma (utilizado para modelar los dispositivos físicos que están destinados a albergar la aplicación y cómo interactúan entre sí)
- Modelo de diálogo (cómo los usuarios pueden interactuar con la presentación de los objetos (como pulsadores, comandos, etc.), con los medios de interacción (como entrada de voz, pantalla táctil, etc.) y las reacciones que la interfaz de usuario comunica a través de estos objetos)
- Modelo de presentación (apariencia de la aplicación, representación de los elementos visuales, hápticos y auditivos que la interfaz de usuario ofrece a sus usuarios)
- Modelo de aplicación (comandos y datos que proporciona la aplicación)
UML se puede utilizar para varios de los modelos mencionados anteriormente con un grado de éxito variable, pero carece de soporte para el modelado de usuarios, el modelado de plataformas y el modelo de presentación.
Enfoques
Existen varios enfoques para modelar una interfaz de usuario.
Diseño centrado en el uso
En el diseño centrado en el uso, la tarea de modelado es mostrar cómo se presenta la presentación real de un sistema planificado y cómo se supone que debe ocurrir la interacción del usuario. Este es probablemente el enfoque más elogiado y se ha utilizado con éxito en una variedad de proyectos de pequeña y gran escala. Sus puntos fuertes están en problemas complejos.
Enfoques alternativos a las IU basadas en modelos
Los problemas conocidos de los enfoques basados en modelos incluyen la reformulación de la información y la falta de mecanismos para resolver eficazmente las preocupaciones transversales [Cerny2013]. Las soluciones basadas en modelos pueden funcionar bien por sí solas, pero la integración con enfoques alternativos genera complejidad en los esfuerzos de desarrollo y mantenimiento.
Basado en inspección de código
Estos enfoques se basan en bases de código de lenguaje de propósito general (GPL) existentes [Cerny2012]. Inspeccionan el código a través de la metaprogramación y ensamblan un modelo estructural que se transforma en la interfaz de usuario. Este enfoque aborda la reformulación de la información. Estos enfoques no se ajustan a las IU adaptativas y sensibles al contexto.
Programación generativa
Estos enfoques conectan métodos de dominio con GPL [Programación generativa]. Las preocupaciones transversales se abordan en tiempo de compilación, lo que no se adapta directamente a futuras IU adaptativas que necesitan información en tiempo de ejecución.
IU basadas en aspectos
La solución basada en aspectos sugerida por [Cerny2013] [Cerny2013a] [AspectFaces] integra las ventajas de los enfoques de programación generativa y basados en la inspección de código. Inspecciona el código existente y aplica métodos orientados a aspectos para abordar preocupaciones transversales. Funciona en tiempo de ejecución, reduce la reformulación de la información y, al mismo tiempo, separa las preocupaciones de la interfaz de usuario, lo que permite reutilizar cada una independientemente de las demás. En el estudio de [Cerny2013], los autores reducen el código de la IU en un 32% mediante un enfoque de IU basado en aspectos aplicado a un sistema de producción. Las principales ventajas son la creación de plantillas para ajustar la presentación, definiciones separadas de preocupaciones y reglas de transformación en su mayoría genéricas aplicables a varios datos.
Modelos de contenido
Los modelos de este tipo muestran el contenido de una interfaz de usuario y sus diferentes componentes. Los detalles de estética y comportamiento no se incluyen en este tipo de modelo, ya que es una forma de modelo de diseño centrado en el uso.
Ver también
Referencias
- [Paternò 2005] - F Paternò, Herramientas basadas en modelos para una usabilidad generalizada, Interacting with Computers 17 (3), 291-315
- [Trætteberg2002] - H. Trætteberg, Diseño de interfaz de usuario basado en modelos, tesis doctoral, Universidad Noruega de Ciencia y Tecnología, 2002
- [SilvaPaton2003] - P. Pinheiro da Silva, NW Paton, Modelado de interfaz de usuario en UMLi, Universidad de Stanford / Universidad de Manchester, 2003
- [Markopoulos1997] - P. Markopoulos, Un modelo compositivo para la especificación formal de software de interfaz de usuario, tesis doctoral, Queen Mary y Westfield College University of London, 1997
- [Trevisan2003] - D. Trevisan, J. Vanderdonck, B. Macq, Enfoque basado en modelos y sistemas de realidad aumentada, Université catholique de Louvain, 1348 Louvain-la-Neuve, Bélgica, 2003
- [wwwUMLi] - El lenguaje de modelado unificado para aplicaciones interactivas
- [Cerny2013] - Černý, T. - Čemus, K. - Donahoo, MJ - Song, MJ: Diseño de interfaces de usuario basado en aspectos, reflectante de datos y sensible al contexto (página 53). En: ACM SIGAPP Applied Computing Review [en línea , 2013, vol. 13, no. 4, pág. 53-65, ISSN 1559-6915 .
- [Cerny2013a] - Černý, T. - Donahoo, MJ - Song, E .: Towards Effective Adaptive User Interfaces Design , Proceedings of the 2013 Research in Applied Computation Symposium (RACS 2013), Montreal: ACM, 2013, ISBN 978-1-4503-2348-2 .
- [AspectFaces] - AspectFaces
- [Cerny2012] - T. Cerny y E. Song. Generación de formularios enriquecidos basada en modelos . Información: Una revista internacional interdisciplinaria, 15 (7, SI): 2695--2714, JUL 2012.
- [Programación generativa] - Krzysztof Czarnecki y Ulrich W. Eisenecker. 2000. Programación generativa: métodos, herramientas y aplicaciones . ACM Press / Addison-Wesley Publ. Co., Nueva York, NY, EE. UU.