Translate this page:
Please select your language to translate the article


You can just close the window to don't translate
Library
Your profile

Back to contents

Software systems and computational methods
Reference:

User interfaces in automated systems: development issues

Tikhanychev Oleg Vasilyevich

ORCID: 0000-0003-4759-2931

PhD in Technical Science

Deputy Head of Department in the Office of Advanced Development, Technoserv Group 

111395, Russia, Moscow, Yunosti str., 13

tow65@yandex.ru
Other publications by this author
 

 

DOI:

10.7256/2454-0714.2019.2.28443

Received:

19-12-2018


Published:

18-07-2019


Abstract: The subject of research is the software development process of automated control systems. The object of study is the development of user interfaces for control automation software. The generally recognized prospective direction for increasing the efficiency of organizational and technical systems is the automation of their management, which ensures increased efficiency and validity of decisions made. A significant impact on the effectiveness of any automated system is provided by its software. This primarily relates to application software. Application development is fraught with certain difficulties, including those associated with the creation of user interfaces. The analysis of development practice shows the presence of a number of problems in this area, determined by the fact that this problem is at the junction of scientific disciplines: control theory, ergonomics, technical aesthetics and psychology. During the study, general scientific methods of analysis and synthesis were used.The authors analyzes the factors affecting the efficiency of user interface development. Based on this analysis, suggestions for solving the problem are synthesized based on the use of standardization, unification and prototyping tools.The analysis showed that for the development conditions of application software for automated control systems, the last of the listed approaches provides the greatest efficiency, namely, the use of specialized prototyping systems. It is proposed to finalize the normative documentation specifying the development of automated control systems for the mandatory stage of prototyping user interfaces in the structure of the process of creating such systems


Keywords:

software development, control automation, user interface, interface development, standardization and unification, layout creation, prototyping, program life cycle, approbation stage, decision support


Введение

История создания и применения автоматизированных систем управления (АСУ) насчитывает уже несколько десятилетий. В ней, как и в процессе создания любого наукоёмкого продукта, имеется чисто научная (фундаментальная, методологическая) и научно-практическая (технологическая) составляющая. Научно-исследовательские и опытно-конструкторский работы, выполняемые в целях создания наукоёмкой продукции, принято разделять на работы «первого» (фундаментальные исследования) и «второго» (прикладные) рода. При общепризнанной важности первых, вторые, как показывает практика, ничуть не менее важны: именно от них зависит внедрение результатов теоретических исследований в практику, обеспечивающее поступательное развитие технологий.

Одна из практических научных задач «второго рода» – оптимизация разработки программного обеспечения автоматизированных систем управления, обеспечивающих поддержку принятия решений, и в настоящее время остаётся одной из не до конца решенных научно-практических задач [1,2,3,4]. В том числе, а может быть в первую очередь – из-за проблем с организацией разработки интерфейсной части программ, реализуемых в автоматических системах поддержки принятия решений (СППР).

1.Некоторые проблемы создания пользовательских интерфейсов

Как показывает практика эксплуатации программного обеспечения, именно пользовательский интерфейс является «лицом» программы, определяющим удобство её использования и, как результат, желание пользователя её эксплуатировать в процессе выработки управленческих решений. Известно достаточное количество случаев, когда именно некачественный интерфейс мешал внедрению хорошей программы [5,6,7]. Вероятно, ещё большее количество случаев просто не предано огласке. Сложность указанной задачи определяется тем, что проблема разработки интерфейса является комплексной, находящейся на стыке дисциплин: математики, технической эстетики, психологии, эргономики. И, несмотря на достаточно долгую историю вопроса, рациональная организация разработки интерфейсов программ до настоящего времени не реализована в полном объёме и проблема её решения остаётся актуальной.

Как показывает опыт разработки программ, наличие указанной проблемы определяется целым рядом факторов:

- недостаточная унификацию интерфейсов, разрабатываемых для программных продуктов различного назначения, для разных операционных систем и технических платформ;

- слабое привлечение к процессу разработки специалистов смежных областей, способных оценить потребности пользователя и сформулировать пользовательские качества интерфейса уже на этапе разработки;

- не всегда рациональную организацию процесса разработки программной продукции, в первую очередь – в части организации взаимодействия с потребителем.

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

2.Существующие подходы к решению проблем разработки пользовательских интерфейсов

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

