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

разработка пользовательского интерфейса курсовая

  • автор:

Введение

"Золотое правило проектировщика гласит: "Никогда не делай другим того, что они сделали тебе". Вспомните, что вам не нравится в программном обеспечении, которым вы пользуетесь. И не делайте того же самого в программе, над которой работаете."

Почему надо следовать принципам построения пользовательского интерфейса?

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

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

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

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

Три принципа разработки пользовательского интерфейса формулируются так:

1)контроль пользователем интерфейса;

2)уменьшение загрузки памяти пользователя;

3)последовательность пользовательского интерфейса.

Где найти принципы разработки пользовательского интерфейса

Хансен представил первый список принципов проектирования[2]. Принципы таковы:

Многие крупные производители операционных систем, выпусти на рынок свои новые продукты, публикуют соответствующие руководства и инструкции. В этих изданиях раскрываются принципы подхода к проектированию интерфейса. Руководства выпускали Apple Computer, Inc. (1992), IBM Corporation (1992), Microsoft Corporation (1995) и UNIX OSF/Motif (1993).

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

Важность соблюдения принципов

"Несовместимость интерфейса может стоить большой компании миллионов долларов убытка из-за потери продуктивности и увеличения стоимости технической поддержки." — Джесси Брист.

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

Данные принципы выдержали проверку временем и появлением новых компьютерных технологий. Якоб Нильсен заметил: "Принципы останутся основополагающими даже если программа будет иметь футуристичный трехмерный дизайн с печаткой "DataGlove", служащей для ввода, будут распознаваться движения и "живые" видеоизображения. Они будут актуальны, поскольку выражают основную идею диалога с машиной при помощи команд"[8].

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

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

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

"Делай это проще, но не примитивнее."

Правило 1: дать контроль пользователю

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

Принципы, которые дают пользователю контроль над системой:

1)использовать режимы благоразумно;

2)предоставить пользователю возможность выбирать: работать либо мышью, либо клавиатурой, либо их комбинацией;

3)позволить пользователю сфокусировать внимание;

4)демонстрировать сообщения, которые помогут ему в работе;

5)создать условия для немедленных и обратимых действий, а также обратной связи;

6)обеспечить соответствующие пути и выходы;

7)приспосабливайте систему к пользователям с различным уровнем подготовки;

8)сделать пользовательский интерфейс более понятным;

9)дать пользователю возможность настраивать интерфейс по своему вкусу;

10)разрешить пользователю напрямую манипулировать объектами интерфейса;

Использовать режимы благоразумно

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

Позволить человеку использовать мышь и клавиатуру

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

Позволить пользователю переключить внимание

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

Показывать поясняющие сообщения и тексты

Во всем интерфейсе использовать понятные для пользователя термины. Они не обязаны знать о битах и байтах!

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

Обеспечить немедленные и обратимые действия и обратную связь

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

Предоставлять понятные пути и выходы

Пользователи должны получать удовольствие при работе с интерфейсом любого программного продукта. Даже интерфейсы, применяемые в индустрии, не должны пугать пользователя, он не должен боятся нажиматься нажимать кнопки или переходить на другой экран. Вторжение Internet показало, что навигация — основная интерактивная техника в Internet. Если пользователь понимает, как зайти на нужную страницу в WWW, то существует 80-процентная вероятность, что он разберется в интерфейсе. Люди осваивают методы работы с браузером очень быстро.

Приспосабливаться к пользователям с разными уровнями навыков

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

Сделать пользовательский интерфейс "прозрачным"

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

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

Дать пользователю возможность настроить интерфейс на свой вкус

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

Представление функций в OS/2 и диалоговые окна для изменения функциональных свойств в Windows 95 позволяют настраивать многие системные предпочтения и объекты. Разработчики Windows 95 даже создали дополнительную утилиту — Tweak UI. Программные продукты должны использовать свойства операционной системы согласно другим приложениям. Однако все иные атрибуты программного интерфейса, включая меню и кнопки, должны иметь функцию индивидуальной настройки.

Разрешить пользователю прямое манипулирование объектами интерфейса

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

Позволить пользователю думать, что он контролирует ситуацию

Хорошо разработанный интерфейс должен быть удобен для пользователей и развлекать их, пока компьютер находится в состоянии загрузки. Людям не нравится сидеть около компьютера, ничего не делая, пока компьютер занят "своими делами". Если нельзя дать пользователю контроль, то необходимо создать его иллюзию!

Правило 2: уменьшить нагрузку на пользователя

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

Принципы, позволяющие снизить нагрузку на память пользователя:

1)не загружать кратковременную память;

2)полагаться на распознавание, а не на повторение;

3)представить визуальные заставки;

4)предусмотреть установки по умолчанию, команды Undo и Rendo;

5)предусмотреть "быстрые" пути;

6)активировать синтаксис действий с объектами;

7)использовать метафоры из реального мира;

8)применять раскрытие и объяснение понятий и действий;

9)увеличить визуальную ясность.

Не нагружать кратковременную память

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

Полагаться на распознавание, а не на повторение

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

Обеспечить визуальные подсказки

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

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

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

Обеспечить ярлыки для интерфейса

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

Активизировать синтаксис действий с объектами

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

Использовать метафоры реального мира

Быть осторожным при выборе и использовании метафор для интерфейса. Выбрав метафору, зафиксировать ее и следовать ей неукоснително. Если получится, что метафора не отвечает своему назначению во всем интерфейсе, то выбрать новую. Продолжать метафору, не прерывая ее.

Объяснять понятия и действия

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

Увеличить визуальную ясность

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

Правило 3: сделать интерфейс совместимым

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

Принципы создания совместимости интерфейса:

1)проектирование последовательного интерфейса;

2)общая совместимость всех программ;

3)сохранение результатов взаимодействия;

4)эстетическая привлекательность и цельность;

Проектирование последовательного интерфейса

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

Общая совместимость всех программ

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

Улучшение интерфейса и последовательности

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

Сохранение результатов взаимодействия

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

Эстетическая привлекательность и цельность

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

