Язык моделирования потока взаимодействия
Язык моделирования потока взаимодействия ( 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 ).
- IFML UML-профиль .
- Визуальный синтаксис IFML (определяется посредством определения диаграммы и спецификации обмена диаграммами).
- Формат обмена моделями IFML XMI .
Основные концепции моделирования
[ редактировать ]Модель IFML состоит из одного или нескольких контейнеров представлений (возможно, вложенных).Например, окна в традиционных настольных приложениях или шаблоны страниц вВеб-приложения. Контейнер представления может содержать компоненты представления , которые обозначаютпубликация статического или динамического контента или элементов интерфейса для ввода данных(например, формы ввода). Компонент представления может иметь входные и выходные параметры .
Контейнер представления и компонент представления могут быть связаны с событиями , которые могут представлять действия пользователей.взаимодействия или события, генерируемые системой. Например, событие выбораодин или несколько элементов из списка или для отправки входных данных из формы. Эффектсобытия представлено соединением потока взаимодействия . Взаимодействиепоток выражает изменение состояния пользовательского интерфейса. Событиетакже может вызвать действие , которое выполняется до обновлениясостояние пользовательского интерфейса; например, операция удаления или обновления наэкземпляры базы данных. Зависимость ввода-вывода между элементами может быть указана черезпривязки параметров, связанные с потоками навигации или потоками данных , которые описывают только передачу данных.
IFML также включает концепции определения ограничений, модульности и контекстной осведомленности (например, на основе профиля пользователя, устройства, местоположения) по элементам моделирования.Концепции IFML могут быть расширены с помощью стандартных механизмов расширения, основанных на стереотипах .
Преимущества
[ редактировать ]Стоимость разработки интерфейсных приложений выросла с появлением беспрецедентного спектра устройств, технологических платформ и каналов связи, что не сопровождается появлением адекватного подхода к созданию Платформонезависимой модели (PIM), которую можно используется для проектирования взаимодействия с пользователем независимо от платформы реализации. Это приводит к тому, что интерфейсная разработка становится дорогостоящим и неэффективным процессом, при котором преобладающим подходом к разработке является ручное кодирование, повторное использование артефактов дизайна невелико, а переносимость приложений между платформами остается затрудненной.
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 с открытым исходным кодом , ориентированный на образование и гибкую разработку.Он поддерживает редактирование моделей, генерацию кода и эмуляцию.В настоящее время он поддерживает генерацию кода для NodeJS на стороне сервера , JavaScript на стороне клиента и мобильных приложений через Cordova или Flutter .
История
[ редактировать ]IFML был вдохновлен нотацией WebML , изобретенной в Миланском политехническом университете Стефано Чери и Пьеро Фратернали совместно с командой людей, в которую входили Роберто Ачербис, Альдо Бонджио, Марко Брамбилла, Сара Комаи, Стефано Бутти и Маристелла Матера.
Ссылки
[ редактировать ]- ^ Jump up to: а б «Документ спецификации IFML» . OMG — Группа управления объектами . Проверено 9 апреля 2013 г.
- ^ Основа идеального дизайна пользовательского интерфейса от CitrusBits (20 марта 2015 г.)
Дальнейшее чтение
[ редактировать ]- Марко Брамбилла; Пьеро Братья (2015). Язык моделирования потока взаимодействия. Модельно-ориентированная разработка пользовательского интерфейса веб- и мобильных приложений с помощью IFML . Морган Кауфманн и The OMG Press. ISBN 978-0-12-800108-0 .
- Стефано Чери; Пьеро Братья; Альдо Бонджио; Марко Брамбилла; Сара Комай; Маристелла Матера (2002). Проектирование веб-приложений с интенсивным использованием данных . Морган Кауфманн. ISBN 978-1-55860-843-6 .
- С. Кери; М. Брамбилла; П. Фратернали (2009), «История уроков WebML, извлеченных за 10 лет разработки веб-приложений на основе моделей», Концептуальное моделирование: основы и приложения, Очерки в честь Джона Милопулоса , Springer LNCS, серия Festschrift, vol. 5600, стр. 273–292.
- Р. С. Вазлавик (2014), «Проектирование уровня интерфейса с помощью IFML», Объектно-ориентированный анализ и проектирование информационных систем: моделирование с помощью UML, OCL и IFML , Морган Кауфманн, стр. 289–334.
Внешние ссылки
[ редактировать ]- IFML.org http://www.ifml.org
- Официальные документы спецификации IFML http://www.omg.org/spec/IFML/
- ВебML http://www.webml.org
- ВебРатио http://www.webratio.com
- IFMLEdit.org http://www.ifmledit.org