Разработка пользовательского интерфейса. 2

     Введение 

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

      Глава I. Понятие интерфейса 

    1. Понятие интерфейса пользователя.
 

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

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

     Интерфейс пользователя - набор методов взаимодействия компьютерной программы и пользователя этой программы.

     Программный интерфейс - набор методов для  взаимодействия между программами.

     Физический  интерфейс - способ взаимодействия физических устройств. Чаще всего речь идёт о  компьютерных портах.

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

     Рис.1. Взаимодействие пользователя с компьютером 

     В основном пользователь генерирует сообщения  следующих типов:

    1. запрос информации
    2. запрос помощи
    3. запрос операции или функции
    4. ввод или изменение информации

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

     Интерфейс пользователя компьютерного приложения включает:

    • средства отображения информации, отображаемую информацию, форматы и коды;
    • командные режимы, язык "пользователь - интерфейс";
    • устройства и технологии ввода данных;
    • диалоги, взаимодействие и транзакции между пользователем и компьютером, обратную связь с пользователем;
    • поддержку принятия решений в конкретной предметной области;
    • порядок использования программы и документацию на неё.

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

     Это не только экран, который видит пользователь. К этим элементам относятся:

    • набор задач пользователя, которые он решает при помощи системы;
    • используемая системой метафора (например, рабочий стол в MS Windows®);
    • элементы управления системой;
    • навигация между блоками системы;
    • визуальный (и не только) дизайн экранов программы;
    • средства отображения информации, отображаемая информация и форматы;
    • устройства и технологии ввода данных;
    • диалоги, взаимодействие и транзакции между пользователем и компьютером;
    • обратная связь с пользователем;
    • поддержка принятия решений в конкретной предметной области;
    • порядок использования программы и документация на нее. [1]
 
 
    1. Виды интерфейсов.
 

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

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

      Различают два варианта организации внутри машинного интерфейса:

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

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

      2. Внешний интерфейс— система связи системного блока с периферийными устройствами ЭВМ или с другими ЭВМ

      Здесь можно выделить также несколько типов внешнего интерфейса:

      - интерфейс периферийных устройств,  подключаемых с помощью шин  ввода-вывода (ISA, EISA, VLB, PCI, AGP, USB IEEE 1384 SCSI и др.);

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

      3. Интерфейс «человек-машина» или интерфейс «человек-компьютер» или пользовательский интерфейс— это способ, которым вы выполняете какую-либо задачу с помощью каких-либо средств (какой-либо программы), а именно совершаемые вами действия и то, что вы получаете в ответ.

      Интерфейс является ориентированным на человека, если он отвечает нуждам человека и  учитывает его слабости.

      Машинная  часть интерфейса— часть интерфейса, реализованная в машине (аппаратно-программной ее части) с использованием возможностей вычислительной техники.

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

      Наиболее  распространенные интерфейсы определены государственными и международными стандартами.

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

      Классификация интерфейсов пользователя

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

      Различают три вида интерфейсов пользователя: командный, WIMP и SILK — интерфейсы.

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

      Пакетная  технология.

      Исторически этот вид технологии появился первым на электромеханических вычислительных машинах К. Цюзе, Г. Айкина, а затем  на электронных вычислительных машинах  Эккерта и Моучли, на отечественных ЭВМ Лебедева, Брусенцова, на ЭВМ IBM-360, на ЕС ЭВМ и так далее. Идея его проста и состоит в том, что на вход компьютера подается последовательность программ, набитых, например, на перфокартах и последовательность символов, определяющих порядок выполнения этих программ. Человек здесь имеет малое влияние на работу машины. Он может лишь приостановить работу машины, сменить программу и снова запустить ЭВМ.

      Технология  командной строки.

      При этой технологии в качестве способа  ввода информации оператором в ЭВМ служит клавиатура, а компьютер выводит информацию человеку с помощью алфавитно-цифрового дисплея (монитора). Комбинацию монитор-клавиатура стали называть терминалом или консолью. Команды набираются в командной строке, представляющей собой символ приглашения и мигающий курсор, при этом набранные символы можно стирать и редактировать. По нажатию клавиши «Enter» («Ввод») ЭВМ принимает команду и начинает ее выполнять. После перехода в начало следующей строки компьютер выдает на монитор результаты своей работы. Наиболее распространенным командный интерфейс был в операционной системе MS DOS.

      2. ООМУ (окно, образ,  меню, указатель) WIMP (window, image, menu, pointer) — интерфейс.  Характерной чертой этого интерфейса является то, что диалог пользователя с компьютером ведется не с помощью командной строки, а с помощью окон, графических образов меню, курсора и других элементов. Хотя в этом интерфейсе подаются команды машине, но это делается через графические образы.

      Идея  графического интерфейса зародилась в средине 70-х годов в исследовательском центре фирмы Xerox Palo Alto Research Center (PARC). Предпосылкой графического интерфейса явилось уменьшение времени реакции компьютера на команду, увеличение объема оперативной памяти, а также развитие элементной базы, технических характеристик ЭВМ и в частности мониторов. После появления графических дисплеев с возможностью вывода любых графических изображений различного цвета графический интерфейс стал неотъемлемой частью всех компьютеров. Постепенно проходил процесс унификации в использовании клавиатуры и мыши прикладными программами. Слияние этих двух тенденций привело к созданию такого пользовательского интерфейса, с помощью которого при минимальных затратах времени и средств на переучивание персонала можно работать с любыми программными приложениями

      Этот  вид интерфейса реализован в виде двух уровней:

      - простой графический интерфейс;

      - полный WINP — интерфейс.

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

      - при отображении символов с  целью повышения выразительности  изображения допускалось выделение  части символов цветом, инверсным  изображением, подчеркиванием и  мерцанием;

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

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

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

      - широкое использование цветных  мониторов.

      Появление простого графического интерфейса совпадает  с широким распространением операционной системы MS DOS. Типичным примером его использования является файловая оболочка Norton Commander и текстовые редакторы MaltiEdit, ChiWriter, Microsoft Word для DOS, Лексикон и др.

      Полный WIMP-интерфейс, явился вторым этапом развития графического интерфейса, который характеризуется следующими особенностями:

      - вся работа с программами, файлами  и документами происходит в  окнах;

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

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

      - манипулятор выступает в качестве  главного средства управления.

      Следует отметить, что WIMP-интерфейс требует  для своей реализации повышенного  требования к производительности компьютера, объему его памяти качественного растрового цветного дисплея программного обеспечения, ориентированного на этот вид интерфейса. В настоящее время WIMP-интерфейс стал стандартом де-факто, а операционная система Microsoft Windows стала ярким его представителем.

      3. РОЯЗ (речь, образ,  язык, знания) SILK (speech, image, language, knowledge) — интерфейс.  Этот интерфейс наиболее приближен к обычной человеческой форме общения. В рамках этого интерфейса идет обычный разговор человека и компьютера. При этом компьютер находит для себя команды, анализируя человеческую речь и находя в ней ключевые фразы. Результаты выполнения команд он также преобразует в понятную человеку форму. Этот вид интерфейса требует больших аппаратурных затрат, поэтому находится в стадии разработки и совершенствования и используется пока только в военных целях.

      SILK- интерфейс для общения человека  с машиной использует:

      - речевую технологию;

      - биометрическую технологию (мимический  интерфейс);

      - семантический (общественный) интерфейс.

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

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

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

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

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

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

      Интерфейс пользователя связан с такими науками, как психология и эргономика.

      Эргономика  — это наука о принципах взаимодействия системы «человек-машина».

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

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

      Когнетика и локус внимания

      Когнетика так же как и эргономика, учитывает статистическую природу различий между людьми.

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

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

      В плане проектирования человеческой части интерфейса имеет смысл  пользоваться более ограниченными  понятиямикогнитивного сознательного и когнитивного бессознательного или более точно эмпирическое сознательноеи эмпирическое бессознательное.

      Когнитивное бессознательное  — это те ментальные процессы, которые вы не осознаете в тот момент, когда они происходят.

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

      Свойства  когнитивного сознательного и когнитивного бессознательного сведены в таблицу 1.

      Таблица 1.

