Разработка новых метафор пользовательского интерфейса для графического редактора

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 15.08.2020
Размер файла 37,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Статья по теме:

Разработка новых метафор пользовательского интерфейса для графического редактора

Гордиенко А.П., канд. техн. наук, доц. Орловский государственный технический университет Россия, г. Орел

In this article the ways of the direct manipulation graphical user interface improvements are discussed. It is shown, that in drafting systems while designing complex objects we are to return to the command languages. It can be avoided by introducing new user interface metaphors: evolution and associative interaction of objects. This metaphors gives opportunity to incremental construction of complex graphical objects and constraints on it by direct manipulation. According to these metaphors the method of the graphical user interface design is proposed.

Введение

Графический пользовательский интерфейс (ГПИ) - это программное средство, обеспечивающее взаимодействие человека, использующего компьютер с прикладными программами, которые называют функциональным ядром (ФЯ). При проектировании ГПИ приходится решать проблему, вызванную противоречием интересов конечного пользователя и разработчиков ФЯ. Современные графические системы содержат большой набор прикладных программ, имеющих множество прикладных возможностей и работающих в различных режимах. Таким образом, для решения своих задач пользователь должен выучить длинный список команд и множество возможных состояний системы. Для этого может понадобиться столько времени и усилий пользователя, что необходимость использования компьютера может оказаться под вопросом. Решением названной проблемы является применение метафор ГПИ. Метафора ГПИ по аналогии с метафорами естественного языка определяет такое представление прикладной модели и объектов ГПИ, при котором сложные и абстрактные компоненты замещаются более простыми и наглядными образами, имеющими аналогию с предметами реального мира. Применение метафор исключает необходимость непосредственного однозначного отображения внутренней структуры системы, а дает упрощенное, более понятное и привычное для конечного пользователя представление тех аспектов прикладной модели, которые необходимы ему для работы.

Виды метафор

В работе [1] приведен анализ метафор ГПИ и отмечается их два основных вида:

1) Языковая метафора позволяет рассматривать ГПИ как средство общения пользователя с ФЯ на некотором языке. Синтаксис такого языка строится так, чтобы в сжатой форме систематизировать набор команд и состояний системы. В качестве примера такого подхода отметим использование ограниченного естественного языка, переложенного на меню [2]. В такой системе может быть, например, меню подлежащих, меню сказуемых и меню дополнений. Комбинация из трех выборов представляет собой предложение, соответствующее команде в прикладной модели. Такой язык хорошо запоминается по аналогии с естественным и может покрыть большой набор прикладных команд. Например, в прикладных системах для моделирования изделий сложной формы ППП МПП [3], ДЕСФОР [4] набор подлежащих состоит из двух элементов: "кривая" и "поверхность", набор сказуемых включает в себя следующие возможности: "создать", "удалить", "редактировать", "переместить" и т.д. Для каждой пары подлежащее-сказуемое существует набор дополнений. Если выбраны подлежащее "кривая" и сказуемое "создать", то возможен следующий набор дополнений, уточняющий метод создания кривой: "Безье", "В-сплайн", "-сплайн", "замкнутая кривая" и т.п.

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

Метафора модели мира имеет свои корни в принципах непосредственного манипулирования, разработанных Б. Шнейдерманом [5]:

1) все интересующие пользователя объекты постоянно представлены на экране;

2) пользователь не строит сложных синтаксических форм (последовательностей операций), а просто перемещает объекты или выбирает их мышью;

3) все действия пользователя обратимы, а реакция на них прикладных модулей - мгновенна.

При работе с таким ПИ, пользователь, имея минимальные предварительные знания, может экспериментальным путем изучить остальные возможности системы.

Разработка ГПИ на основе метафоры модели мира будет более успешной, если воспользоваться положениями онтологии - раздела философии, изучающего существование вещей в мире. Такой подход уже был описан для информационных систем [6,7]. Важно, что в области ГПИ онтологический подход не противоречит принципу непосредственного манипулирования и объектно-ориентированной парадигме, а дополнительно позволяет более точно сформулировать решаемые задачи.

Онтологические принципы построения метафор ГПИ