Поощрение изучения

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

Руководящие принципы

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

Для чего нужны руководящие принципы

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

Следование руководствам по проектированию без учета пожеланий пользователя обычно приводит к появлению неудачного интерфейса. Удобный и последовательный интерфейс не будет создан, если слепо следовать инструкции без понимания механизма взаимодействия между собой. Гулд очень хорошо описал: "Многие инструкции слишком много внимания уделяют "расположению кнопок" и мало — пониманию и обучению"[13]. Таким образом, следование руководствам и инструкциям не является единственным критерием успеха.

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

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

Нормативы

Руководящие принципы содержат характеристики стандартов презентаций, поведения и взаимодействия с элементами управления интерфейсом.

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

Развитие существующих руководящих принципов проектирования интерфейса

Многие программные продукты созданы для работы на разных платформах. С тех пор, как эти платформы имеют различные операционные системы, инструменты и стили интерфейса, очень сложно разрабатывать интерфейс, удовлетворяющий все платформы или работающий на каждой из платформ. Дополнение — подборка индустриальных руководств по проектированию — было разработано Беллкором [12]. Оно содержит описание и руководящие принципы для основных компаний и операционных систем, как IBM CUA, OSF, Microsoft Windows и др.

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

Применение руководящих принципов

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

Руководящие принципы по разработке интерфейса на макро- и микроуровне

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

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

Разработка интерфейса на макроуровне представляет собой шаблон пользовательского интерфейса — продукт собирается весь целиком и его концепция становится ясна пользователям по мере взаимодействия с ним.

Программа " TidyStartMenu"

Со временем у вас накопилось много программ в меню "Пуск", и каждый раз для запуска нужной программы вам нужно тратить время на поиски? Программа "Tidy Start Menu" поможет вам навести порядок в меню и сделать работу комфортной!

Для этого программа предлагает разбить все программы из меню на категории. Так, например, программы, которые используются для работы в Интернет, можно объединить в группу "Интернет", а все игры поместить в категорию "Игры".

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

Ниже приведены исходники програмы и снимки его интерфейса.

Viewing in ‘Viewing.pas’ ,

Setuping in ‘Setuping.pas’ ,

Editing in ‘Editing.pas’ ,

ADOTableofset in ‘ADOTableofset.pas’ ;

if MessageDlg(‘The software is not installed! You wish to instal it?’,

mtInformation,[mbYes, mbCancel],0) = mryes then

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, ComCtrls, ShellCtrls, ToolWin, ImgList;

WM_MYICONNOTIFY = WM_USER + 123;

procedure FormCreate(Sender: TObject);

