Articulo de referencia

Modelado de interfaz de usuario

El modelado de interfaces de usuario es una técnica de desarrollo utilizada por los programadores de aplicaciones informáticas. Las interfaces de usuario (IU) actuales son compo...

El modelado de interfaces de usuario es una técnica de desarrollo utilizada por los programadores de aplicaciones informáticas. Las interfaces de usuario (IU) actuales son componentes de software complejos que desempeñan un papel fundamental en la usabilidad de una aplicación. Por lo tanto, el desarrollo de interfaces de usuario requiere no solo directrices e informes de buenas prácticas, sino también un proceso de desarrollo que incluya la elaboración de modelos visuales y una notación estandarizada para dicha visualización.

El término modelado de interfaz de usuario se utiliza principalmente en el contexto de las tecnologías de la información . Un modelo de interfaz de usuario es una representación de cómo el usuario final interactúa con un programa informático u otro dispositivo, y también de cómo responde el sistema. La tarea de modelado consiste, por lo tanto, en mostrar todos los aspectos que se experimentan directamente con un objeto o dispositivo. [ 1 ]

El modelado de interfaces de usuario es una disciplina bien establecida. Por ejemplo, las técnicas de modelado pueden describir objetos de interacción, tareas y diálogos de bajo nivel en las interfaces de usuario. El uso de modelos como parte del desarrollo de interfaces de usuario puede ayudar a capturar los requisitos del usuario, evitar compromisos prematuros con diseños y widgets específicos, y explicitar las relaciones entre las diferentes partes de una interfaz y sus funciones. [ 2 ]

Idiomas

MARÍA

MARIA XML (Model-based lAnguage foR Interactive Applications) es un lenguaje de marcado de interfaz de usuario universal, declarativo, con múltiples niveles de abstracción y basado en XML, para modelar aplicaciones interactivas en entornos ubicuos.

UML

Algunos aspectos del modelado de interfaces de usuario pueden realizarse utilizando UML . Sin embargo, este lenguaje no está diseñado principalmente para este tipo de modelado, lo que puede hacer que los modelos resulten algo artificiales.

UMLi

UMLi es una extensión de UML y añade soporte para la representación que se utiliza habitualmente en las interfaces de usuario.

Debido a que los modelos de aplicación en UML describen pocos aspectos de las interfaces de usuario, y a que los entornos de desarrollo de interfaces de usuario basados ​​en modelos (MB-UIDE) carecen de la capacidad para modelar aplicaciones, la Universidad de Manchester inició el proyecto de investigación UMLi en 1998. UMLi tiene como objetivo abordar este problema del diseño e implementación de interfaces de usuario mediante 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 . Permite describir interfaces de usuario en diversos contextos de uso, como interfaces de usuario basadas en caracteres (CUI), interfaces gráficas de usuario (GUI), interfaces de usuario auditivas e interfaces de usuario multimodales .

DiaMODL

DiaMODL combina un lenguaje orientado al flujo de datos (abstracción de interactor Pisa) con diagramas de estados UML, centrados en el comportamiento. Permite modelar tanto el flujo de datos como el comportamiento de los objetos de interacción. Puede utilizarse para documentar la función y la estructura de interfaces de usuario concretas.

Himalaya

Himalia combina los modelos de hipermedia con el paradigma de control/composición. Es un lenguaje de interfaz de usuario completo, que puede utilizarse tanto para su especificación como para su ejecución; por ello, la herramienta de diseño puede clasificarse como un guilder. [ 3 ]

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 interfaces de usuario 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).
  • El modelo de navegación define cómo se pueden navegar los objetos que un usuario ve a través de la interfaz de usuario.
  • Modelo de tareas . (Describe las tareas que realiza un usuario final y determina 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 destinados a alojar 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 botones, 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 distintos grados de éxito, pero carece de soporte para el modelado de usuarios, el modelado de plataformas y el modelo de presentación.

Aproches

Existen varios enfoques para modelar una interfaz de usuario.

Diseño centrado en el usuario

En el diseño centrado en el usuario, la tarea de modelado consiste en mostrar cómo se presenta realmente un sistema planificado y cómo se supone que debe desarrollarse la interacción del usuario. Este es probablemente el enfoque más elogiado y se ha utilizado con éxito en una variedad de proyectos, tanto pequeños como grandes. Sus puntos fuertes residen en la resolución de problemas complejos.

Enfoques alternativos para las interfaces de usuario basadas en modelos

Entre los problemas conocidos de los enfoques basados ​​en modelos se incluyen la reformulación de la información y la falta de mecanismos para resolver eficazmente las preocupaciones transversales. [ 4 ] 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 la inspección de código

Estos enfoques se basan en bases de código existentes de lenguajes de propósito general (GPL). [ 5 ] Inspeccionan el código mediante 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 son adecuados para interfaces de usuario adaptativas y sensibles al contexto.

Programación generativa

Estos enfoques conectan los métodos de dominio con la programación generativa (GPL). Las cuestiones transversales se abordan en tiempo de compilación, lo que no permite la integración directa de futuras interfaces de usuario adaptativas que requieran información en tiempo de ejecución.

Interfaces de usuario basadas en aspectos

La solución basada en aspectos propuesta por Tomáš Černý integra las ventajas de los enfoques de programación generativa y basada en inspección de código. [ 6 ] Inspecciona el código existente y aplica métodos orientados a aspectos para abordar preocupaciones transversales. Funciona en tiempo de ejecución, reduce la repetición de 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 un estudio, los autores redujeron el código de la interfaz de usuario en un 32 % mediante un enfoque de interfaz de usuario basado en aspectos aplicado a un sistema de producción. [ 4 ] Las principales ventajas son el uso de plantillas para ajustar la presentación, definiciones separadas de las preocupaciones y reglas de transformación mayormente genéricas aplicables a diversos datos.

Modelos de contenido

Este tipo de modelos muestra el contenido de una interfaz de usuario y sus diferentes componentes. Los detalles estéticos y de comportamiento no se incluyen en este tipo de modelo, ya que se trata de un modelo de diseño centrado en el usuario.

Véase también

Referencias

  1. Trætteberg, Hallvard (2002). Diseño de interfaz de usuario basado en modelos (tesis doctoral). Universidad Noruega de Ciencia y Tecnología. Archivado del original el 9 de febrero de 2012.
  2. Pinheiro da Silva, Paulo; Paton, Norman W. (2003). Modelado de interfaz de usuario en UMLi (Informe). Universidad de Stanford / Universidad de Manchester.
  3. "Himalia.net" . Archivado del original el 23 de julio de 2011.
  4. 1 2 Černý, Tomáš; Čemus, K.; Donahoo, Michael J.; Song, Minseok J. (2013). "Diseño de interfaces de usuario basadas en aspectos, datos y contexto" (PDF) . ACM SIGAPP Applied Computing Review . 13 (4): 53– 65. ISSN 1559-6915 . 
  5. Černý, Tomáš; Canción, E. (2012). "Generación de formularios enriquecidos basada en modelos" . Información: una revista interdisciplinaria internacional . 15 (7): 2695–2714 .
  6. Černý, Tomáš; Donahoo, Michael J.; Song, E. (2013). "Hacia un diseño eficaz de interfaces de usuario adaptativas" . Actas del Simposio de Investigación en Computación Aplicada de 2013 (RACS 2013) . Montreal: ACM. ISBN 978-1-4503-2348-2.