П_К_Лекц_ї. Что такое интерфейс
Скачать 1.02 Mb.
|
Преимущества согласованного интерфейсаСогласованный интерфейс дает пользователям и разработчикам экономию времени и средств. Пользователи выигрывают от того, что понадобится меньше времени, чтобы научиться использовать приложения, а потом — для выполнения работы. Согласованный интерфейс сокращает число ошибок пользователя и способствует тому, что пользователь чувствует себя с системой комфортнее. Согласованный пользовательский интерфейс выгоден и разработчикам приложений, он позволяет выделить общие блоки интерфейса, стандартизировать элементы интерфейса и взаимодействие с ними. Эти строительные блоки позволяют программистам проще и быстрее создавать и изменять приложения. Хотя пользовательский интерфейс устанавливает правила для элементов интерфейса и интерактивного взаимодействия, он допускает довольно высокую степень гибкости. Естественность интерфейса Естественный интерфейс — такой, который не вынуждает пользователя существенно изменять привычные для него способы решения задачи. Это, в частности, означает, что сообщения и результаты, выдаваемые приложением, не должны требовать дополнительных пояснений. Целесообразно также сохранить систему обозначений и терминологию, используемые в данной предметной области. Использование знакомых пользователю понятий и образов (метафор) обеспечивает интуитивно понятный интерфейс при выполнении его заданий. Вместе с тем, используя метафоры, вы не должны ограничивать их машинную реализацию полной аналогией с одноименными объектами реального мира. Например, в отличие от своего бумажного аналога, папка на Рабочем столе Windows может использоваться для хранения целого ряда других объектов (таких, например, как принтеры, калькуляторы, другие папки). Метафоры являются своего рода «мостиком», связывающим образы реального мира с теми действиями и объектами, которыми приходится манипулировать пользователю при его работе па компьютере; они обеспечивают «узнавание», а не «вспоминание». Пользователи запоминают действие, связанное со знакомым объектом, более легко, чем они запомнили бы имя команды, связанной с этим действием. Дружественность интерфейса (принцип «прощения» пользователя) Пользователи обычно изучают особенности работы с новым программным продуктом методом проб и ошибок. Эффективный интерфейс должен принимать во внимание такой подход. На каждом этапе работы он должен разрешать только соответствующий набор действий и предупреждать пользователей о тех ситуациях, где они могут повредить системе или данным; еще лучше, если у пользователя существует возможность отменить или исправить выполненные действия. Даже при наличии хорошо спроектированного интерфейса пользователи могут делать те или иные ошибки. Эти ошибки могут быть как «физического» типа (случайный выбор неправильной команды или данных) так и «логического» (принятие неправильного решения на выбор команды или данных). Эффективный интерфейс должен позволять предотвращать ситуации, которые, вероятно закончатся ошибка ми. Он также должен уметь адаптироваться к потенциальным ошибкам пользователя и облегчать ему процесс устранения последствий таких ошибок. Принцип «обратной связи» Всегда обеспечивайте обратную связь для действий пользователя. Каждое действие пользователя должно получать визуальное, а иногда и звуковое подтверждение того, что программное обеспечение восприняло введенную команду; при этом вид реакции, по возможности, должен учитывать природу выполненного действия. Обратная связь эффективна в том случае, если она реализуется своевременно, т.е. как можно ближе к точке последнего взаимодействия пользователя с системой. Когда компьютер обрабатывает поступившее задание, полезно предоставить пользователю информацию относительно состояния процесса, а также возможность прервать этот процесс в случае необходимости. Ничто так не смущает не очень опытного пользователя, как заблокированный экран, который никак не реагирует на его действия. Типичный пользователь способен вытерпеть только несколько секунд ожидания ответной реакции от своего электронного «собеседника». Простота интерфейса Интерфейс должен быть простым. При этом имеется в виду не упрощенчество, а обеспечение легкости в его изучении и в использовании. Кроме того, он должен предоставлять доступ ко всему перечню функциональных возможностей, предусмотренных данным приложением. Реализация доступа к широким функциональным возможностям и обеспечение простоты работы противоречат друг другу. Разработка эффективного интерфейса призвана сбалансировать эти цели. Один из возможных путей поддержания простоты — представление на экране информации, минимально необходимой для выполнения пользователем очередного шага задания. В частности, избегайте многословных командных имен или сообщений. Непродуманные или избыточные фразы затрудняют пользователю извлечение существенной информации. Другой путь к созданию простого, но эффективного интерфейса — размещение и представление элементов на экране с учетом их смыслового значения и логической взаимосвязи. Это позволяет использовать в процессе работы ассоциативное мышление пользователя. Вы можете также помочь пользователям управлять сложностью отображаемой информации, используя последовательное раскрытие (диалоговых окон, разделов меню и т.д.). Последовательное раскрытие предполагает такую организацию информации, при которой в каждый момент времени на экране находится только та ее часть, которая необходима для выполнения очередного шага. Сокращая объем информации, представленной пользователю, вы тем самым уменьшаете объем информации, подлежащей обработке. Примером такой организации является иерархическое (каскадное) меню, каждый уровень которого отображает только те пункты, которые соответствуют одному, выбранному пользователем, пункту более высокого уровня. Гибкость интерфейса Гибкость интерфейса — это его способность учитывать уровень подготовки и производительность труда пользователя. Свойство гибкости предполагает возможность изменения структуры диалога и/или входных данных. Концепция гибкого (адаптивного) интерфейса в настоящее время является одной из основных областей исследования взаимодействия человека и ЭВМ. Основная проблема состоит не в том, как организовать изменения в диалоге, а в том, какие признаки нужно использовать для определения необходимости внесения изменений и их сути. Эстетическая привлекательность Проектирование визуальных компонентов является важнейшей составной частью разработки программного интерфейса. Корректное визуальное представление используемых объектов обеспечивает передачу весьма важной дополнительной информации о поведении и взаимодействии различных объектов. В то же время следует помнить, что каждый визуальный элемент, который появляется на экране, потенциально требует внимания пользователя, которое, как известно, не безгранично. Следует обеспечить формирование на экране такой среды, которая не только содействовала бы пониманию пользователем представленной информации, но и позволяла бы сосредоточиться на наиболее важных ее аспектах. Следует признать, что наибольших успехов в проектировании пользовательского интерфейса, обладающего перечисленными свойствами, к настоящему времени добились разработчики компьютерных игр. Качество интерфейса сложно оценить количественными характеристиками, однако более или менее объективную его оценку можно получить на основе приведенных ниже частных показателей. Время, необходимое определенному пользователю для достижения заданного уровня знаний и навыков по работе с приложением (например, непрофессиональный пользователь должен освоить команды работы с файлами не более чем за 4 часа). Сохранение полученных рабочих навыков по истечении некоторого времени (например, после недельного перерыва пользователь должен выполнить определенную последовательность операций за заданное время). Скорость решения задачи с помощью данного приложения; при этом должно оцениваться не быстродействие системы и не скорость ввода данных с клавиатуры, а время, необходимое для достижения цели решаемой задачи. Исходя из этого, критерий оценки по данному показателю может быть сформулирован, например, так: пользователь должен обработать за час не менее 20 документов с ошибкой не более 1 %. Субъективная удовлетворенность пользователя при работе с системой (которая количественно может быть выражена в процентах или оценкой по 12-ти-бальной шкале). Обобщая изложенное выше, можно кратко сформулировать те основные правила, соблюдение которых позволяет рассчитывать на создание эффективного пользовательского интерфейса: Интерфейс пользователя необходимо проектировать и разрабатывать как отдельный компонент создаваемого приложения. Необходимо учитывать возможности и особенности аппаратно-программных средств, на базе которых реализуется интерфейс. Целесообразно учитывать особенности и традиции той предметной области, к которой относится создаваемое приложение. Процесс разработки интерфейса должен носить итерационный характер, его обязательным элементом должно быть согласование полученных результатов с потенциальным пользователем. Средства и методы реализации интерфейса должны обеспечивать возможность его адаптации к потребностям и характеристикам пользователя. 1.3. СТАНДАРТИЗАЦИЯ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА Ведущие специалисты в области человеко-машинных компьютерных систем уже к середине 70-х годов осознали необходимость формирования единых подходов к реализации пользовательского интерфейса. Весьма длительное время основной формой общения пользователя с компьютером оставался диалог в форме «вопрос-ответ». Но, возможно, именно потому, что компьютер выступал в роли собеседника, очень быстро возникла необходимость исследования психологических аспектов общения человека с компьютером. В настоящее время уже ни одна серьезная публикация, посвященная пользовательскому интерфейсу, не обходится без ссылок на результаты, полученные в таких областях знаний, как психология, эргономика, математическая лингвистика, кибернетика и т.д. г В качестве иллюстрации того, насколько серьезно относятся «законодатели моды» в области компьютерных технологий к проблемам интерфейса, можно отметить следующий факт. Американский Национальный институт стандартов (ANSI) имеет по данному направлению специальную консультативную группу — Комитет по стандартам интерфейса «человек-компьютер» (The Human-Computer Interface Standard Committee). Существуют подобные организации не только в США, но и в других странах; более того, имеются также международные исследовательские группы, работающие в этом направлении, например, Международный консультативный комитет по телеграфии и телефонии (International Telegraph and Telephone Consultation Committee), изучающий особенности интерактивных элементов интерфейса. Многими из этих организаций или рабочих групп в свое время были подготовлены проекты документов по стандартизации пользовательских интерфейсов, содержащие принципы их проектирования и реализации. Так, в 1986 году было опубликовано «Руководство по разработке программного пользовательского интерфейса» [1], содержащее 944 принципа, касающихся ввода и отображения данных, поддержки пользователя, защиты данных и т.д. Однако ни один из этих проектов не получил статуса официального документа, поскольку все они имели общий недостаток (тот же, что и первые исследования в этой области): в них не учитывались технологические возможности инструментальных средств, имевшихся в распоряжении разработчиков программного обеспечения. В 1987 г корпорация IBM объявила о намерении создать единую среду разработки приложений (Systems Application Architecture — SAA). Данный проект предусматривал не только разработку единых принципов создания приложений, но и «материализацию» этих принципов на основе соответствующей технологической базы. Целями проекта являются: Повышение производительности труда программистов и конечных пользователей. Облегчение эксплуатации и сопровождения программного обеспечения. Повышение эффективности распределенной обработки информации. Увеличение отдачи инвестиций в разработку информационных систем. Проект SAA содержит 4 компонента: Соглашения по интерфейсу пользователя (Common User Access — CUA); Соглашения по программному интерфейсу (Common Programming Interface — CPI); Соглашения по разработке приложений (Common Applications — СА); Соглашения по коммуникациям (Common Communications Support — CCS). В качестве технологической базы для реализации соглашений по пользовательскому интерфейсу было предложено конкретное инструментальное средство — Programming Toolkit для операционной системы OS/2. Исследованиями и практической реализацией графических интерфейсов в то время уже занимались такие фирмы как Xerox, Apple, Digital Research и Microsoft. В результате их деятельности были определены основные концепции построения графических пользовательских интерфейсов: •использование единой рабочей среды пользователя в виде так называемого Рабочего стола; объектно-ориентированный подход к описанию заданий пользователей; использование графических окон в качестве основной формы отображения данных; • применение средств неклавиатурного ввода, основанного на выборе и указании с помощью манипулятора «мышь». Стандартизованный интерфейс (именно стандартизованный, а не стандартный) должен отвечать двум основным требованиям: обладать перечисленными в предыдущем разделе свойствами (естественности, согласованности и т.д.); быть узнаваемым (или предсказуемым, что в данном случае одно и то же). При весьма заметном различии в деталях все известные стандарты используют в качестве исходного положения понятие жизненного цикла программного продукта (или системы). Под жизненным циклом понимается последовательность процессов, действий и задач, которые осуществляются в ходе разработки, эксплуатации (использования) и сопровождения программного продукта в течение всей его жизни, от определения требований до завершения использования. Практически все стандарты предусматривают возможность их адаптации к особенностям конкретного проекта при условии соблюдения основных требований к технологии и показателям качества продукта. Например, на этапе формирования требований к системе должны учитываться: область применения системы; требования пользователя (заказчика) к функциональным возможностям системы, к уровню ее безопасности и защищенности; эргономические требования и требования к уровню квалификации пользователей; степень документированности системы; организация сопровождения и т.д. Необходимо подчеркнуть, что положения стандартов остаются справедливыми вне зависимости от предназначения, уровня сложности и состава коллектива разработчиков программного продукта, то есть даже в тех случаях, когда речь идет о небольшой программной утилите, а коллектив разработчиков состоит из одного человека. ПРОЕКТИРОВАНИЕ Начальный этап в разработке программного продукта (приложения) является наиболее критичным, поскольку на этой фазе определяется общая концепция создаваемого продукта. Если проект в своей основе неудовлетворителен, впоследствии трудно будет что-либо кардинально изменить в лучшую сторону. Эта часть процесса разработки включает не только определение цели и характеристик приложения, но и понимание того, кто является его потенциальными пользователями — их задачи, намерения, цели. Это предполагает учет таких показателей, как, например, возраст пользователей, их пол, экспертные знания, уровень опыта, физические ограничения, специальные потребности и т.д. Продумайте структуру приложения и метафоры, которые могут быть применены при ее реализации. Решению указанной проблемы способствует наблюдение за работой пользователей при выполнении ими задач в данной предметной области. Представьте проект разработки в письменной форме; это не только обеспечивает важную контрольную точку в процессе создания приложения и средство взаимодействия с пользователями, но часто помогает сделать проект более конкретным и выявить нерешенные вопросы. ПРОТОТИПИРОВАНИЕ После того, как определены основные концепции проекта, разрабатывается прототип создаваемого приложения, отражающий некоторые основные аспекты его функционирования. В зависимости от уровня вашей подготовки и сложности приложения, его прототип может быть представлен либо в виде иллюстраций интерфейса (внешне они могут напоминать картинки из комиксов), либо в виде специальных схем (в частности, в виде сетей Петри). На последующей стадии может быть создана модель (или макет) проектируемого приложения — действующее программное обеспечение, использующее либо специальные средства макетирования (например, какую-либо CASE-систему), либо обычные инструментальные средства программирования. Прототип предоставляет хорошую возможность для обсуждения создаваемого приложения как внутри группы разработчиков, так и с потенциальными пользователями. Он может помочь вам определить характер потока заданий и лучше представить себе то, чем вы, собственно, занимаетесь. Это особенно полезно в начале процесса разработки. Форма представления прототипа зависит от цели разработки. Действующие прототипы обычно наиболее полно позволяют оценить качество механизма взаимодействия пользователя с разрабатываемым приложением, т.е. качество интерфейса. |