stringtranslate.com

Lenguaje de modelado de flujo de interacción

Logotipo oficial de IFML (Lenguaje de modelado de flujo de interacción) 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 frontal en sistemas de software.

El lenguaje de modelado de flujo de interacción se desarrolló en 2012 y 2013 bajo la dirección 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 implementa en sistemas tales como computadoras de escritorio, computadoras portátiles, PDA, teléfonos móviles y tabletas. El foco de la descripción está en la estructura y el comportamiento de la aplicación tal como lo percibe el usuario final.

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

IFML no cumple con las especificaciones de gráficos por computadora bidimensionales y tridimensionales.

IFML no se aplica al modelado de problemas de presentación (diseño/apariencia) de una aplicación front-end 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 con respecto a estos aspectos desde dentro de los modelos IFML.

Contenido de la norma

La especificación IFML [1] consta de:

Principales conceptos de modelado.

Principales conceptos y notaciones de IFML.

Un modelo IFML consta de uno o más contenedores de vistas (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 denotan 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 se pueden asociar 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 está representado por 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 de 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 perfil de usuario, dispositivo, 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 van acompañados de la llegada de un enfoque adecuado para la creación de un Modelo Independiente de Plataforma (PIM) que pueda ser Se utiliza 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 aplicaciones front-end:

Implementaciones y herramientas

IFML actualmente es compatible con WebRatio [1]. Un conjunto de publicaciones de blog que describen el proceso de estandarización está 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 de IFML a conceptos específicos de plataforma de Java Swing, Microsoft WPF y HTML. El modelado de los diagramas IFML para la parte UI se puede complementar con diagramas UML (ejecutables) según las especificaciones fUML combinados con scripts Alf para la lógica empresarial back-end. En este vídeo se puede ver un adelanto de las funciones de la herramienta.

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

Otras lecturas

enlaces externos