procedure FormDestroy(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure oreinstall1Click(Sender: TObject);

procedure Exit1Click(Sender: TObject);

procedure Edit1Click(Sender: TObject);

procedure WMICON(var msg: TMessage); message WM_MYICONNOTIFY;

procedure WMSYSCOMMAND(var msg: TMessage);message WM_SYSCOMMAND;

ComObj, activex, ShellApi,

uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;

procedure Tlook.DeleteTrayIcon(n: Integer);

var nidata : TNotifyIconData;

procedure Tlook.FormCreate(Sender: TObject);

procedure Tlook.FormDestroy(Sender: TObject);

procedure Tlook.N1Click(Sender: TObject);

procedure Tlook.N2Click(Sender: TObject);

procedure Tlook.N4Click(Sender: TObject);

var i,j : Integer;

if not ShownOnce then

for I := 0 to Application.MainForm.ComponentCount -1 do

if Application.MainForm.Components[I] is TWinControl then

with Application.MainForm.Components[I] as TWinControl do

if Visible then

for J := 0 to ComponentCount -1 do

if Components[J] is TWinControl then

ShowWindow((Components[J] as TWinControl).Handle, SW_SHOWDEFAULT);

procedure Tlook.WMICON(var msg: TMessage);

case msg.LParam of

procedure Tlook.WMSYSCOMMAND(var msg: TMessage);

if (Msg.wParam=SC_MINIMIZE) then n2Click(Self);

procedure Tlook.FormActivate(Sender: TObject);

procedure Tlook.oreinstall1Click(Sender: TObject);

procedure Tlook.Exit1Click(Sender: TObject);

procedure Tlook.Edit1Click(Sender: TObject);

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, StdCtrls, ShlObj, ComObj, ActiveX, DB, ADODB;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Tsetup.Button1Click(Sender: TObject);

procedure LookDir(StartDir, Mask : String;List : TStrings);

if StartDir[Length(StartDir)] <> ‘\’ then StartDir := StartDir + ‘\’;

if FindFirst(StartDir+’*.*’, faAnyFile, SearchRec) = 0 then

if (SearchRec.Attr and faDirectory) <> faDirectory then

if ExtractFileExt(StartDir+SearchRec.Name) = Mask then

if (SearchRec.Name <> ‘..’) and (SearchRec.Name <> ‘.’) then

LookDir(StartDir + SearchRec.Name + », Mask,list);

until FindNext(SearchRec) <> 0;

procedure jarlik(const PathObj, PathLink, Desc, Param: string);

SLink := IObject as IShellLink;

PFile := IObject as IPersistFile;

while not eof(f) do

while not ADOTable1.Eof do

if s2=ADOTable1Run.AsString then

while not ADOTable2.Eof do

if s2=ADOTable2Run.AsString then

while not ADOTable3.Eof do

if s2=ADOTable3Run.AsString then

while not ADOTable4.Eof do

if s2=ADOTable4Run.AsString then

while not ADOTable5.Eof do

if s2=ADOTable5Run.AsString then

LookDir(‘C:\Program Files’, ‘.exe’,ListBox1.Items);

Label1.Caption:=’Installation is finished’;

procedure Tsetup.Button2Click(Sender: TObject);

procedure Tsetup.FormClose(Sender: TObject; var Action: TCloseAction);

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, DB, ADODB;

procedure Button1Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

uses Editing, Viewing, Setuping;

procedure TTabSheetset.Button1Click(Sender: TObject);

case TabSheetset.RadioGroup1.ItemIndex of

procedure TTabSheetset.FormClose(Sender: TObject;

var Action: TCloseAction);

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, DB, ADODB, Menus, ComCtrls, ToolWin, ExtCtrls,

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Close1Click(Sender: TObject);

procedure ToolButton1Click(Sender: TObject);

procedure choose1Click(Sender: TObject);

uses Viewing, ADOTableofset;

procedure TEdit.FormClose(Sender: TObject; var Action: TCloseAction);

procedure TEdit.Close1Click(Sender: TObject);

procedure TEdit.ToolButton1Click(Sender: TObject);

procedure TEdit.choose1Click(Sender: TObject);

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

Совместимость – одна из основных задач разработки пользовательского интерфейса. Совместимость очень сложно идентифицировать, определить и внедрить. Кроме того, она может и отвлекать от основных целей. Грудин делает предположение о том, что "когда совместимость пользовательского интерфейса становится первоочередной задачей, то это уводит наше внимание в сторону от главного — пользователей и их работы" [14].

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

Исследователи занимались изучением того, как разработчики используют руководящие принципы. Одно исследование было проведено в рамках подготовки компанией IBM (1992) руководства по пользовательскому интерфейсу и справочнику. Тецлав и Шварц предложили разработчикам построить соответствующие интерфейсы на базе руководящих принципов по общему пользовательскому интерфейсу. Они выяснили, что были упущены несколько важных идей и деталей. Разработчики отдавали предпочтение графическим иллюстрациям и примерам, а не тексту, рассказывающему о концепциях разработки. Кроме того, они хотели иметь возможность исследовать предлагаемые примеры интерактивным способом. Полученные разработки в большой степени были признаны совместимыми, однако имели место и расхождения в интерпретации руководящих принципов [15]. Разработка интерфейса во многом похожа на нашу жизнь — на конкретный вопрос не всегда есть однозначный ответ.

Другое исследование Товтрап и Нильсен принесло аналогичные результаты [16]. Только 71% разработок соответствовал стандартам. Большая часть отличий была обусловлена влияниям опыта разработчиков по созданию нестандартных проектов. Представленный для оценки интерфейс имел в среднем от 4 до 12 отклонений. Это было особенно удивительно, поскольку у участников теста интерес к удобству применения интерфейса был выше среднего. Разработка интерфейса — больше искусство, чем наука. Конкретные примеры чрезвычайно полезны, поскольку демонстрируют, как надо следовать руководящим принципам по разработке. Чтобы обучить разработчиков использованию принципов, требуются продолжительные тренинги. Алан Зейчик удачно подвел итог по этой теме: "Мораль такова: при разработке программных инструментов и потребительских продуктов стоит следовать существующим руководящим принципам по пользовательскому интерфейсу. Следуйте им, даже если вам кажется, что они имеют дефекты. Возможно, ваш проект более высокого качества, но спросите себя: поможет ли эта высочайшего качества схема, отображающая функциональные клавиши, или усовершенствованная метафора меню моему приложению стать неотъемлемой частью рабочей среды пользователя? Или это станет постоянным источником раздражения, из-за которого мой совершенный продукт в итоге будет пылиться на полке?".

Литература

1. Apple Computer, Inc. 1992. Macintosh Human Interface Guidelines. Reading. MA: Addison-Wesley.

2. Hansen, W. 1971. User engineering principles for interactive systems. AFIPS Conference Proceedings 39. AFIPS Press, pp. 523-532.

3. Heckel, Paul. 1984. The Elements of Friendly Software Design. New York: Warner Books.

4. IBM Corporation. 1992. Object-Oriented Interface Design: IBM Common User Access Cuidelines. New York: QUE.

5. Johnson, Jeff, Teresa Roberts, William Verplank, David Smith, Charles Irby, Marian Beard, and Kevin Mackey. 1989. The Xerox Star: A Retrospective. IEEE Computer 22(9): pp. 11-29.

6. Mayhew, Deborah. 1992. Principles and Guidelines in Software User Interface Design. Englewood Cliffs, NJ: Prentice-Hall.

7. Microsoft Corporation. 1995. The Windows Interface Cuidelines for Software Design. Redmond, WA: Microsoft Press.

8. Nielsen, Jakob. 1990. Traditional dialogue design applied to modern user interfaces. Communication of the ACM 33(10), pp. 109-118.

9. Open Software Foundation. 1993. OSF/Motif Style Guide, Revision 1.2. Englewood Cliffs, Prentice-Hall.

10. Rubenstein, R. and H. Hersch. 1984. The Human Factor: Designing Computer System for People, Newton, MA: Digital Press.

11. Shneiderman, Ben. 1992. Designing the User Interface: Strategies for Effective Human-Computer Interaction. Reading. MA: Addison-Wesley.

12. Bellcore. 1996. Design Guide for Multiplatform Graphical User Interfaces. LP-R13, Piscataway, NJ: Bellcore (http://www.bellcore.com).

13. Gould, Jonh D. 1988. How to design usable systems. In Helander, M. (Ed.), Handbook of Human-Computer Interaction. Amsterdam, Holland: Elsevier Science Publishers.

14. Grudin, Jonathan. 1989. The case against user interface consistency. Communications of the ACM 32(10).

15. Tetzlaff, Linda and David R. Schwartz. 1991. The use of guidelines in interface design. Proceeding of ACM CHI’91, New Orleans, LA.

16. Smith, Sidney and Jane Mosier. 1986. Guidelines for Designing User Interface Software. Report ESD-TR-86-278 MTR-10090. Bedford, MA: MITRE Corporation.

Трэйси Леонард

Почему надо следовать принципам построения пользовательского интерфейса?

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

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

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

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

Три принципа разработки пользовательского интерфейса формулируются так:

1)контроль пользователем интерфейса;

2)уменьшение загрузки памяти пользователя;

3)последовательность пользовательского интерфейса.

Где найти принципы разработки пользовательского интерфейса

Хансен представил первый список принципов проектирования[2]. Принципы таковы:

