Моделирование пользовательского интерфейса
Моделирование пользовательского интерфейса — это метод разработки, используемый программистами компьютерных приложений. Современные пользовательские интерфейсы (UI) представляют собой сложные программные компоненты, которые играют важную роль в удобстве использования приложения. Поэтому разработка пользовательских интерфейсов требует не только руководств и отчетов о передовом опыте, но и процесса разработки, включая разработку визуальных моделей и стандартизированных обозначений для этой визуализации.
Термин «моделирование пользовательского интерфейса» чаще всего используется в контексте информационных технологий . Модель пользовательского интерфейса — это представление того, как конечные пользователи взаимодействуют с компьютерной программой или другим устройством, а также как реагирует система. Задача моделирования состоит в том, чтобы показать все « непосредственно переживаемые аспекты вещи или устройства» [Trætteberg2002].
Моделирование пользовательских интерфейсов само по себе является хорошо зарекомендовавшей себя дисциплиной. Например, методы моделирования могут описывать объекты взаимодействия, задачи и диалоги нижнего уровня в пользовательских интерфейсах. Использование моделей в рамках разработки пользовательского интерфейса может помочь уловить требования пользователей, избежать преждевременного принятия определенных макетов и виджетов, а также сделать явными отношения между различными частями интерфейса и их ролями. [СильваПатон2003].
Языки
[ редактировать ]МАРИЯ
[ редактировать ]MARIA XML (Language for Interactive Applications, основанный на моделях) — универсальный, декларативный, многоуровневый язык разметки пользовательского интерфейса на основе XML для моделирования интерактивных приложений в повсеместных средах.
UML
[ редактировать ]Некоторые аспекты моделирования пользовательского интерфейса можно реализовать с помощью UML . Однако этот язык в основном не предназначен для такого рода моделирования, что может сделать модели несколько синтетическими.
УМЛи
[ редактировать ]UMLi является расширением UML и добавляет поддержку представлений, обычно встречающихся в пользовательских интерфейсах.
Поскольку модели приложений в UML описывают лишь несколько аспектов пользовательских интерфейсов, и потому что среды разработки пользовательского интерфейса на основе моделей (MB-UIDE) Не имея возможности использовать приложения для моделирования, Манчестерский университет начал исследовательский проект UMLi в 1998 году. UMLi стремится решить эту проблему проектирования и реализации пользовательских интерфейсов с использованием комбинации UML и MB-UIDE.
УсиXML
[ редактировать ]UsiXML (расширяемый язык разметки пользовательского интерфейса) — это язык спецификаций на основе XML для проектирования пользовательского интерфейса. Он поддерживает описание пользовательского интерфейса для нескольких контекстов использования, таких как символьные пользовательские интерфейсы (CUI), графические Пользовательские интерфейсы (GUI), слуховые пользовательские интерфейсы и мультимодальные пользовательские интерфейсы.
ДиаМОДЛ
[ редактировать ]DiaMODL сочетает в себе язык, ориентированный на потоки данных (абстракция интерактора Pisa), с диаграммами состояний UML, которые фокусируются на поведении. Он способен моделировать поток данных, а также поведение объектов взаимодействия. Его можно использовать для документирования функций и структуры конкретных пользовательских интерфейсов.
Гималия
[ редактировать ]Himalia сочетает в себе модели гипермедиа с парадигмой управления/композита. Это полноценный язык пользовательского интерфейса, его можно использовать как для указания, так и для запуска, поэтому инструмент дизайнера можно отнести к категории гульденов. [1]
Типы моделей
[ редактировать ]Различные аспекты пользовательского интерфейса требуют разных типов моделей. Некоторые из моделей, которые можно рассмотреть для моделирования пользовательского интерфейса:
- Модель предметной области , включая модель данных (определяет объекты, которые пользователь может просматривать, получать доступ и манипулировать ими через пользовательский интерфейс).
- Модель навигации определяет, как можно перемещаться по объектам, отображаемым пользователем, через пользовательский интерфейс.
- Модель задачи . (описывает задачи, которые выполняет конечный пользователь, и определяет, какие возможности взаимодействия необходимо разработать)
- Модель пользователя (представляет различные характеристики конечных пользователей и роли, которые они играют внутри организации)
- Модель платформы (используется для моделирования физических устройств, на которых будет размещаться приложение, и того, как они взаимодействуют друг с другом).
- Модель диалога (как пользователи могут взаимодействовать с представлением объектов (в виде кнопок, команд и т. д.), со средствами взаимодействия (например, голосовой ввод, сенсорный экран и т. д.) и реакциями, которые пользовательский интерфейс передает через эти объекты)
- Модель представления (внешний вид приложения, представление визуальных, тактильных и слуховых элементов, которые пользовательский интерфейс предлагает своим пользователям)
- Модель приложения (команды и данные, предоставляемые приложением)
UML можно использовать для некоторых из упомянутых выше моделей с разной степенью успеха, но ему не хватает поддержки моделирования пользователей, моделирования платформ и моделей представления.
Подходы
[ редактировать ]Существует несколько подходов к моделированию пользовательского интерфейса.
Дизайн, ориентированный на использование
[ редактировать ]При проектировании, ориентированном на использование, задача моделирования состоит в том, чтобы показать, как должно происходить фактическое представление запланированной системы и как должно происходить взаимодействие с пользователем. Вероятно, это самый хваленый подход, который успешно использовался во множестве небольших и крупномасштабных проектов. Его сильные стороны – в сложных проблемах.
Альтернативные подходы к пользовательским интерфейсам на основе моделей
[ редактировать ]Известные проблемы подходов, основанных на моделях, включают переформулирование информации и отсутствие механизмов эффективного решения сквозных проблем [Cerny2013]. Решения на основе моделей могут хорошо работать сами по себе, но интеграция с альтернативными подходами усложняет разработку и обслуживание.
На основе проверки кода
[ редактировать ]Эти подходы основаны на существующих базах кода языка общего назначения (GPL) [Cerny2012]. Они проверяют код посредством метапрограммирования и собирают структурную модель, которая преобразуется в пользовательский интерфейс. Этот подход направлен на переформулирование информации. Эти подходы не подходят для адаптивных и контекстно-зависимых пользовательских интерфейсов.
Генеративное программирование
[ редактировать ]Эти подходы соединяют методы предметной области с GPL [Генераторное программирование]. Сквозные проблемы решаются во время компиляции, что не учитывает напрямую будущие адаптивные пользовательские интерфейсы, нуждающиеся в информации времени выполнения.
Аспектно-ориентированные пользовательские интерфейсы
[ редактировать ]Аспектное решение, предложенное [Cerny2013][Cerny2013a][AspectFaces], объединяет преимущества подходов на основе проверки кода и генеративного программирования. Он проверяет существующий код и применяет аспектно-ориентированные методы для решения сквозных проблем. Он работает во время выполнения, уменьшает повторение информации и в то же время разделяет проблемы пользовательского интерфейса, что позволяет повторно использовать каждую из них независимо от других. В исследовании [Cerny2013] авторы сокращают код пользовательского интерфейса на 32% за счет аспектного подхода к пользовательскому интерфейсу, применяемого к производственной системе. Основными преимуществами являются шаблоны для настройки представления, отдельные определения проблем и в основном общие правила преобразования, применимые к различным данным.
Модели контента
[ редактировать ]Модели такого типа показывают содержимое пользовательского интерфейса и его различных компонентов. Детали эстетики и поведения не включены в этот тип модели, поскольку это форма модели дизайна, ориентированной на использование.
См. также
[ редактировать ]Ссылки
[ редактировать ]- [Патерно 2005] – Ф. Патерно, Инструменты на основе моделей для всеобщего удобства использования, Взаимодействие с компьютерами 17 (3), 291-315
- [Trætteberg2002] – Х. Треттеберг, Проектирование пользовательского интерфейса на основе моделей, докторская диссертация, Норвежский университет науки и технологий, 2002 г.
- [SilvaPaton2003] – П. Пиньейру да Силва, Н. В. Патон, Моделирование пользовательского интерфейса в UMLi, Стэнфордский университет/Манчестерский университет, 2003 г.
- [Маркопулос1997] - П. Маркопулос, Композиционная модель для формальной спецификации программного обеспечения пользовательского интерфейса, докторская диссертация, Лондонский университет Королевы Марии и Вестфилдского университета, 1997 г.
- [Trevisan2003] – Д. Тревизан, Дж. Вандердонк, Б. Мак, Модельно-ориентированный подход и системы дополненной реальности, Католический университет Лувена, 1348 Лувен-ла-Нёв, Бельгия, 2003 г.
- [wwwUMLi] — унифицированный язык моделирования для интерактивных приложений.
- [Cerny2013] – Черны, Т. - Чемус, К. - Донаху, М.Дж. - Сонг, М.Дж.: Проектирование пользовательских интерфейсов с учетом аспектов, отражения данных и контекста (стр. 53). В: Обзор прикладных вычислений ACM SIGAPP [онлайн , 2013, том. 13, нет. 4, с. 53-65, ISSN 1559-6915 .
- [Cerny2013a] – Черны, Т. - Донаху, М.Дж. - Сонг, Э.: На пути к эффективному проектированию адаптивных пользовательских интерфейсов , Материалы симпозиума по исследованиям в области прикладных вычислений 2013 г. (RACS 2013), Монреаль: ACM, 2013, ISBN 978-1-4503-2348-2 .
- [AspectFaces] – «АспектФейс» . Coding Crayons sro Архивировано из оригинала 2 февраля 2019 года.
{{cite web}}
: CS1 maint: неподходящий URL ( ссылка ) - [Cerny2012] – Т. Черни и Э. Сонг. Генерация расширенных форм на основе модели . Информация: Международный междисциплинарный журнал, 15(7, SI):2695–2714, июль 2012 г.
- [Генеративное программирование] – Кшиштоф Чарнецкий и Ульрих В. Эйзенекер. 2000. Генеративное программирование: методы, инструменты и приложения . ACM Press/Addison-Wesley Publ. Co., Нью-Йорк, штат Нью-Йорк, США.