К организационным подходам можно отнести формирование общих требований к интерфейсам программ их доведение до разработчиков и контроль исполнения. В нашей стране эти требования устанавливаются ГОСТ серии 34 (для АСУ) и серии 19 (для отдельных программ), описываются в техническом задании на опытно-конструкторскую работу (ОКР) и детализируются в форме руководящих указаний главного конструктора ОКР.

При формировании этих документов используются специализированные стандарты, созданные на основе международных аналогов, принятых к использованию РФ:

1)В части функциональных требований, например, к отдельным компонентам двумерных графических интерфейсов WIMP (window, icon, menu, pointing device), в стандартах ISO 9241-12, ISO 9241-14, ISO 9241-16, ISO/IEC 10741, ISO/IEC 12581 и других.

2)В части эргономических характеристик, в международных стандартах ISO 9241-10, ISO/IEC 13407, а также ГОСТ Р ИСО/МЭК 12119-2000, ГОСТ Р ИСО/МЭК 9126-93 и ряде других.

Зарубежные разработчики, преимущественно, пользуются комплексом стандартов по организации интерфейсов переносимых операционных систем (Portable operating system interfaces — POSIX). Входящие в POSIX стандарты принято делить на четыре группы [8,9,10]:

- базовые, определяющие общие принципы построения, директивы, основы реализации и тестирования интерфейсов переносимых приложений, серии IEEE 1003.1, -2, -3, -4, -7;

- конкретизирующие интерфейсы для операционных платформ, серии IEEE 1003.5, -9, -16, -19, -20;

- определяющие взаимодействие в распределенных открытых системах и телекоммуникационных сетях, а также защиту информации (IEEE 1003.8, -12, -15,-17,-6);

- регламентирующие процесс разработки программ, серия IEEE 1003.10, -11, -13, -14, -18.

Порядок применения этих стандартов регулируется Руководством POSIX Guide IEEE 1003.0. С использованием указанного набора стандартов, руководителем проекта формируются правила описания интерфейсов, обязательные для исполнения всеми участниками процесса [11,12,13,14].

Технологические подходы обеспечиваются применением специализированных программных средств и библиотек интерфейсных компонентов, таких, как Linux Mint, UI-kit и им подобных. Они обеспечивают выбор перечня и типов интерфейсных компонентов, а также управление их списками, в том числе централизованное. Впрочем, как показывает опыт применения таких средств, они лишь автоматизируют подход к использованию унифицированных компонентов, упрощая труд разработчиков, не внося в него ничего принципиально нового в части создания эффективных интерфейсных форм и не устраняя недостатки методов на основе стандартизации и унификации.

В целом подходы, ориентированные на унификацию, упрощают работу по созданию пользовательских интерфейсов в рамках каждого отдельного проекта. В то же время, анализ практики создания программного обеспечения показывает, что подходы, основанные на унификации компонентов, обеспечивают лишь частичное решение проблемы создания эффективного пользовательского интерфейса, в первую очередь – в части разработки компонентов общего и общесистемного программного обеспечения. Проблемы создания интерфейсов прикладных программ их применением решаются в ограниченном объёме.

Практика разработки АСУ показывает, что возможен ещё один подход к повышению качества разрабатываемых пользовательских интерфейсов – макетирование программ. В любой из известных методологий разработки программ: рациональное программирование RUP (Rational Unified Process), итеративно-инкрементальный метод OpenUP, технологии быстрой разработки приложений RAD (rapid application development), методология MSF (Microsoft Solutions Framework), методология разработки программ с сертифицируемым уровнем надёжности Cleanroom (Cleanroom Software Engineering), группа технологий гибкого программирования Agile, в том или ином виде присутствует этап апробации программ [15,16,17,18,19]. В настоящее время именно он является основой приведения функционала и интерфейсов прикладных программ в соответствие требованиям заказчика, их доработки под требования пользователей. Более того, данный этап, хоть не обязательный, но утверждён ГОСТ по разработке программной продукции. В том числе в части разработки специализированных АСУ, например, ГОСТ серии РВ 1210.

Методология макетирования, реализуемая через этап апробации, подразумевает создание пробной версии полнофункционального продукта c реализацией базовой части функционала (так называемой ß-версии) и её проверки на пригодность пользователями. Для реализации принципа макетирования, как правило, используются штатные средства разработки программ.

