Что такое интерфейс?
Каждую вычислительную систему можно оценивать двумя критериями: точностью и удобством. Для традиционной концепции вычислительной системы точность означает, что при поступлении на вход системы заданных значений на ее выходе получаются заданные результаты. Часто начинающие программисты обращают особое внимание на точность результатов, забывая про удобства работы с вычислительной системой. Слишком часто разработчики программного обеспечения относятся к операции ввода-вывода как к утомительной последовательности операций чтения и записи, которую нужно пройти, чтобы добраться до «интересной части программы».
Пользователь автоматизированной вычислительной системы имеет право ожидать не только точных этапов обработки, по и удобства в использовании системы. Это значит, что при пользовании вычислительной системой человек не должен существенно менять стиль своей работы. В большинстве случаев сам процесс переработки входных данных в выходные не влияет на это, поскольку пользователь непосредственно этот процесс не чувствует. Обычно у него нет необходимости или желания знать, как совершается эта переработка данных. Реальный механизм передачи управления от рулевого колеса к управляемым колесам автомобиля практически не влияет на водителя, однако для него имеет большое значение форма и расположение рулевого колеса. Аналогично устройство и расположение рабочей станции, формат входных и выходных данных имеют большое значение для пользователя вычислительной системы.
Интерфейс "человек-компьтер" включает все те аспекты автоматизированной вычислительной системы, с которой непосредственно соприкасается пользователь.
Что влияет на удобство работы с системой.
Чтобы работа с компьютером была удобной, пользователь должен при взаимодействии с системой ощущать комфорт. Таким образом, на удобство работы влияют факторы, которые вызывают чувство комфорта. Их можно разделить на три большие группы: социальные факторы, физическая эргономика, психологическая эргономика.
Общий психологический климат в организации, а также форма преподнесения сведений о вычислительной системе могут вызвать предубеждение против этой системы задолго до того, как пользователь познакомится с ней практически. Функции, которые возлагает система на пользователя, и способ выполнения этих функций могут нарушить сложившиеся рабочие группы, лишить исполнителя привычного общения или испортить его отношения с руководством. Эти социальные факторы могут усилить или ослабить опасения пользователя относительно системы.
Если пользователь относится к системе без предубеждений, эргономические характеристики реальной системы могут существенно улучшить или ухудшить его отношение к ней. Основные эргономические характеристики: конструктивные особенности оборудования, качество разработки диалога, доступность и надежность систем, чувствительность систем. Конструктивные особенности оборудования (как компьютера, так и дополнительных устройств) и размещение его в рамках рабочей станции могут повлиять на чувство физического комфорта пользователя при работе с системой. Может ли оператор легко читать символы на экране дисплея, или экран расположен так, что из-за отражения солнечных лучей ему приходится щуриться, чтобы разглядеть текст? Расположена ли клавиатура так, что оператор может нажать любую клавишу, не вытягиваясь неестественно при этом? Например, в некоторых универсамах кассовые аппараты расположены так, что кассиршам приходится часто поворачиваться и тянуться, чтобы посмотреть, какой товар нужно пробивать: в результате они сильно устают к концу рабочего дня! Уделил ли разработчик системы внимание конструкции сидения и подставки под терминал или использовал для этого обычный стол и стул, который в данный момент оказался свободным? Конструирование оборудования — это "золушка" эргономики; разработчики большинства вычислительных систем используют имеющиеся конструкции, а не разрабатывают их заново. Третий фактор — это психологическая эргономика; в то время как физическая эргономика занимается изучением соответствия функций системы физиологическим процессам человека, психологическая эргономика занимается изучением соответствия функций системы психологическим процессам человека. Чтобы проиллюстрировать разницу, рассмотрим процесс считывания сообщения с экрана. Пользователь, который не может физически различить символы из-за бликов или плохого контраста, ощутит физический дискомфорт. Пользователь, который может прочесть текст, но не может понять его смысл из-за непонятных слов или непривычной формы представления текста, ощутит психологический дискомфорт. Нет смысла прилагать усилия для создания условий, когда у пользователя не устают глаза, если от сообщений системы его голова пойдет кругом! На этот аспект работы систем, получивший название диалога, разработчики программного обеспечения могут повлиять как в положительную, так и в отрицательную сторону. Может ли пользователь получить доступ к системе в любое время и в любом месте? Разработчик должен гарантировать, что система будет доступна именно в то время, когда это нужно пользователю. Кроме того, надежность системы должна обеспечивать доступ в любое удобное время. Имеет значение не только общее время потерь из-за сбоев, но и количество сбоев. Несколько сбоев подряд продолжительностью по несколько секунд каждый могут выбить оператора из колеи сильнее, чем один часовой сбой. Такой же отрицательный эффект, как невозможность получить доступ к системе, имеет и длительное ожидание ответа на запрос в течение 20 с и более. Еще хуже, если в какие-то дни ответ выводится через 2 с, а в другие приходится ждать 20 с: разное время реакции системы наводит пользователя на мысль, что система испортилась! Обеспечение приемлемого времени реакции системы — это один из самых технически важных и дорогостоящих аспектов разработки интерактивных систем.
Почему важен критерий удобства работы.
Для обеспечения эффективной работы оператора нужно учитывать его эмоциональные, психологические и физиологические особенности. Если пользователь расстроен, раздражен или подавлен, он не сможет работать хорошо. Элементом системы, который может вызвать или наоборот снять стресс, является интерфейс человек-компьютер, т. е. среда, через которую пользователь взаимодействует с системой.
Тело человека — это механизм, который должен работать в рамках определенных ограничений и допусков. Нашим глазам нужно, чтобы образы имели определенный размер, уровень яркости, контрастности и располагались на удобном расстоянии. Некоторые цвета воспринимаются легче других, наложение одних цветов помогает различать их, а наложение других — мешает. Эти физические ограничения широко известны. Однако ограничения нашего мозга не так хорошо изучены и часто вообще игнорируются. У нас очень большая долговременная память и очень ограниченная кратковременная (оперативная) память. Под оперативной памятью часто понимают последовательность буферов, в которых могут накапливаться промежуточные данные при любой обработке. Подобно буферам вычислительной системы, эта память имеет ограниченный объем и легко может перегружаться. Долговременная память имеет, вероятно, неограниченный объем и быстрый доступ к данным. Если мы регулярно выполняем какую-нибудь работу, то она легко "запоминается" без перегрузки оперативной памяти; если мы повторяем ее достаточно часто, то со временем начинаем выполнять ее почти подсознательно. Однако, если мы делаем что-то редко, наша оперативная память оказывается полностью занятой на все время работы.
Даже если работа в общем знакома, мы можем перегрузить оперативную память ее конкретным проявлением. Представим себе служащего, который рассматривает счет, представленный на двух экранах, так как на одном он не помещается. Служащий, по всей видимости, выполнял эту работу много раз, поэтому может без труда сказать, какие поля таблицы на каком экране находятся. Запомним, же конкретные значения полей на разных экранах гораздо труднее, если вообще возможно.
Люди вносят в каждую деятельность свое понимание того, как эта деятельность должна выполняться. Это понимание — модель деятельности — базируется на прошлом опыте человека. Под долговременной памятью часто понимают хранилище различных моделей, на базе которых человек строит свою деятельность по реализации различных умственных стимулов. Вместо того, чтобы хранить мелкие подробности, люди восстанавливают подробности из моделей более высокого уровня. Большинство людей читает экран слева направо и сверху вниз, как книжную страницу. Они хотят, чтобы данные на экране были расположены в структурированном порядке и ищут признаки относительной важности различных элементов данных.
Люди прекрасно приспосабливаются. Они могут сидеть в самых причудливых позах и работать в самых неблагоприятных условиях: посмотрите, например, на программистов, работающих на рабочих станциях! Они могут расширять свою оперативную память с помощью листков бумаги, приспосабливаться к иному способу работы, вырабатывать новые модели, которые не соответствуют их предыдущему опыту и вносят порядок в расположение данных на экране. Однако такая адаптация приводит к стрессам, которые могут проявиться в разочаровании, раздражении, неприятных и болевых ощущениях.
Эти стрессы могут иметь разные последствия. Где допускается выбор, пользователь может просто отказаться от работы с системой. Например, рассмотрим ситуацию, в которой руководитель может воспользоваться программой бухгалтерских расчетов или выполнить расчет с помощью калькулятора. Если система ему не понравилась из-за трудного доступа, плохой реакции на запрос, физических неудобств или чего-нибудь еще, он может предпочесть ручной вариант расчета. Когда у пользователя нет выбора, например, у служащего, ведущего бухгалтерский учет, работа, связанная со стрессами, может привести к заболеванию, постоянному отсутствию пользователя на рабочем месте или к неприемлемому уровню ошибок. Эти ошибки не являются следствием намеренных попыток дискредитировать систему можно так расположить входные и выходные данные, что разобраться с ними будет трудно!
Стратегия разработки интерфейса человек-компьютер.
Интерфейс человек-компьютер как отдельный компонент системы. Так же как структуры данных в системе можно изолировать от алгоритмов обработки этих структур, мы можем до определенной степени отделить интерфейс человек-компьютер от вычислительной задачи. Возможности аппаратных и программных средств. Разработчики систем, как, естественно, и другие специалисты, пользуются в работе своими старыми навыками. Этот внутренний консерватизм усиливается, а не ослабевает вследствие стремительного развития в последнее время аппаратных и программных средств. Однако невозможно разработать компонент, не понимая возможностей и ограничений основных элементов, из которых он может быть построен. Будьте последовательны. В процессе разработки требуется новизна, причем необходимо следить за тем, чтобы эта новизна не растворилась в мелочах, а также за целесообразностью обилия подходов. В настоящее время многие пользователи имеют доступ к разным системам, и вряд ли они будут менять свои приемы работы при смене систем. Используйте принятые принципы разработки интерфейса. Физическое взаимодействие пользователя с рабочей станцией имеет много общего с взаимодействием человека с машиной вообще. Поэтому существует большое число общепринятых в эргономике рекомендаций, которые легко можно перенести на разработку и организацию рабочей станции. В то же время форма представления информации на экране не одинакова. Графический дизайн зависит от распределения информации на экране, словарного состава предложения, способа выделения ключевых элементов представления данных и т. д. Разработчики должны знать эти принципы. «Поймите» задачу и пользователя. Разработчик должен понимать не только вычислительный процесс, необходимый для решения задачи, но и оценивать действия пользователя, направленные на достижение цели задачи. Ему нужно знать особенности потенциальных пользователей системы. Привлекайте пользователей. Рекомендацию о том, что надо "понимать пользователя и задачу", легче дать, чем выполнить. Вряд ли можно ожидать, что системный аналитик или разработчик хорошо знаком со всеми областями применения своих разработок или глубоко чувствует психологические потребности потенциальных пользователей. Существуют принципы, которым нужно следовать, и которые описаны в любом учебнике по системному анализу. Один из типичных принципов заключается в том, что аналитик получает сведения путем опроса будущих пользователей. Полезный способ подбора нужных вопросов — это поставить себя на место пользователя, работающего с системой. Однако единственный способ оценки доступности интерфейса — это посмотреть, как на самом деле пользователь взаимодействует с системой в нормальных рабочих условиях. Нужен интерактивный подход, приводящий к разработке опытных образцов интерфейсов, с которыми работают пользователи и которые изменяются в соответствии с их реакцией до тех пор, пока не будет создан приемлемый продукт. Это значит, что нужно применять гибкие методы компоновки элементов интерфейса. Предусматривайте средства адаптации в рамках интерфейса. Хотя общие принципы определяют основу создания интерфейса, они не могут удовлетворять любого пользователя. Разработка интерфейса в расчете на среднего пользователя — это как бы поиск наименьшего общего знаменателя. Точно так же привлечение пользователей к разработке не может гарантировать ее абсолютной приемлемости. Даже если условия задачи остаются практически постоянными, потребности пользователей, как и они сами, меняются. Правильно спроектированный интерфейс должен быть настраиваемым на нужды разных пользователей, а также на одного пользователя в разные периоды его работы.Оценка проекта.
Как разработчик, придерживающийся рассмотренной выше стратегии, узнает, что он достиг требуемого результата? Можно предположить несколько критериев, позволяющих оценить интерфейс. Все они охватывают три основных аспекта:
- простота освоения и запоминания операций системы
- быстрота достижения целей задачи, решаемой с помощью системы
- субъективная удовлетворенность при эксплуатации системы
Можно установить контрольное время, необходимое определенному пользователю для достижения заданного уровня знаний. Критерий может также указать тип упражнений, помогающих добиться желаемого результата. Сохранение полученных рабочих навыков по истечению некоторого времени — это другой критерий (связанный с первым), который определяет объем знаний, достаточных для возобновления деятельности после некоторого перерыва в работе.
Быстроту решения задачи можно оценить скоростью или точностью. Заметим, что при оценке скорости учитывается не быстродействие системы, а время, необходимое для достижения поставленной цели. Поэтому для системы ввода данных важна не скорость работы с клавиатурой, а контрольная цифра, которую можно указать, например, так: "банковский служащий должен за час обработать не менее 20 счетов с ошибкой менее 1 %".
Критерий субъективной удовлетворенности отражает мнение пользователя о системе и удобстве работы с ней. Этот критерий трудно оценить количественно, но его можно выразить, например, с помощью частоты, с которой пользователи обращаются к дополнительным устройствам. Для рассмотренной выше системы обработки счетов в банке этот критерии можно оценить количеством невыходов на работу или текучестью кадров.
Хотя все три критерия можно отнести к любым областям применения, для конкретных применений важным будет какой-либо один из них.
Разработчик должен уметь измерять реальную производительность системы в соответствии с поставленными целями. Для проведения этих измерений можно использовать несколько методик. Системы могут автоматически создавать и сохранять копию конкретного диалога, заносить в системный журнал время, затрачиваемое на выполнение различных этапов задания, или количество и тип ошибок. Пользователям предлагается ответить на вопросы или заполнить различные анкеты, чтобы можно было определить, удовлетворены ли они работой системы. При использовании всех этих методов трудно быть уверенным в том, что получен действительно правильный результат и что любые замеченные вами отклонения присущи системе, а не определяются каким-либо внешним фактором.


