Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
30
Добавлен:
07.02.2016
Размер:
513.54 Кб
Скачать

33

Лекция №6

Тема лекции: Основы построения человеко-машинных интерфейсов. Основные компоненты интерфейса.

В научных основах проектирования пользовательских интерфейсов используется термин HCI.HCI— это аббревиатура английскогоHuman-ComputerInteraction, что переводится как "взаимодействие человека и компьютера". На Западе HCI — это целая профессия, ей обучают в университетах, выдавая дипломы "Специалист по HCI". Издается много журналов по этой теме, существует большое количество Web-сайтов. В России, к сожалению, эта наука не пользуется особой популярностью например, у нас настоящих специалистов по HCI можно буквально пересчитать по пальцам одной руки.

Как легко догадаться по названию, основными составными компонентами HCI являются:

- человек (пользователь)

- компьютер

- процесс взаимодействия.

Пользовательский интерфейс(англ.userinterface,UI) является своеобразным коммуникационным каналом, по которому осуществляется взаимодействие пользователя и компьютера.

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

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

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

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

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

1. Интерфейс должен помогать выполнить задачу, а не становиться этой задачей.

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

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

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

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

Во-первых, традиционным слегка высокомерным отношением программистов к простым пользователям. Это еще можно было понять в восьмидесятых и начале девяностых годов XX века, когда обычные персональные компьютеры не имели доступных широкой аудитории программных и аппаратных средств для построения привлекательных графических интерфейсов и работы с ними. Самой распространенной операционной системой в то время былаMSDOS, основанная на интерфейсе командной строки. Поэтому эффективно работать с персональным компьютером могли люди только с довольно серьезной подготовкой. Кроме того, парк "персоналок" был относительно невелик даже в США, не говоря уже об остальных странах, и, как следствие, число пользователей компьютеров было небольшим.

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

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

И, наконец, третья причинаво многом обусловлена поведением самих пользователей. Часто при возникновении малейших затруднений при работе с программой пользователь тут же обращается в службу технической поддержки, не удосужившись даже взглянуть на справочную систему продукта, посмотреть секцию "Ответы на частые вопросы" на Web-сайте программы или даже просто чуть-чуть подумать! Отчасти тут вина самих авторов программ. Как говорят опытные разработчики пользовательских интерфейсов:

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

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

Один из примеров такого неправильного отношения к пользователю является отказ программы выполнить вполне естественную с точки зрения пользователя программных продуктов такого рода операцию и вывод диалогового окна, требующего выполнить какую-то другую последовательность действий. Этим "прославился", например, известный текстовый редактор "Блокнот" из состава Windows95. Если пользователь открывал эту программу и решал перед началом набора текста дать создаваемому "Блокнотом" по умолчанию файлу "Untitled" какое-нибудь имя, выбрав из меню командуСохранить как, редактор отказывался сделать это, показывая сообщение: "Вы не ввели какой-либо текст, чтобы его можно было сохранить. Наберите какой-нибудь текст, а затем попытайтесь [сохранить его] снова". Этим создатели "Блокнота" не только отвергли стиль работы очень многих пользователей (перед началом набора текста дать имя файла), но сбили с толку и тех, кто был знаком с "Блокнотом" по предыдущим версиямWindows. Например, в шестнадцатиразряднойWindows3.1 "Блокнот" позволял сохранять пустые файлы безо всяких проблем. Опытные пользователи, знакомые с принципами работы операционной системы, тоже были в недоумении: если из контекстного меню ПроводникаWindowsв меню Создать выбрать пункт Текстовый документ, то получившийся файл длиной 0 байт открывается "Блокнотом" без каких-либо затруднений. К счастью, в последующих версияхWindows"Блокнот" стал более дружественен к пользователю.

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

И, наконец, третий принцип"Интерфейс должен работать так, чтобы пользователь не считал компьютер неквалифицированным компонентом".

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

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

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

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

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

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

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

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

- преобразование данных, циркулирующих в АПК автоматизированной системы, информационные модели, отображаемые на мониторах;