Но, как показывает личный опыт автора, в применении методологии макетирования имеются некоторые проблемы. Определяются они следующим. В структуре технического задания на ОКР по разработке программной продукции, описание интерфейсов программ нормативными и руководящими документами не предусмотрено. Первоначальный вариант интерфейса программист разрабатывает сам, с учётом своего видения проблемы. При средней продолжительности ОКР по разработке программной продукции в 2-3 года, первая апробация, как правило, проводится не ранее, чем через год. С учётом времени проведения самой апробации и срока обработки её результатов, до программиста требования пользователя по уточнению интерфейсов доходят через 13-15 месяцев. Времени на доработку остаётся крайне мало. Это существенно снижает эффективность данной методологии.

Есть ещё один вариант частного решения данной проблемы – создание интерфейсов, адаптируемых под пользователя (настраиваемые интерфейсы) [20,21,22]. Но даже самые совершенные адаптивные интерфейсы настраиваются в определённых границах, которые тоже требуется задавать при разработке, что не слишком упрощает процесс создания входных и выходных форм программ.

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

3.Прототипирование программ как метод совершенствования разработки пользовательских интерфейсов

Как показывает анализ мирового опыта разработки программной продукции, альтернативой макетированию может стать методология быстрого прототипирования (RP-технологии: Rapid Prototyping). В её рамках обеспечивается создание прототипов с минимальной функциональностью но с полным набором входных и выходных форм и совместная работа с ними будущего пользователя и разработчика с целью оперативного уточнения требований к интерфейсам программ. В нашей стране прототипирование используется не так активно, как за рубежом, преимущественно – при создании web-приложений [23,24,25]. Что, впрочем, не отрицает перспектив использования данного подхода при разработке интерфейсов прикладных программ различного назначения.

На практике, для прототипирования могут использоваться самые разные подходы и реализующие их средства: от простейших визуальных форм, описываемых в Power Point или Visio Professional до специализированных систем, обеспечивающих не только визуализацию, но и имитирующих реакцию интерфейсных форм на действия пользователя. Общий обзор средств прототипирования по данным из работ [26,27], приводится в таблице.

Таблица – Перечень некоторых программных средств прототипирования

Наименование

Краткая характеристика

Powerpoint

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

Visio Professional

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

MockupScreens

Несложный графический редактор для создания экранных форм без интерактивных возможностей. Обеспечивает распределённую работу в интерактивном режиме

Keynote

Несложный инструмент, обеспечивающий описание внешнего вида форм. Напоминает Power Point, при этом обеспечивает создание «кликабельных» объектов, открытие внешних ссылок, запуск видеофайлов

Flex

WYSIWYG редактор с поддержкой импорта визуальных форм из Adobe Illustrator. Имеется возможность экспорта Flash или Air приложений

Axure RP Pro

Инструмент, ориентированный на создание прототипов web-сайтов. Генерирует «кликабельные» HTML страницы и документы

Balsamiq Mockups

Программа, позвояющая быстро создавать макеты пользовательских форм интерфейсов web-сайтов и прикладных программ, сохранять их в виде XML-файлов

CogTool

Инструмент с открытым кодом, обеспечивающий разработку простых макетов пользовательского интерфейса

Coutline

Web-приложение для создания и просмотра интерактивных прототипов. Включает в себя функции по управлению проектом

Dreamweaver

Виртуальный HTML-редактор. Обеспечивает формирование и размещение элементов дизайна с помощью drag-and-drop, добавление элементов интерактивности, и редактирование кода для прототипирования пользовательских форм web-приложений

EasyPrototype

Приложение, позволяющее проектировать экранные формы web-приложений, экспортировать интерактивные HTML-прототипы и документацию

Expression Blend

WYSIWYG-инструмент для проектирования пользовательского интерфейса приложений, создаваемых на основе Windows Presentation Foundation. Обеспечивает разработку дизайна web-интерфейсов и графических настольных приложений. Может генерировать прототипы для Silverlight и WPF-приложений с интерактивными возможностями

Expression Blend + SketchFlow

Инструмент динамичного прототипирования, обеспечивающий создание концепций интерфейсов, которые выглядят как продукты Sketch. Позволяет преобразовывать прототипы в конечный продукт с помощью приложения Expression Suite

Expression Design

Профессиональный инструмент для графического дизайна и подготовки иллюстраций, который позволяет создавать элементы пользовательского интерфейса для настольных и web-приложений. Обеспечивает создание прототипов HTML, Silverlight и WPF-приложений с ограниченной интерактивностью

