Articulo de referencia

Lenguaje de modelado de flujo de interacción

Logotipo oficial de IFML (Interaction Flow Modeling Language) de OMG. El lenguaje de modelado de flujo de interacción ( IFML ) es un lenguaje de modelado estandarizado en el cam...

Logotipo oficial de IFML (Interaction Flow Modeling Language) de OMG.

El lenguaje de modelado de flujo de interacción ( IFML ) es un lenguaje de modelado estandarizado en el campo de la ingeniería de software . IFML incluye un conjunto de notaciones gráficas para crear modelos visuales de las interacciones del usuario y el comportamiento de la interfaz en los sistemas de software .

El lenguaje de modelado de flujo de interacción (Interaction Flow Modeling Language) se desarrolló en 2012 y 2013 bajo la dirección de WebRatio y se inspiró en la notación WebML , así como en otras experiencias en el campo del modelado web .

Fue adoptado como estándar por el Object Management Group (OMG) en marzo de 2013. [ 1 ]

Enfocar

IFML permite la descripción independiente de la plataforma de interfaces gráficas de usuario para aplicaciones que se ejecutan o se utilizan en sistemas como ordenadores de sobremesa, portátiles, PDA, teléfonos móviles y tabletas. La descripción se centra en la estructura y el comportamiento de la aplicación desde la perspectiva del usuario final.

IFML describe las interacciones del usuario y los comportamientos de control del front-end de las aplicaciones pertenecientes a los siguientes dominios:

  • Aplicaciones web basadas en HTML+HTTP.
  • Aplicaciones web enriquecidas, compatibles con el estándar HTML5.
  • Aplicaciones móviles.
  • Aplicaciones cliente-servidor.
  • Aplicaciones de escritorio.
  • Interfaces hombre-máquina integradas para aplicaciones de control.
  • Aplicaciones multicanal y sensibles al contexto.

IFML no admite la especificación de gráficos informáticos bidimensionales y tridimensionales.

IFML no se aplica al modelado de aspectos de presentación (diseño y apariencia) de la interfaz de usuario de una aplicación ni al diseño de la lógica de negocio y los componentes de datos. Si bien estos aspectos no son el objetivo principal del lenguaje, IFML permite a los diseñadores hacer referencia a modelos o artefactos de modelado externos relacionados con estos aspectos desde sus propios modelos IFML.

Contenido del estándar

La especificación IFML [ 1 ] consta de:

  • El metamodelo IFML ( MOF ).
  • El perfil UML de IFML .
  • La sintaxis visual IFML (definida mediante la especificación de Definición de Diagrama e Intercambio de Diagramas).
  • Formato de intercambio del modelo IFML XMI .

Conceptos principales de modelado

Principales conceptos y notaciones de IFML.

Un modelo IFML consta de uno o más contenedores de vista (posiblemente anidados). Por ejemplo, ventanas en aplicaciones de escritorio tradicionales o plantillas de página en aplicaciones web. Un contenedor de vista puede contener componentes de vista , que indican la publicación de contenido estático o dinámico, o elementos de interfaz para la entrada de datos (como formularios de entrada). Un componente de vista puede tener parámetros de entrada y salida .

Un contenedor de vista y un componente de vista pueden asociarse con eventos que representan interacciones de los usuarios o sucesos generados por el sistema. Por ejemplo, un evento para seleccionar uno o más elementos de una lista o para enviar datos desde un formulario. El efecto de un evento se representa mediante una conexión de flujo de interacción . El flujo de interacción expresa un cambio de estado de la interfaz de usuario. Un evento también puede desencadenar una acción que se ejecuta antes de actualizar el estado de la interfaz de usuario; por ejemplo, una operación de eliminación o actualización en instancias de una base de datos. Se puede especificar una dependencia de entrada-salida entre elementos mediante enlaces de parámetros asociados con flujos de navegación o mediante flujos de datos que solo describen la transferencia de datos.

IFML también incluye conceptos para definir restricciones, modularización y conocimiento del contexto (por ejemplo, basado en el perfil del usuario, el dispositivo y la ubicación) sobre los elementos de modelado. Los conceptos de IFML se pueden ampliar con mecanismos de extensión estándar basados ​​en estereotipos .

Beneficios