Многие крупные производители операционных систем, выпусти на рынок свои новые продукты, публикуют соответствующие руководства и инструкции. В этих изданиях раскрываются принципы подхода к проектированию интерфейса. Руководства выпускали Apple Computer, Inc. (1992), IBM Corporation (1992), Microsoft Corporation (1995) и UNIX OSF/Motif (1993).

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

Важность соблюдения принципов

«Несовместимость интерфейса может стоить большой компании миллионов долларов убытка из-за потери продуктивности и увеличения стоимости технической поддержки.» — Джесси Брист.

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

Данные принципы выдержали проверку временем и появлением новых компьютерных технологий. Якоб Нильсен заметил: «Принципы останутся основополагающими даже если программа будет иметь футуристичный трехмерный дизайн с печаткой «DataGlove», служащей для ввода, будут распознаваться движения и «живые» видеоизображения. Они будут актуальны, поскольку выражают основную идею диалога с машиной при помощи команд»[8].

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

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

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

«Делай это проще, но не примитивнее.»

Альберт Эйнштейн

Правило 1: дать контроль пользователю

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

Принципы, которые дают пользователю контроль над системой:

1)использовать режимы благоразумно;

2)предоставить пользователю возможность выбирать: работать либо мышью, либо клавиатурой, либо их комбинацией;

3)позволить пользователю сфокусировать внимание;

4)демонстрировать сообщения, которые помогут ему в работе;

5)создать условия для немедленных и обратимых действий, а также обратной связи;

6)обеспечить соответствующие пути и выходы;

7)приспосабливайте систему к пользователям с различным уровнем подготовки;

8)сделать пользовательский интерфейс более понятным;

9)дать пользователю возможность настраивать интерфейс по своему вкусу;

10)разрешить пользователю напрямую манипулировать объектами интерфейса;

Использовать режимы благоразумно

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

Позволить человеку использовать мышь и клавиатуру

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

Позволить пользователю переключить внимание

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

Показывать поясняющие сообщения и тексты

Во всем интерфейсе использовать понятные для пользователя термины. Они не обязаны знать о битах и байтах!

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

Обеспечить немедленные и обратимые действия и обратную связь

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

Предоставлять понятные пути и выходы

Пользователи должны получать удовольствие при работе с интерфейсом любого программного продукта. Даже интерфейсы, применяемые в индустрии, не должны пугать пользователя, он не должен боятся нажиматься нажимать кнопки или переходить на другой экран. Вторжение Internet показало, что навигация — основная интерактивная техника в Internet. Если пользователь понимает, как зайти на нужную страницу в WWW, то существует 80-процентная вероятность, что он разберется в интерфейсе. Люди осваивают методы работы с браузером очень быстро.

Приспосабливаться к пользователям с разными уровнями навыков

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

Сделать пользовательский интерфейс «прозрачным»

Пользовательский интерфейс — «мифическая» часть программного продукта. При хорошем проекте пользователи даже не ощущают его «присутствия». Если он разработан неудачно, пользователям придется приложить даже немало усилий для эффективного использования программного продукта. Задача интерфейса — помочь людям почувствовать себя находящимся как бы «внутри» компьютера, свободно манипулировать и работать с объектами. Это и называется «прозрачным» интерфейсом!

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

Дать пользователю возможность настроить интерфейс на свой вкус

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

Представление функций в OS/2 и диалоговые окна для изменения функциональных свойств в Windows 95 позволяют настраивать многие системные предпочтения и объекты. Разработчики Windows 95 даже создали дополнительную утилиту — Tweak UI. Программные продукты должны использовать свойства операционной системы согласно другим приложениям. Однако все иные атрибуты программного интерфейса, включая меню и кнопки, должны иметь функцию индивидуальной настройки.

Разрешить пользователю прямое манипулирование объектами интерфейса

Пользователь начинает сомневаться в собственных силах, если прямые манипуляции с объектами не отвечают их ментальной модели и системе представлений о взаимодействии с реальным миром. Простое правило: увеличивать метафоричность, но не ломать ее. Иногда система прямых манипуляций терпит крах, если пользователь не знает, что надо взять и куда это поместить. Объекты должны «кричать» человеку пользователю: «схвати меня, отпусти меня, обращайся со мною, как с предметом, который я представляю!». Иначе человек не поймет, как работать с этим объектом. Единственная проблема прямых манипуляций — визуально не понятно, может ли объект перемещен и отпущен на экране. Пользователи должны чувствовать себя комфортно при производстве данной операции и знать о предполагаемом результате. Кроме того, необходимо, чтобы интерфейс можно было без труда изучить.

Позволить пользователю думать, что он контролирует ситуацию

Хорошо разработанный интерфейс должен быть удобен для пользователей и развлекать их, пока компьютер находится в состоянии загрузки. Людям не нравится сидеть около компьютера, ничего не делая, пока компьютер занят «своими делами». Если нельзя дать пользователю контроль, то необходимо создать его иллюзию!

Правило 2: уменьшить нагрузку на пользователя

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

Принципы, позволяющие снизить нагрузку на память пользователя:

1)не загружать кратковременную память;

2)полагаться на распознавание, а не на повторение;

3)представить визуальные заставки;

4)предусмотреть установки по умолчанию, команды Undo и Rendo;

5)предусмотреть «быстрые» пути;

6)активировать синтаксис действий с объектами;

7)использовать метафоры из реального мира;

8)применять раскрытие и объяснение понятий и действий;

9)увеличить визуальную ясность.

Не нагружать кратковременную память

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

Полагаться на распознавание, а не на повторение

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

Обеспечить визуальные подсказки

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

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

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

Обеспечить ярлыки для интерфейса

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

Активизировать синтаксис действий с объектами

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

Использовать метафоры реального мира

Быть осторожным при выборе и использовании метафор для интерфейса. Выбрав метафору, зафиксировать ее и следовать ей неукоснително. Если получится, что метафора не отвечает своему назначению во всем интерфейсе, то выбрать новую. Продолжать метафору, не прерывая ее.

Объяснять понятия и действия

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

Увеличить визуальную ясность

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

