Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект ТП.doc
Скачиваний:
325
Добавлен:
01.05.2015
Размер:
897.54 Кб
Скачать

15 Лекция № 15. Компоненты пользовательских интерфейсов. Технология Drag&Drop

Содержание лекции: диалоговые средства связи пользователей с ПК; технология Drag&Drop; интеллектуальные элементы пользовательских интерфейсов.

Цель лекции: ознакомиться с компонентами пользовательских интерфейсов и технологиями, применяемыми при их создании.

Диалог - это процесс обмена информацией меж­ду пользователем и программной системой, осуществляемый через интерак­тивный терминал и по определенным правилам. Различают тип диалога и его форму. Тип диалога определяет, кто из «собеседников» управ­ляет обменом информацией. Соответственно различают диалоги, управляемые программой и управляемые пользователем. Диалог, управляемый программой, предусматривает наличие жесткого, линейного или древовидного сценария диалога, заложенного в ПО. Его сопровождают большим количеством подсказок, уточняющих, какую информацию необходимо вводить на каждом шаге. Диалог, управляемый пользователем, подразумевает, что сценарий диа­лога зависит от пользователя, применяющего систему для выполнения операций, а система обеспечивает возможность реализации различных сценариев пользователя.

Диалог невозможен без понятного «собеседникам» языка, описание которого включает синтаксис (правила, определяющие допустимые конструкции языка или его форму) и семантику (пра­вила, определяющие смысл синтаксически корректных конструкций языка или его содержание). В зависимости от вида синтаксиса и семантики различают три формы диалога: фразовую, директивную и табличную.

Фразовая форма предполагает «общение» на естествен­ном языке или его подмножестве. Содержание диалога в данной форме со­ставляют повелительные, повествовательные и вопросительные предложе­ния, а также ответы на вопросы. Общение может осуществляться в свободном фор­мате, но возможна и фиксация отдельных фраз. Поскольку организовать диалог на естественном языке достаточно сложно, чаще всего используют диалоги, предполагающие односложные ответы. В этом случае программа содержит ограниченное описание синтак­сиса и семантики используемого ограниченно-естественного языка. Для интеллектуальных систем интерфейсы создаются на базе огра­ниченного подмножества предложений естественного языка. Синтаксис и семантика языков диалога, реализу­емых в таких интерфейсах, достаточно сложны. При обработке фраз в этих случаях оперируют понятием словоформа. Таким образом, интерфейс, реализующий фразовую форму диалога, должен преобразовывать сообщения из естественно-языковой формы в фор­му внутреннего представления и обратно, выполнять анализ и синтез сооб­щений пользователя и системы, отслеживать и запоминать пройденную часть диалога. Недостатками фразовой формы при использовании подмножества естественного языка являются: большие затраты ресурсов, отсутствие гарантии однозначной интерпретации формулировок, необходимость ввода длинных грамматически правильных фраз. Достоинство состоит в относительно сво­бодном общении с системой.

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

Табличная форма предполагает, что пользователь выбирает ответ из вариантов, предложенных программой. Язык диалога для табличной формы имеет про­стейший синтаксис и однозначную семантику. Однако применение табличной формы возможно не всегда: ее мож­но использовать только, если ограничено множество возможных ответов на конкретный вопрос (менее 20). Достоинствами табличной формы являются: наличие подсказки; сокращение количества ошибок ввода (пользователь не вводит инфор­мацию, а указывает на нее); сокращение времени обучения пользователя; возможность совмещения с другими формами; возможность настройки пользователем. Недостатки: необходимость наличия навыков навигации по экрану; использование сравнительно большой площади экрана для изображе­ния визуальных компонентов; интенсивное использование ресурсов компьютера, связанное с необхо­димостью постоянного обновления информации на экране.

Типы и формы диалога выбирают независимо друг от друга: любая форма применима для обоих типов диалогов (рисунок 15.1).

