Язык моделирования потока взаимодействия

Графическое обозначение взаимодействия пользователя с программной системой
Официальный логотип IFML (язык моделирования потоков взаимодействия) от OMG.

Язык моделирования потока взаимодействия ( IFML ) — стандартизированный язык моделирования в области разработки программного обеспечения . IFML включает в себя набор графических обозначений для создания визуальных моделей взаимодействия пользователя и поведения интерфейса в программных системах .

Язык моделирования потока взаимодействия был разработан в 2012 и 2013 годах под руководством WebRatio и был вдохновлен нотацией WebML , а также некоторыми другими наработками в области веб-моделирования .

Он был принят в качестве стандарта Object Management Group (OMG) в марте 2013 года. [1]

Фокус

IFML поддерживает независимое от платформы описание графических пользовательских интерфейсов для приложений, доступных или развернутых на таких системах, как настольные компьютеры, ноутбуки, КПК, мобильные телефоны и планшеты. Основное внимание в описании уделяется структуре и поведению приложения, воспринимаемому конечным пользователем.

IFML описывает взаимодействие пользователя и управление поведением интерфейсов приложений, относящихся к следующим доменам:

  • Веб-приложения на базе HTML+HTTP.
  • Многофункциональные интернет-приложения, поддерживаемые стандартом HTML 5.
  • Мобильные приложения.
  • Клиент-серверные приложения.
  • Настольные приложения.
  • Встроенные человеко-машинные интерфейсы для приложений управления.
  • Многоканальные и контекстно-зависимые приложения.

IFML не учитывает спецификации двумерной и трехмерной компьютерной графики.

IFML не применяется к моделированию вопросов представления (макет/внешний вид и поведение) интерфейса приложения или к проектированию бизнес-логики и компонентов данных. Хотя эти аспекты не являются фокусом языка, IFML позволяет проектировщикам ссылаться на внешние модели или артефакты моделирования относительно этих аспектов из моделей IFML.

Содержание стандарта

Спецификация IFML [1] состоит из:

  • Метамодель IFML ( MOF ).
  • Профиль UML IFML .
  • Визуальный синтаксис IFML (определен в спецификациях Diagram Definition и Diagram Interchange).
  • Формат обмена моделями IFML XMI .

Основные концепции моделирования

Основные концепции и обозначения IFML.

Модель IFML состоит из одного или нескольких view container s (возможно, вложенных). Например, окна в традиционных настольных приложениях или шаблоны страниц в веб-приложениях. View container может содержать view component s, которые обозначают публикацию статического или динамического контента или элементы интерфейса для ввода данных (например, формы ввода). View component может иметь входные и выходные параметры s.

Контейнер представления и компонент представления могут быть связаны с событиями , которые могут представлять взаимодействия пользователей или события, сгенерированные системой. Например, событие для выбора одного или нескольких элементов из списка или для отправки входных данных из формы. Эффект события представлен соединением потока взаимодействия . Поток взаимодействия выражает изменение состояния пользовательского интерфейса. Событие также может вызвать действие , которое выполняется до обновления состояния пользовательского интерфейса; например, операция удаления или обновления экземпляров базы данных. Зависимость ввода-вывода между элементами может быть указана через привязки параметров, связанные с потоками навигации, или через потоки данных , которые описывают только передачу данных.

IFML также включает концепции для определения ограничений, модуляризации и контекстной осведомленности (например, на основе профиля пользователя, устройства, местоположения) по элементам моделирования. Концепции IFML могут быть расширены с помощью стандартных механизмов расширения, основанных на стереотипизации .

Преимущества

Стоимость разработки front-end приложений возросла с появлением беспрецедентного диапазона устройств, технологических платформ и каналов связи, которые не сопровождаются появлением адекватного подхода к созданию платформенно-независимой модели (PIM), которая может использоваться для проектирования пользовательских взаимодействий независимо от платформы реализации. Это делает front-end разработку дорогостоящей и неэффективной, где ручное кодирование является преобладающим подходом к разработке, повторное использование артефактов дизайна мало, а переносимость приложений между платформами остается сложной.

