Человеческий фактор в программировании
Добавить в закладки К обложке
- Предисловие - Страница 1
- Предисловие к первому изданию - Страница 3
- IГрупповая разработка - Страница 5
- 2Консенсус и компромисс - Страница 7
- 4Скромный и высокопоставленный писарь - Страница 11
- 5Официальное пространство - Страница 14
- 6Раздражающие прерывания - Страница 17
- IIКовбои и ковгерлы - Страница 19
- 8Возвращение блудного ковбоя - Страница 22
- 9Единство в разнообразии - Страница 25
- 10Кодеры-ковбои и программисты-мудрецы - Страница 28
- IIIОрганизация работы - Страница 33
- 12Методы хаоса - Страница 36
- 13Открытая архитектура - Страница 39
- 14Синхронное плавание - Страница 42
- 15Командная политика - Страница 45
- 16Все сразу - Страница 47
- 17Заговор упрямцев - Страница 49
- IVИнструменты, модели и методы - Страница 51
- 19Вопросы моделирования - Страница 54
- 20Свет мой, зеркальце - Страница 56
- 21Методичное сумасшествие - Страница 58
- 22Говоря по существу - Страница 60
- 23Будущие формы - Страница 63
- 24Цели программного обеспечения - Страница 66
- 25Шито белыми нитками - Страница 69
- VСовершенствование процесса - Страница 73
- 27Повторение и вознаграждение - Страница 76
- 28Суперобучение - Страница 79
- 29Вверх по водопаду - Страница 81
- 30Своевременная поставка - Страница 83
- 31Под давлением - Страница 85
- 32Re: Архитектура - Страница 87
- 33Пошаговое улучшение качества - Страница 89
- VIЮзабилити программного обеспечения - Страница 95
- 35Сложность и прогрессирующий функционизм - Страница 98
- 36Назад к истокам - Страница 101
- 37Цветной язык - Страница 104
- 38Совершенствующиеся середнячки - Страница 107
- 39Пригодны ли вы - Страница 110
- 40Редактирование интерфейсов - Страница 113
- 41Сервис - Страница 115
- VIIУдобные объекты - Страница 117
- 43Глубокое понимание - Страница 121
- 44Абстрактные объекты - Страница 125
- 45Новая среда - Страница 128
- 46Полезные ситуации - Страница 132
- 47Эффективные объекты - Страница 136
- 48Связанные объекты - Страница 140
- VIIIЭто превосходное новое программное обеспечение - Страница 143
- 50Интерфейсы разнообразные - Страница 146
- 51Мастеры - Страница 148
- 52Образы будущего - Страница 150
- IXКультура и качество - Страница 152
- 54Агенты изменения - Страница 154
- 55Встроено самое лучшее - Страница 156
- 56Заметки из итальянского ресторана - Страница 159
- 57Наставничество - Страница 162
- 58На обучение - Страница 164
- 59Одаренные программисты - Страница 166
- 60Иконы отрасли - Страница 168
- 61Импресарио - Страница 170
- Приложение - Страница 172
- Библиография - Страница 174
Юзабилити — один из самых главных критериев качества программного обеспечения, однако метрика юзабилити программ была открыта совсем недавно и пока мало исследована. Большинство измерений юзабилити проводятся уже после разработки и оценивают простоту и эффективность применения готовых программных систем. Долгое время юзабилити-про-ектирование сводилось к проведению лабораторных и полевых тестирований, для которых требуется наличие рабочих систем или хороших имитаций. Хотя юзабилити-тестирование, проводимое в лаборатории или на рабочем месте, может дать ценную информацию для разработчиков, эта информация зачастую поступает слишком поздно и за слишком высокую цену. В современном мире ускоренной разработки и ограниченных сроков разработчикам нужны более быстрые и простые способы оценки качества создаваемых ими интерфейсов — пока они еще на бумаге, и их можно быстро и легко изменить.
Игра в числаПользовательские ситуации (см. главы 22 и 46), которые служат для многих целей в объектно-ориентированном проектировании, могут также применяться как основа для проведения эффективных и практических измерений параметров пользовательских интерфейсов. Три таких параметра — сущностная эффективность, целостность задач и согласованность задач — в течение нескольких лет разрабатывались как часть метрического комплекса, предназначенного помочь разработчикам в оценке и улучшении проектов. Эти параметры были созданы на надежных и последовательных принципах юзабилити программного обеспечения: простота, эффективное функционирование, видимость возможностей и разумная организация.
Пользовательские ситуации определяют, какую внешнюю функциональность должна обеспечивать система. Сущностная пользовательская ситуация воплощает каркас, идеализированную сущность некоторой четко определенной задачи, стоящей перед пользователем (см. главу 46). Таким образом, описательная часть сущностной пользовательской ситуации представляет взаимодействие между пользователем и системой в самой простой, абстрактной и обобщенной форме, свободной от ссылок на конкретные компоненты пользовательского интерфейса или технологию его разработки. Она описывает идеал с точки зрения минимального взаимодействия, необходимого для выполнения данной задачи. Конечно, в действительном пользовательском интерфейсе для решения некоторой задачи может потребоваться большее количество отдельных шагов, чем при идеальном взаимодействии. Таким образом, описание сущностной пользовательской ситуации представляет собой ориентир, с помощью которого можно проверять качество реального проекта.
На практике в качестве меры можно выбрать количество шагов-действий пользователя. Можно просто сравнивать количество шагов, за которое пользователь «проходит» пользовательскую ситуацию с помощью данного проекта пользовательского интерфейса, и количество шагов в сущностной пользовательской ситуации. Перевод соотношения этих чисел в проценты дает показатель сущностной эффективности данного проекта. Чем выше сущностная эффективность, тем проще пользовательский интерфейс и тем больше пользователь может рассчитывать на быстрое и эффективное решение задачи с его помощью. Этот параметр дает нам в некотором смысле абсолютную меру качества. Например, если наш первый проект дает 98 % сущностной эффективности, это означает, что дальнейшая доработка интерфейса не приведет к его значительному улучшению.
Пользовательские интерфейсы должны упорядочивать различные визуальные объекты на экранах и в диалоговых окнах. В хороших интерфей-сах организация визуальных объектов соответствует задачам, выполняемым пользователями. Как говорит специалист по пользовательским интерфейсам Алан Купер (Alan Cooper), экраны, окна и диалоговые элементы подобны разным комнатам (Cooper, 1995 [31]). Большинство людей предпочитает выполнить всю задачу в одной комнате, не переходя в другие в поисках необходимых инструментов и материалов. Они не делят работу на части, выполняемые в разных комнатах. Каждый раз, когда программное обеспечение вынуждает пользователей менять контекст взаимодействия, переключать экраны или переходить к другому диалоговому окну, ход их мыслей и работа прерываются. С каждым таким прерыванием пользователи не только работают все медленнее, но и делают больше ошибок. Хороший пользовательский интерфейс позволяет «пройти» пользовательскую ситуацию с меньшим количеством изменений контекста взаимодействия — с точки зрения общей сложности данной пользовательской ситуации. Поскольку в таких интерфейсах необходимые данные и функции объединены, эти интерфейсы не только проще применять, но и (в первую очередь) легче изучить.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176