- регенерация информационных моделей (ИМ);

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

- преобразование воздействий, поступающих от человека-оператора, в данные, используемые системой;

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

Рис. 1. Информационно-логическая схема интерфейса взаимодействия.

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

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

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

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

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

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

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

ПРОЦЕСС ПРЕОБРАЗОВАНИЯ СЛОЖНОЙ ГРАФИЧЕСКОЙ ИНФОРМАЦИИ

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

D {Dn} ,

где Rj - множество элементов информационной модели j-й группы, n=1,...N; k=1,...K.

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

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

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

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

При организации процесса переработки информации в системах отображения будем манипулировать следующими понятиями:

  • Статическая информация - относительно стабильная по содержанию информация, используемая в качестве фона. Например, координатная сетка, план, изображение местности и т.д.

  • Динамическая информация - информация, переменная в определенном интервале времени по содержанию или положению на экране. Реально динамическая информация часто является функцией некоторых случайных параметров.

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

Анализ системы отображения информации

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

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

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

Рис. 2. Структурная схема системы отображения информации.

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

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

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

  • производит обработку запросов оператора по выбору и модификации информационных моделей;

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

  • обеспечивает прием параметров объекта управления и управляет прикладной базой данных;

  • осуществляет прием команд управления объектом от оператора, их обработку и передачу системе управления.

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

Основные функции графического программного обеспечения:

  • выполнение графических или геометрических преобразований;

  • управление базой графических данных;

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

  • формирование запросов к прикладному программному обеспечению в процессе диалога компьютер - пользователь;

  • управление вводом-выводом визуализированной информации.

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

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

Функциональные задачи, которые должна решать система

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

1. Принцип минимального рабочего усилия, имеющий два аспекта:

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

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

2. Принцип максимального взаимопонимания. Т.е. человек-оператор не должен заниматься, например, поиском информации, или выдаваемая на видеоконтрольное устройство информация не должна требовать перекодировки или дополнительной интерпретации пользователем.

Пользователь должен запоминать как можно меньшее количество информации, так как это снижает свойство оператора принимать оперативные решения.

3. Принцип психофизических и моторных характеристик человека-оператора. Должно быть обеспечено максимальное соответствие выбора компьютеров характеристикам человека-оператора.

4. Принцип максимальной концентрации пользователя на решаемой задачи и локализация сообщений об ошибках.

5. Принцип учета профессиональных навыков человека-оператора. Это значит, что при разработке системы на основе некоторых задаваемых в техническом задании исходных данных о возможном контингенте кандидатов проектируется «человеческий компонент» с учетом требований и особенностей всей системы и её подсистем. Формирование же концептуальной модели взаимодействия человека и технических средств автоматизированной системы означает осознание и овладение алгоритмами функционирования подсистемы «человек - техническое средство» и овладение профессиональными навыками взаимодействия с ЭВМ, т.е. требует обучения и подготовки человека-оператора.

Что понимать под интерфейсом

ИНТЕРФЕЙС (interface). Совокупность правил взаимодействия устройств и программ между собой или с пользователем и средств, реализующих это взаимодействие. Понятие интерфейса включает в себя как сами аппаратные и программные средства, связывающие различные устройства или программы между собой или с пользователем, так и правила и алгоритмы, на основе которых эти средства созданы. Например, интерфейс устройств - это и линии связи между ними, и устройства сопряжения, и способ преобразования передаваемых от устройства к устройству сигналов и данных, и физические характеристики канала связи. Программный интерфейс - это и программы, обслуживающие передачу данных от одной задачи к другой, и типы данных, и список общих переменных и областей памяти, и набор допустимых процедур или операций и их параметров. Интерфейс пользователя с программой - это и изображенные на экране терминала кнопки, меню и другие элементы управления, с помощью которых пользователь управляет решением задачи, и сам терминал и предусмотренные в программе операторы, позволяющие такое управление осуществить.

Пользовательский интерфейс - общение между человеком и компьютером.

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

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

Соседние файлы в папке лекции