Конференция посвященная Всемирному Дню Юзабилити в России Круглый стол Что важнее: удобство использование или простота разработки продукта (Ноябрь 14, 2006) Андреев Виктор Николаевич
2
3 Модели системы Дональд Норман (The Design of Everyday Things, 1988) предложил различать три модели информационной системы: модель проектировщика, который описывает концепцию системы, модель разработки, которая реализована разработчиком модель пользователя, которую формирует пользователь, работая с интерфейсом.
4 Концептуальная и ментальная модели Пользователь Дизайнер Концептуальна я модель Ментальная модельl Модель разработки Система Превращается в Представление о ментальной модели Активизирует существующие знания Проверяет свои предположения
5 Модель проектировщика Проектировщик фиксирует пожелания заказчиком (часто это не пользователь) в виде требований: Какие данные в ней хранятся Какие операции выполняет система самостоятельно Что должна делать система при взаимодействии с пользователем. Для описания системы проектировщик использует различного рода диаграммы (классов, сценариев взаимодействия, компонентов и пр.).
6 Модель разработки Разработчик переводит требования проектировщика на язык программного кода. Его представление о программе всецело зависит от программных средств хранения и обработки данных. Пользовательский интерфейс разработчик воспринимает через средство кодирования ПИ, исходя из набора и возможностей элементов GUI (graphical user interface).
7 Модель пользователя Система для пользователя – это то, что он видит и чем оперирует Что видит пользователь: Окна, Поля с данными С чем работает: Кнопки, Клавиатура
8 Различие представлений о системе в процессе разработки ПО
9 Реализационная модель пользовательского интерфейса Эти интерфейсы описаны в терминах, отражающих их конструкцию. Чтобы успешно работать с таким интерфейсом, пользователь должен понимать, как работает программа. Подавляющее большинство программ в настоящее время демонстрирует нам свое устройство. Они имеют по кнопке на каждую функцию и по диалоговому окну на каждый модуль кода, а их команды и процессы в точности отражают внутренние структуры данных и алгоритмы.
10 Задача Что займет меньше времени - нагрев воды в микроволновке в течение 1 минуты и 10 секунд или в течение 1 минуты и 11 секунд? С точки зрения микроволновки, 1 минута и 10 секунд - единственно верный ответ. Однако с точки зрения пользователя этой микроволновки 1 минута и 11 секунд быстрее. Почему? Потому что в первом случае пользователь должен нажать кнопку "1" дважды, затем найти взглядом кнопку "0", переместить палец на нее, и нажать ее один раз. Во втором случае пользователь просто жмет одну и ту же кнопку - копку "1" - три раза подряд. Обычно, для нахождения кнопки "0" требуется более одной секунды. Таким образом, вода нагревается быстрее, но "готовится" дольше.
11 Анекдот по поводу реализационной модели Приходят в инструментальный цех рабочие просят изготовить новое приспособление для завинчивания гайки в фюзеляже самолета. Их в цехе спрашивают, для какого самолета, они отвечают СУ-23, так вы уже его выпускаете пятнадцать лет. Как раньше то закручивали без приспособления. В ответ слышат неожиданный ответ, был у нас на сборке мужик, так у него сломанная рука неправильно срослась, но так что он единственный мог к этой гайке подобраться. Он пятнадцать лет ее и закручивал, а теперь ушел на пенсию, никто не может за него это сделать
12 Это нормально для разработчика, но не понятно пользователю
13 Простое для реализации, но не удобное сообщение об ошибках
14 Case 1 Игнорирование пользовательских требований Разработчик (или системный аналитик) самостоятельно разбивает задачу на окна, сценарий работы не строится Вместо создания сценария пользователя в диаграмме взаимодействия
15 Case 2 Добавление «лишней операции»
16 Case 3 Вывод графика вместо данных
17 Case 4 Отказ от юзабилити тестирования Время на юзабилити-тестирование не выделяется, сложность организации, отсутствие оборудования Вместо проведение оценки готового продукта на пользователях, т.к. опасность больших доработок