Fireworks

Растровый и векторный графический редактор для web-дизайнеров и разработчиков, позволяющий быстро создавать, редактировать и оптимизировать эскизы сайтов. Обеспечивает создание сложных интерактивных прототипов. Содержит библиотеку готовых настроек, хорошо интегрирован с продуктами Adobe Photoshop, Adobe Illustrator, Adobe Dreamweaver и Adobe Flash. Имеется возможность экспорта результатов в PDF или HTML

FlairBuilder

HTML-редактор, позволяющий создавать интерактивные экранные формы с помощью десктопного Air приложения. Формирует результат для просмотра в виде самостоятельного приложения

ForeUI

Профессиональный HTML-редактор для создания статических или интерактивных опытных образцов программного обеспечения или вебсайта. Обеспечивает создание макетов, моделирующих поведение приложения в браузере, в том числе в режиме распределённой работы

FormBuilder for Drupal

Профессиональный инструмент разработки интерактивных пользовательских форм. Имеет web-интерфейс с возможностью «перетаскивания» элементов на страницу. Создаёт работающие прототипы форм, в том числе в части выполнения требований к вводимым параметрам

GUI Design Studio

Профессиональный инструмент, для проектирования графических пользовательских интерфейсов (GUIs) прикладных программ и вебсайтов Обеспечивает создание интерфейсов, аннотаций к ним, построение раскадровок для определения рабочего прототипа

iPlotz

Профессиональное web-приложение для создания интерактивных экранных форм. Включает в себя базовый набор функций для управления проектом и обеспечения распределённой работы

iRise

Комплексный инструмент для моделирования бизнес-процессов с возможностью проектирования интерфейсов прикладных программ

Justinmind Prototyper

Инструмент, обеспечивающий создание экранных форм web-приложений с возможностью определения их поведения через описание UseCase-диаграмм. Позволяет экспортировать прототипы в формате HTML, генерировать текстовую документацию

JustProto

Web-приложение, ориентированное на удалённую работу, в том числе в реальном масштабе времени. Имеет развитые библиотеки типовых интерфейсных элементов

Pencil Project

Плагин для FireFox с функцией разработки прототипов. Схемы сайтов создаются непосредственно в браузере, в том числе в распределённом режиме. Обеспечивает создание активных экранных форм

Pidoco

Web-инструмент для прототипирования, с возможностью совместной работы в стандартном режиме и режиме Sketch. Интуитивно понятный drag-n-drop интерфейс

Protoscript

Простой скриптовой язык, обеспечивающий возможность добавления динамических элементов к существующим HTML-страницам

Protoshare

Web-приложение, ориентированное на групповую работу с интерактивными экранными формами

Screen Architect

Дополнение для инструмента UML-моделирования Enterprise Architect, обеспечивающее создание несложных прототипов интерфейсов

При анализе данных таблицы, обращает на себя внимание существенное различие в сложности и функциональности систем прототипирования, а также то, что большинство из них используется для разработки web-интерфейсов. Последнее вполне объяснимо в рамках тенденции [28,29] активного развития UX/UI дизайна (User Experience/User Interface). В любом случае, каждый из перечисленных в таблице инструментов имеет свои особенности, преимущества и недостатки.

А наличие широкого спектра возможностей, от простейшего визуального PowerPoint до полнофункциональной GUI Machine Project (рисунок 1), обеспечивает, как показывает практика, то, что каждое из указанных средств находит своего пользователя. Использование того или иного из них определяется конкретными условиями разработки.

Рис.1.Форма работы с проектами GUI Machine Project

Но главное, не наличие и функционал средств, а сам факт использования метода прототипирования, применения технологии, которая позволяет существенно сократить цикл взаимодействия между пользователем и разработчиком. Как показал опыт работы автора над разработкой АСУ, при использовании средств прототипирования, длительность цикла взаимодействия при разработке пользовательского интерфейса может быть сокращена до 3-5 месяцев. И это, при обеспечении приемлемой функциональности, позволяющей оценить не только визуальные, но и функциональные особенности интерфейсов. То есть при функциональности как при использовании метода апробации, обеспечивается сокращение времени «отклика» в 5-6 раз.

Заключение

Таким образом, анализ ситуации, сложившейся с разработкой интерфейсов прикладных программ позволяет сделать ряд выводов.

