tehnologia (1018792), страница 41
Текст из файла (страница 41)
Пользовательские интерфейсы прямого манипулирования и ихпроектированиеВозможность прямого манипулирования, предусмотренная в WIMP интерфейсах,позволяет разрабатывать для приложений объектно-ориентированные интерфейсы прямогоманипулирования.Интерфейсы данного типа на внешнем уровне используют директивную форму диалога:ввод команды осуществляется при выполнении определенных действий с пиктограммойобъекта мышью. Основными элементами этих интерфейсов являются: метафоры, объекты,представления объектов и технология Drag and Drop («перетащил и бросил»).Метафоры. Метафора - мысленный перенос свойств или признаков одного объекта надругой, чем-то аналогичный первому.
Использование метафор в интерфейсах предполагаетактивизацию имеющегося у пользователя опыта (ментальных моделей выполненияаналогичных действий в повседневной жизни или на рабочем месте).251Интерфейс прямого манипулирования должен обеспечивать пользователю среду,содержащую знакомые ему элементы, с которыми пользователь не раз встречался впрофессиональной деятельности или в быту, и предоставлять ему возможностьманипулирования отдельными объектами. Наличие метафор упрощает для пользователяпроцесс освоения интерфейса.
Например, метафора «Выбрасывание мусора», которуюиспользует Windows для удаления файлов, облегчает пользователю усвоение этой операции.Использовать метафоры надо очень аккуратно, так как при этом смысл придается всемэлементам интерфейса, например, похожие элементы должны вести себя похожим образом, аэлементы, выделенные одним цветом должны находиться в определенной связи друг сдругом. Семантическое несоответствие между элементами интерфейса, тем, что от нихожидают, и тем, что они на самом деле выполняют, раздражает и дезориентируетпользователей.Следует также учитывать, что полное соответствие может обмануть ожиданиепользователя, так как все-таки он оперирует не реальными предметами, а их моделями. Азначит, его возможности ограничены, о чем необходимо напоминать. Поэтомуцелесообразно не делать изображения слишком реалистичными.Метафоры и анимация.
При реализации метафор все большая роль уделяется средстваммультимедиа, в основном анимации. В § 8.2 уже упоминалось, что движение привлекаетвнимание, а резкая смена кадров требует некоторого времени на определения связи данногокадра с предыдущим и на изучение этого кадра. Следовательно, используя мультипликацию,можно не только развлекать пользователя, но и «готовить» его к смене кадров, сокращаявремя, необходимое на адаптацию к изменившейся ситуации. Например, длинный списокможно представить в виде стены, уходящей в бесконечность (по закону перспективы). Тогда«движение» вдоль этой стены, сопровождаемое «естественным» укрупнением названий,позволит рассматривать список, отыскивая необходимую информацию без резкогоизменения картинки. При этом в сознании человека сохраняется идентичность объектов, апотому он постоянно готов к взаимодействию с ними.Однако, решая проблемы, связанные с особенностями восприятия человека,анимационные интерфейсы создают дополнительные проблемы для разработчиков ипрограммистов.
К ставшим привычными функциональному и интерфейсному уровнямпрограммы добавляется еще и визуальный уровень. Программа, реализующая такойинтерфейс, никогда не простаивает, так как во время ожидания ввода команды пользователяона продолжает отображать соответствующие кадры. В основе таких программ лежитвременное программирование. В отличие от событийного программирования, котороепозволяет связывать изображение на экране с внешними и внутренними событиями всистеме, временное программирование обеспечивает изменение252проецируемой последовательности кадров в зависимости от состояния моделируемыхпроцессов и действий, пользователя.Объекты интерфейса прямого манипулирования и их представления.
Существуеттри основных типа объектов интерфейсов прямого манипулирования: объекты-данные,объекты-контейнеры и объекты-устройства.Объекты-данные снабжают пользователя информацией. Это могут быть тексты,изображения, электронные таблицы, музыка, видео и т. п., а также любая их комбинация. Врамках операционной системы таким объектам соответствуют приложения, которыезапускаются при раскрытии объекта. В масштабе приложения объекту соответствует однаили несколько форм, в которых содержимое объекта представляется в разных видах.Операции с содержимым объекта реализуются обработчиками событий формы.Объекты-контейнеры могут манипулировать своими внутренними объектами, в томчисле и другими контейнерами, например, копировать их или сортировать в любом порядке.К типичным контейнерам относятся папки, корзины т.
п. При раскрытии контейнерадемонстрируются сохраняемые им компоненты, и появляется возможность имиманипулировать. Компоненты при этом могут обозначаться пиктограммами илипредставляться в виде таблицы.Объекты-устройства часто представляют устройства, существующие в реальном мире:телефоны, факсы, принтеры и т.д. их используют для обозначения этих устройств вабстрактном мире интерфейса. При раскрытии такого объекта, как правило, можно увидетьего настройки.Итак, каждому объекту соответствует, по крайней мере, одно окно. В исходномсостоянии это окно представлено пиктограммой, но при необходимости его можно раскрытьи выполнить требуемые операции, например настройки объекта. Окно объекта в раскрытомсостоянии может содержать меню и панели инструментов.
Пиктограмме же должносоответствовать контекстное меню, содержащее перечень операций над объектом.Имя пиктограммы формируют по-своему для каждого типа объектов. Такпиктограммам объектов-данных присваивают имена, соответствующие именам хранимыхданных, а тип данных кодируется самой пиктограммой. Имя пиктограммы-контейнера илипиктограммы устройства обозначает сам объект, а потому не зависит от содержимого.Следует иметь в виду, что различие между типами объектов является условным, так какодин и тот же объект в разных ситуациях может вести себя то, как объект-данные, то, какобъект-устройство, то, как объект-контейнер. Например, принтер обычно рассматривают какобъект-устройство, но он может обладать и свойствами объекта-контейнера, так как можетсодержать объекты-данные в очереди на печать.
Соответственно в Windows объектконтейнер/устройство Принтер имеет, помимо пиктограммы (рис. 8.22, а), еще двапредставления: окно очереди на печать (рис. 8.22, б) и окно настроек253(рис. 8.22, в). Имя представления в этом случае целесообразно указывать в заголовке окнаобъекта.Технология Drag and Drop.
Технология Drag and Drop («перетащил и бросил»)определяет основные принципы прямого манипулирования, описанные в руководстве поразработке пользовательских интерфейсов фирмы IBM (CUA - Common User Access):• результат перемещения объекта должен соответствовать ожиданиям пользователя;• пользователи не должны неожиданно терять информацию;• пользователь должен иметь возможность отменить неправильное действие.Эта технология также определяет основные принципы визуализации операции прямогоманипулирования:• исходное выделение - используется в качестве обратной связи пользователю, чтобысообщить ему, что объект захвачен, в Windows с этой целью используется выделениецветом;• визуализация перемещения - используется для идентификации выполняемогодействия;254• целевое выделение - используется для идентификации пункта назначения, показывая,таким образом, куда «упадет» объект, если его отпустить в текущий момент времени;• визуализация действия - используется для обозначения времени ожидания завершенияоперации, обычно с этой целью применяют анимацию или изменение формы курсора на«песочные часы».Следует также иметь в виду, что существует два вида пунктов назначения: одинпринимает объект, а другой его копию.
Например, если пользователь «бросает» документ в«корзину», то уничтожается сам документ, который при этом удаляется с экрана. А если тотже документ он «бросает» на «принтер», то документ не пропадает: на принтер передаетсякопия документа.В Windows соответствующие действия идентифицируется появлением символакопирования «+» около пиктограммы документа в тот момент, когда он перемещается надпиктограммой устройства, на которое передается копия документа.
Если для некоторогоустройства возможны оба вида действий, то следует предусмотреть возможность уточнениявида действия. Так Windows в этом случае осуществляет копирование при нажатой клавишеCTRL и перемещение в противном случае.Проектирование интерфейсов прямого манипулирования. Проектированиеинтерфейсов прямого манипулирования выполняется на основе графов диалога,разработанных для конкретного программного обеспечения, и включает следующиепроцедуры:• формирование множества объектов предметной области, которое должно бытьпредставлено на экране, причем в качестве основы в этом случае используют не вариантыиспользования, а концептуальную модель предметной области;• анализ объектов, определение их типов и представлений, а также перечня операций сэтими объектами;• уточнениевзаимодействияобъектовипостроениематрицыпрямогоманипулирования;• определение визуальных представлений объектов;• разработка меню окон объектов и контекстных меню;• создание прототипа интерфейса;• тестирование на удобство использования.Пример 8.6.
Разработать пользовательский интерфейс прямого манипулирования длясистемы решения комбинаторно-оптимизационных задач.Поскольку единственно напрашивающаяся аналогия - это выполнение операцийвручную, интерфейс строим, используя метафору «рабочий стол».Множество объектов-кандидатов формируем, анализируя концептуальную модельпредметной области (см. рис. 6.9) и варианты использования. Для каждого объектаопределяем тип и набор операций, связывающих эти объекты с остальными объектамипредметной области (табл. 8.3).255Таблица 8.3Действия,связанные срПротокол КонтейнеСохранить,лить, распечататьСписок КонтейнеОчиститьтоколовЗаданиеДанныеВыполнитьОбъектДанныеТипДанныеСписок КонтейненыхРезультат ДанныеБланкДанныеколаБланкДанныеныхКомпьюте УстройстПринтер УстройстКорзина УстройстСвязать сколом,удалить,Очистить-ПримечаниеВключает Задание,после решения задачи —Бланк задания входит впротокола~Если получены, тоЗаданием и Данными, т. е.ся в ПротоколеБланк протоколабланк задания—-—-Основной объект проектируемой системы - Протокол.