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 interacciones de usuarios y comportamiento del front-end en sistemas de software .

El lenguaje de modelado de flujo de interacción se desarrolló en 2012 y 2013 bajo el liderazgo de WebRatio y se inspiró en la notación WebML , así como en algunas 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 admite la descripción independiente de la plataforma de interfaces gráficas de usuario para aplicaciones a las que se accede o se implementan en sistemas como computadoras de escritorio, computadoras portátiles, PDA, teléfonos móviles y tabletas. El enfoque de la descripción se centra en la estructura y el comportamiento de la aplicación tal como los percibe el usuario final.

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

  • Aplicaciones web basadas en HTML+HTTP.
  • Aplicaciones de Internet enriquecidas, tal y como admite el estándar HTML 5.
  • 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 atiende la especificación de gráficos por computadora bidimensionales y tridimensionales.

IFML no se aplica al modelado de problemas de presentación (diseño/apariencia) del front-end de una aplicación ni al diseño de lógica de negocios y componentes de datos. Aunque estos aspectos no son el foco del lenguaje, IFML permite a los diseñadores hacer referencia a modelos externos o artefactos de modelado relacionados con estos aspectos desde dentro de los modelos IFML.

Contenido de la norma

La especificación IFML [1] consta de:

  • El metamodelo IFML ( MOF ).
  • El perfil UML IFML .
  • La sintaxis visual IFML (definida a través de la especificación de Definición de diagrama e Intercambio de diagrama).
  • El formato de intercambio del modelo XMI de IFML .

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 estar asociados con eventos que pueden representar interacciones de usuarios o sucesos generados por el sistema. Por ejemplo, un evento para seleccionar uno o más elementos de una lista o para enviar entradas 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. Una dependencia de entrada-salida entre elementos se puede especificar a través de enlaces de parámetros asociados con flujos de navegación o a través de 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, en función del perfil del usuario, el dispositivo y la ubicación) sobre elementos de modelado. Los conceptos de IFML se pueden ampliar con mecanismos de extensión estándar basados ​​en estereotipos .

Beneficios

El costo 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, que no están acompañados por la llegada de un enfoque adecuado para crear un Modelo Independiente de la Plataforma (PIM) que pueda usarse para diseñar interacciones de usuario independientemente de la plataforma de implementación. Esto hace que el desarrollo front-end sea 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 aplicaciones entre plataformas sigue siendo difícil.

IFML aporta varios beneficios al desarrollo de front-ends de aplicaciones:

  • Apoya la especificación formal del front-end desde diferentes perspectivas: composición de la interfaz, interacción del usuario, gestión de eventos.
  • Admite la conexión con la lógica empresarial, 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 preocupaciones entre los roles en el diseño de la interacción.
  • Permite la comunicación del diseño de la interfaz de usuario a partes interesadas no técnicas. [2]

Implementaciones y herramientas

Actualmente, WebRatio admite IFML [1]. Hay un conjunto de publicaciones de blog que describen el proceso de estandarización disponible aquí.

Se está desarrollando un nuevo editor IFML de código abierto basado en Eclipse, EMF /GMF y la API Graphiti. La herramienta se lanzará como un proyecto Eclipse de código abierto. La herramienta incluirá asignaciones de conceptos abstractos IFML a conceptos específicos de la plataforma Java Swing, Microsoft WPF y HTML. El modelado de los diagramas IFML para la parte de la interfaz de usuario se puede complementar con diagramas UML (ejecutables) de acuerdo con las especificaciones fUML combinadas con scripts Alf para la lógica empresarial del back-end. En este vídeo se puede ver un avance de las características de la herramienta.

IFMLEdit.org[2] es un editor IFML de código abierto basado en la web enfocado en la educación y el desarrollo ágil. Admite edición de modelos, generación y emulación de código. 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. ^ ab "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)

Lectura adicional

  • Marco Brambilla; Piero Fraternali (2015). Lenguaje de modelado de flujo de interacción. Ingeniería de interfaz de usuario basada en modelos de aplicaciones web y móviles con IFML . Morgan Kaufmann y 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 a partir de 10 años de desarrollo de aplicaciones web impulsado por modelos", Modelado conceptual: fundamentos y aplicaciones, ensayos en honor a John Mylopoulos , Springer LNCS, serie Festschrift, vol. 5600, págs. 273–292
  • RS Wazlawick (2014), "Diseño de niveles 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 especificaciones oficiales de IFML http://www.omg.org/spec/IFML/
  • WebML http://www.webml.org
  • WebRatio http://www.webratio.com
  • IFMLEdit.orghttp://www.ifmledit.org
Obtenido de "https://es.wikipedia.org/w/index.php?title=Lenguaje_de_modelado_de_flujo_de_interacción&oldid=1258851115"