Правило 3: сделать интерфейс совместимым

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

Принципы создания совместимости интерфейса:

1)проектирование последовательного интерфейса;

2)общая совместимость всех программ;

3)сохранение результатов взаимодействия;

4)эстетическая привлекательность и цельность;

5)поощрение изучения;

Проектирование последовательного интерфейса

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

Общая совместимость всех программ

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

Улучшение интерфейса и последовательности

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

Сохранение результатов взаимодействия

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

Эстетическая привлекательность и цельность

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

Поощрение изучения

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

Руководящие принципы

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

Джон Гулд

Для чего нужны руководящие принципы

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

Следование руководствам по проектированию без учета пожеланий пользователя обычно приводит к появлению неудачного интерфейса. Удобный и последовательный интерфейс не будет создан, если слепо следовать инструкции без понимания механизма взаимодействия между собой. Гулд очень хорошо описал: «Многие инструкции слишком много внимания уделяют «расположению кнопок» и мало — пониманию и обучению»[13]. Таким образом, следование руководствам и инструкциям не является единственным критерием успеха.

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

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

Руководящие принципы содержат характеристики стандартов презентаций, поведения и взаимодействия с элементами управления интерфейсом.

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

Развитие существующих руководящих принципов проектирования интерфейса

Многие программные продукты созданы для работы на разных платформах. С тех пор, как эти платформы имеют различные операционные системы, инструменты и стили интерфейса, очень сложно разрабатывать интерфейс, удовлетворяющий все платформы или работающий на каждой из платформ. Дополнение — подборка индустриальных руководств по проектированию — было разработано Беллкором [12]. Оно содержит описание и руководящие принципы для основных компаний и операционных систем, как IBM CUA, OSF, Microsoft Windows и др.

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

Применение руководящих принципов

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

Руководящие принципы по разработке интерфейса на макро- и микроуровне

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

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

Разработка интерфейса на макроуровне представляет собой шаблон пользовательского интерфейса — продукт собирается весь целиком и его концепция становится ясна пользователям по мере взаимодействия с ним.

Программа «Tidy Start Menu»

Со временем у вас накопилось много программ в меню «Пуск», и каждый раз для запуска нужной программы вам нужно тратить время на поиски? Программа «Tidy Start Menu» поможет вам навести порядок в меню и сделать работу комфортной!

Для этого программа предлагает разбить все программы из меню на категории. Так, например, программы, которые используются для работы в Интернет, можно объединить в группу «Интернет», а все игры поместить в категорию «Игры».

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

Ниже приведены исходники програмы и снимки его интерфейса.

Viewing in Viewing.pas ,

Setuping in Setuping.pas ,

Editing in Editing.pas ,

ADOTableofset in ADOTableofset.pas ;

if MessageDlg(The software is not installed! You wish to instal it?,

mtInformation,[mbYes, mbCancel],0) = mryes then

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, ComCtrls, ShellCtrls, ToolWin, ImgList;

WM_MYICONNOTIFY = WM_USER + 123;

procedure FormCreate(Sender: TObject);

