лекции по ЧМВ Никольский А.Н. (1022763), страница 6
Текст из файла (страница 6)
Для создания у пользователя такого ощущения «внутренней свободы» интерфейс должен обладать рядом свойств:
-
Естественность интерфейса. Естественный интерфейс не должен вынуждать пользователя существенно изменять привычные для него способы решения задачи. Сообщения и результаты, выдаваемые приложением, должны быть знакомы и приемлемы для пользователя. Целесообразно сохранять систему обозначений и терминологию, используемые в данной предметной области.
-
Согласованность интерфейса. Способность пользователя переносить имеющиеся знания на новые программные продукты. Это позволит фокусировать внимание на решаемой задаче, а не тратить время на уяснение различий в использовании тех или иных элементов управления команд и т.д.
-
Согласованность в пределах программного продукта, т.е. одна и та же команда должна выполнять одни и те же функции, где бы она не встречалась, причем одним и тем же образом.
-
Согласованность в пределах рабочей среды, т.е. приложение может «опираться» на те знания и навыки пользователя, которые он получил ранее при работе с другими приложениями.
-
Согласованность в использовании метафор. Метафора – это использование некоторого объекта для понимания характеристик другого объекта.
-
В серьезных компаниях по аналогии с издательством журналов используется «журнал стилей», в котором описываются основные требования и характеристики разрабатываемого семейства программных продуктов. «Журнал стилей» необходим для обучения новых специалистов компании.
-
-
Дружественность интерфейса (принцип прощения пользователя). К сожалению 5% пользователей читают сопровождение пользователей программных продуктов, которое обязательно пишет разработчик. Необходимо учитывать, что 95% пользователей обучаются работе с программным продуктом методом проб и ошибок. Пользователь не должен навредить: себе, другим пользователям, системе. Это осуществимо при выполнении следующих пунктов:
-
В определенный момент времени должен быть доступен лишь определенный набор операций.
-
Операции должны иметь возможность быть отменены.
-
Интерфейс должен быть адаптирован к потенциальным ошибкам пользователей (формирование списка возможных значений намного предпочтительнее ввода с клавиатуры).
Принцип обратной связи:
-
Каждое действие пользователя должно получать визуальное, а иногда и звуковое подтверждение того, что программный продукт воспринял введенную команду.
-
Обратная связь эффективна в том случае, если она реализуется своевременно, т.е. как можно ближе к точке последнего взаимодействия пользователя с системой.
-
Полезно предоставить пользователю информацию относительно состояния процесса, а также возможность прервать этот процесс в случае необходимости.
Простота интерфейса. Интерфейс должен обеспечить легкость в его изучении и простоту в использовании. Кроме того он должен предоставлять доступ ко всему перечню функциональных возможностей, предусмотренных данным приложением. Полнота интерфейса постоянно конфликтует с его простотой.
Гибкость интерфейса. Это способность самонастраивания интерфейса, который учитывает уровень подготовки и производительность труда пользователя. Полностью гибких интерфейсов не существует, но элементы гибкости должны присутствовать. Существуют три вида адаптации интерфейса:
-
Фиксированная адаптация. Пользователь сам выбирает уровень диалоговой поддержки. Простейший вариант такой адаптации основан на использовании правила двух уровней, согласно которому система обеспечивает два вида диалога:
-
Подробный (для начинающего пользователя).
-
Краткий (для подготовленного пользователя).
-
Правило двух уровней может быть расширенно до правила n-уровней диалога; однако такой подход имеет следующие недостатки:
-
Не учитывается тот факт, что навыки накапливаются постепенно;
Пользователь может знать хорошо одну часть системы и совсем не знать другую;
Пользователь сам определяет уровень своей подготовки, что снижает объективность оценки.
-
Полная адаптация. При полной адаптации диалоговая система стремится построить модель пользователя, которая по мере обучения последнего, определяет стиль диалога в зависимости от этих изменений. Основная проблема – распознавание характеристик пользователя (время, затрачиваемое на ответ, количество обращений за помощью или характер ошибок). В настоящее время полная (автоматическая адаптация) не в одной системе не реализована.
Косметическая адаптация. Она обеспечивает гибкость диалога без учета поведения пользователя, но и без однозначного выбора им конкретного стиля диалога. Такая адаптация достигается следующими методами:
-
Использование умолчаний (распространенный способ – это нулевой ввод).
-
Использование сокращений (ввод вместо имени команды ее любое допустимое сокращение).
-
Опережающий ввод символов (система, узнав по первым символам команду, дописывает ее сама).
-
Опережающий ввод ответов (возможность на очередном шаге диалога вводить не один ответ, а цепочку последовательных ответов, упреждая возможные вопросы системы).
-
Многоуровневая помощь (сначала на экран выводится сообщение начального уровня, а затем пользователь может уточнить полученную информацию).
-
Многоязычность (структура и семантика диалоговых сообщений не должны зависеть от того на каком языке разработаны инструментальные средства).
В 1986 году было опубликовано руководство по разработке программного пользовательского интерфейса. Оно содержало 944 принципа, касающихся ввода и отображения данных, поддержки пользователя, защиты данных и т.д. Недостатком руководства было: не учитывались технологические возможности инструментальных средств, имевшихся в распоряжении разработчиков ПО.
Ситуация коренным образом изменилась в 1987 году, когда корпорация IBM объявила о намерении создать единую среду разработки приложений Systems Application Architecture – SAA. Данный проект предусматривает не только разработку единых принципов создания приложений, но и «материализацию» этих принципов на основе соответствующей технологической базы.
Целями проекта являлись:
-
Повышение производительности труда программистов и конечных пользователей.
-
Облегчение эксплуатации и сопровождение ПО.
-
Повышение эффективности распределенной обработки информации.
-
Увеличение подачи инвестиций в разработку информационных систем.
Проект SAA содержит четыре компонента:
-
Соглашение по интерфейсу пользователя Common User Access – CUA
-
Соглашение по программному интерфейсу Common Programming Interface - CPI
-
Соглашение по разработке приложений Common Applications - CA
-
Соглашение по коммуникациям
В качестве технологической базы для реализации соглашений по пользовательскому интерфейсу было предложено конкретное инструментальное средство Programming Toolkit для OS/2.
Исследованиями и практической реализацией графических интерфейсов в то время занимались фирмы Xerox, Apple, Digital Research, Microsoft. В результате их деятельности были определены основные концепции построения графических пользовательских интерфейсов (GUI):
-
Использование единой рабочей среды пользователя в виде так называемого рабочего стола.
-
Объектно-ориентированный подход к описанию заданий пользователю.
-
Использование графических окон в качестве основной формы отображения.
-
Применение средств не клавиатурного ввода («мышь», трекбол).
В силу различных причин фирма IBM при реализации проекта SAA наиболее тесно сотрудничала с фирмой Microsoft, в результате чего была создана графическая система Microsoft Windows IBM Top View. Хотя в дальнейшем пути этих гигантов компьютерного бизнеса разошлись, но основные положения проекта SAA живы и развиваются: IBM применительно к OS/2, а Microsoft – OS Windows. В марте 1997 года Microsoft выпускает пакет Visual Studio 97, в которую вошли все созданные ею инструментальные средства разработки приложений, а также средства автоматизации сопровождения программных продуктов, что можно рассматривать как последующее развитие идей проекта SAA. Следует отметить, что для Unix систем существует аналогичный (почти стандарт) графический интерфейс, представленный архитектурой X Window. На сегодняшний день требования и спецификация, изложенные в CUA так и не стали международным стандартом, но ориентация огромного числа производителей ПО на интерфейс MS Windows позволяет считать их таковыми де факто.
Стандартизированный интерфейс (но не стандартный) должен отвечать двум основным требованиям:
-
Обладать перечисленными выше свойствами (естественностью, согласованностью, дружественностью и т.д.).
-
Быть узнаваемым (или предсказуемым).
Это требование предполагает, что интерфейс содержит только стандартные базовые элементы. Каждый такой элемент должен иметь узаконенное название и определенный перечень свойств. На первый взгляд может показаться, что стандартизация интерфейса ведет к убогому однообразию внешнего облика программного продукта, но программисты, знакомые с алгоритмизацией, знают, что любой сколь угодно сложный алгоритм содержит 3-4 базовые алгоритмические конструкции. Так что при создании стандартизированного интерфейса результат будет зависеть в первую очередь от композитора – разработчика.
Принципы разработки пользовательского интерфейса.
Прежде чем говорить о принципах разработки пользовательского интерфейса, дадим определение понятию «пользовательский интерфейс». Главной целью интерфейса является: дать пользователю возможность управлять работой компьютера, т.е. он должен максимально облегчить пользователю запуск программы и работу с ней. Сегодня очевидно, что проблема создания качественного пользовательского интерфейса становится одной из главных проблем современного программирования. Золотое правило проектировщика гласит: «никогда не делай другим того, что они сделали тебе, вспомните, что вам не нравится в ПО, которым вы пользуетесь и не делайте того же самого в программах над которыми работаете». Это правило разработал Трейси Леонард. В прошлом ПО разрабатывалось без учета требований и пожеланий пользователя, который должен был подстраиваться к системе. Подобный подход к проектированию сегодня не приемлем – система должна подстраиваться к пользователю. Вот почему требования проектирования пользовательского интерфейса так важны.
Пользователи ПК могут иметь удачный опыт, который внушил им уверенность в своих силах и укрепил высокую самооценку при работе с ПК. Их действия с ПК могут быть охарактеризованы как «успех порождает успех». Каждый позитивный опыт общения с программным продуктом позволяет пользователю расширить область знакомства с программой и повысить свой уровень компетентности. Хорошо продуманный интерфейс подобно хорошему учителю и учебникам обеспечивает плодотворное взаимодействие пользователя и ПК.
Принципы разработки интерфейса – это высокоуровневые концепции и представления, которые могут использоваться при проектировании ПО.
К основным принципам можно свести следующие:
-
Знать пользователя.
-
Сократить запоминание (уменьшить загрузку памяти пользователя).
-
Оптимизировать операции пользователя.
-
Устранять ошибки.
Более полный список принципов проектирования можно найти в работе Рубеншейна и Херша, вышедшей в 1984 году. Это классическая книга по взаимодействию человека и компьютера представляет 93 принципа разработки: от «проектировщики создают мифы, пользователи создают концептуальные модели» до «снимайте на видео настоящих действительных пользователей».
Важность в соблюдении принципов
Несовместимость интерфейса программного продукта может стоить большой компании миллионов $ убытков из-за потери продуктивности и увеличения стоимости технической поддержки. Эти принципы применимы ко всему программному и аппаратному обеспечению во всех стилях интерфейса. Вырабатывались они на протяжении длительного времени, т.к. проводились изыскания в области программного интерфейса, опрашивались пользователи многих компьютерных платформ. Якоб Нильсон утверждает: «принципы построения пользовательского интерфейса останутся основополагающими, даже если программа будет иметь футуристический трехмерный дизайн с перчаткой «Data Glove», служащей для ввода, будут распознаваться движения и «живые» видео изображения. Они будут актуальны, поскольку выражают основную идею диалога с машиной при помощи программ.
Трактовка этих принципов будет зависеть от аппаратного обеспечения, ОС, составляющих пользовательского интерфейса и его задач. Кроме вышеуказанных принципов можно выделить работу Алана Купера «14 принципов создания вежливых программ».