Рейтинговые книги
Читем онлайн Человеческий фактор в программировании - Ларри Константин

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 77 78 79 80 81 82 83 84 85 ... 108

По этим причинам Люси Локвуд (Lucy Lockwood) и я разработали метод сущностных пользовательских ситуаций как упрощенную, обобщенную и более абстрактную модель в сравнении с ее конкретными аналогами (см. главу 22). Абстракция (как об этом говорилось в главе 44) способствует новаторскому мышлению и созданию более надежного дизайна. Целью моделирования сущностных пользовательских ситуаций является описание пользовательских задач как таковых — без каких-либо технологических допущений и ограничений. Сущностная пользовательская ситуация представляет собой абстрактную сущность целей пользователя. Она выражается в терминах намерений, а не в терминах действий пользователя. Например, пользователи системы технической поддержки намереваются получить помощь — сообщить, кто они, и объяснить, с какой проблемой или проблемами они столкнулись.

Сущностные пользовательские ситуации не только отделяют пользовательскую проблему от дизайнерских решений, но и различают пользовательские намерения и системные ответы, обеспечивающие реализацию этих намерений. Вместо одного свободного описания взаимодействия — того описательного подхода, который применяется в сценариях и большинстве пользовательских ситуаций, — сущностные пользовательские ситуации принимают форму структурного описания, в котором диалог разбивается на две колонки: то, что пользователь хочет сделать, и то, что система должна представить в качестве ответа. Названия этих колонок: модель пользовательских намерений и модель системных ответов. Такая модель имитирует формат, предложенный Ребеккой Уирфс-Брок (Rebecca Wirfs-Brock) для конкретных пользовательских ситуаций. В задаче, связанной с разработкой системы технической поддержки, сущностную пользовательскую ситуацию можно назвать получение технической помоши. Она может принять следующую форму:

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

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

Подобно применению наследования для определения классов и подклассов внутри объектно-ориентированных программ, мы можем создать квалификационную иерархию сущностных пользовательских ситуаций. В этой иерархии абстрактные ситуации содержат типичные или совместные части описаний, а подситуации содержат конкретные детали. Точно так же с помощью объединения простых ситуаций мы можем построить комплексные пользовательские ситуации. Одним из самых мощных средств для организации и упрощения сущностных пользовательских ситуаций является новаторский метод, представленный Джекобсоном (Ja-cobson и др., 1992 [44]). Части описания, которые являются необязательными или особыми вариантами, можно выделить и определить как расширения. С помощью каждого расширения можно расширить любое количество других пользовательских ситуаций. Например, в системе технической поддержки пользователь, следуя пользовательской ситуации, может запрашивать помощь у оператора. Эта пользовательская ситуация, запрос помоши оператора, является расширением других пользовательских ситуаций, поскольку она представляет собой дополнительный или особый случай взаимодействия, основанный на альтернативной или второстепенной цели пользователя.

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

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

Рука помощи

Хотя документация и справочные системы зачастую бывают упрощенными, они являются важными компонентами для обеспечения юзабилити систем — настолько важными, что самая большая глава в книге «Software for Use» (Constantine и Lockwood, 1999 [30]) целиком посвящена разработке справочных систем. Хорошая документация и правильно организованная, отзывчивая справочная система могут облегчить применение сложной системы; и наоборот, неадекватная, плохо организованная справочная система способна полностью испортить систему, которая во всех других отношениях разработана грамотно.

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

1 ... 77 78 79 80 81 82 83 84 85 ... 108
На этой странице вы можете бесплатно читать книгу Человеческий фактор в программировании - Ларри Константин бесплатно.
Похожие на Человеческий фактор в программировании - Ларри Константин книги

Оставить комментарий