IFML обеспечивает ряд преимуществ при разработке интерфейсов приложений:

  • Он поддерживает формальную спецификацию интерфейса с разных точек зрения: композиция интерфейса, взаимодействие с пользователем, управление событиями.
  • Поддерживает связь с бизнес-логикой, моделью данных и уровнем графического представления.
  • Он изолирует спецификацию интерфейса от проблем, связанных с реализацией.
  • Это улучшает процесс разработки, способствуя разделению задач между ролями при проектировании взаимодействия.
  • Позволяет донести дизайн пользовательского интерфейса до нетехнических заинтересованных лиц. [2]

Реализации и инструменты

В настоящее время IFML поддерживается WebRatio [1]. Набор сообщений в блоге, описывающих процесс стандартизации, доступен здесь.

Новый редактор IFML с открытым исходным кодом на основе Eclipse, EMF /GMF и Graphiti API находится в стадии разработки. Инструмент будет выпущен как проект Eclipse с открытым исходным кодом. Инструмент будет включать сопоставления абстрактных концепций IFML с платформенно-специфичными концепциями Java Swing, Microsoft WPF и HTML. Моделирование диаграмм IFML для части пользовательского интерфейса может быть дополнено (исполняемыми) диаграммами UML в соответствии со спецификациями fUML в сочетании со скриптами Alf для внутренней бизнес-логики. Предварительный просмотр функций инструмента можно увидеть в этом видео.

IFMLEdit.org[2] — веб-редактор IFML с открытым исходным кодом, ориентированный на образование и agile-разработку. Он поддерживает редактирование моделей, генерацию кода и эмуляцию. В настоящее время он поддерживает генерацию кода для серверной части NodeJS , клиентской части JavaScript и мобильных приложений через Cordova или Flutter .

История

IFML был вдохновлен нотацией WebML , изобретенной в Миланском политехническом университете Стефано Чери и Пьеро Фратернали совместно с командой людей, в которую входили Роберто Ачербис, Альдо Бонджио, Марко Брамбилла, Сара Комаи, Стефано Бутти и Маристелла Матера.

Ссылки

  1. ^ ab "IFML Specification document". OMG - Object Management Group . Получено 9 апреля 2013 г.
  2. ^ Основа для идеального дизайна пользовательского интерфейса от CitrusBits (20 марта 2015 г.)

Дальнейшее чтение

  • Марко Брамбилла; Пьеро Фратернали (2015). Язык моделирования потока взаимодействия. Разработка пользовательского интерфейса на основе моделей для веб- и мобильных приложений с использованием IFML . Морган Кауфманн и The OMG Press. ISBN 978-0-12-800108-0.
  • Стефано Чери; Пьеро Фратернали; Альдо Бонджио; Марко Брамбилла; Сара Комай; Маристелла Матера (2002). Проектирование веб-приложений с интенсивным использованием данных . Морган Кауфманн. ISBN 978-1-55860-843-6.
  • S. Ceri; M. Brambilla; P. Fraternali (2009), «История WebML: уроки, извлеченные из 10 лет разработки веб-приложений на основе моделей», Концептуальное моделирование: основы и приложения, эссе в честь Джона Милопулоса , Springer LNCS, серия Festschrift, том 5600, стр  . 273–292
  • RS Wazlawick (2014), «Проектирование уровня интерфейса с IFML», Объектно-ориентированный анализ и проектирование информационных систем: моделирование с использованием UML , OCL и IFML , Morgan Kaufmann, стр.  289–334
  • IFML.org http://www.ifml.org
  • Официальные документы спецификации IFML http://www.omg.org/spec/IFML/
  • WebML-http://www.webml.org
  • WebRatio http://www.webratio.com
  • IFMLEdit.org http://www.ifmledit.org
Взято с "https://en.wikipedia.org/w/index.php?title=Язык_моделирования_потока_взаимодействия&oldid=1258851115"