procedure FormDestroy(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure oreinstall1Click(Sender: TObject);

procedure Exit1Click(Sender: TObject);

procedure Edit1Click(Sender: TObject);

procedure WMICON(var msg: TMessage); message WM_MYICONNOTIFY;

procedure WMSYSCOMMAND(var msg: TMessage);message WM_SYSCOMMAND;

ComObj, activex, ShellApi,

uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;

procedure Tlook.DeleteTrayIcon(n: Integer);

var nidata : TNotifyIconData;

procedure Tlook.FormCreate(Sender: TObject);

procedure Tlook.FormDestroy(Sender: TObject);

procedure Tlook.N1Click(Sender: TObject);

procedure Tlook.N2Click(Sender: TObject);

procedure Tlook.N4Click(Sender: TObject);

var i,j : Integer;

if not ShownOnce then

for I := 0 to Application.MainForm.ComponentCount -1 do

if Application.MainForm.Components[I] is TWinControl then

with Application.MainForm.Components[I] as TWinControl do

if Visible then

for J := 0 to ComponentCount -1 do

if Components[J] is TWinControl then

ShowWindow((Components[J] as TWinControl).Handle, SW_SHOWDEFAULT);

procedure Tlook.WMICON(var msg: TMessage);

case msg.LParam of

procedure Tlook.WMSYSCOMMAND(var msg: TMessage);

if (Msg.wParam=SC_MINIMIZE) then n2Click(Self);

procedure Tlook.FormActivate(Sender: TObject);

procedure Tlook.oreinstall1Click(Sender: TObject);

procedure Tlook.Exit1Click(Sender: TObject);

procedure Tlook.Edit1Click(Sender: TObject);

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, StdCtrls, ShlObj, ComObj, ActiveX, DB, ADODB;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Tsetup.Button1Click(Sender: TObject);

procedure LookDir(StartDir, Mask : String;List : TStrings);

if StartDir[Length(StartDir)] <> then StartDir := StartDir + ;

if FindFirst(StartDir+*.*, faAnyFile, SearchRec) = 0 then

if (SearchRec.Attr and faDirectory) <> faDirectory then

if ExtractFileExt(StartDir+SearchRec.Name) = Mask then

if (SearchRec.Name <> ..) and (SearchRec.Name <> .) then

LookDir(StartDir + SearchRec.Name + , Mask,list);

until FindNext(SearchRec) <> 0;

procedure jarlik(const PathObj, PathLink, Desc, Param: string);

SLink := IObject as IShellLink;

PFile := IObject as IPersistFile;

while not eof(f) do

while not ADOTable1.Eof do

if s2=ADOTable1Run.AsString then

while not ADOTable2.Eof do

if s2=ADOTable2Run.AsString then

while not ADOTable3.Eof do

if s2=ADOTable3Run.AsString then

while not ADOTable4.Eof do

if s2=ADOTable4Run.AsString then

while not ADOTable5.Eof do

if s2=ADOTable5Run.AsString then

LookDir(C:Program Files, .exe,ListBox1.Items);

Label1.Caption:=Installation is finished;

procedure Tsetup.Button2Click(Sender: TObject);

procedure Tsetup.FormClose(Sender: TObject; var Action: TCloseAction);

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, DB, ADODB;

procedure Button1Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

uses Editing, Viewing, Setuping;

procedure TTabSheetset.Button1Click(Sender: TObject);

case TabSheetset.RadioGroup1.ItemIndex of

procedure TTabSheetset.FormClose(Sender: TObject;

var Action: TCloseAction);

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, DB, ADODB, Menus, ComCtrls, ToolWin, ExtCtrls,

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Close1Click(Sender: TObject);

procedure ToolButton1Click(Sender: TObject);

procedure choose1Click(Sender: TObject);

uses Viewing, ADOTableofset;

procedure TEdit.FormClose(Sender: TObject; var Action: TCloseAction);

procedure TEdit.Close1Click(Sender: TObject);

procedure TEdit.ToolButton1Click(Sender: TObject);

procedure TEdit.choose1Click(Sender: TObject);

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

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

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

Исследователи занимались изучением того, как разработчики используют руководящие принципы. Одно исследование было проведено в рамках подготовки компанией IBM (1992) руководства по пользовательскому интерфейсу и справочнику. Тецлав и Шварц предложили разработчикам построить соответствующие интерфейсы на базе руководящих принципов по общему пользовательскому интерфейсу. Они выяснили, что были упущены несколько важных идей и деталей. Разработчики отдавали предпочтение графическим иллюстрациям и примерам, а не тексту, рассказывающему о концепциях разработки. Кроме того, они хотели иметь возможность исследовать предлагаемые примеры интерактивным спо собом. Полученные разработки в большой степени были признаны совместимыми, однако имели место и расхождения в интерпретации руководящих принципов [15]. Разработка интерфейса во многом похожа на нашу жизнь — на конкретный вопрос не всегда есть однозначный ответ.

Другое исследование Товтрап и Нильсен принесло аналогичные результаты [16]. Только 71% разработок соответствовал стандартам. Большая часть отличий была обусловлена влияниям опыта разработчиков по созданию нестандартных проектов. Представленный для оценки интерфейс имел в среднем от 4 до 12 отклонений. Это было особенно удивительно, поскольку у участников теста интерес к удобству применения интерфейса был выше среднего. Разработка интерфейса — больше искусство, чем наука. Конкретные примеры чрезвычайно полезны, поскольку демонстрируют, как надо следовать руководящим принципам по разработке. Чтобы обучить разработчиков использованию принципов, требуются продолжительные тренинги. Алан Зейчик удачно подвел итог по этой теме: «Мораль такова: при разработке программных инструментов и потребительских продуктов стоит следовать существующим руководящим принципам по пользовательскому интерфейсу. Следуйте им, даже если вам кажется, что они имеют дефекты. Возможно, ваш проект более высокого качества, но спросите себя: поможет ли эта высочайшего качества схема, отображающая функциональные клавиши, или усовершенствованная метафора меню моему приложению стать неотъемлемой частью рабочей среды пользователя? Или это станет постоянным источником раздражения, из-за которого мой совершенный продукт в итоге будет пылиться на полке?».

Литература

1. Apple Computer, Inc. 1992. Macintosh Human Interface Guidelines. Reading. MA: Addison-Wesley.

2. Hansen, W. 1971. User engineering principles for interactive systems. AFIPS Conference Proceedings 39. AFIPS Press, pp. 523-532.

3. Heckel, Paul. 1984. The Elements of Friendly Software Design. New York: Warner Books.

4. IBM Corporation. 1992. Object-Oriented Interface Design: IBM Common User Access Cuidelines. New York: QUE.

5. Johnson, Jeff, Teresa Roberts, William Verplank, David Smith, Charles Irby, Marian Beard, and Kevin Mackey. 1989. The Xerox Star: A Retrospective. IEEE Computer 22(9): pp. 11-29.

Пользовательский интерфейс

Все приложения, графические материалы, формулы, таблицы и рисунки работы на тему: Пользовательский интерфейс (предмет: Программирование, компьютеры и кибернетика) находятся в архиве, который можно скачать с нашего сайта. Приступая к прочтению данного произведения (перемещая полосу прокрутки браузера вниз), Вы соглашаетесь с условиями открытой лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная (CC BY 4.0) .

«Системное программное обеспечение»

Тема: «Пользовательский интерфейс»

Содержание

  • 1. Понятие интерфейса пользователя 4
  • 2. Виды интерфейсов 7
  • 2.1 Командный интерфейс 8
  • 2.2 Графический интерфейс 10
  • 2.2.1 Простой графический интерфейс 11
  • 2.2.2 WIMP — интерфейс 12
  • 2.3 Речевая технология 13
  • 2.4 Биометрическая технология 14
  • 2.5 Семантический (общественный) интерфейс 15
  • 2.6 Типы интерфейсов 15
  • 3. Методы и средства разработки пользовательского интерфейса 18
  • 4. Стандартизация пользовательского интерфейса 21
  • Список литературы 24

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

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

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

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

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

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

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

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

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

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

запрос операции или функции

ввод или изменение информации

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

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

средства отображения информации, отображаемую информацию, форматы и коды;

командные режимы, язык «пользователь — интерфейс»;

устройства и технологии ввода данных;

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

поддержку принятия решений в конкретной предметной области;

порядок использования программы и документацию на неё.

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

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

набор задач пользователя, которые он решает при помощи системы;

используемая системой метафора (например, рабочий стол в MS Windows®);

элементы управления системой;

навигация между блоками системы;

визуальный (и не только) дизайн экранов программы;

средства отображения информации, отображаемая информация и форматы;

устройства и технологии ввода данных;

диалоги, взаимодействие и транзакции между пользователем и компьютером;

обратная связь с пользователем;

поддержка принятия решений в конкретной предметной области;

порядок использования программы и документация на нее.

2. Виды интерфейсов

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

Современными видами интерфейсов являются:

1) Командный интерфейс. Командный интерфейс называется так по тому, что в этом виде интерфейса человек подает «команды» компьютеру, а компьютер их выполняет и выдает результат человеку. Командный интерфейс реализован в виде пакетной технологии и технологии командной строки.

