Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
экзамен / Проектирование пользов. интер..doc
Скачиваний:
57
Добавлен:
11.05.2015
Размер:
165.89 Кб
Скачать

6. Проектирование пользовательского интерфейса

6.1. Принципы проектирования дружественных интерфейсов

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

"Не человек должен приспосабливаться к технологии, а технология -к человеку".

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

В процессе решения некоторой задачи с помощью АСОИУ пользователь желает получить наилучший результатпри соблюдении следующихтребований и ограничений:

1. Работа с системой должна осуществляться при наименьших затратах, усилиях со стороны пользователя.

2. Работа с системой должна осуществляться с учетом возможностей, привычек и предпочтений пользователя

3. Процесс решения задачи должен быть ясным, понятным пользователю

4. Работа с системой должна обеспечивать максимальную надежность результата

5. Процесс решения задачи должен быть управляемым и гибким.

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

Таблица 6.1

Требования и принципы разработки пользовательских интерфейсов

Требования

Принципы

A. Работа с системой должна осуществляться при наименьших затратах, усилиях со стороны пользователя

A1. Принцип минимального рабочего усилия

A2. Принцип минимального объема памяти пользователя

A3. Принцип минимального времени на обучение

A4. Принцип стандартизации и согласованности элементов интерфейса

B. Работа с системой должна осуществляться с учетом возможностей, привычек и предпочтений пользователя

B1. Принцип учета уровня знаний пользователя в области программных систем

B2. Принцип учета профессиональных навыков пользователя

B3. Принцип учета физических и психических особенностей конкретного пользователя

B4. Принцип учета общепринятых ассоциаций, привычек, традиций

C. Процесс решения задачи должен быть ясным, понятным пользователю

C1. Принцип отображения текущего состояния процесса

C2. Принцип визуализации

C3. Принцип "помощи" пользователю

C4. Принцип объяснения результатов

D. Работа с системой должна обеспечивать максимальную надежность результата

D1. Принцип диагностики ошибок и отказов

D2. Принцип контроля доступа

E. Процесс решения задачи должен быть управляемым и гибким

E1. Принцип активности пользователя

E2. Принцип открытости, изменяемости системы

Рассмотрим перечисленные в таблице 6.1. принципы подробнее.

A1. Принцип минимального рабочего усилия.

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

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

A2. Принцип минимального объема памяти пользователя.

Означает, что от пользователя требуется, чтобы он запоминал как можно меньше.

Объем перерабатываемой человеком информации и скорость переработки существенно ограничены. Например, при чтении текста человек воспринимает примерно 16 бит/с, удерживая одновременно в оперативной памяти (сознании) около 160 бит информации. Кроме того, память может ухудшаться из-за различных факторов: общего психофизиологического состояния человека, напряженности работы и т.д. Следует учитывать также "правило шести" из области психологии, которое гласит, что большинство людей за один раз может запомнить не более 6 понятий.

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

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

Не следует чересчур увлекаться пиктограммами, поскольку не всегда интуитивно понятно, что они означают, и приходится это запоминать.

A3. Принцип минимального времени на обучение.

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

A4. Принцип стандартизации и согласованности элементов интерфейса.

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

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

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

B1. Принцип учета уровня знаний пользователя в области программных систем.

Необходимо учитывать, для какой группы пользователей предназначена система. Как уже указывалось выше, можно выделить следующие виды пользователей: случайные (уровень знаний в области программных систем может быть очень низким); регулярные (как правило, уровень знаний средний или ниже среднего) и программисты (уровень знаний высокий). В системах, предназначенных для случайных или регулярных пользователей, не следует использовать специальную терминологию из области программирования, за исключением таких широко распространенных понятий, как файл, каталог и т.д. Например, в автоматизированном телефонном справочнике не следует использовать такие названия режимов, как "Rushmore-поиск", "Индексированный поиск".

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

B2. Принцип учета профессиональных навыков пользователя

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

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

B3. Принцип учета физических и психических особенностей конкретного пользователя.