Рисунок 15.1 - Соответствие типов диалогов и его форм

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

Пользовательские интерфейсы большинства современных программ строятся по технологии WIMP [14]: W - Windows (окна), I - Icons (пиктограммы), М - Mouse (мышь), Р - Pop-up (всплывающие или выпадающие меню). Основными элементами графических интерфейсов являются: окна, пиктограммы, компоненты ввода-вывода и мышь, использу­емая в качестве указующего устройства и устройства прямого манипулирова­ния объектами на экране.

Окно - прямоугольная, ограниченная рамкой область фи­зического экрана. Окно может менять размеры и местоположение в пределах экрана. Все окна можно разделить на основные окна (окна приложений); дочерние или подчиненные окна, окна диалога, информационные окна и окна меню.

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

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

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

В окнах приложе­ний могут размещаться специальные компоненты ввода-вывода информации. Интерфейс обычно включает несколько меню: основное или «ниспада­ющее» иерархическое меню, пиктографические меню (панели инструмен­тов) и контекстные меню - компоненты ввода-вывода, реализующие диалог с пользо­вателем в табличной форме. Кроме меню в интерфейсе используют и другие компоненты ввода-вы­вода, которые можно разделить на три группы в зависимости от формы реализуемого диалога: фразовую, табличную или смешанную. Ди­рективная форма диалога предполагает ввод комбинаций клавиш или перемещение пиктограмм, а потому не требует использования компо­нентов ввода-вывода.

Возможность прямого манипулирования, предусмотренная в WIMP-ин­терфейсах, позволяет разрабатывать для приложений объектно-ориентиро­ванные интерфейсы прямого манипулирования. Интерфейсы данного типа на внешнем уровне используют директивную форму диалога: ввод команды осуществляется при выполнении определен­ных действий с пиктограммой объекта мышью. Их основными элементами являются: метафоры, объекты, представления объектов и тех­нология Drag&Drop [1].

Технология Drag&Drop («перетащил и бросил») определяет основные принципы прямого манипулирования, опи­санные в руководстве по разработке пользовательских интерфейсов фирмы IBM (CUA - Common User Access):

  1. результат перемещения объекта должен соответствовать ожиданиям;

  2. пользователи не должны неожиданно терять информацию;

  3. пользователь должен иметь возможность отменить дей­ствие.

Эта технология также определяет основные принципы визуализации операции прямого манипулирования:

  1. исходное выделение - используется в качестве обратной связи пользо­вателю, чтобы сообщить ему, что объект захвачен;

  2. визуализация перемещения - идентификация выпол­няемого действия;

  3. целевое выделение - идентификация пункта назна­чения;

  4. визуализация действия - используется для обозначения времени ожи­дания завершения операции (изменение формы курсора на «песочные часы»).

В последние годы появилось много новых перспективных элементов пользовательских интерфейсов, привносящих в них эле­менты искусственного интеллекта: Мастер, Советчик, Агент. Сделано множество попыток создания социализированного пользовательского интерфейса, в основе которого интерфейса лежит идея создания персонифицированного («имеющего личность») интерфейса. Однако в этой области существуют психологические проблемы. Например, «безобидный» Советчик Microsoft Office вызывает у многих пользователей резко отрицательную реакцию.

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

Программа-мастер служит для выполнения общераспро­страненных, но редко выполняемых отдельным пользователем задач (установка программ или оборудования). Выполнение подобных действий требует принятия сложных взаимосвязанных решений, по­следовательность которых диктует программа-мастер. Интеллектуальные Мастера способны демонстрировать в окне просмотра ре­зультаты ответов пользователя на предыдущие вопросы на каждом шаге, помогая сориентироваться в ситуации.

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

  1. программы-агенты, настраиваемые на выполнение указанных задач;

  2. программы-агенты, способные обучаться, например, фиксируя дейст­вия пользователя (по типу магнитофона).

Дополнительную информацию по теме можно получить в [1, 5, 14, 18].