- •Построение модели интерфейса
- •Основные теоретические положения
- •Задания
- •Контрольные вопросы
- •Проектирование диалога
- •Основные теоретические положения
- •Основные теоретические положения
- •Задания
- •Контрольные вопросы
- •Разработка компонентов графического пользовательского интерфейса
- •Задания
- •Контрольные вопросы
- •Реализация элементов управления
- •Основные теоретические положения
- •Задания
- •Контрольные вопросы
- •Реализация интерфейса прямого манипулирования
- •Основные теоретические положения
- •Задания
- •Контрольные вопросы
- •Список литературы
Задания
Разработать элементы управления. Представить перечень и описание поведения каждого элемента в нотации UML.
Контрольные вопросы
1. Дайте определения понятий «кнопка» и «список».
2. Перечислите основные элементы управления.
3. Дайте характеристику каждого элемента управления по принципам использования.
Работа 5
Реализация интерфейса прямого манипулирования
Цель работы: изучение методов построения интерфейса прямого манипулирования и приобретение практических навыков их реализации.
Основные теоретические положения
Возможность прямого манипулирования, предусмотренная в WIMP интерфейсах, позволяет разрабатывать для приложений объектно-ориентированные интерфейсы прямого манипулирования. Интерфейсы данного типа на внешнем уровне используют директивную форму диалога: ввод команды осуществляется при выполнении определенных действий с пиктограммой объекта мышью. Основными элементами этих интерфейсов являются: метафоры, объекты, представления объектов и технология Drag and Drop («перетащил и бросил»).
Метафоры. Метафора - мысленный перенос свойств или признаков одного объекта на другой, чем-то аналогичный первому. Использование метафор в интерфейсах предполагает активизацию имеющегося у пользователя опыта (ментальных моделей выполнения аналогичных действий в повседневной жизни или на рабочем месте).
Интерфейс прямого манипулирования должен обеспечивать пользователю среду, содержащую знакомые ему элементы, с которыми пользователь не раз встречался в профессиональной деятельности или в быту, и предоставлять ему возможность манипулирования отдельными объектами. Наличие метафор упрощает для пользователя процесс освоения интерфейса. Например, метафора «Выбрасывание мусора», которую использует Windows для удаления файлов, облегчает пользователю усвоение этой операции.
Использовать метафоры надо очень аккуратно, так как при этом смысл придается всем элементам интерфейса, например, похожие элементы должны вести себя похожим образом, а элементы, выделенные одним цветом, должны находиться в определенной связи друг с другом. Семантическое несоответствие между элементами интерфейса, тем, что от них ожидают, и тем, что они на самом деле выполняют, раздражает и дезориентирует пользователей.
Следует также учитывать, что полное соответствие может обмануть ожидание пользователя, который оперирует не реальными предметами, а их моделями. А значит, его возможности ограничены, о чем необходимо напоминать. Поэтому целесообразно не делать изображения слишком реалистичными.
При реализации метафор большая роль уделяется средствам мультимедиа, в основном анимации. Используя мультипликацию, можно не только развлекать пользователя, но и «готовить» его к смене кадров, сокращая время, необходимое на адаптацию к изменившейся ситуации.
Объекты и их представления. Существует три основных типа объектов интерфейсов прямого манипулирования: объекты-данные, объекты-контейнеры и объекты-устройства.
Объекты-данные снабжают пользователя информацией. Это могут быть тексты, изображения, электронные таблицы, музыка, видео и т. п., а также любая их комбинация. В рамках операционной системы таким объектам соответствуют приложения, которые запускаются при раскрытии объекта. В масштабе приложения объекту соответствует одна или несколько форм, в которых содержимое объекта представляется в разных видах. Операции с содержимым объекта реализуются обработчиками событий формы.
Объекты-контейнеры могут манипулировать своими внутренними объектами, в том числе и другими контейнерами, например, копировать их или сортировать в любом порядке. К типичным контейнерам относятся папки, корзины и т. п. При раскрытии контейнера демонстрируются сохраняемые им компоненты и появляется возможность ими манипулировать. Компоненты при этом могут быть представлены в виде пиктограмм или таблиц.
Объекты-устройства часто представляют собой устройства, существующие в реальном мире: телефоны, факсы, принтеры и т.д. Их используют для обозначения этих устройств в абстрактном мире интерфейса. При раскрытии такого объекта, как правило, можно увидеть его настройки.
Каждому объекту соответствует, по крайней мере, одно окно. В исходном состоянии это окно представлено пиктограммой, но при необходимости его можно раскрыть и выполнить требуемые операции, например настройки объекта. Окно объекта в раскрытом состоянии может содержать меню и панели инструментов. Пиктограмме же должно соответствовать контекстное меню, содержащее перечень операций над объектом.
Для каждого типа объектов имя пиктограммы формируют по-своему. Так пиктограммам объектов-данных присваивают имена, соответствующие именам хранимых данных, а тип данных кодируется самой пиктограммой. Имя пиктограммы-контейнера или пиктограммы устройства обозначает сам объект, а потому не зависит от содержимого.
Следует иметь в виду, что различие между типами объектов является условным, так как один и тот же объект в разных ситуациях может вести себя то как объект-данные, то как объект-устройство, то как объект-контейнер. Например, принтер обычно рассматривают как объект-устройство, но он может обладать и свойствами объекта-контейнера, так как может содержать объекты-данные в очереди на печать. Соответственно в Windows объект контейнер-устройство «Принтер» имеет, помимо пиктограммы, еще два представления: окно очереди на печать и окно настроек. Имя представления в этом случае целесообразно указывать в заголовке окна объекта.
Технология Drag and Drop. Технология Drag and Drop («перетащил и бросил») определяет основные принципы прямого манипулирования, описанные в руководстве по разработке пользовательских интерфейсов фирмы IВМ (Common User Access – CUA):
– результат перемещения объекта должен соответствовать ожиданиям пользователя;
– пользователи не должны неожиданно терять информацию;
– пользователь должен иметь возможность отменить неправильное действие.
Эта технология также определяет основные принципы визуализации операции прямого манипулирования:
– исходное выделение – используется в качестве обратной связи пользователю, чтобы сообщить ему, что объект захвачен. В Windows с этой целью используется выделение цветом;
– визуализация перемещения - используется для идентификации выполняемого действия;
– целевое выделение - используется для идентификации пункта назначения, показывая, таким образом, куда «упадет» объект, если его отпустить в текущий момент времени;
– визуализация действия - используется для обозначения времени ожидания завершения операции, обычно с этой целью применяют анимацию или изменение формы курсора на «песочные часы».
Следует также иметь в виду, что существует два вида пунктов назначения: один принимает объект, а другой – его копию. Например, если пользователь «бросает» документ в «корзину», то уничтожается сам документ, который при этом удаляется с экрана. А если тот же документ он «бросает» на «принтер», то документ не пропадает: на принтер передается копия документа.
В Windows соответствующие действия идентифицируются появлением символа копирования «+» около пиктограммы документа в тот момент, когда он перемещается над пиктограммой устройства, на которое передается копия документа. Если для некоторого устройства возможны оба вида действий, то следует предусмотреть возможность уточнения вида действия. Так, Windows в этом случае осуществляет копирование при нажатой клавише CTRL и перемещение – в противном случае.
Проектирование интерфейсов прямого манипулирования. Проектирование интерфейсов прямого манипулирования выполняется на основе графов диалога, разработанных для конкретного программного обеспечения, и включает в себя следующие процедуры:
– формирование множества объектов предметной области, которое должно быть представлено на экране, причем в качестве основы в этом случае используют не варианты использования, а концептуальную модель предметной области;
– анализ объектов, определение их типов и представлений, а также перечня операций с этими объектами;
• уточнение взаимодействия объектов и построение матрицы прямого манипулирования (таблицы взаимодействия объектов);
• определение визуальных представлений объектов;
• разработка меню окон объектов и контекстных меню;
• создание прототипа интерфейса;
• тестирование на удобство использования.