Свойство Сознательное Бессознательное
                       
Инициируется Чем-то новым

Нестандартными  ситуациями

Опасностью

Повторением

Ожидаемыми  событиями

Безопасность

Используется В новых обстоятельствах В привычных  ситуациях
Решает  задачи Принятия решений Работа с  неветвящимися задачами
Принимает Логические  утверждения Логические  или противоречивые утверждения
Функционирует Последовательно Одновременно
Управляется Волей Привычными  действиями
Производительность Небольшая Огромная
Период  функционирования Десятки секунд Десятилетия (всю жизнь)

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

      Видимый предмет не всегда может быть локусом  вашего внимания. Локус внимания может  быть только один.

      Информация, ставшая локусом внимания перемещается в кратковременную память, где  храниться в течение 10 секунд.

      Память

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

      Кратковременная память

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

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

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

екстовый) интерфейс.

Командный (текстовый) интерфей

    1. Типы интерфейсов
 

           Интерфейсы пользователя бывают двух типов:

     1) процедурно-ориентированные: 

  • примитивные
  • меню
  • со свободной навигацией

     2) объектно-ориентированные:

     прямого манипулирования.

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

     Объектно-ориентированные  интерфейсы используют модель взаимодействия с пользователем, ориентированную на манипулирование объектами предметной области. В рамках этой модели пользователю предоставляется возможность напрямую взаимодействовать с каждым объектом и инициировать выполнение операций, в процессе которых взаимодействуют несколько объектов. Задача пользователя формулируется как целенаправленное изменение некоторого объекта. Объект понимается в широком смысле слова - модель БД, системы и т.д. Объектно-ориентированный интерфейс предполагает, что взаимодействие с пользователем осуществляется посредством выбора и перемещения пиктограмм соответствующей объектно-ориентированной области. Различают однодокументные (SDI) и многодокументные (MDI) интерфейсы.

     Процедурно-ориентированные  интерфейсы:

     1) Обеспечивают пользователю функции,  необходимые для выполнения задач;

     2) Акцент делается на задачи;

     3) Пиктограммы представляют приложения, окна или операции;

     4) Содержание папок и справочников  отражается с помощью таблицы-списка.

     Объектно-ориентированные  интерфейсы:

     1) Обеспечивает пользователю возможность взаимодействия с объектами;

Разработка пользовательского интерфейса. 2