Из основных положений онтологии нами был сформулирован перечень задач [8], которые нужно решить при создании ГПИ в рамках метафоры модели мира.

"Мир рассматривается состоящим из вещей двух видов: из конкретных вещей, которые называются сущностями и концептуальных вещей". Применение объектно-ориентированного подхода по своей сути предполагает такое разделение. Конкретным вещам соответствуют объекты, а концептуальным вещам -- классы объектов.

"Вещи могут сочетаться и создавать новые сложные вещи". В ГПИ должны быть специальные средства для конструирования комплексных объектов.

"Вещи осознаются (в науке, онтологии или в других символьных представлениях) как общие понятия или модели. Это формализуется через понятие концептуальной схемы". Объекты ГПИ, как правило, имеют достаточно сложную структуру, и для их моделирования необходимо использовать концептуальные схемы.

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

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

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

"Каждая вещь действует на другие вещи и подвергается воздействию других вещей". К сожалению, это положение онтологии менее всего проработано в современных ГПИ. Разработанный автором язык взаимодействия объектов [9] позволил существенно улучшить качества диалога.

На основе онтологического подхода и анализа описанных в литературе ГПИ были выявлены основные принципы построения ГПИ:

Структура ГПИ определяется в терминах атрибутов, родовидовых связей и связей часть-целое. Разработка структуры ГПИ основывается на построении концептуальных схем.

Объекты ГПИ строятся на основе базовых объектов, называемых графическими примитивами.

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

Реагирование ГПИ на внешние события моделируется средствами управления активностью, которые должны обеспечивать многопотоковость диалога и иметь ясный язык описания взаимодействия объектов, максимально соответствующий метафоре модели мира.

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

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

Разработка новых метафор

Применение принципов прямого манипулирования произвело революцию в области ГПИ. Однако при реализации сложных операций в графическом редакторе приходится возвращаться к командным языкам. Например, для построения дуги окружности обычно используют команды, в которых заключается способ задания дуги и необходимые для него параметры. Поэтому принципы прямого манипулирования нуждаются в доработке: необходимо включить в ГПИ возможность манипулирования более абстрактными свойствами объектов, которые не сводятся к простым количественным изменениям значений атрибутов. Эти свойства касаются принадлежности элементов классам и различным соотношениям между объектами. Если добавить в ГПИ возможность пошагового изменения класса объекта по направлению род - вид и обратно, то получится интерфейс с операциями развития и деградации объектов. Будем говорить, что такой интерфейс использует метафору эволюционного развития. Ее смысл в том, что чертеж строится из объектов, являющихся экземплярами классов, организованных в родовидовую иерархию. Небольшой фрагмент такой иерархии показан на рисунке 1. На её вершине располагается класс - линия, определяющий графические объекты, имеющие начало и конец. Графически их можно представить отрезком прямой. Линия может стать дугой, если задать радиус, может - кривой, если задать управляющие точки. Такое преобразование можно задать непосредственным действием мышью.

Рисунок 1 - Фрагмент иерархии классов графических объектов

Будем считать, что такое действие имеет 4 фазы: перемещение, нажатие кнопки, перемещение с нажатой кнопкой, отпускание кнопки. Таким образом, одним действием можно ввести две точки или переместить один объект. Это значит, что объекты, которые для своего определения требуют не более двух точек, можно строить непосредственно. Из числа объектов, приведенных на рисунке 1, так можно построить только линию. Как быть с более сложными объектами? - Можно применить метафору эволюции объекта. Например, отрезок прямой можно превратить (эволюционировать) в дугу окружности, если его дополнить новым атрибутом, например, третьей точкой или радиусом. Визуально это выглядит так: на первой фазе действия пользователя, когда он подводит мышь к какому-либо объекту, объект становится активным, как показано на рисунке 2. Для него высвечиваются дополнительные построения (например, пиктограммы), обозначающие направления эволюции. Перемещение пиктограммы 4 вызывает эволюцию линии в дугу. Точка, в которой будет отпущена кнопка мыши, станет третьей точкой, определяющей дугу окружности. Аналогично из линии можно получить кривую Безье, переместив пиктограмму 3 и, таким образом, добавив управляющую точку. Воздействуя на пиктограммы 1 и 2 и перемещая отрезок, можно редактировать объект, не меняя его класса.

