Классификации диалогов и общие принципы их разработки

Как отмечалось в § 8.1, диалог - это процесс обмена информацией меж­ду пользователем и программной системой, осуществляемый через интерак­тивный терминал и по определенным правилам.

Различают тип диалога и его форму.

Типы диалога. Тип диалога определяет, кто из «собеседников» управ­ляет процессом обмена информацией. Соответственно различают два типа диалога: управляемые программой и управляемые пользователем.

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

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

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

• фразовую,

• директивную,

• табличную.

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

Организация диалога на естественном языке на современном уровне -задача не решенная, так как естественный язык крайне сложен и пока не уда­ется в достаточной степени формализовать его синтаксис и семантику.

Чаще всего используют диалоги, предполагающие односложные ответы, например:

Программа: Введите свой возраст (полных лет):

Пользователь: 48.

В этом случае программа содержит ограниченное описание как синтак­сиса, так и семантики используемого ограниченно-естественного языка. Для данного примера достаточно определить синтаксис понятия «целое положи­тельное число» и наложить ограничение на значение числа.

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

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

Выделяют два метода морфологического анализа:

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

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

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

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

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

Основными недостатками фразовой формы при использовании подмножества естественного языка являются:

• большие затраты ресурсов;

• отсутствие гарантии однозначной интерпретации формулировок;

• необходимость ввода длинных грамматически правильных фраз.
Основное достоинство фразовой формы состоит в относительно сво­
бодном общении с системой.

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

Команду можно вводить:

• в виде строки текста, специально разработанного формата, например,
команды MS DOS, которые вводятся в командной строке;

• нажатием некоторой комбинации клавиш клавиатуры, например, ком­
бинации «быстрого доступа» современных Windows-приложений;

• посредством манипулирования мышью, например, «перетаскиванием»
пиктограмм;

• комбинацией второго и третьего способов.
Основными достоинствами директивной формы являются:

• сравнительно небольшой объем вводимой информации;

• гибкость - возможности выбора операции в данном случае ограничены только набором допустимых команд;

• ориентация на диалог, управляемый пользователем;

• использование минимальной области экрана или неиспользование ее
вообще;

• возможность совмещения с другими формами.

Недостатки директивной формы:

• практическое отсутствие подсказок на экране, что требует запомина­
ния вводимых команд и их синтаксиса;

• почти полное отсутствие обратной связи о состоянии инициированных
процессов;

• необходимость навыков ввода текстовой информации или манипуля­
ций мышью;

• отсутствие возможности настройки пользователем.

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

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

• наличие подсказки, что уменьшает нагрузку на память пользователя,
так как данная форма ориентирована не на запоминание, а на узнавание;

• сокращение количества ошибок ввода: пользователь не вводит инфор­
мацию, а указывает на нее;

• сокращение времени обучения пользователя;

• возможность совмещения с другими формами;

• в некоторых случаях возможность настройки пользователем.
К недостаткам данной формы относят:

• необходимость наличия навыков навигации по экрану;

• использование сравнительно большой площади экрана для изображе­
ния визуальных компонентов;

• интенсивное использование ресурсов компьютера, связанное с необхо­
димостью постоянного обновления информации на экране.

Следует иметь в виду, что типы и формы диалога выбирают независимо друг от друга: любая форма применима для обоих типов диалогов (рис. 8.10). Однако фразовая форма, которая используется в диалоге, управляемом поль­зователем, как правило, предполагает более сложные синтаксис и семантику языка диалога, так как программа должна «понимать» пользователя.

Рис. 8.10. Соответствие типов диалогов и его форм

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

Разработка диалогов. Процесс проектирования и реализации диалогов можно разделить на следующие стадии:

• определение множества необходимых диалогов, их основных сообще­
ний и возможных сценариев - проектирование абстрактных диалогов;

• определение типа и формы каждого диалога, а также синтаксиса и се­
мантики используемых языков - проектирование конкретных диалогов;

• выбор основных и дополнительных устройств и проектирование про­
цессов ввода-вывода для каждого диалога, а также уточнение передаваемых
сообщений - проектирование технических диалогов.

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

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

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

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

Пример 8.2. Разработать граф диалога для системы решения комбина­торно-оптимизационных задач.

Так как диалог на верхнем уровне должен обеспечивать реализацию ди­аграммы вариантов использования, исходный вариант графа диалога строим на основе анализа этой диаграммы (см. рис. 6.4). Можно предположить, что пользователь будет принимать решение о сохранении или удалении результа­тов после их просмотра, поэтому эти операции естественно объединить в единую группу. Кроме того, в ту же группу целесообразно добавить опера­цию печати результатов. Аналогично просмотр данных целесообразно объе­динить с их удалением или корректировкой. Операцию Новое задание целе­сообразно поместить в отдельную группу (рис. 8.11).

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

Пример 8.3. Детализировать диа­лог Новое задание.

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

Анализ графов диалога показыва­ет, что диалог, управляемый системой,

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

Поэтому для реализации лучше использовать комбинированный вари­ант, который учитывает наличие сценария, но допускает отклонения от него по желанию пользователя (рис. 8.13).

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: