Автор работы: Пользователь скрыл имя, 14 Мая 2012 в 16:17, курсовая работа
В работе представлены данные о методах, которые обеспечивают персонализированную, сиюминутную помощь пользователям и автоматически извлекают схемы последовательности работы пользователя исходя из движений мышки, в том числе и при редактировании текста, создаваемого пользовательским интерфейсом.
Основным параметром для адаптивных алгоритмов является вероятность того, что элемент меню будет выбран, и его вероятность выбора относительно других элементов меню.
Мы получаем вероятность исходя из последовательности событий, которая хранится в древовидной структуре.
Чтобы определить, нужен ли элемент меню, необходимо проанализировать взаимосвязь между элементами меню и затратами на обработку всего меню системы.
Мы используем модель, обсужденную в Разделе 2.2, чтобы отследить изменения, внесенные в меню в целом.
Цель адаптивных алгоритмов
Задача
состоит в том, чтобы изменить
меню таким образом, чтобы сохранить прежний
уровень удобства пользования им или даже
повысить его.
3.3.1
Fade Алгоритм
Как упомянуто выше, Fade алгоритм определяет, какие элементы должны быть исключены из меню. Основные функциональные возможности алгоритма Fade достигаются посредством следующих шагов:
Среднее время доступа к
Перестановка не рассматривается в режиме среднего времени доступа к элементу, так как порядок нельзя изменить путём удаления элементов.
Более того, элементы, которые должны быть удалены, рассматриваются в порядке убывания вероятности их выбора.
: Среднее время доступа к элементу меню, в котором N элементов видимы
N: количество видимых элементов
.: Вероятность выбора видимых элементов
: Среднее время доступа к видимому элементу
: Вероятность выбора скрытых элементов
: Время, затрачиваемое на просмотр видимых элементов и на определение, что нужный элемент скрыт
: Среднее время доступа к элементу при развернутом меню
Рассматривается также случай, когда пользователь не может найти элемент, который удален из меню. В этом случае пользователь должен нажать кнопку "Развернуть", как показано на Рисунке 2.
Время, необходимое пользователю для поиска меню и нахождения элементов, представляющих интерес и не отображенных в меню, соответствует количеству элементов меню, перечисленных в текущем меню плюс 1 для того, чтобы выбрать элемент меню "развернуть".
Если
М-это число элементов в
то уравнение Fade для рассмотрения возможности разворачивания меню
определяется уравнением 2.
Уравнение 2
Чтобы свести к минимуму среднее время доступа к элементу, мы изменяем количество видимых элементов в меню во всех возможных комбинациях. Мы
рассчитываем оптимальное количество элементов, которые должны быть удалены. В этом случае мы удалим элемент с наименьшей вероятностью выбора.
Кроме того, мы определяем изменение в скорости работы между неизмененным меню и меню с удаленными элементами.
Повышение скорости должно существенно компенсировать задержки, вызванные изменениями, внесенными в систему меню, так как частые изменения в системе меню снижают удобство пользования и производительность.
Элементы
удаляются только в том случае,
если увеличение скорости считается максимальным
для разного числа видимых элементов.
3.3.2
Алгоритм Enlighten
Функциональные
возможности алгоритма Enlighte
Из-за
ограничений системы меню Eclipse, мы
не можем изменить цвет на элементе меню.
Для доказательства правовой концепции Enlighten алгоритма мы перемещаем элементы в верхнюю часть меню. Основные функциональные возможности алгоритма Enlighten заключаются в том, чтобы собирать статистические данные, хранящиеся в древовидной структуре, и определять оптимальное количество элементов для выделения, а затем выяснить, существует ли значительное ускорение для подчеркнутых элементов.
Уравнение Enlighten под номером 3 используется для того, чтобы определить среднее время доступа к элементу с различным числом подчеркнутых элементов в меню.
Элементы-кандидаты
на выделение выбираются из элементов
меню, которые имеют самые высокие
шансы быть выбранными в текущей
последовательности событий.
: Среднее время доступа к элементу, когда выделено N элементов
N: число элементов, которые необходимо выделить
: Вероятность выбора выделенного элемента N
: Вероятность того, что выделенный элемент N не выберут
: Среднее время доступа к невыделенному элементу.
Вероятность
выбора выделенного элемента в том
случае, когда элемент, находясь в
самой верхней части меню, окажется
первым из увиденных пользователем
и, следовательно, потребуется только
одна единица времени, чтобы найти его.
Вероятность того, что нужный
элемент не будет выделен, плюс
1 (поскольку пользователь
Следует
отметить, что среднее время доступа
к неподсвеченному элементу, рассчитывается
исходя из того, что элементы случайным
образом расположены в меню. Таким образом,
среднее время доступа к элементу основывается
на количестве отображаемых элементов,
а не на положении элемента и вероятности
его выбора. Хотя использование позиции
и вероятности даст более точное среднее
время доступа к элементу, это также будет
означать, что алгоритм Enlighten должен сохранять
порядок всех элементов в меню. Это не
так эффективно как линейный поиск. Если
учесть, что неподсвеченные элементы
расположены в случайном порядке, мы можем
таким образом компенсировать неэффективность
вышеприведённого расчёта, что сохранит
порядок всех элементов.
4.
ТЕМАТИЧЕСКИЕ ИССЛЕДОВАНИЯ
Как доказательство этой концепции мы разработали прототип подключаемого модуля, который успешно разворачивает , сворачивает и скрывает элементы меню в соответствии со схемами работы пользователя. Рисунки 1 и 2 свидетельствуют о различиях между первоначальным Eclipse меню и адаптивным меню "Файл".
В
следующих подразделах мы проверяем
эффективность предлагаемых адаптивных
алгоритмов. Кроме того, мы оцениваем нынешнюю
систему меню Eclipse, основанную на нашем
опыте в разработке прототипа, использованного
в данном исследовании.
Адаптивные алгоритмы используются для повышения эффективности системы меню, в том числе Fade алгоритм и алгоритм Enlighten.
Эти
алгоритмы независимы друг от друга
для того, чтобы AUI подключаемый модуль
мог использовать один или оба алгоритма.
Мы разработали несколько тестов для проверки
адаптивных алгоритмов.
Результат теста Fade алгоритма приведен на рисунке 5.
График показывает отношение среднего времени доступа к элементу меню к числу видимых элементов.
Рисунок 5- Тестирование алгоритма Fade
Как видно на этом графике, число видимых элементов, обеспечивающее минимальное время доступа к элементу, равно 5. С 5-ю показанными элементами среднее время доступа к элементу составляет 4.44 секунды против 8 секунд среднего времени доступа в случае, если показаны все элементы меню.
Показывая только 5 элементов, можно достичь прироста скорости на 44%.
Как
видно, с помощью алгоритма Fade можно
достичь значительного прироста скорости.
Результат теста алгоритма Enlighten показан на рисунке 6.
График показывает отношение среднего времени доступа (к элементу) к числу подсвеченных элементов меню.
Как видно, число выделенных элементов для обеспечения самого низкого времени доступа к элементу равно 1.
С одним подчеркнутым элементом среднее время доступа к элементу составляет 6.97 секунд против 8 секунд среднего времени доступа в случае, если подсвеченных элементов нет.
Рисунок 6- Тестирование алгоритма Enlighten
Подсвечивая
один элемент, можно добиться прироста
скорости на 13%. Как видно, с помощью алгоритма
Enlighten можно достичь значительного прироста
скорости.
Адаптивная система меню (AMS) является частью (см. Рисунок 3) AUI. Это единственный фрагмент кода, который ставит вопросы в окончательной реализации подключаемого модуля. AMS взаимодействует с Eclipse GUI, чтобы динамично вносить изменения в меню системы.
Однако не все элементы меню можно переместить в верхнюю часть GUI существующей системы, как хотелось бы.
Мы видим, что наши действия ограничены, если требуется изменить индекс или порядок элементов в меню.
Так как внутренняя структура, которая контролирует порядок элементов меню, не доступна во время выполнения задачи.
Чтобы обойти это ограничение, мы создаем новый элемент, убираем первоначальный элемент с экрана, делая его невидимым, и прикрепляем слушателя, т.е. обеспечиваем процесс контроля правильности выражений, вводимых с клавиатуры, к новому элементу.
Когда обработчик события выбора элемента сфокусирован на первоначальном элементе, мы удаляем новый элемент, и переносим элемент в первоначальное меню, делая его снова видимым.
Более
того, изменить цвет фона элемента
для того, чтобы его выделить,
оказалось не возможно в нынешних
меню системы Eclipse. В будущем эти
проблемы можно было бы решить, если будет
обеспечен более широкий доступ к меню
и их внутренним структурам благодаря
Eclipse API во время выполнения программы
через точки расширения.
В докладе мы предлагаем архитектуру адаптивного пользовательского интерфейса (AUI).
В подтверждение концепции мы реализуем адаптивные
пользовательские интерфейсы в качестве подключаемого модуля для Eclipse IDE.
Наш AUI подключаемый модуль показал улучшение удобства пользования в тестах за счет сокращения среднего времени, затрачиваемого пользователем для того, чтобы найти нужный элемент. В будущем мы планируем работать с такими волонтёрами, как, например, студенты-первокурсники, работающие на компьютере как пользователи-новички, и выпускники, имеющие опыт разработки программного обеспечения свыше 3-х лет в качестве пользователей-экспертов.
Информация о работе Разработка адаптивного пользовательского интерфейса Eclipse