Рисунок 2 - Изображение выделенного объекта - линии

На рисунке 3 показана активная дуга окружности. Её можно превратить в кривую (пиктограмма 5) или в окружность (пиктограмма 4). Она деградирует в линию, если нажать пиктограмму 6. остальные пиктограммы служат для простого изменения атрибутов дуги.

Рисунок 3 - Изображение выделенного объекта - дуги окружности

Важно отметить, что логику такого диалога можно определить строго, используя чисто функциональное программирование. Но эта метафора все-таки имеет ограничение в случае, когда необходимо выполнить сложные структурные преобразования объектов или накладывать сложные ограничения целостности. Тогда применима метафора ассоциативного взаимодействия объектов. Её суть в том, что объекты ГПИ наделяются способностью взаимодействовать друг с другом. Для этого с каждым объектом связывается шаблон возможных вариантов взаимодействия. Эта метафора описана в работах [9, 10]. При взаимодействии объектов происходит поиск возможных геометрических соотношений между ними. Если количество найденных вариантов окажется много, то можно использовать методы логического вывода, выбирающие наиболее подходящие соотношения. Используя предлагаемые метафоры, можно сформулировать новый метод проектирования ГПИ. Исходные данные проектирования:

концептуальная схема графических примитивов;

набор команд, которые должна выполнять система.

Алгоритм. Из набора команд выделяем те, которые можно реализовать на основе принципа прямого манипулирования. Они могут быть реализованы в рамках парадигмы MVC. Из оставшейся части выделяем те команды, которые получаются из уже реализованных команд добавлением или перемещением одной точки. Процесс заканчивается, если будут реализованы все команды. Если окажется, что какие-либо команды не могут быть реализованы на основе уже существующих, то возможны два варианта действий: если для выполнения команды нужно определить дополнительно более одной точки, то вводим в концептуальную схему промежуточный примитив; иначе определяем шаблон ассоциативного взаимодействия и связываем его с новой пиктограммой.

Заключение

метафора интерфейс язык

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

Литература

1. Hutchins E. Metaphors for Interface Design // The Structure of Multimodal Dialogue /Ed M.M. Taylor at al.- North-Holland.- 1989.-P.11-28.

2. Tennant H.R. Menu-Based natural language // Encyclopedia of artificial intelligence /Ed S.C. Shapiro. -New York :-1987.-P.594-597.

3. Гоpдиенко А.П., Костенко Т.П., Амелина О.В.,Чижов А.В. Пpогpамно -методический комплекс для пpоектиpования изделий машиностpоения сложной фоpмы // Пpогpаммные и технические сpедства САПР.-М.- 1988.- С.17-18.

4. Гоpдиенко А.П., Чижов А.В. Упpавление интеpфейсом пользователя в интеpактивной гpафической системе "ДЕСФОР"// Пользовательский интеpфейс: исследование, пpоектиpование, pеализация.-Вып.1. -Оpел, 1991.С.84-89.

5. Shneiderman B. Direct manipulation. A step beyond programming languages // Computer.-1983.- Vol.16.-N.8.-P.57-69.

6. Wand Y.A. Proposal for Formal Model of objects // Object-Oriented Consepts, Databases, and Applications /Ed W. Kim, F.H.Lochovsky.- New York: Addison-Wesley,1988.- P.537-560.

7. Wand Y., Weber R. An Ontological Model of an Information System // IEEE Transactons on Software Engineering.-1990.-Vol.16.-N.11.-P.1282-1292.

8. Гоpдиенко А.П. Онтологическая модель визуального пользовательского интерфейса// Человеческий фактор в правоохранительных системах.- Орел: Высшая школа МВД РФ, 1996. С. 302-303.

9. Гордиенко А.П. Язык взаимодействия объектов в пользовательском интерфейсе прямого манипулирования // Материалы конференции Графикон'94.- Нижний Новгород 1994. С.105-110.

