При анализе задачи можно выделить следующие пункты:
a) Идентифицируют индивидуальные задачи, которые программа могла бы решить
b) Каждая задача - цель (что, не как)
c) Часто помогает начать с полной цели системы и затем провести декомпозицию на подзадачи
a. – Полная цель: покупатели платят за их собственную бакалею
b. – Задачи:
i. Входят в справочник бакалеи
ii. Наполняют корзину
iii. Расплачиваются
Следующий шаг выясняет, какие задачи вовлечены в проблему. Задача должна быть выражена как цель: что должно быть сделано.
Один хороший способ начинать анализ задачи - иерархическое разложение. Думайте о полной проблеме, которую Вы пробуете решить. Это - действительно высокоуровневая задача. Затем расчленяйте ее в ряд подзадач, или подцелей, которые являются частью полной цели.
К существенным частям Анализа Задачи относят:
a) Что должно быть сделано?
a. Цель
b) Что должно быть сделано сначала, чтобы сделать это возможным?
a. Предварительные условия
c) Задачи, от которых зависит эта задача
|
|
d) Информация, которая должна быть известна пользователю
e) Какие шаги вовлечены в выполнение задачи?
a. Подзадачи
b. Подзадачи могут быть расчленены рекурсивно
Как только Вы идентифицировали список задач, определите детально каждую задачу. Каждая задача в анализе задачи должна иметь, по крайней мере, эти части:
Цель - только название задачи, типа как “послать сообщение по электронной почте”.
Предварительные условия - условия, которые должны быть удовлетворены прежде, чем возможно попробовать выполнить задачу. Некоторые предварительные условия могут быть другими задачами в вашем анализе;
Информационные потребности – что пользователь должен знать, чтобы сделать задачу. Например, чтобы посылать сообщение электронной почты, я должен знать адреса электронной почты людей, которым я хочу ее послать; быть может, мне нужно видеть сообщение, на которое я отвечаю.
Предварительные условия жизненно важны для хорошего проекта пользовательского интерфейса, особенно потому что пользователи не всегда выполняют их перед тем, как попробовать выполнить задачу и это приводит к ошибкам. Знание предварительных условий может помочь Вам предотвращать эти ошибки.
Наконец, расчленяйте задачу на подзадачи, индивидуальные шаги, вовлеченные в выполнение задачи. Если подзадачи нетривиальны, они могут быть рекурсивно расчленены в той же самой манере.
Другие вопросы, которые нужно задать о задаче
· Где задача выполняется?
· Как часто задача выполняется?
· Сколько времени отводится на решение задачи?
· Что может пойти не так, как надо?
· Кто еще вовлечен в задачу?
|
|
К вариантам реализации анализ задачи относят:
· Интервью с пользователями
· Прямое наблюдение пользователей, выполняющих задачи
Лучшие источники информации для анализа задачи - пользовательские интервью и наблюдение. Обычно, Вы должны будете наблюдать, как пользователи в настоящее время выполняют задачу.
Среди опасностей анализа задачи выделяют:
· Дублирование плохой существующей процедуры в программном обеспечении
· Потеря хороших аспектов существующей процедуры
Одна из опасностей анализа задачи, полученного из наблюдения, состоит в том, что вы можете придать слишком большой вес тому, как задача выполняется в настоящий момент времени и скопировать неэффективные подходы в свое приложение. Предположим, что мы сделали анализ задачи, наблюдая пользователей, работающих с бумажными справочниками. При непосредственной реализации этого подхода Вы могли написать пользователю: найдите такой-то товар в такой-то книге на такой-то странице. Думаю что понятно, что это архаизм из парадигмы бумажных книг и более эффективно было дать пользователю гиперссылку на связанный материал. Именно поэтому важно сосредоточиться на том, почему пользователи делают то, что они делают, а не только на том, что они делают.
Дополнительные вопросы, которые могут быть полезными при проведении анализа пользователя и задачи:
a) Вопросы, которые нужно задать
a. Почему Вы делаете это? (цель)
b. Как вы делаете это? (подзадачи)
b) Ищут слабости в текущем процессе
a. Неудачи в достижении цели, напрасно потраченное время, пользовательское раздражение
c) Контекстный запрос
d) Частичный проект
Когда Вы берете интервью у пользователей, они имеют тенденцию сосредотачиваться на таком: “сначала я делаю это, потом я делаю то …”. Будьте уверены, что исследовали не только " как" но и " почему", чтобы ваш анализ был более абстрактным и в то же время более детальным.
Так как Вы хотите улучшить текущую ситуацию, ищите ее слабости и проблемы. Какие задачи часто приводят к неудаче? Какие незначительные задачи тратят впустую много времени? Этому помогает опрос пользователей на предмет, что их раздражает, и какие предложения они имеют для усовершенствования.
Есть два других метода для того, чтобы сделать анализ пользователя и анализ задачи более эффективным: контекстный опрос и партнерское проектирование.
К контекстному опросу относят:
a) Наблюдать пользователей, делающих реальную работу в реальной рабочей среде;
b) Быть конкретным;
c) Устанавливать отношения учитель-ученик
a. Пользователь показывает, как и говорит об этом;
b. Интервьюер наблюдает и задает вопросы.
Контекстный опрос - техника, которая объединяет интервьюирование и наблюдение, в фактической окружающей среде работы пользователя, обсуждая фактический процесс работы. Контекстный опрос способствует тесному сотрудничеству между проектировщиками и пользователями.