Разработка адаптивного пользовательского интерфейса Eclipse

Автор работы: Пользователь скрыл имя, 14 Мая 2012 в 16:17, курсовая работа

Описание

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

Работа состоит из  1 файл

Разработка адаптивного пользовательского интерфейса Eclipse.doc

— 461.50 Кб (Скачать документ)

    Основным  параметром для адаптивных алгоритмов является вероятность того, что элемент  меню будет выбран, и его вероятность  выбора относительно других элементов  меню.

    Мы  получаем вероятность исходя из последовательности событий, которая хранится в древовидной структуре.

    Чтобы определить, нужен ли элемент меню, необходимо проанализировать  взаимосвязь  между элементами меню и затратами  на обработку всего меню системы.

    Мы  используем модель, обсужденную в  Разделе 2.2, чтобы отследить изменения, внесенные в меню в целом.

      Цель адаптивных алгоритмов заключается  в том, чтобы определить количество  элементов, которые следует удалить  или выделить, что позволит свести  к минимуму среднее время доступа  к элементу.

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

    3.3.1 Fade Алгоритм 

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

  1. Получить статистические данные, хранящиеся в древовидной структуре событий
  2. Определить среднее время доступа к различным элементам для разного количества удаленных элементов
  3. Выбрать оптимальное количество элементов, которые необходимо удалить, и
 
    
  1. Определить, есть ли значительный прирост скорости работы после удаления элементов  меню или после показа дополнительных элементов.  Чтобы подсчитать среднее  время доступа к элементу меню, мы предлагаем уравнение Fade, Уравнение 1.

      Среднее время доступа к случайному  элементу меню определяется исходя  из количества элементов в  меню, так как среднее время  доступа к элементу будет равно  половине количества элементов,  показанных в меню.

    Перестановка  не рассматривается в режиме среднего времени доступа к элементу, так как порядок нельзя изменить путём удаления элементов.

    Более  того, элементы, которые должны быть удалены, рассматриваются в порядке  убывания вероятности их выбора.

    