El coste del desarrollo de aplicaciones front-end ha aumentado con la aparición de una gama sin precedentes de dispositivos, plataformas tecnológicas y canales de comunicación, sin que ello se vea acompañado por la aparición de un enfoque adecuado para crear un Modelo Independiente de Plataforma (PIM) que permita diseñar interacciones de usuario independientemente de la plataforma de implementación. Esto convierte el desarrollo front-end en un proceso costoso e ineficiente, donde la codificación manual es el enfoque de desarrollo predominante, la reutilización de artefactos de diseño es baja y la portabilidad de las aplicaciones entre plataformas sigue siendo difícil.

IFML aporta varias ventajas al desarrollo de interfaces de usuario para aplicaciones:

  • Permite la especificación formal del front-end desde diferentes perspectivas: composición de la interfaz, interacción del usuario y gestión de eventos.
  • Permite la conexión con la lógica de negocio, el modelo de datos y la capa de presentación gráfica.
  • Aísla la especificación del front-end de los problemas específicos de la implementación.
  • Mejora el proceso de desarrollo al fomentar la separación de responsabilidades entre los distintos roles en el diseño de la interacción.
  • Permite comunicar el diseño de la interfaz de usuario a las partes interesadas no técnicas. [ 2 ]

Implementaciones y herramientas

Actualmente, WebRatio admite IFML.Aquí encontrará una serie de entradas de blog que describen el proceso de estandarización .

Se está desarrollando un nuevo editor IFML de código abierto basado en Eclipse, EMF /GMF y la API de Graphiti. La herramienta se publicará como un proyecto Eclipse de código abierto. Incluirá mapeos de conceptos abstractos de IFML a conceptos específicos de las plataformas Java Swing, Microsoft WPF y HTML. El modelado de los diagramas IFML para la interfaz de usuario se puede complementar con diagramas UML (ejecutables) según las especificaciones fUML , combinados con scripts Alf para la lógica de negocio del backend. Puede ver un adelanto de las características de la herramienta en este vídeo .

IFMLEdit.orgEs un editor IFML de código abierto basado en la web, enfocado en la educación y el desarrollo ágil. Admite la edición de modelos, la generación de código y la emulación. Actualmente, admite la generación de código para NodeJS del lado del servidor, JavaScript del lado del cliente y aplicaciones móviles a través de Cordova o Flutter .

Historia

IFML se inspiró en la notación WebML , inventada en el Politecnico di Milano por Stefano Ceri y Piero Fraternali, con un equipo de personas que incluía a Roberto Acerbis, Aldo Bongio, Marco Brambilla, Sara Comai, Stefano Butti y Maristella Matera.

Referencias

  1. 1 2 "Documento de especificación IFML" . OMG - Object Management Group . Consultado el 9 de abril de 2013 .
  2. Una base para un diseño de interfaz de usuario perfecto por CitrusBits (20 de marzo de 2015)

Lecturas adicionales

  • Marco Brambilla; Piero Fraternali (2015). Lenguaje de modelado de flujo de interacción. Ingeniería de interfaz de usuario basada en modelos para aplicaciones web y móviles con IFML . Morgan Kaufmann & The OMG Press. ISBN 978-0-12-800108-0.
  • Stefano Ceri; Piero Fraternali; Aldo Bongio; Marco Brambilla; Sara Comai; Maristella Matera (2002). Diseño de aplicaciones web con uso intensivo de datos . Morgan Kaufman. ISBN 978-1-55860-843-6.
  • S. Ceri; M. Brambilla; P. Fraternali (2009), "La historia de WebML: Lecciones aprendidas de 10 años de desarrollo de aplicaciones web basado en modelos", Modelado conceptual: Fundamentos y aplicaciones, Ensayos en honor a John Mylopoulos , Springer LNCS, serie Festschrift, vol.  5600, pp. 273–292 
  • RS Wazlawick ( 2014), "Diseño de la capa de interfaz con IFML", Análisis y diseño orientado a objetos para sistemas de información: modelado con UML, OCL e IFML , Morgan Kaufmann, págs. 289–334 
  • IFML.org http://www.ifml.org
  • Documentos de especificación oficiales de IFML http://www.omg.org/spec/IFML/
  • WebML http://www.webml.org
  • WebRatio http://www.webratio.com
  • IFMLEdit.org http://www.ifmledit.org