Магистр.диссертация (1194675), страница 7
Текст из файла (страница 7)
– техническая поддержка в режиме 24×7, а также круглосуточный мониторинг работоспособности служб.
3 Разработка методики
3.1 Автоматизация процесса опроса пользователей
Воспользуемся методом фокус-групп, описанным ранее.
Для создания опросника и сбора информации от пользователей выбран такой инструмент, как Google Forms.
Google Forms – сервис, который позволяет провести опрос, создать собственные веб-формы и анкеты без специального ПО. Полученные через них данные можно анализировать в Google Таблицах.
Имеется возможность выбирать вопросы разных типов, менять их последовательность и варианты ответов, а также регулировать последовательность вопросов в зависимости от ответов пользователя.
Также можно сопроводить вопросы необходимыми документами или изображениями.
Ответы пользователей хранятся в удобной форме и автоматически составляется статистика ответов в виде диаграмм и таблиц.
В результате были собраны данные для анализа и сделаны выводы об ошибках, совершенных при проектировании интерфейса.
Далее необходимо детально разобрать каждый принцип и выявить, на каких этапах работы пользователи испытывали затруднения.
3.4.1 Принцип 1 – Пригодность интерфейса для выполнения
производственного задания
В данном вопросе предлагалось оценить по трёхбалльной шкале, где 1 – «Вполне подходит», а 3 – «Совсем не подходит», насколько интерфейс программного продукта пригоден для выполнения поставленной задачи. Результат представлен на диаграмме 3.1.
Диаграмма 3.1 – Результат опроса по первому принципу
Исходя из полученной диаграммы можно сделать вывод о том, что подавляющее большинство пользователей считает программный интерфейс не самым подходящим для выполнения поставленной задачи.
3.4.2 Принцип 2 – Информативность
В данном разделе была задача выявить, сталкивался ли пользователь с ситуацией, когда ему не понятно назначение элементов интерфейса или способ выполнения действия/операции. Результат представлен на диаграмме 3.2.
Диаграмма 3.2 – Результат опроса по второму принципу
Исходя из полученной диаграммы можно сделать вывод о том, что подавляющее большинство пользователей с ситуацией, когда не понятно назначение элементов интерфейса или способ выполнения действия/операции.
Далее необходимо конкретизировать вопросы, чтобы выяснить, в чем именно заключалась ошибка при проектировании интерфейса.
При выяснении, какие операции с текстом вызвали у пользователей затруднения, получены следующие ответы (диаграмма 3.3).
Диаграмма 3.3 – Проблемы, возникающие при работе с текстом
В данном случае можно сделать вывод о том, что чаще всего возникали проблемы при выделении текста, а также при вставке скопированного текста.
При выборе команд из меню почти все пользователи столкнулись с тем, что название команды не соответствует выполняемому ею действию.
При работе с кнопками большинству пользователей была неясна функция кнопки из-за неправильно подобранного изображения на ней.
Возникло много затруднений при работе с таблицами (диаграмма 3.4).
Диаграмма 3.4 – Проблемы при работе с таблицами
В ходе опроса было выяснено, что больше всего проблем в работе с таблицами возникает, когда нужно добавить новую строку в таблицу или изменить размер ячеек таблицы. А также было неудобно работать с содержимым ячеек.
Также снижало скорость работы в программе то, что названия вкладок были сокращены, отчего было неясно их назначение.
По внешнему виду элемента невозможно было определить, что он является раскрывающимся меню, что тоже повлияло на скорость работы.
3.4.3 Принцип 3 – Управляемость
При вопросе о том, сталкивались ли пользователи с ситуацией, когда элементы интерфейса (кнопка, поле для ввода текста, строка/столбец таблицы и др.) не соответствовали назначенным им действиям или не выполняли ожидаемое действие, 75% пользователей ответили, что сталкивались с подобной проблемой.
Результаты опроса по нарушению принципа управляемости на диаграмме 3.5.
Диаграмма 3.5 – Результат опроса по третьему принципу
На основании результатов, представленных на диаграмме можно сделать выводы о том, что больше всего проблем возникало из-за того, что поле для ввода текста слишком мало для отображения находящегося в нем текста. Отсутствует возможность отрегулировать размер элемента таблицы. А также отсутствует столь необходимый элемент для выполнения или подтверждения действия.
3.4.4 Принцип 4 – Соответствие ожиданиям пользователя
Перед данным набором вопросов стояла задача определить, всегда ли расположение искомого элемента (команда меню, кнопка, вкладка, поле со списком, поле для ввода текста) или выполненное действие соответствовало ожиданиям пользователей. Результаты на диаграмме 3.6.
Диаграмма 3.6 – Результат опроса по четвертому принципу
Как видно на диаграмме 3.6, три четверти опрошенных свидетельствуют о нарушении принципа соответствия ожиданиям пользователя. Конкретные проблемы отображены на диаграмме 3.7.
Диаграмма 3.7 – Проблемы, свидетельствующие о нарушении
четвертого принципа
Видно, что использование колесика прокрутки на манипуляторе «мышь» не приводит к прокрутке экрана, а также использование стандартных приемов работы с манипулятором «мышь» (например, протягивание для выделения текста) не приводит к ожидаемому результату. Чуть меньшее количество пользователей испытывали трудности из-за того, что необходимая кнопка/команда не продублирована на ленте/панели инструментов, но присутствует в выпадающем меню.
3.4.5 Принцип 5 – Устойчивость к ошибкам
В данном разделе пользователи отвечали на вопрос о том, возникали ли ситуации, когда они не могли понять, как отменить/исправить ошибочно выполненное действие (диаграмма 3.8), а также возникали ли ситуации, когда выполненное действие приводило к сообщению об ошибке или остановке работы программы (диаграмма 3.9).
Диаграмма 3.8 – Результат опроса по пятому принципу
Диаграмма 3.9 – Результат опроса по пятому принципу
3.4.6 Принцип 6 – Пригодность к индивидуализации
Задачей данного набора вопросов было выяснить, есть ли у пользователей возможность настроить внешний вид программы (изменить цветовую схему или цвет отдельных элементов) в соответствии со своими предпочтениями, а также может ли пользователь добавить наиболее часто используемые элементы на панель инструментов или изменить расположение отдельных элементов в соответствии со своими предпочтениями. Результаты представлены ниже в виде диаграммы 3.10.
Диаграмма 3.10 – Результат опроса по шестому принципу
Исходя из результатов опроса можно сделать вывод о том, что абсолютное большинство пользователей отметили нарушение шестого принципа организации диалога пользовательского интерфейса. Это свидетельствует о неприспособленности интерфейса к индивидуализации в соответствии с требованиями и запросами пользователя.
3.4.7 Принцип 7 – Соответствие ожиданиям пользователя
В данном разделе стояла задача выяснить, легко ли получить информацию справочного характера по использованию того или иного элемента интерфейса или выполнению команд. Ответы на диаграмме 3.11.
Диаграмма 3.11 – Результат опроса по седьмому принципу
Можно сделать вывод о том, что пользователям было достаточно сложно разобраться со спецификой работы в данном программном продукте на начальных этапах работы. А также о том, что у них возникли проблемы с получением справочной информации по определенным вопросам.
3.2 Автоматизация процесса регистрации действий пользователя в среде программных продуктов для обеспечения учебно-методического процесса
Для автоматизации процесса регистрации действий пользователя была разработана программа на языке C++ , которая в заданный момент времени с определенным шагом определяет и фиксирует в файле координаты курсора мыши, а также совершенные за данный временной промежуток действия пользователя, такие, как нажатие правой или левой кнопок мыши или ввод текста с клавиатуры.
Ниже приведен фрагмент кода программы, позволяющий фиксировать координаты курсора в момент времени, а также отмечать в текстовом документе моменты, когда были использованы правая или левая кнопки мыши:
while (1) {
GetCursorPos(&c);
SHORT lmc=GetAsyncKeyState(VK_LBUTTON);
SHORT rmc=GetAsyncKeyState(VK_RBUTTON);
tacts = clock();
sec = tacts / CLOCKS_PER_SEC;
min = sec/60;
hour = min/60;
f << i << "," << c.x << "," << c.y << "," << hour << "," << min << "," << sec
<< "," << (lmc ? 1 : 0) << "," << (rmc ? 1 : 0)<< "," << anyKeyPressed() << endl;
i++;
sleep(1);
}
Далее представлен фрагмент, при помощи которого в текстовом файле фиксируется факт нажатия кнопок клавиатуры для распознавания моментов, когда пользователь производит ввод текста.
int anyKeyPressed() {
if(GetAsyncKeyState(VK_BACK)) {
return 1;
}
if(GetAsyncKeyState(VK_RETURN)) {
return 1;
}
for(size_t i = VK_SPACE; i <= VK_0; ++i) {
if(GetAsyncKeyState(i))
return 1;
}
for(size_t i = VK_A; i <= VK_Z; ++i) {
if(GetAsyncKeyState(i))
return 1;
}
for(size_t i = VK_OEM_1; i <= VK_OEM_3; ++i) {
if(GetAsyncKeyState(i))
return 1;
}
for(size_t i = VK_OEM_4; i <= VK_OEM_8; ++i) {
if(GetAsyncKeyState(i))
return 1;
}
for(size_t i = VK_NUMPAD0; i <= VK_DIVIDE; ++i) {
if(GetAsyncKeyState(i))
return 1;
}
















