Что надо знать разработчику об эргономике программного продукта

         

Дополнительные сведения об эргономике можно получить из источников:


Эргономические стандарты, которые описывают требования к процессу и процедурам разработки и оценки пользовательского интерфейса, основной стандарт – ISO 9241- (части 1,2, 11) Стандарты, определяющие требования к продуктам и элементам дизайна пользовательского интерфейса, отраженные в выпусках ISO 9241- (3-10, 12-17).

Руководства по дизайну ПИ от производителей программных платформ, таких как Microsoft, Sun, Apple.

Внутрикорпоративные руководства и стандарты. Предложения и рекомендации специалистов по эргономике.



Эргономические цели и показатели качества программного продукта


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

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

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

Точность работы

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

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

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

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

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


Для того, чтобы разобраться в технологии решения задач пользователя, разработчику необходимовыяснить следующие моменты (исследуя деятельность пользователя):

Какая информация необходима пользователю для решения задачи?

Какую информацию пользователь может игнорировать (не учитывать)?

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

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

Может ли пользователь совершать несколько различных действий (решать несколько задач) одновременно?

Какие типовые операции использует пользователь при решении задачи?

Что произойдет, если пользователь будет действовать не по предписанному Вами алгоритму, пропуская те или иные шаги или обходя их?



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

Дизайн ПИ должен обеспечивать минимизацию усилий пользователя при выполнении работы и приводить к:

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

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

Формирование таких показателей происходит в процессе определения требований к ПИ при изучении следующих вопросов:

Что от пользователя требуется в первую очередь?

Сколько информации, требующей обработки, поступает пользователю за период времени?

Каковы требования к точности и скорости ввода информации?

На какие операции пользователь тратит больше всего времени?



Чем мы можем облегчить работу пользователя при решении типовых задач?



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

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

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

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

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

Памятка по эргономике для разработчика


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

Анализ трудовой деятельности пользователя, объединение бизнес-функций в роли. Построение пользовательской модели данных, привязка объектов к ролям и формирование рабочих мест. Формулировка требований к работе пользователя и выбор показателей оценки пользовательского интерфейса. Разработка обобщенного сценария взаимодействия пользователя с программным модулем (функциональной модели) и его предварительная оценка пользователями и Заказчиком. Корректировка и детализация сценария взаимодействия, выбор и дополнение стандарта (руководства) для построения прототипа. Разработка макетов и прототипов ПИ и их оценка в деловой игре, выбор окончательного варианта. Имплементация ПИ в коде, создание тестовой версии. Разработка средств поддержки пользователя (пользовательские словари, подсказки, сообщения, помощь и пр.) и их встраивание в программный код. Usability тестирование тестовой версии ПИ по набору раннее определенных показателей. Подготовка пользовательской документации и разработка программы обучения.



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


Стилевая гибкость – возможность использовать различные интерфейсы с одним и тем же приложением, на практике реализуется в виде набора “skins”, для web-интерфейсов – с помощью таблицы стилей, в том числе возможность в выборе пользователем собственных установок ПИ (цвет, иконы, подсказки и пр.). Совместное наращивание функциональности – возможность развивать приложение без разрушения (т.е. оставаясь в рамках) существующего интерфейса. Масштабируемость – возможность легко настраивать и расширять как интерфейс, так и само приложение при увеличении числа пользователей, рабочих мест, объема и характеристик данных. Адаптивность к действиям пользователя – приложение должно допускать возможность ввода данных и команд множеством разных способов (клавиатура, мышь, другие устройства) и многовариативность доступа к прикладным функциям (иконы, «горячие клавиши», меню …), кроме того программа должна учитывать возможность перехода и возврат от окна к окну, от режима к режиму, и правильно обрабатывать такие ситуации. Независимость в ресурсах – для создания пользовательского интерфейса должны предоставляться отдельные ресурсы, направленные на хранение и обработку данных, необходимых для поддержки пользователя (пользовательские словари, контекстно-зависимые списки, наборы данных по умолчанию или по последнему запросу, истории запросов и пр.) Переносимость – при переходе на другую аппаратную (программную) платформу, должен осуществляется автоматически перенос и пользовательского интерфейса, и конечного приложения.



Проблемы, возникающие на этапе разработки прототипа GUI и варианты их решения


Учет особенностей устройств ввода/вывода информации, используемых пользователем, например:

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

Специфика интерактивных элементов, связанная с выбором платформы, стандартных библиотек:

программная организация ввода/вывода информации изменение и создание новых элементов форм (контролов) приобретение нестандартных библиотек у других фирм.

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

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

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


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

Формирование обратной связи между пользователем и приложением:

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

Проектирование панелей меню и инструментов (toolbars) и выбор пунктов в них:

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

Разработка средств ориентации и навигации:

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

Создание форм для ввода данных:

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