2) WIMP — интерфейс (Window — окно, Image — образ, Menu — меню, Pointer — указатель). Характерной особенностью этого вида интерфейса является то, что диалог с пользователем ведется не с помощью команд, а с помощью графических образов — меню, окон, других элементов. Хотя и в этом интерфейсе подаются команды машине, но это делается «опосредственно», через графические образы. Этот вид интерфейса реализован на двух уровнях технологий: простой графический интерфейс и «чистый» WIMP — интерфейс.

3) SILK — интерфейс (Speech — речь, Image — образ, Language — язык, Knowlege — знание). Этот вид интерфейса в наибольшей мереприближен к обычной, человеческой форме общения. В рамках этого интерфейса идет обычный «разговор» человека и компьютера. При этом компьютер находит для себя команды, анализируя человеческую речь и находя в ней ключевые фразы. Результат выполнения команд он также преобразует в понятную человеку форму. Этот вид интерфейса в наибольшей меретребователен к аппаратным ресурсам компьютера, и поэтому его применяют в основном для военных целей.

2.1 Командный интерфейс

Пакетная технология. Исторически этот вид технологии появился первым. Она существовала уже на релейных машинах Зюса и Цюзе (Германия, 1937 год). Идея ее проста: на вход компьютера подается последовательность символов, в которых по определенным правилам указывается последовательность запущенных на выполнение программ. После выполнения очередной программы запускается следующая и т.д. Машина по определенным правилам находит для себя команды и данные. В качестве этой последовательности может выступать, например, перфолента, стопка перфокарт, последовательность нажатия клавиш электрической пишущей машинки (типа CONSUL). Машина также выдает свои сообщения на перфоратор, алфавитно-цифровое печатающее устройство (АЦПУ), ленту пишущей машинки. Такая машина представляет собой «черный ящик» (точнее «белый шкаф»), в который постоянно подается информация и которая также постоянно «информирует» мир о своем состоянии (см. рисунок 1) Человек здесь имеет малое влияние на работу машины — он может лишь приостановить работу машины, сменить программу и вновь запустить ЭВМ. Впоследствии, когда машины стали помощнее и могли обслуживать сразу нескольких пользователей, вечное ожидание пользователей типа: «Я послал данные машине. Жду, что она ответит. И ответит ли вообще? » — стало, мягко говоря, надоедать. К тому же вычислительные центры, вслед за газетами, стали вторым крупным «производителем» макулатуры. Поэтому с появлением алфавитно-цифровых дисплеев началась эра по-настоящему пользовательской технологии — командной строки.

Рис.2. Вид большой ЭВМ серии ЕС ЭВМ

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

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

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

2.2 Графический интерфейс

Как и когда появился графический интерфейс? Его идея зародилась в середине 70-х годов, когда в исследовательском центре Xerox Palo Alto Research Center (PARC) была разработана концепция визуального интерфейса. Предпосылкой графического интерфейса явилось уменьшение времени реакции компьютера на команду, увеличение объема оперативной памяти, а также развитие технической базы компьютеров. Аппаратным основанием концепции, конечно же, явилось появление алфавитно-цифровых дисплеев на компьютерах, причем на этих дисплеях уже имелись такие эффекты, как «мерцание» символов, инверсия цвета (смена начертания белых символов на черном фоне обратным, то есть черных символов на белом фоне), подчеркивание символов. Эти эффекты распространились не на весь экран, а только на один или более символов. Следующим шагом явилось создание цветного дисплея, позволяющего выводить, вместе с этими эффектами, символы в 16 цветах на фоне с палитрой (то есть цветовым набором) из 8 цветов. После появления графических дисплеев, с возможностью вывода любых графических изображений в виде множества точек на экране различного цвета, фантазии в использовании экрана вообще не стало границ! Первая система с графическим интерфейсом 8010 Star Information System группы PARC, таким образом, появилась за четыре месяца до выхода в свет первого компьютера фирмы IBM в 1981 году. Первоначально визуальный интерфейс использовался только в программах. Постепенно он стал переходить и на операционные системы, используемых сначала на компьютерах Atari и Apple Macintosh, а затем и на IBM — совместимых компьютерах.

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

2.2.1 Простой графический интерфейс

На первом этапе графический интерфейс очень походил на технологию командной строки. Отличия от технологии командной строки заключались в следующим:

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

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

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

4. Кроме клавиши Enter, на клавиатуре все чаще стали использоваться «серые» клавиши управления курсором.

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

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

1) Выделение областей экрана.

2) Переопределение клавиш клавиатуры в зависимости от контекста.

3) Использование манипуляторов и серых клавиш клавиатуры для управления курсором.

4) Широкое использование цветных мониторов.

Появление этого типа интерфейса совпадает с широким распространением операционной системы MS-DOS. Именно она внедрила этот интерфейс в массы, благодаря чему 80-е годы прошли под знаком совершенствования этого типа интерфейса, улучшения характеристик отображения символов и других параметров монитора.

Типичным примером использования этого вида интерфейса является файловая оболочка Nortron Commander (о файловых оболочках смотри ниже) и текстовый редактор Multi-Edit. А текстовые редакторы Лексикон, ChiWriter и текстовый процессор Microsoft Word for Dos являются примером, как этот интерфейс превзошел сам себя.

2.2.2 WIMP — интерфейс

Вторым этапом в развитии графического интерфейса стал «чистый» интерфейс WIMP, Этот подвид интерфейса характеризуется следующими особенностями.

1. Вся работа с программами, файлами и документами происходит в окнах — определенных очерченных рамкой частях экрана.

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

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

4. Широкое использование манипуляторов для указания на объекты. Манипулятор перестает быть просто игрушкой — дополнением к клавиатуре, а становится основным элементом управления. С помощью манипулятора УКАЗЫВАЮТ на любую область экрана, окна или иконки, ВЫДЕЛЯЮТ ее, а уже потом через меню или с использованием других технологий осуществляют управление ими.

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