Во-первых, как показал анализ возможностей существующих методов и средств разработки пользовательских интерфейсов, подход с использованием прототипирования обладает преимуществами других методов, не повторяя от их недостатков.

Во-вторых, использование метода прототипирования обеспечивает проведение до начала этапа апробации 3-4-х циклов согласования интерфейсных форм программ, что позволит на этом этапе работать уже с функционалом программ, а не тратить время на совершенствование их входных и выходных форм. А сокращение времени – это практически всегда сокращение затрат.

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

Можно возразить, что использование методов прототипирования может нарушать 188-ФЗ от 29.07.2015 года «О внесении изменений в Федеральный закон "Об информации, информационных технологиях и о защите информации" и статью 14 Федерального закона "О контрактной системе в сфере закупок товаров, работ, услуг для обеспечения государственных и муниципальных нужд», так как большинство программных средств, реализующих этот подход, не включены в реестр доверенного отечественного программного обеспечения. В то же время, разместить необходимые средства разработки в реестре не так уж сложно, порядок включения достаточно прозрачный и подробно описан в законе. Ситуацию упрощает то, что многие средства прототипирования технически не связаны с кодом конечного продукта, чем снижается проблема информационной безопасности.

Впрочем, гораздо важнее не проблема сертификации, а то, что использование прототипирования не определено нормативными документами, определяющими разработку программной продукции.

В третьих, тенденции развития АСУ показывает, что функционал существующих средств прототипирования, как и других средств, используемых сейчас для обеспечения разработки интерфейсов, недостаточен. В обозримой перспективе, вполне вероятно, потребуется создавать не только стандартные графические, но и 3D-интерфейсы, а также аудио- и нейро-интерфейсные компоненты. Соответственно, потребуются средства оптимизации их разработки.

И последнее. Нельзя забывать, что для использования средств прототипирования потребуется корректировка нормативных документов, регламентирующих ведение ОКР по разработке программной продукции АСУ: как в части введения этапа прототипирования, так и привлечения специалистов из смежных областей. Но эти меры не слишком сложны и затратны, а их реализация обещает дать существенный прирост эффективности разработки прикладных программ.

Обобщая вышесказанное, можно сделать вывод, что использование методов прототипирования обеспечит оптимизацию цикла разработки пользовательских интерфейсов и, в итоге, повышение эффективности процесса разработки АСУ и СППР в целом.

