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