Ярким примером программ с графическим интерфейсом является операционная система Microsoft Windows.

2.3 Речевая технология

С середины 90-х годов, после появления недорогих звуковых карт и широкого распространения технологий распознавания речи, появился так называемый «речевая технология» SILK — интерфейса. При этой технологии команды подаются голосом путем произнесения специальных зарезервированных слов — команд. Основными такими командами (по правилам системы «Горыныч») являются:

«Проснись» — включение голосового интерфейса.

«Отдыхай» — выключение речевого интерфейса.

«Открыть» — переход в режим вызова той или иной программы. Имя программы называется в следующем слове.

«Буду диктовать» — переход из режима команд в режим набора текста голосом.

«Режим команд» — возврат в режим подачи команд голосом.

и некоторые другие.

Слова должны выговариваться четко, в одном темпе. Между словами обязательна пауза. Из-за неразвитости алгоритма распознавания речи такие системы требует индивидуальной предварительной настройки на каждого конкретного пользователя.

«Речевая» технология является простейшей реализацией SILK — интерфейса.

2.4 Биометрическая технология

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

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

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

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

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

со свободной навигацией

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

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

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

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

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

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

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

2) Акцент делается на входные данные и результаты;

3) Пиктограммы представляют объекты;

4) Папки и справочники являются визуальными контейнерами объектов.

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

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

каждое окно меню занимает весь экран

на экране одновременно присутствуют несколько разноуровневых меню (Windows).

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

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

3. Методы и средства разработки пользовательского интерфейса

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

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

В литературе не существует единой общепринятой классификации средств для разработки пользовательского интерфейса. Так, программное обеспечение для разработки пользовательского интерфейса можно разделить на две основные группы — инструментарий для разработки пользовательского интерфейса (toolkits) и высокоуровневые средства разработки интерфейса (higher-level development tools). Инструментарий для разработки пользовательского интерфейса, как правило, включает в себя библиотеку примитивов компонентов интерфейса (меню, кнопки, полосы прокрутки и др.) и предназначен для использования программистами. Высокоуровневые средства разработки интерфейса могут быть использованы непрограммистами и снабжены языком, который позволяет специфицировать функции ввода-вывода, а также определять, используя технику непосредственного манипулирования, интерфейсные элементы. К таким средствам относятся построители диалога (interface builders) и СУПИ — системы управления пользовательским интерфейсом (User Interface Management Systems — UIMS). Помимо СУПИ, некоторые авторы используют такие термины, как User Interface Development Systems (UIDS) — системы разработки пользовательского интерфейса, User Interface Design Environment (UIDE) — среда разработки пользовательского интерфейса и др.

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

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

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

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

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

Основной концепцией СУПИ является отделение разработки пользовательского интерфейса от остального приложения. В настоящее время идея раздельного проектирования интерфейса и приложения либо закреплена в определении СУПИ либо является основным его свойством.

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

Функциями СУПИ является содействие и облегчение разработки и сопровождения пользовательского интерфейса, а также управление взаимодействием между пользователем и прикладной программой.

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

4. Стандартизация пользовательского интерфейса

В первом подходе оценку производит конечный пользователь (или тестер), суммируя результаты работы с программой в рамках следующих показателей ISO 9241-10-98 Ergonomic requirements for office work with visual display terminals (VDTs). P.11. Guidance on usability specification and measures:

эффективности (effectiveness) — влияния интерфейса на полноту и точность достижения пользователем целевых результатов;

продуктивности (efficiency) или влияния интерфейса на производительность пользователя;

степени (субъективной) удовлетворенности (satisfaction) конечного пользователя этим интерфейсом.

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

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

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

Стандарты и качество. Формально стандартизированность пользовательского интерфейса уместно связать с другими инфраструктурными субхарактеристиками качества программного продукта, такими, как соответствие (conformance) (в том числе и соответствие стандартам) и взаимозаменяемость (replaceability) (ГОСТ Р ИСО МЭК 9126-93). Выбор конкретного средства проектирования (языки быстрой разработки приложений, CASE-средства, конструкторы графических интерфейсов) может привести разработчика к необходимости придерживаться стандарта интерфейса, положенного в его основу.

С другой стороны, выбор разработчиком стандарта типа (стиля) пользовательского интерфейса, адекватного предметной области и используемой ОС, потенциально должен обеспечить, хотя бы отчасти, выполнение таких принципов качества пользовательского интерфейса, как естественность и согласованность в пределах рабочей среды [13]. Явный учет синтактики интерфейса облегчает создание однородного по стилю и предсказуемого для пользователя интерфейса. Кроме того, нужно учесть, что при разработке самого стандарта уже учитывались базовые принципы проектирования пользовательского интерфейса.

Вводимые в ISO 9241-11 меры практичности организация-заказчик может использовать до разработки заказной системы в качестве общих рамок для определения требований по практичности, которым должна соответствовать будущая система и по которым будут проводиться приемочные испытания. Таким образом, создается основа для обеспечения полноты, измеримости и сопоставимости этих требований, что может косвенно оказывать позитивное влияние на качество проектируемого программного изделия.

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

1. Т.Б. Большаков, Д.В. Иртегов. Оперционные системы. Материалы сайта https: // www. citforum. ru / operating_systems / ois / introd. shtml.

2. Методы и средства разработки пользовательского интерфейса: современное состояние, Клещев А.С. , Грибова В.В. , 2001. Материалы сайта https: // www. swsys. ru / index. php? page=article&id=765.

3. Дейтел Г. ВВЕДЕНИЕ в операционные системы. В двух томах / Пер, с англ. Л.А. Теп-лицкого, А.Б. Ходулева, В.С. Штаркмана под ред.В.С. Штаркмана. — М.: Мир, 1987.

4. Программная инженерия. Стандартизация пользовательского интерфейса. Евгений Волченков. М, 2002. Материалы сайта https: // tizer. adv. vz. ru.

Добавить комментарий

Ваш адрес email не будет опубликован.