References
1. Emel'yanov A. A. Tekhnologiya sozdaniya komp'yuternykh modelei dlya sistem podderzhki prinyatiya reshenii // Prikladnaya informatika. 2006. – № 1 (1). – S. 121-135.
2. Tikhanychev O. V. Teoriya i praktika avtomatizatsii podderzhki prinyatiya reshenii. – M.: Editus, 2018. – 76 s.
3. Emel'yanov A. A., Shil'nikova O. V., Emel'yanova N. Z. Modelirovanie protsessa podderzhki rabotosposobnosti razvivayushcheisya ASU // Prikladnaya informatika. 2015. – №5(10). – S.93-108.
4. Koronchik D.N. Pol'zovatel'skie interfeisy intellektual'nykh sistem // Kibernetika i programmirovanie. — 2012.-№ 1.-S.16-22. DOI: 10.7256/2306-4196.2012.1.13861. URL: https://e-notabene.ru/kp/article_13861.html
5. Improving Web Site Usability and Appeal. MSN Usability research. July, 2017. – 13 p.
6. Sartasova E. Kak ne poteryat' loyal'nost' klientov iz-za ustarevshego i neudobnogo interfeisa saita. Delovoi mir. Prakticheskii onlain-zhurnal. URL: https://delovoymir.biz/kak-ne-poteryat-loyalnost-klientov-iz-za-ustarevshego-interfeysa.html (data obrashcheniya 19.12.2018)
7. Tikhanychev O.V. Sub''ektivnye aspekty primeneniya matematicheskogo modelirovaniya voennykh deistvii v praktike raboty organov voennogo upravleniya // Voennaya mysl'. 2011. – №10. – S.49-53
8. Quarterman J.S., Wilhelm S. Unix, Posix and open systems: The open standards puzzle. N.Y., Addison-Wesley Publishing; Company, 1993. 416 p.
9. Open systems handbook: A guide to building open systems. Digital Equipment Corporation. USA, 1991.
10. Lipaev V.V. Upravlenie razrabotkoi programmnykh sredstv. Metody, standarty, tekhnologiya.-M.: Finansy i statistika, 1993.
11. Aref'ev R.A., Zudilova T.V. SOA pattern proektirovaniya pol'zovatel'skikh interfeisov dlya mul'tiplatformennykh prilozhenii // Programmnye sistemy i vychislitel'nye metody. 2016. – № 2. – S. 201-209. DOI: 10.7256/2305-6061.2016.2.18627
12. Gamma E. Pattern languages of program design. Addison-Wesley Longman Publishing Co. 1997. pp.79–85.
13. Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies, p.18-23.
14. Shahzad, S., Granitzer, M., Tochtermann K.: Designing User Interfaces through Ontological User Model, Proceedings of the Fourth International Conference on Computer Sciences and Convergence Information Technology ICCIT 2009, Seoul, Korea, 24-26 November 2009. pp.99-104
15. Lukinova O.V. Metodologicheskie aspekty upravleniya zhiznennym tsiklom informatsionnoi sistemy na osnove instrumentov funktsional'noi standartizatsii // Programmnye produkty i sistemy. 2016.-. № 4. – S.27-35
16. Snytkin T. I., Polyakov A. E., Rudenko G. A. Sistemnoe proektirovanie avtomatizirovannoi sistemy voennogo naznacheniya s ispol'zovaniem notatsii Archimate 2.1. // Dinamika slozhnykh sistem-XXI vek. 2018. T. 12. – № 2. – S.44-55.
17. Tikhanychev O.V., Makartsev L.V., Gakhov V.R. Ratsional'naya organizatsiya protsessa razrabotki prikladnogo programmnogo obespecheniya kak predposylka uspeshnoi avtomatizatsii podderzhki prinyatiya reshenii // Programmnye produkty i sistemy. 2017.-№4. – S.706-710
18. Shtrik A.A. Tekhnologii i instrumental'nye sredstva sozdaniya programmnogo obespecheniya: sostoyanie i perspektivy // Programmnye produkty i sistemy. 1991. - №2. - S.57-64
19. Vichugova A. A. Etapy, metody i sredstva konfigurirovaniya informatsionnykh sistem // Prikladnaya informatika. 2015. - №3(57). - S.88-99
20. Tregubov A.S. Razrabotka adaptivnykh kontekstozavisimykh interfeisov s ispol'zovaniem ontologicheskikh modelei // Kibernetika i programmirovanie. — 2017.-№ 6.-S.50-56. DOI: 10.7256/2306-4196.2017.6.24747. URL: https://e-notabene.ru/kp/article_24747.html
21. Gauch, S., Chaffee, J., & Pretschner, A. Ontology-based personalized search and browsing. Web Intelligence and Agent Systems, 1, 2003. p. 219–234.
22. McAvoy, L. M., Chen, L., & Donnelly, M. An ontologybased context management system for smart environments. UBICOMM 2012, September
23. Koval'chuk S. V., Knyaz'kov K. V., Churov T. N., Smirnov P. A., Bukhanovskii A. V. Organizatsiya cheloveko-komp'yuternogo vzaimodeistviya v sredakh komp'yuternogo modelirovaniya na baze oblachnoi infrastruktury // Prikladnaya informatika. 2012. - №5(41). - S.89-102
24. Keino P. P., Siluyanov A. V. Razrabotka i vnedrenie interpretatora deklarativnogo yazyka modelirovaniya Web-interfeisov na vysokonagruzhennykh sistemakh // Prikladnaya informatika. 2015. - №1(55). - S.55-70
25. Kol'chugina E. A., Zavarovskii K. V. Primenenie metodov geneticheskogo programmirovaniya k razrabotke web-interfeisov // Prikladnaya informatika. 2012. - №5(41). - S.64-74
26. Instrumenty bystrogo prototipirovaniya // Sait habr. URL: https://habr.com/post/70001 (data obrashcheniya 13.12.2018)
27. Interaktivnoe prototipirovanie s GUI Machine // Sait habr. URL: https://habr.com/post/70001 (data obrashcheniya 13.12.2018)
28. How Human. Memory Works: Tips for UX Designers. UX Planet. URL: https://uxplanet.org (data obrashcheniya 9.01.2019)
29. User Research. Empathy Is the Best UX Policy. UX Planet. URL: https://uxplanet.org (data obrashcheniya 9.01.2019)