Главная страница
Навигация по странице:

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

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

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

  • Разработка диалогов.

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

  • Учебник Технология программирования. Технология программирования


    Скачать 7.85 Mb.
    НазваниеТехнология программирования
    АнкорУчебник Технология программирования.pdf
    Дата04.05.2017
    Размер7.85 Mb.
    Формат файлаpdf
    Имя файлаУчебник Технология программирования.pdf
    ТипДокументы
    #6946
    КатегорияИнформатика. Вычислительная техника
    страница20 из 27
    1   ...   16   17   18   19   20   21   22   23   ...   27

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

    229
    оналов. Ломая же стереотипы по мелочам или неточно следуя принятой концепции,
    разработчик рискует оттолкнуть пользователей, которые просто не будут понимать,
    что происходит. В качестве примера можно вспомнить хотя бы путаницу с вызовом
    программ двойным щелчком правой клавиши мыши по пиктограмме рабочем столе
    или одинарным, если пиктограмма вынесена на панель Quick Launch (Быстрый
    Доступ) Windows.

    230
    Критерии оценки интерфейса пользователем. Многочисленные опросы и обследования, проводимые ведущими фирмами по разработке программного обеспечения, показали, что основными критериями оценки интерфейсов пользователем являются:
    • простота освоения и запоминания операций системы - конкретно оценивают время освоения и продолжительность сохранения информации в памяти;
    • скорость достижения результатов при использовании системы - определяется количеством вводимых или выбираемых мышью команд и настроек;
    • субъективная удовлетворенность при эксплуатации системы (удобство работы, утомляемость и т. д.).
    Причем для пользователей-профессионалов, постоянно работающих с одним и тем же пакетом, на первое место достаточно быстро выходят второй и третий критерии, а для пользователей-непрофессионалов, работающих с программным обеспечением периодически и выполняющих сравнительно несложные задачи - первый и третий.
    С этой точки зрения на сегодняшний день наилучшими характеристиками для пользователей-профессионалов обладают интерфейсы со свободной навигацией, а для пользователей-непрофессионалов - интерфейсы прямого манипулирования. Давно замечено, что при выполнении операции копирования файлов при прочих равных условиях большинство профессионалов используют оболочки типа Far, а непрофессионалы -
    «перетаскивание объектов» Windows.
    8.4. Классификации диалогов и общие принципы их разработки
    Как отмечалось в § 8.1 , диалог - это процесс обмена информацией между пользователем и программной системой, осуществляемый через интерактивный терминал и по определенным правилам.
    Различают тип диалога и его форму.
    Типы диалога. Тип диалога определяет, кто из «собеседников» управляет процессом обмена информацией. Соответственно различают два типа диалога: управляемые программой и управляемые пользователем.
    Диалог, управляемый программой, предусматривает наличие жесткого, линейного или древовидного, т. е. включающего возможные альтернативные варианты, сценария диалога, заложенного в программное обеспечение. Такой диалог обычно сопровождают большим количеством подсказок, которые уточняют, какую информацию необходимо вводить на каждом шаге.
    Диалог, управляемый пользователем, подразумевает, что сценарий диалога
    зависит от пользователя, который применяет систему для выполнения

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

    232
    процедурный — предполагает выделение в текущей словоформе основы, которую затем идентифицируют.
    После распознавания словоформ осуществляют синтаксический анализ сообщения, по результатам которого определяют его синтаксическую структуру, т. е. выполняют разбор предложения.
    Далее выполняют семантический анализ, т. е. определяют смысловые отношения между словоформами. При этом выявляют главные предикаты, определяющие смысл предложения.
    Таким образом, интерфейс, реализующий фразовую форму диалога, должен: преобразовывать сообщения из естественно-языковой формы в форму внутреннего представления и обратно, выполнять анализ и синтез сообщений пользователя и системы, отслеживать и запоминать пройденную часть диалога.
    Основными недостатками фразовой формы при использовании подмножества естественного языка являются:
    большие затраты ресурсов;
    отсутствие гарантии однозначной интерпретации формулировок;
    необходимость ввода длинных грамматически правильных фраз. Основное
    достоинство фразовой формы состоит в относительно свободном общении с системой.
    Директивная форма предполагает использование команд (директив) специально
    разработанного формального языка. Командой в этом случае называют предложение этого языка, описывающее комбинированные данные, которые включают идентификатор инициируемого процесса и, при необходимости, данные для него.
    Команду можно вводить:
    в виде строки текста, специально разработанного формата, например, команды MS
    DOS, которые вводятся в командной строке;
    нажатием некоторой комбинации клавиш клавиатуры, например, комбинации
    «быстрого доступа» современных Windows-приложений;
    посредством манипулирования мышью, например, «перетаскиванием» пиктограмм;
    комбинацией второго и третьего способов.
    Основными достоинствами директивной формы являются:
    сравнительно небольшой объем вводимой информации;
    гибкость — возможности выбора операции в данном случае ограничены только набором допустимых команд;
    ориентация на диалог, управляемый пользователем;
    использование минимальной области экрана или неиспользование ее вообще;
    возможность совмещения с другими формами.

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

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

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

    235
    стве весов дуг указывают условия переходов из состояния в состояние и операции, выполняемые во время перехода.
    Таким образом, каждый маршрут на графе соответствует возможному варианту диалога. Причем представление диалога в виде графа в зависимости от стадии разработки может выполняться с разной степенью детализации.
    По сути граф диалога — это граф состояний конечного автомата, моделирующего поведение программного обеспечения при воздействиях пользователя. Для представления таких графов уже были введены две нотации: нотация диаграмм состояний структурного подхода к разработке (см. рис. 4.3) и нотация диаграмм состояний UML (см. рис. 7.17).
    Причем нотация UML является более мощной, так как позволяет использовать обобщенные состояния. Поэтому, чтобы не вводить новую нотацию для представления графа диалога, будем использовать обозначения UML.
    Пример 8.2. Разработать граф диалога для системы решения комбинаторно- оптимизационных задач.
    Так как диалог на верхнем уровне должен обеспечивать реализацию диаграммы вариантов использования, исходный вариант графа диалога строим на основе анализа этой диаграммы (см. рис. 6.4). Можно предположить, что пользователь будет принимать решение о сохранении или удалении результатов после их просмотра, поэтому эти операции естественно объединить в единую группу. Кроме того, в ту же группу целесообразно добавить операцию печати результатов. Аналогично просмотр данных целесообразно объединить с их удалением или корректировкой. Операцию Новое задание целесообразно поместить в отдельную группу (рис. 8.11).
    На верхнем уровне диалог очевидно должен управляться пользователем. Директивная и табличная фор- мы могут использоваться альтернатив- но, по желанию пользователя, а применение фразовой формы нецелесообразно.
    Пример 8.3. Детализировать диалог Новое задание.
    В 6.2 приведен сценарий Выполнения задания, на базе которого можно предложить граф диалога, управляемого системой (рис. 8.12, а). Однако этот же диалог можно пред- ставить и в виде диалога, управляемо- го пользователем (рис. 8.12, б).
    Анализ графов диалога показывает, что диалог, управляемый системой,

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

    237
    терфейса. Рассмотрим интерфейсные компоненты, которые могут быть использованы в современных пользовательских интерфейсах.
    8.5. Основные компоненты графических пользовательских интерфейсов
    Графические пользовательские интерфейсы поддерживаются операционными системами Windows, Apple Macintosh, OS/2 и т. д. В рамках указанных операционных систем для таких интерфейсов разработаны наборы стандартных компонентов взаимодействия с пользователем. Эти наборы не идентичны, как и основные приемы работы с интерфейсами различных операционных систем.
    Пользовательские интерфейсы большинства современных программ строятся по технологии WIMP: W — Windows (окна), 1 — Icons (пиктограммы), М — Mouse (мышь), Р
    — Pop-up (всплывающие или выпадающие меню). Основными элементами графических интерфейсов, таким образом, являются:

    238
    окна, пиктограммы, компоненты ввода-вывода и мышь, которую используют в качестве указующего устройства и устройства прямого манипулирования объектами на экране.
    Окна. Окно — обычно прямоугольная, ограниченная рамкой область физического экрана. Окно может менять размеры и местоположение в пределах экрана. Все окна можно разделить на 5 категорий:
    основные окна (окна приложений);
    дочерние или подчиненные окна;
    окна диалога;
    информационные окна;
    окна меню.
    Окно приложения Windows (рис. 8.14) обычно содержит: рамку, ограничивающую рабочую область окна, строку заголовка с кнопкой системного меню и кнопками выбора представления окна и выхода, строку меню, пиктографическое меню (панель инструментов), горизонтальные и вертикальные полосы прокрутки и строку состояния.
    Дочернее окно Windows (рис. 8.15, а) используют в многодокументных программных интерфейсах (MDI), предполагающих, что программное обеспечение должно работать с несколькими документами одновременно. В отличие от окна приложения дочернее окно не содержит меню. В строке заголовка — специальное имя, идентифицирующее связанный с ним документ или файл. Пиктограммы всех дочерних окон одинаковы.
    Диалоговое окно Windows (рис. 8.15, б) используют для просмотра и задания различных режимов работы, необходимых параметров или другой информации. Оно может содержать:

    239
    1   ...   16   17   18   19   20   21   22   23   ...   27


    написать администратору сайта