Желательно, чтобы система "настраивалась" на конкретного пользователя - на его особенности мышления, восприятия и т.д. Этот принцип в полном объеме редко используется, скорее это желаемый идеал. Используются обычно самые простейшие способы "настройки" на конкретного пользователя - возможность пользователю самому выбрать цветовую гамму выдаваемых изображений на экране; выбрать более удобный способ выполнения некоторых операций (например, когда одна и та же операция может быть выполнена мышью, комбинацией клавиш, выбором в меню).

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

B4. Принцип учета общепринятых ассоциаций, привычек, традиций.

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

Еще один пример. Мы с вами читаем текст справа налево и сверху вниз. Эту логическую последовательность следует учитывать при проектировании меню, диалоговых окон. В левом верхнем углу следует располагать элемент, с которым пользователь должен работать в первую очередь, в правом нижнем углу - тот, который используется в конце. Не следует первым элементом меню ставить опцию "Выход".

C1. Принцип отображения текущего состояния процесса.

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

- отображение текущего состояния в строке статуса (например, в ней может быть отображено текущее положение курсора, название и размер текущего документа, текущий режим);

- выделение активного окна (выделение двойной рамкой, цветом, в заголовке - название текущего процесса или документа);

- выделение текущего режима в главном меню, в панели пиктограмм.

В ситуации, когда системой ведется некоторая обработка данных, и обмен информацией с пользователем на время прекращен, очень важно сообщить о текущем состоянии процесса, выполняемого системой. Нужно хотя бы выдать предупреждение: "Ждите! Идет обработка данных". Но лучше отобразить полосу, визуально отображающую процент выполнения процесса (см. рис. 6.1).

C2. Принцип визуализации

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

Примером может служить интерфейс популярного текстового редактора WinWord. На экране отображается модель подготавливаемого документа в виде страницы, на которой мы видим текст документа, вставленные в него таблицы, рисунки. Причем экранное представление документа полностью соответствует напечатанному документу: размер и начертание шрифта, масштаб картинок адекватно отображаются на экране. Любое изменение, например, изменение полей документа, изменение шрифта или поворот картинки, тут же отражается в модели.

Этот принцип адекватности экранной модели получил название WYSIWYG(WhatYouSeeIsWhatYouGet- что вы видите, то и получите).

C3. Принцип "помощи" пользователю

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

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

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

C4. Принцип объяснения результатов

Поведение системы должно быть логичным, и результаты, полученные в результате работы с системой, должны быть понятны пользователю, чтобы он мог им доверять. Для этого в систему включается блок объяснений. Особенно часто подсистемы объяснений используются в экспертных системах - системах, которые "имитируют" рассуждения экспертов в некоторых узких профессиональных областях (медицине, юриспруденции, геологии). Блок объяснений при этом позволяет пояснить, как и на основании каких логических правил была выведено то или иное заключение. Например, пользователю выдается "цепочка" логических выводов.

D1. Принцип диагностики ошибок и отказов

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

Библиотеки TurboVisionиObjectWindowsсодержат специальные объекты-контроллеры, наследуемые отTValidatorи предназначенные для контроля данных, вводимых пользователем с клавиатуры. Они связываются с объектом типа строки ввода или редактора и автоматически проверяют введенные данные на соответствие определенным требованиям.

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

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

D2. Принцип контроля доступа.

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

Защита информации от несанкционированного доступа реализуется обычно через следующие функции:

  • идентификация пользователя (в том числе с помощью паролей);

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

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

  • кодирование и декодирование ресурсов системы.

E1. Принцип активности пользователя

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

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

E2. Принцип открытости, изменяемости системы.

Автоматизированные системы относятся к такому классу систем, для которых невозможно определить полный список требований и которые нуждаются в постоянной модификации в процессе эксплуатации [4]. Дж. Фокс [4] пишет: "Самым первым требованием к большой программной системе должно быть обеспечение легкости внесения изменений". Такая ситуация вызвана как быстрыми изменениями в области информационных технологий, так и трудностью четкой и однозначной интерпретации требований конечных пользователей. Зачастую сами эти требования претерпевают изменения, т.к. автоматизация задач изменяет представления пользователя об этих задачах [4].

Понятие открытых систем включает в себя:

- переносимость - возможность использования одной и той же прикладной программы на разных компьютерах;

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

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