Цели и задачи проектирования
Прежде чем приступить к проектированию программного обеспечения, необходимо четко определить его назначение и цель. Иначе результатом может стать как «недо-», так и «перепроектирование». В первом случае программное обеспечение интерфейса не будет в состоянии решать поставленные перед ним задачи, а второй случай приводит к дополнительным затратам времени и усилий.
Определение целей проектирования также включает в себя выявление критериев для последующего оценивания качества программного обеспечения интерфейса. Критерии должны основываться на различных показателях работы пользователя. При этом наиболее целесообразно использовать показатели, аналогичные описанным в гл. 1. Чем в большей степени цели и критерии будут определены в количественных терминах, тем выше точность результатов оценивания. Последнее может быть как аналитическим, так и эмпирическим. Автор работы {121], например, предлагает аналитическое оценивание целей проектирования сверху — вниз и эмпирическое оценивание результатов снизу— вверх.
Основные эргономические принципы, используемые в системном проектировании для различных применений, в равной степени важны и при проектировании вычислительных систем. Часто правила, предложенные для проектирования интерфейса человек — ЭВМ, являются лишь переформулировкой этих основных принципов в терминах, связанных со спецификой интерфейса. Они обеспечивают основу для выбора целей проектирования и подходящий набор параметров для оценивания его качества. В табл. 2.1 перечислены следующие показатели: совместимость, согласованность, память, понятность структуры, обратная связь, умственная нагрузка и индивидуализация.
Совместимость
В своей наиболее общей форме принцип совместимости означает признание и учет при проектировании того свойства, что информационная пропускная способность системы возрастает при уменьшении объемов информации, которые приходится обрабатывать пользователю. Применительно к ЭВМ это можно понимать как требование того, чтобы проектируемый интерфейс отвечал возможностям восприятия человека, его памяти, способностям решать задачи, выполнять действия и участвовать в процессах коммуникации [8].
Была подчеркнута [52] важность строгого соблюдения принципа организации информации, ориентированной на пользователя, а также словаря и языка для работы с данными.
Таблица 2.1. Основные принципы проектирования диалога человек — ЭВМ
Принцип совместимости Принцип согласованности
Принцип наличия памяти Принцип понятности структуры
Принцип обратной связи Принцип умеренной нагрузки Принцип индивидуализации
Минимизация количества информации, об»
Рабатываемой пользователем Минимизация различий в диалоге как в Пределах отдельных интерфейсов, так и В рамках всей информационной системы Минимизация количества информации, коТорую пользователь должен запоминать Организация помощи пользователю в поНимании структуры системы для эффективНой работы с интерфейсом Обеспечение пользователя обратной связью и возможностью исправления ошибок Поддержание умственной нагрузки пользователя в разумных пределах Сглаживание индивидуальных различий Между пользователями посредством автоМатической адаптации и подстройки интерфейса под пользователя
Терминология, формат и действия системы должны быть согласованы с общепринятыми. Указан [50, 51] ряд причин (разнообразие языковых форм и неточность их интерпретации), делающих выбор языка для диалога человек — ЭВМ очень трудной задачей. Согласно [107], традиционный инструментарий науки о вычислительных системах, такой, как бэку - сова форма записи синтаксиса (BNF), не в состоянии обнаружить семантические группировки грамматических объектов, в то время каїк они являются важными для организации правильной работы конечных пользователей. Для выделения семантических кластеров при разработке языка авторы считают более целесообразным использование логики множеств.
Четкость или понимаемость представленной информации является очень важным моментом. Данные, вводимые пользователем, не должны быть двусмысленными, точно так же и информация, выводимая из ЭВМ, должна быть ясной и, следовательно, полезной. Употребление слов в командах, меню, сообщениях об ошибках и подсказках должно проводиться аккуратно. В системах со стилизованными графическими наводящими сообщениями (подсказками) каждый элемент должен изображать понятное пользователю действие и соответствовать общепринятой символике. Должна быть минимизирована необходимость в переводе, заменах, интерпретации или ссылках на документацию.
При проектировании также являются важными пространственная совместимость и совместимость направлений движения. Показано [47] преимущество согласования пространственного расположения элементов изображения и средств управления ими. Этот принцип обычно называется совместимостью по стимулу и реакции (5—R). Например, движение изображения объекта на экране дисплея должно соответствовать движению, задаваемому пользователем. Показаны [8] заметные преимущества согласованного представления элементов команд слева — направо в порядке, в котором эти элементы должны были бы вводиться, по сравнению с их несогласованным представлением справа — налево: 12%-ное уменьшение во време- ли считывания данных пользователем, 19%-ное сокращение количества обращений к справочной информации по системе, 56%-ное уменьшение числа ошибок, связанных с перестановкой аргументов, и 37%-ное сокращение общего числа ошибок в аргументах.
Важность согласований стимулов и реакций для построения эффективных интерфейсов человек — ЭВМ была исследована в работе [151]. Результаты исследований позволяют заключить, что речевой ввод и речевой вывод совместимы с вербальными задачами, в то время как ручной ввод и визуальный вывод лучше подходят для пространственных задач. Эти результаты обобщаются в принцип, расширяющий понятие 5—/^-совместимости. Формула «стимул — центральный процессор— реакция» (S—С—R) означает, что функционирование системы будет оптимальным только при условии наличия совместимости между дисплеем, аппаратурой ввода и способом хранения данных в оперативной памяти ЭВМ.
Согласованность
Автор работы [101] предположил, что к главным причинам, по которым пользователи не любят работать с вычислительными системами, относятся их недостаточные согласованность и целостность. Интерфейсы различаются как в пределах одной и той же системы, так и между системами, что требует от пользователя запоминания нескольких различных методик для выполнения одной и той же задачи. В работе отмечается проблема, состоящая в том, что различные части больших программ составляются разными людьми, и пользователь вынужден работать с несколькими разделами программного обеспечения.
Многие трудности в решении задач отпадают при условии согласования отдельных компонентов человеко-машинной системы. В идеале согласованность системы должна вытекать из естественных способов решения задачи пользователем, а не из логического формализма или какой-либо модели системы, которые пользователь должен дополнительно изучить [63]. Для обеспечения согласованности иногда может понадобиться выполнение операций, на первый взгляд уменьшающих пропуск - лую способность системы, таких, как запросы от пользователя информации, уже содержащейся в системе, чтобы аналогичные процедуры требовали идентичных действий пользователя. В то же время возможность перехода от одной ветви меню к другой может быть предоставлена пользователю даже за счет ,простоты архитектуры программного обеспечения.
Как ввод информации от пользователя, так и вывод из ЭВМ должны быть согласованы в рамках всей информационной системы, содержащей программные модули, дисплеи и другие компоненты. Например, действия ЭВМ при нажатии пользователем специальных функциональных клавиш и синтаксис командного языка не должны меняться при переходе к другому меню или задаче. Функционирование системы должно быть достаточно предсказуемым без каких-либо исключений.
Несоблюдение принципа согласованности интерфейса приводит к неприятным последствиям. Обнаружено [141], что позиционная несогласованность в пунктах меню вызывает увеличение времени работы на 73%. Относительно недавно проведенный опрос системных разработчиков, к сожалению, выявил, что командные языки чаще всего создаются по частям, при этом слабо учитывается принцип согласованности [75].
Для улучшения согласованности при проектировании диалоговых систем были предложены различные методики. В работе [113] показано, как отражается на количестве ошиббк, допускаемых пользователем при работе с интерактивной графической системой, несогласованность или наличие нескольких различающихся способов представления данных. Было предложено [114] использование формальной грамматики для оценивания эффективности работы пользователя при различных интерфейсах в зависимости от согласованности. Для обеспечения согласованности автор работы [101] предложил создание программы-посредника между пользователем и основными программами. Эта промежуточная программа служила •бы їв качестве транслятора для предотвращения несогласованности как при работе їв рамках одного и того же программного обеспечения, так и при переходе к другому программному обеспечению и освободила бы пользователя от необходимости изучать подробности работы с многими различными системами. Подобная идея «помощника» для пользователя при изучении степени гибкости диалога человек—ЭВМ была использована в работе [149]. Проектирование согласованного интерфейса имеет своей целью оказание помощи пользователю в постижении концептуальной модели или внутреннего представления структуры системы.
Принцип согласованности предполагает, что предыдущий опыт работы с аналогичными вычислительными системами должен облегчать изучение новых систем. Однако не следует забывать о том, что одна лишь уверенность в согласованности проекта диалоговой системы с ранее известными системами еще не гарантирует качественного интерфейса. Иногда результаты применения этого принципа лишь подтверждают некачественное проектирование ранее созданных компонентов системы.
Память
При проектировании диалога человек — ЭВМ важно минимизировать объем информации, который пользователь должен хранить в своей памяти, особенно в том случае, когда одновременно существуют несколько 1 информационных потоков. Теоретически имеется определенный верхний предел объема информации, которая может быть воспроизведена человеком вскоре после ее запоминания. Предполагается [93], что этот предел лежит между пятью и девятью условными элементами информации, причем их число зависит от степени сложности [131], последовательности представления [5], времени, отведенного для запоминания [92], и количества сопутствующих информационных процессов [97].
Рассмотрим следствия этого ограничения на проектирование меню выбора. Если для определения оптимального выбора пользователь должен рассматривать все альтернативы одновременно, то меню будет наиболее эффективным при количестве вариантов, не превышающем возможностей памяти человека [151]. Проблема сильно усложняется, если меню представлено синтезированной речью для телефонного доступа в систему базы данных. Выявлены [80] следующие характеристики звукового представления различных вариантов действий, которые плохо согласуются с информационными способностями человека: 1) как правило, пользователь не в состоянии контролировать скорость представления информации; 2) пользователь может не знать количества оставшихся альтернатив, которые будут ему еще предложены; 3) пользователь не может быстро перебрать весь список альтернатив и должен выслушать каждый пункт в отдельности, прежде чем сделать выбор; 4) затруднительно наглядно представить себе структуру - меню.
Всякий раз, когда требуется передать пользователю большой объем информации, для уменьшения нагрузки на его память желательно группировать данные по смыслу. Для увеличения объема информации в одной структурно-логической единице ввода рекомендуется создавать семантические группы Больших размеров.
Сохранение информации в кратковременной памяти чело - Лека требует ее периодического повторения. Этому, однако, мешают различные параллельные информационные процессы или задачи, связанные с принятием решений. В то же время, Когда пользователь вынужден помнить большое количество Данных или сложные коды, ограничивается его способность решать проблемы. Очевидно* что проектировщик диалогового Интерфейса должен стремиться к уменьшению нагрузки на Память человека, работающего с ЭВМ.
Однако краткость системных сообщений не всегда является приемлемой. В работе [133] отмечено, что синтезированные звуковые предупреждения. понимаются пользователями на фоне посторонней человеческой речи быстрее и с меньшим числом ошибок в случае, когда они представляют собой короткие предложения, а не ключевые слова. Поскольку для понимания смысла сообщения пользователь привлекает к анализу по принципу сверху — вниз синтаксический, семантический и прагматический аспекты информации, краткие сообщения из ключевых слов, лишенные упомянутых выше информационных компонент, оказываются недостаточно эффективными.
Структура
Человеку свойственно искать структуру и упорядоченность в окружающем его мире даже в том случае, когда элементы такой организации отсутствуют. Назначение структуры состоит в объединении разнородных данных, получаемых умозрительно или из эксперимента. Результаты исследований показывают, что при воспроизведении бессистемных наборов данных возникает стремление их каким-либо образом упорядочить [146]. Кроме того, если при проведении тестов на восприятие речи в задание включать семантически неправильные предложения и при этом составлять текст с трудно понимаемым смыслом, то испытуемые будут стараться свести неупорядоченный набор слов в осмысленное предложение, используя существующие в языке синтаксические правила.
Подобным образом и пользователи ЭВМ пытаются выявить определенную структуру в диалоговых и управляющих системах. Представление о внутренней организации системы •формирует у пользователя основу понимания им происходящих процессов и обусловливает его решения и действия. Если пользователь не в состоянии представить себе принципы работы диалоговой системы, возможны ошибки, как, например, попытка выполнить какую-либо команду, работая с текстовым редактором в режиме ввода. В работе [102] приведе - но несколько подходящих примеров ошибок, связанных с непониманием структуры, при работе с мощной и сложной операционной системой UNIX.
Создание интерфейса с внутренне согласованной структурой, отвечающей представлениям пользователя, содействует последнему в его обучении. Опыт пользователя и хорошо организованная системная обратная связь гарантируют формирование правильного представления о системе. Более просто структура вскрывается в системах, характеризующихся непосредственной связью действий пользователя с информацией, выводимой на экран. Примером таких систем являются текстовые редакторы с постоянным отображением на экране текущего состояния формируемого документа.
Для помощи пользователю в освоении структурных характеристик системы было предложено много различных методов. Интерфейсы новых систем человек — ЭВМ часто проектируются на основе интерфейсов других, уже известных систем. Так, текстовый редактор создается с учетом принципов работы пишущей машинки. Очевидно, подобные аналоги могут использоваться при обучении пользователей структуре новой системы, однако эффективность этого метода в некоторой степени зависит от способности обучаемых различать пределы аналогий [37J. Другой способ обучения основан на использовании графических изображений. При этом может быть достигнуто адекватное отображение структуры системы. В качестве примера можно привести графическое изображение иерархической организации базы данных. Графические представления служат в качестве своеобразных карт, обеспечивающих пользователю возможность «навигации» по системе. Действительно, в работе [14] установлено, что работа с подобными картами улучшает ориентацию пользователя в незнакомых для него разделах разветвленного меню.
Обратная связь
Любая система человек — ЭВМ должна иметь информационную обратную связь от машины к пользователю, содержащую данные об эффективности его работы, параметры текущего состояния системы и подсказки о возможных действиях, приводящих к нужному результату. Информационные сообщения от ЭВМ, связанные с реакцией на запрос пользователя, обнаружением ошибок в его действиях, пропуском им необходимых частей вводимых данных и изменениями состояния системы, вызванными его действиями, должны в общем случае поступать к пользователю без сколько-нибудь существенных временных задержек. В случае задержки ответа машина обязана сообщить пользователю тем или иным способом, что его заПрос принят. В противном случае пользователь может лола - гать, что ЭВМ не выполнила никаких действий, и он может повторить запрос или попытаться найти другие способы решения проблемы. При исправлении ошибок пользователя также важна синхронизация. Отмечено [85], что нельзя не учитывать влияния, которое может оказать на пользователя прерывание его работы. В этой связи в определенных условиях желательно' сообщать об ошибках не сразу по мере выявления их ЭВМ, а только по завершении ввода всей информации. Однако требуются дополнительные исследования для оценки влияния различных факторов на синхронизацию обратной связи.
При работе на машине пользователю необходимо четкое понимание того, на каком этапе решения задачи он находится в данный момент, что уже сделано и насколько эффективно. Обратная связь обеспечивает ему уверенность в нормальном режиме работы системы и предоставляет информацию о том, находятся его запросы в состоянии обработки или же отложены по какой-либо причине. Недостаточно выраженная ответная реакция ЭВМ может быть просто не замечена человеком, например изменение формы курсора, отражающее переход к другому режиму, нли сообщение об ошибке, выводимое у крайних полей экрана дисплея.
О важности обратной связи также свидетельствует проявившийся в последнее время повышенный интерес к системам, допускающим непосредственное воздействие пользователя на выводимую машиной информацию. В работе [128] указаны основные характеристики этого режима работы: интересующий пользователя объект четко отображен на экране — непосредственно или по принятым условным соглашениям; результаты действий человека немедленно отражаются на экране; имеется легко осуществляемая возможность отмены ранее выполненных действий; последние инициируются с помощью физических средств ввода, таких, как функциональные клавиши или устройство типа «мышь».
Сравнительно недавно проведенные исследования [21] показывают, что отсутствие сообщений от ЭВМ в порядке обратной связи и последствия ошибочных действий пользователя в процессе обучения могут служить серьезной помехой в изучении системы. В системах должны быть предусмотрены простые формы управляющих команд, что будет способствовать как уменьшению числа ошибок, так и снижению их отрицательных последствий. Такой обучающий принцип не является новым:'еще более 25 лет тому назад бихевиористы предполагали, что использование методов предотвращения ошибок с подключением отрицательной обратной связи повысило бы эффективность обучения. Эта идея была положена в основу методики преподавания курсов линейного программирования. При использовании упрощенного варианта текстового редактора [21] время обучения пользователей уменьшилось на21%.
Тем не менее при общении человека с машиной ошибки все равно встречаются, и поэтому пользователю необходима обратная связь, чтобы узнать, требуется ли какая-либо корректировка его действий и в какой форме. Сообщения об ошибках должны быть конкретными и сформулированы таким образом, как это сделал бы сам пользователь, а не излагаться «сухим» языком, традиционным для программирования. Необходимо предоставить пользователю возможность исправления его неверных действий в любой удобный для этого момент времени. Это особенно важно в системах, где обои в аппаратной части ЭВМ могут накладываться на ошибки человека (например, в системах автоматического распознавания речи). В одном из исследований, в котором при вводе информации применялось речевое распознавание [126], точность данных возросла с 70 до 97% за счет обратной связи и исправления ошибок пользователем.
Однако назначение обратной связи не следует ограничивать вышеописанными функциями. Было выдвинуто предположение [90] о необходимости обеспечения интерфейсов человек— ЭВМ возможностью со стороны ЭВМ исправлять неверные концептуальные представления пользователя, чтобы они не закреплялись в сознании человека. Для выполнения данной задачи автор указанной работы создал метод, включающий использование полной базы знаний о системе, своеобразной модели знаний пользователя, постоянно модернизирующейся в процессе диалога, и ряд предметно-инвариантных эвристик для выявления смысловых неточностей в представлении информации человеком и той неверной аргументации, которая послужила их причиной. О другой форме «интеллектуа - лизованной» обратной связи можно говорить, когда в ЭВМ предусмотрен режим генерации подсказок и указаний по работе при отсутствии запросов от пользователя. Более подробно эти вопросы обсуждаются ниже.
Умственная нагрузка
Необходимым условием проектирования диалога человек — ЭВМ является оценка воздействия работы с интерфейсом на умственную нагрузку пользователя. Поскольку вероятность совершения ошибки последним или невыполнения им какого-либо действия увеличивается как в случае его перегрузки, так и недогрузки, то при постановке задачи и определении требований работы с интерфейсами в первую очередь нужно следить, что - ■бы умственная нагрузка человека находилась в допустимых пределах. В работе [155] приводится описание различных способов оценивания такой нагрузки.
На нагрузку существенное влияние оказывает плотность информации, изображенной на экране дисплея или представленной пользователю иным способом. Вывод на дисплей должен быть организован таким образом, чтобы минимизировать усилия пользователя на поиск нужной ему информации, и всякий раз на экран нужно выводить только те данные, которые необходимы для текущей работы. При решении некоторых задач медленный темп вывода может быть предпочтительнее, даже если аппаратная часть позволяет организовывать вывод с большей скоростью. В случаях представления информации в звуковой форме может быть необходимым разрешить оператору регулировать скорость вывода. Для снижения нагрузки на пользователя необходимые данные должны быть представлены в удобной для восприятия форме [96]. Иногда становится необходимым, чтобы система объединяла информацию из разных источников в одно согласованное изображение [57]. Дополнительные возможности по уменьшению нагрузки на пользователя могут быть связаны с рациональным распределением заданий между пользователем и ЭВМ, назначением стиля диалога и обеспечением определенной избыточности предоставляемой пользователю информации.
Учет индивидуальных особенностей пользователей
Поведению человека свойственны индивидуальные различия. В системах человек — ЭВМ они могут проявляться в различном использовании языка, выборе подходящего метода решения задачи и уровне профессиональной подготовки пользователей. Индивидуальные языковые предпочтения пользователей становятся особенно очевидными в случае, когда для каждой системной функции предусмотрено разнообразие идентификаторов, а пользователям представляется возможность выбора конкретных вариантов имен команд [51]. Вопросы, связанные с выбором пользователем языка, обсуждаются в работе [58]. Учет возможных различий в используемом языке является главной задачей, которую предстоит решить проектировщикам интерфейсов, как использующих естественный язык [77], так и настраиваемых на лексику пользователя.
Предусматриваемое разнообразие интерактивных режимов можно считать обязательным условием эффективной работы на ЭВМ разных категорий пользователей. Например, начинающих пользователей обычно устраивает диалог, управляемый ЭВМ, а опытные пользователи предпочитают вести его сами. Однако знания и навыки пользователя изменяются после его общения с ЭВМ и знакомства с конкретной системой. Эти изменения могут происходить медленно или очень быстро. Поэтому интерфейс должен проектироваться в соответствии с индивидуальными различиями пользователей. Индивидуализация часто может быть достигнута предоставлением целого ряда способов выполнения одной и той же функции (как, например, в системе, которая обеспечивает выбор из меню для начинающего пользователя, а по мере накопления им опыта позволяет непосредственно набирать команды на клавиатуре).
Существуют по крайней мере два возможных подхода к проблеме учета индивидуальных различий: гибкий и адаптивный интерфейс. Первый позволяет пользователю изменять и приспосабливать интерфейс соответственно своим потребностям или же допускает различные варианты взаимодействия. При этом у пользователя имеется свобода выбора синонимов команд, использования альтернативного синтаксиса и задания команд. Адаптивные интерфейсы автоматически приспосабливаются к пользователю и могут изменяться с течением времени. Авторы работы [11] предложили идею генератора диалогов, приспосабливающего интерфейс по мере модификации и расширения потребностей пользователя. Адаптивные интерфейсы рассматриваются подробнее далее в этой главе.