Уравнение 1

     : Среднее время  доступа к элементу  меню, в котором  N элементов видимы

    N: количество видимых элементов

     .: Вероятность выбора  видимых элементов 

     : Среднее время  доступа к видимому  элементу

     : Вероятность выбора  скрытых элементов 

     : Время, затрачиваемое  на просмотр видимых  элементов и на  определение, что  нужный элемент  скрыт 

     : Среднее время  доступа к элементу  при развернутом  меню

    Рассматривается также случай, когда пользователь не может найти элемент, который  удален из меню. В этом случае пользователь должен нажать кнопку "Развернуть", как показано на Рисунке 2.

    Время, необходимое пользователю для поиска меню и нахождения элементов, представляющих интерес и не отображенных в меню, соответствует количеству элементов меню, перечисленных в текущем меню плюс 1 для того, чтобы выбрать элемент меню "развернуть".

    Если  М-это число элементов в исходном меню,

    то  уравнение  Fade для рассмотрения возможности разворачивания меню

    определяется  уравнением 2.

      Уравнение 2

    Чтобы свести к минимуму среднее время  доступа к элементу, мы изменяем количество видимых элементов в  меню во всех возможных комбинациях. Мы

    рассчитываем оптимальное количество элементов, которые должны быть удалены. В этом случае мы удалим элемент с наименьшей вероятностью выбора.

    Кроме того, мы определяем изменение в  скорости работы между неизмененным меню и меню с удаленными элементами.

    Повышение скорости должно существенно компенсировать задержки, вызванные изменениями, внесенными в систему меню, так как частые изменения в системе меню снижают удобство пользования и производительность.

    Элементы  удаляются только в том случае, если увеличение скорости считается максимальным для разного числа видимых элементов. 

    3.3.2 Алгоритм Enlighten 

    Функциональные  возможности алгоритма Enlighte заключаются в том, чтобы определить, какие элементы следует выделить.

    Из-за ограничений системы меню Eclipse, мы не можем изменить цвет на элементе меню.  

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

    Уравнение Enlighten под номером 3 используется для того, чтобы определить  среднее время доступа к элементу с различным  числом подчеркнутых элементов в меню.

    Элементы-кандидаты  на выделение выбираются из элементов  меню, которые имеют самые высокие  шансы быть выбранными в текущей  последовательности событий. 

    

 Уравнение 3. 

     : Среднее время  доступа к элементу, когда выделено  N элементов

    N: число элементов, которые необходимо выделить 

     : Вероятность выбора  выделенного элемента  N

     : Вероятность того, что выделенный элемент N не выберут

     : Среднее время  доступа к невыделенному  элементу.

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

      Вероятность того, что нужный  элемент не будет выделен, плюс 1 (поскольку пользователь должен  просмотреть следующий элемент   за первым, который не выбран), плюс вероятность выделения еще одного элемента (если он тоже должен быть выделен) или среднее время доступа к остальным элементам (если не считать никаких дополнительных элементов для выделения).

    Следует отметить, что среднее время доступа  к неподсвеченному элементу, рассчитывается исходя из того, что элементы случайным образом расположены в меню. Таким образом, среднее время доступа к элементу основывается на количестве отображаемых элементов, а не на положении элемента и вероятности его выбора. Хотя использование позиции и вероятности даст более точное среднее время доступа к элементу, это также будет означать, что алгоритм Enlighten должен сохранять порядок всех элементов в меню. Это не так эффективно как линейный поиск. Если учесть, что неподсвеченные элементы расположены в случайном порядке, мы можем таким образом компенсировать неэффективность вышеприведённого расчёта, что сохранит порядок всех элементов. 

    4. ТЕМАТИЧЕСКИЕ ИССЛЕДОВАНИЯ 

    Как доказательство этой концепции мы разработали  прототип подключаемого модуля, который успешно разворачивает , сворачивает  и скрывает элементы меню в соответствии со схемами работы пользователя. Рисунки 1 и 2 свидетельствуют о различиях между первоначальным Eclipse меню и адаптивным меню "Файл".

    В следующих подразделах мы проверяем эффективность предлагаемых адаптивных алгоритмов. Кроме того, мы оцениваем нынешнюю систему меню Eclipse, основанную на нашем опыте в разработке прототипа, использованного в данном исследовании.  

    
    1. Тестирование  адаптивных алгоритмов
 

    Адаптивные  алгоритмы используются для повышения эффективности системы меню, в том числе Fade алгоритм и алгоритм Enlighten.

    Эти алгоритмы независимы друг от друга  для того, чтобы AUI подключаемый модуль мог использовать один или оба алгоритма. Мы разработали несколько тестов для проверки адаптивных алгоритмов.  

    
      1. Тестирование  алгоритма Fade
 

    Результат теста Fade алгоритма приведен на рисунке 5.

    График  показывает отношение среднего времени  доступа к элементу меню к числу  видимых элементов.

    

    Рисунок 5- Тестирование алгоритма Fade

    Как видно на этом графике, число видимых  элементов, обеспечивающее минимальное  время доступа к элементу, равно  5. С 5-ю показанными элементами среднее  время доступа к элементу составляет 4.44 секунды против 8 секунд среднего времени доступа в случае, если показаны все элементы меню.

    Показывая только 5 элементов, можно достичь  прироста скорости на 44%.

    Как видно, с помощью алгоритма Fade можно достичь значительного прироста скорости. 

    
      1. Тестирование  алгоритма Enlighten
 

    Результат теста алгоритма Enlighten показан на рисунке 6.

    График  показывает отношение среднего времени  доступа (к элементу) к числу подсвеченных элементов меню.

    Как видно, число выделенных элементов  для обеспечения самого низкого  времени доступа к элементу равно 1.

    С одним подчеркнутым элементом среднее время доступа к элементу составляет 6.97 секунд против 8 секунд среднего времени доступа в случае, если подсвеченных элементов нет.

    

 

    Рисунок 6- Тестирование алгоритма Enlighten

    Подсвечивая один элемент, можно добиться прироста скорости на 13%. Как видно, с помощью алгоритма Enlighten можно достичь значительного прироста скорости. 

    
    1. Оценка  системы меню Eclipse
 

    Адаптивная  система меню (AMS) является частью (см. Рисунок 3)  AUI. Это единственный фрагмент кода, который ставит вопросы в  окончательной реализации подключаемого модуля.  AMS взаимодействует с Eclipse GUI, чтобы динамично вносить изменения в меню системы.

    Однако  не все элементы меню можно переместить  в верхнюю часть GUI существующей системы, как хотелось бы.

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

    Так как внутренняя структура, которая  контролирует порядок элементов  меню, не доступна во время выполнения задачи.

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

    Когда обработчик события выбора элемента сфокусирован на  первоначальном элементе, мы удаляем новый элемент, и переносим элемент в первоначальное меню, делая его снова видимым.

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

  1. ЗАКЛЮЧЕНИЕ
 

    В докладе мы предлагаем архитектуру  адаптивного пользовательского интерфейса (AUI).

    В подтверждение концепции мы реализуем  адаптивные

    пользовательские  интерфейсы в качестве подключаемого  модуля для Eclipse IDE.

    Наш AUI подключаемый модуль показал улучшение удобства пользования в тестах за счет сокращения среднего времени, затрачиваемого пользователем для того, чтобы найти нужный элемент. В будущем мы планируем работать с такими волонтёрами, как, например, студенты-первокурсники, работающие на компьютере как  пользователи-новички, и  выпускники, имеющие опыт разработки программного обеспечения свыше 3-х лет в качестве пользователей-экспертов.

Информация о работе Разработка адаптивного пользовательского интерфейса Eclipse