10. Гордиенко А.П. Разработка графического пользовательского интерфейса методами чистого функционального программирования // Материалы международной научной конференции «Пользовательский интерфейс в современных компьютерных системах».- Орел: Орловский государственный технический университет, 1999. С. 98 -103.

Размещено на Allbest.ru

...

Подобные документы

  • Понятие и виды пользовательского интерфейса, его совершенствование с помощью новых технологий. Характеристика приборной панели управления современного автомобиля и пультов дистанционного управления. Использование клавиатуры, особенности интерфейса WIMP.

    курсовая работа [1,4 M], добавлен 15.12.2011

  • Изучение правил проектирования (предоставление пользователю контроля над программой, уменьшение загрузки памяти, увеличение визуальной ясности, последовательность) и принципов разработки пользовательского интерфейса на примере программы "Tidy Start Menu".

    курсовая работа [286,6 K], добавлен 27.04.2010

  • Роль распределенных вычислительных систем в решении современных задач. Инструментальная система DVM для разработки параллельных программ. Средства построения формальной модели графического интерфейса. Требования к графическому интерфейсу DVM-системы.

    курсовая работа [2,7 M], добавлен 15.10.2010

  • Обзор мобильной ОС Android. Выбор инструментов и технологий. Проектирование прототипа графического интерфейса. Характеристика и описание пользовательского интерфейса. Проектирование и разработка базы данных. Определение списка необходимых разрешений.

    курсовая работа [376,6 K], добавлен 13.09.2017

  • Изучение особенностей растровых и векторных графических редакторов. Создание графического редактора: выбор языка программирования, разработка структуры программы и алгоритма работы. Описание интерфейса программы. Руководство программиста и пользователя.

    курсовая работа [1,3 M], добавлен 28.07.2013

  • Обобщенная структура и принципы функционирования экспертных систем. Выбор модели представления знаний. Разработка логического блока программы и графического пользовательского интерфейса. Текст программы и экспериментальная оценка результатов работы.

    дипломная работа [2,4 M], добавлен 06.03.2013

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

    контрольная работа [371,1 K], добавлен 19.01.2013

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

    методичка [788,7 K], добавлен 24.10.2012

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

    презентация [557,1 K], добавлен 06.10.2014

  • Характеристики и свойства языков программирования. Исследование эволюции объектно-ориентированных языков программирования. Построение эволюционной карты механизмов ООП. Разработка концептуальной модели функционирования пользовательского интерфейса.

    курсовая работа [2,6 M], добавлен 17.11.2014

  • Понятие пользовательского интерфейса, требования к его разработке. Понятие диалога, типы диалога. Критерии хорошего диалога. Эвристические правила Якоба. Принципы построения интерфейсов. Факторы, влияющие на удобство работы с программным обеспечением.

    презентация [2,9 M], добавлен 19.09.2016

  • Исследование базовых концепций программирования приложений под операционную систему Windows. Изучение истории создания универсального языка программирования Си. Разработка графического пользовательского интерфейса. Обзор правил игры и алгоритма работы.

    курсовая работа [58,2 K], добавлен 09.11.2012

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

    курсовая работа [1,3 M], добавлен 31.05.2016

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

    курсовая работа [2,0 M], добавлен 16.02.2016

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

    курсовая работа [2,6 M], добавлен 21.06.2011

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

    шпаргалка [776,8 K], добавлен 07.05.2010

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

    курсовая работа [234,6 K], добавлен 27.12.2014

  • Изучение основных алгоритмов генерации различных видов фракталов. Выбор языка и среды программирования. Характеристика структурных элементов растрового графического редактора фракталов. Описание интерфейса приложения, порядок редактирования изображений.

    курсовая работа [1,2 M], добавлен 04.04.2014

  • Общая характеристика игровых стратегий в жанре "башенная защита". Анализ GUI как графического пользовательского интерфейса, особенности его реализации. Математический подход в обеспечении игрового баланса. Реализация баланса в игре жанра башенной защиты.

    курсовая работа [125,0 K], добавлен 16.07.2016

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

    дипломная работа [2,3 M], добавлен 24.06.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.