tehnologia (1018792), страница 38
Текст из файла (страница 38)
включающего возможные альтернативные варианты, сценария диалога,заложенного в программное обеспечение. Такой диалог обычно сопровождают большимколичеством подсказок, которые уточняют, какую информацию необходимо вводить накаждом шаге.Диалог, управляемый пользователем, подразумевает, что сценарий диалогазависит от пользователя, который применяет систему для выполнения230необходимых ему операций. При этом система обеспечивает возможность реализацииразличных пользовательских сценариев.Формы диалога. Никакой диалог невозможен, если не существует языка, понятного«собеседникам». Описание языка, на котором ведется диалог, включает определение егосинтаксиса - правил, определяющих допустимые конструкции (слова, предложения) языкаили его форму, и семантики - правил, определяющих смысл синтаксически корректныхконструкций языка или его содержание.
В зависимости от вида используемых в конкретномслучае синтаксиса и семантики различают три формы диалога:• фразовую,• директивную,• табличную.Фразовая форма предполагает «общение» с пользователем на естественном языке илиего подмножестве. Содержание диалога в данной форме составляют повелительные,повествовательные и вопросительные предложения и ответы на вопросы. Общение можетосуществляться в свободном формате, но возможна и фиксация отдельных фраз.Организация диалога на естественном языке на современном уровне -задача нерешенная, так как естественный язык крайне сложен и пока не удается в достаточнойстепени формализовать его синтаксис и семантику.Чаще всего используют диалоги, предполагающие односложные ответы, например:Программа:Пользователь: 48.Введите свой возраст (полных лет):В этом случае программа содержит ограниченное описание как синтаксиса, так исемантики используемого ограниченно-естественного языка.
Для данного примерадостаточно определить синтаксис понятия «целое положительное число» и наложитьограничение на значение числа.Однако существует некоторый опыт создания интерфейсов на базе ограниченногоподмножества предложений естественного языка в основном для интеллектуальных систем.Синтаксис и семантика языков диалога, реализуемых в таких интерфейсах, достаточносложны.При обработке фраз в этих случаях оперируют понятием словоформа. Словоформа отрезок текста между двумя соседними пробелами или знаками препинания. Обработкасловоформ вне связи с контекстом называется морфологическим анализом.Выделяют два метода морфологического анализа:• декларативный - предполагает, что в словаре находятся все возможныесловоформы каждого слова, тогда анализ сводится к поиску словоформы в словаре.Данный метод обеспечивает возможность обработки сообщений, состоящих изстрочных и прописных букв в произвольной комбинации, причем как латинского,так и русского или других алфавитов;231• процедурный — предполагает выделение в текущей словоформе основы, которуюзатем идентифицируют.После распознавания словоформ осуществляют синтаксический анализ сообщения, порезультатам которого определяют его синтаксическую структуру, т.
е. выполняют разборпредложения.Далее выполняют семантический анализ, т. е. определяют смысловые отношениямежду словоформами. При этом выявляют главные предикаты, определяющие смыслпредложения.Таким образом, интерфейс, реализующий фразовую форму диалога, должен:преобразовывать сообщения из естественно-языковой формы в форму внутреннегопредставления и обратно, выполнять анализ и синтез сообщений пользователя и системы,отслеживать и запоминать пройденную часть диалога.Основными недостатками фразовой формы при использовании подмножестваестественного языка являются:• большие затраты ресурсов;• отсутствие гарантии однозначной интерпретации формулировок;• необходимость ввода длинных грамматически правильных фраз.
Основноедостоинство фразовой формы состоит в относительно свободном общении с системой.Директивная форма предполагает использование команд (директив) специальноразработанного формального языка. Командой в этом случае называют предложение этогоязыка, описывающее комбинированные данные, которые включают идентификаторинициируемого процесса и, при необходимости, данные для него.Команду можно вводить:• в виде строки текста, специально разработанного формата, например, команды MSDOS, которые вводятся в командной строке;• нажатием некоторой комбинации клавиш клавиатуры, например, комбинации«быстрого доступа» современных Windows-приложений;• посредством манипулирования мышью, например, «перетаскиванием» пиктограмм;• комбинацией второго и третьего способов.Основными достоинствами директивной формы являются:• сравнительно небольшой объем вводимой информации;• гибкость — возможности выбора операции в данном случае ограничены тольконабором допустимых команд;• ориентация на диалог, управляемый пользователем;• использование минимальной области экрана или неиспользование ее вообще;• возможность совмещения с другими формами.232Недостатки директивной формы:• практическое отсутствие подсказок на экране, что требует запоминания вводимыхкоманд и их синтаксиса;• почти полное отсутствие обратной связи о состоянии инициированных процессов;• необходимость навыков ввода текстовой информации или манипуляций мышью;• отсутствие возможности настройки пользователем.Исследования показали, что директивная форма удобна для пользователяпрофессионала, который обычно быстро запоминает синтаксис часто используемых командыили комбинации клавиш.
Основные достоинства формы (гибкость и хорошие временныехарактеристики) проявляются в этом случае особенно ярко.Табличная форма предполагает, что пользователь выбирает ответ из предложенныхпрограммой. Язык диалога для табличной формы имеет простейший синтаксис иоднозначную семантику, что достаточно легко реализовать. Удобна эта форма и дляпользователя, так как выбрать всегда проще, чем вспомнить, что особенно существенно дляпользователя-непрофессионала или пользователя, редко использующего конкретноепрограммное обеспечение.
Однако применение табличной формы возможно не всегда: ееможно использовать только, если множество возможных ответов на конкретный вопросконечно. Причем, если количество возможных ответов велико (более 20), то применениетабличной формы может оказаться нецелесообразным.Достоинствами табличной формы являются:• наличие подсказки, что уменьшает нагрузку на память. пользователя, так как даннаяформа ориентирована не на запоминание, а на узнавание;• сокращение количества ошибок ввода: пользователь не вводит информацию, ауказывает на нее;• сокращение времени обучения пользователя;• возможность совмещения с другими формами;• в некоторых случаях возможность настройки пользователем.
К недостаткам даннойформы относят:• необходимость наличия навыков навигации по экрану;• использование сравнительно большой площади экрана для изображения визуальныхкомпонентов;• интенсивное использование ресурсов компьютера, связанное с необходимостьюпостоянного обновления информации на экране.Следует иметь в виду, что типы и формы диалога выбирают независимо друг от друга:любая форма применима для обоих типов диалогов (рис. 8.10). Однако фразовая форма,которая используется в диалоге, управляемом пользователем, как правило, предполагаетболее сложные синтаксис и семантику языка диалога, так как программа должна «понимать»пользователя.233Сложное программное обеспечение обычно взаимодействует с пользователемпосредством диалогов различных типов и форм в зависимости от решаемых задач, Причем,помимо диалогов, происходящих в процессе нормальной работы программного обеспеченияи называемых синхронными, предусматривают диалоги, возникающие по инициативесистемы или пользователя при нарушении сценария нормального процесса.
Такие диалогиназывают асинхронными. Обычно их используют для выдачи экстренных сообщений отсистемы или пользователя.Разработка диалогов. Процесс проектирования и реализации диалогов можноразделить на следующие стадии:• определение множества необходимых диалогов, их основных сообщений ивозможных сценариев — проектирование абстрактных диалогов;• определение типа и формы каждого диалога, а также синтаксиса и семантикииспользуемых языков — проектирование конкретных диалогов;• выбор основных и дополнительных устройств и проектирование процессов вводавывода для каждого диалога, а также уточнение передаваемых сообщений —проектирование технических диалогов.В основу абстрактных диалогов должна закладываться идеология технологическогопроцесса, для автоматизации которого предназначается программный продукт. Именноанализируя составляющие автоматизируемого технологического процесса, разработчикопределяет сценарии диалогов (см.
~ 6.2), которые должны быть предусмотрены впрограммном обеспечении.Кроме сценариев, при проектировании абстрактных диалогов используют диаграммысостояний интерфейса или графы диалога.Граф диалога — ориентированный взвешенный граф, каждой вершине которогосопоставлена конкретная картинка на экране (кадр) или определенное состояние диалога,характеризующееся набором доступных пользователю действий. Дуги, исходящие извершин, показывают возможные изменения состояний при выполнении пользователемуказанных действий. В каче-234стве весов дуг указывают условия переходов из состояния в состояние и операции,выполняемые во время перехода.Таким образом, каждый маршрут на графе соответствует возможному вариантудиалога.
Причем представление диалога в виде графа в зависимости от стадии разработкиможет выполняться с разной степенью детализации.По сути граф диалога — это граф состояний конечного автомата, моделирующегоповедение программного обеспечения при воздействиях пользователя. Для представлениятаких графов уже были введены две нотации: нотация диаграмм состояний структурногоподхода к разработке (см. рис. 4.3) и нотация диаграмм состояний UML (см. рис. 7.17).Причем нотация UML является более мощной, так как позволяет использовать обобщенныесостояния. Поэтому, чтобы не вводить новую нотацию для представления графа диалога,будем использовать обозначения UML.Пример 8.2. Разработать граф диалога для системы решения комбинаторнооптимизационных задач.Так как диалог на верхнем уровне должен обеспечивать реализацию диаграммывариантов использования, исходный вариант графа диалога строим на основе анализа этойдиаграммы (см.
рис. 6.4). Можно предположить, что пользователь будет принимать решениео сохранении или удалении результатов после их просмотра, поэтому эти операцииестественно объединить в единую группу. Кроме того, в ту же группу целесообразнодобавить операцию печати результатов. Аналогично просмотр данных целесообразнообъединить с их удалением или корректировкой. Операцию Новое задание целесообразнопоместить в отдельную группу (рис. 8.11).На верхнем уровне диалог очевидно долженуправляться пользователем. Директивная и табличнаяфор- мы могут использоваться альтернатив- но, пожеланию пользователя, а применение фразовой формынецелесообразно.Пример 8.3.