Диалоговые программы. Методы построения

Основным методом общения пользователя с современными программами является диалог. Имеются два вида программ: не диалоговые программы (выполняются без дополнительного обращения к пользователю) и диалоговые (интерактивные).

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

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

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

С точки зрения программного обеспечения в состав интерфейса пользователь-компьютер входят два компонента:

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

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

В процессе диалога информация передается в виде сообщений. Можно провести их классификацию (рис. 1.1).

Рис. 1.1. Классификация сообщений в соответствии с выполняемыми ими функциями

 

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

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

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

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

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

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

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

Главным в интерфейсе пользователь-компьютер для “профессиональных” пакетов является “дружелюбное” отношение к пользователю и защита программы от ошибок пользователя (в литературе используются термины “дружественная программа” и “защита от дурака”).

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

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

Диалог должен отвечать определенным требованиям. Это естествен­ность, последовательность, краткость и гибкость. Диалог уточняется путем неоднократного согласования с пользователями. Возможны несколько типов диалога:

- выбор из меню;

- вопрос-ответ;

- ответы с заполнением предложенных бланков;

- диалог с применением языка команд;

- запрос по образцу с использованием позиционного выбора;

- диалог с использованием естественного языка.

Кратко рассмотрим типы диалогов.

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

Вопрос-ответ. На экран дисплея выводится вопрос и пользователь отвечает на него, нажимая после ответа на каждый вопрос [Enter].

 

ВВЕДИТЕ ВАШУ фамилию И.О. Иванов Петр Сергеевич

ДАТУ РОЖДЕНИЯ 21-09-49

Ответы с заполнением предложенных бланков. На экран выводится бланк с указанием того, что и в какой форме необходимо вводить. Курсор показывает на начальный пункт ввода, после набора и проверки правильности ввода нажимается клавиша [Enter]. Курсор автоматически перескакивает на следующий пункт бланка. И так далее (рис. 1.2).

Рис. 1.2. Пример бланка ввода

 

Диалог с применением языка команд. На экран в нужный момент выводится сообщение “Введите команду”. Пользователь набирает на клавиатуре необходимую в данный момент команду. При этом, так как отсутствует подсказка, пользователь должен выучить наизусть весь перечень рабочих команд. При малейшей ошибке в наборе команды программа ее не понимает и, естественно, не принимает, поэтому выдается сообщение об ошибке и просьба повторить ввод. Подобный диалог был распространен в программах (редакторах) в 80-е годы. В наше время подобный диалог встречается редко.

Запрос по образцу с использованием позиционного выбора. Это одна из разновидностей запроса типа “Меню”. Выбор производится, как правило, либо нажатием клавиш управления курсором, либо одновременным нажатием управляющей клавиши (чаще Alt) и одной буквенной клавиши, соответствующей выделенной в командном слове букве.

Диалог с использованием естественного языка. Перспективен для диалоговых систем ближайшего будущего, особенно тех, где команды вводятся голосом. В настоящее время существуют такие разработки за рубежом и в нашей стране, как с ограниченным числом управляющих смысловых команд (несколько десятков слов), так и для надиктовки текста. Если первые командные системы, по данным печати, требовали для своей работы достаточно скромных ресурсов компьютера (ОЗУ - до 4 Мбайт, процессор 486 и выше), то системы преобразования голоса в текст для надежной работы требуют довольно значительных ресурсов (ОЗУ - 16-32 Мбайта, процессор Pentium-133 и выше). Наиболее удачной системой надиктовки текста, получившей достаточно широкое распространение в нашей стране, является пакет “Dragon” с русскоязычной программой “Горыныч”. Тестирование этого пакета, проведенное автором, показало, что он требует очень тщательной и не очень удобной индивидуальной настройки на голос пользователя и, несмотря на это, недостаточно надежно распознает речь. Кроме того, эта система имеет не очень удачный интерфейс общения с пользователем. Поэтому без доработки пакета его массовое использование проблематично. В новой версии, которая по сообщениям прессы должна была появиться во второй половине 1998 г., надежность распознавания должна быть повышена.