- •14.1. Основные принципы проектирования пользовательского интерфейса
- •Особенности графического интерфейса
- •Объектный подход к проектированию gui
- •14.2. Этапы проектирования пользовательского интерфейса (слайд 14.12)
- •14.3. Методы разработки гибкого интерфейса
- •Визуальные атрибуты отображаемой информации
- •14.4. Проектирование средств поддержки пользователя (слайды 18-21)
- •Правила создания контекстно-зависимой подсказки
Особенности графического интерфейса
Графический пользовательский интерфейс – это система средств для взаимодействия пользователя с компьютером, основанная на представлении всех доступных пользователю системных объектов и функций в виде графических компонентов экрана (слайд 14.5, 14.6).
Графические интерфейсы (GUI — Graphical User Interface) являются интерфейсами прямого манипулирования. Они сильно выигрывают в согласованности: когда прикладное программное обеспечение проектируется специально для такой операционной среды, все разработки управляются одинаковым способом, форматы ввода и вывода остаются теми же, данные легко передаются между разработками. Такие интерфейсы также обычно подразумевают стиль представления WYSIWYG (What You See Is What You Get), который обеспечивает непосредственное подтверждение введенных действий. Они также подразумевают наличие средств "отмены предыдущего действия" для возврата предшествующего состояния. Если объект можно удалить, «выбросив» его в мусорный ящик, то его можно будет восстановить, «достав» из ящика, по крайней мере, до тех пор, пока мусорщик не опустошит его. Тем не менее прямое манипулирование не всегда и не для всех является лучшим типом интерфейса. Во многих случаях опытному пользователю быстрее инициировать операцию, используя командный язык.
Еще одна важная особенность современных графических интерфейсов — это многооконность.
Многооконная технология обеспечивает пользователю доступ к большему объему информации, чем при использовании одного экрана. Кроме того, имея через окна доступ к нескольким источникам информации одновременно, пользователь может объединять имеющуюся в них информацию. Например, изображения, полученные с помощью графического редактора, можно включить в текстовый документ.
С помощью нескольких окон пользователь может также одновременно анализировать информацию, представленную на разных уровнях детализации. Наличие на экране нескольких окон или пиктограмм позволяет «расширить» кратковременную память пользователя.
Таким образом, графический интерфейс расширяет пространство обзора и облегчает работу пользователя (если рабочий стол «аккуратно организован»).
Метафоры и технологии реализации оконных интерфейсов
Как отмечалось ранее, управление процессом обработки или состоянием объекта осуществляется с помощью окон или пиктограмм. Приложение (а точнее, вычислительный процесс, реализуемый приложением) порождает визуальный объект - первичное окно или пиктограмму, - размещаемый на Рабочем столе и/или на Панели задач. Такой подход, при котором на экране открыто единственное окно, соответствующее выбранному пользователем объекту, обеспечивает взаимно однозначное визуальное соотношение между процессом и окном.
Обычно то окно, которое было открыто последним, отображается поверх других окон. Управление несколькими первичными окнами (перерисовка окна поверх других и переключение его в активное состояние), относящимися к разным приложениям, может выполняться средствами Рабочего стола и Панели задач, обеспечивая тем самым пользователей возможностью для переключения между приложениями. Некоторые типы объектов (например, устройства) могут даже не требовать создания собственного первичного окна и использовать только вторичное окно для просмотра и редактирования их свойств. Например, для так называемых консольных приложений единственным средством его визуального представления является пиктограмма.
Во многих случаях взаимодействие пользователя с приложением возможно в рамках единственного первичного окна, функциональность которого (при необходимости) расширяется за счет вторичных окон. Типичным примером такого решения является текстовый процессор MS Word.
Вместе с тем, для выполнения некоторых заданий может оказаться недостаточным одного первичного окна. Приложение, реализующее достаточно сложный процесс обработки, может использовать несколько окон, в том числе и для однотипных операций. Например, разработка программного обеспечения в интегрированных средах, администрирование баз данных, параллельная обработка текстовым процессором нескольких документов. В таких ситуациях работа приложения должна быть построена на основе многодокументного интерфейса.
Многодокументный интерфейс (Multi Document Interface - MDI) основывается на использовании одного первичного окна, называемого родительским окном, которое может содержать набор связанных с ним дочерних окон. Каждое дочернее окно — это, по существу, такое же окно, как и первичное, единственным ограничением для которого является то, что оно может появиться только в пределах родительского окна. Родительское окно обеспечивает как визуальное, так и «операционное» пространство для открытых дочерних окон. На дочернее окно обычно распространяется область действия меню родительского окна и, возможно, других элементов его интерфейса (панели инструментов, строки состояния и т. д.). Их вид может изменяться, если необходимо отобразить команды и атрибуты активного дочернего окна.
Поскольку дочерние окна в MDI являются разновидностью первичных окон, при их закрытии следует придерживаться тех же соглашений, что и для первичных окон. Приложение не должно разрешить пользователю закрыть дочернее окно, если это не позволит ему продолжить работу с приложением.
Технология MDI имеет свои ограничения. В частности, когда пользователь открывает несколько файлов в пределах одного родительского окна, нарушается согласованность связи между дочерними окнами и между отображаемыми в них объектами. Несогласованность заключается в том, что хотя родительское окно визуально объединяет дочерние окна (играет роль контейнера), это не приводит к аналогичному объединению отображаемых файлов.
Такого рода недостатки MDI могут быть в значительной степени преодолены за счет применения альтернативных метафор, таких как Рабочие области (Workspaces), Рабочие книги (Workbooks) и Проекты (Projects). Хотя эти средства реализуют однооконную модель интерфейса, они тем не менее имеют ряд достоинств, присущих технологии MDI. В частности, с их помощью можно получить различные формы представления одних и тех же данных. Эти средства, реализуя принцип контейнера, обеспечивают большую гибкость относительно включаемых в них типов объектов. Но, как и любой контейнер, они ориентированы на управление только определенным типом объектов.
Интерфейс типа Рабочая область в отличие от MDI использует принцип функционального объединения отображаемых объектов. Это означает, что объекты, отображаемые в Рабочей области, могут соответствовать файлам, содержащимся в одном и том же контейнере. Внешне же соответствующие им окна выглядят как дочерние окна, расположенные в пределах родительского окна. Таким образом, концепция использования Рабочей области подобна концепции использования Рабочего стола, за исключением того, что она сама является объектом, который может быть представлен в виде пиктограммы и отображен в виде окна. Чтобы окно объекта могло появиться в Рабочей области, сам объект должен входить в состав соответствующего контейнера.
При управлении окнами в Рабочей области используются те же соглашения, что и в МDI-приложениях. Когда Рабочая область закрывается, все дочерние окна также закрываются.
Рабочая область должна обеспечить средства управления дочерними окнами в пределах Рабочей области. В частности, меню Окно и всплывающее меню родительского окна должны дополнительно содержать команды, предназначенные для прямой активизации и перемещения открытых дочерних окон.
Интерфейс типа Рабочая книга — это вариант формы представления обрабатываемых данных, в основе которого лежит метафора книги. В Рабочей книге различные типы данных представляются как отдельные разделы в пределах одного первичного окна. Типичным примером реализации Рабочей книги является MS Excel.
В качестве средства навигации между разделами Рабочей книги могут использоваться этикетки вкладок. Их расположение в Рабочей книге определяется разработчиком приложения в зависимости от содержания и организации отображаемой информации. Каждый раздел представляет данные, которые могли бы быть отдельным документом. В отличие от папки или Рабочей области, Рабочая книга лучше подходит для представления данных, которые могут быть определенным образом упорядочены и этот порядок имеет существенное значение. Кроме того, можно дополнительно включить раздел, перечисляющий содержание Рабочей книги подобно оглавлению обычной книги, который может быть использован как часть навигационного интерфейса.
Интерфейс типа Проект реализует способ управления окном, который предусматривает возможность отображения в одном окне взаимосвязанных объектов, представленных их пиктограммами. В этом смысле Проект подобен каталогу: для выбранного объекта открывается окно, которое относится к тому же уровню, что и родительское окно. В результате каждое дочернее окно Проекта может также иметь собственную кнопку входа на Панели задач. В отличие от каталога, Проект обеспечивает управление из родительского окна окнами входящих в него объектов. Например, когда пользователь, открыв документ, закрывает окно каталога, это никак не отражается на окне открытого документа. И напротив, когда пользователь закрывает окно Проекта, все окна его объектов также закрываются. Кроме того, когда пользователь открывает окно Проекта, это действие должно восстанавливать окна объектов в их предшествующем состоянии.
В целом, при выборе формы представления заданий или процессов, связанных с работой приложения, следует принимать во внимание целый ряд факторов: уровень знаний и навыков предполагаемых пользователей, особенности используемых объектов и решаемых с помощью приложения задач, требования к эффективному использованию пространства экрана монитора, а также ориентацию на разработку, управляемую данными. В тех случаях, когда структура объекта требует его представления одновременно в нескольких видах, или пользователю необходимо работать одновременно с несколькими объектами, более эффективным является применение технологии МDI либо использование Рабочих областей, Рабочих книги или Проектов. Эти конструкции обеспечивают формирование рабочей среды пользователя, ориентированной на выполнение определенного задания. При этом технология MDI является наиболее подходящей для работы с несколькими однотипными объектами, а использование Рабочих книг позволяет оптимизировать навигацию пользователя между различными представлениями одного объекта. Недостатком Рабочей книги можно считать то, что она ограничивает способность пользователя видеть одновременно несколько представлений объекта. Рабочие области и Проекты обеспечивают более гибкую технику для просмотра и совмещения объектов и их окон. Рабочая область используется в тех случаях, когда пользователю может потребоваться сгруппировать пиктограммы объектов (или их окна), используемые при выполнении некоторого задания. Применение Проекта позволяет снять ограничения на расположение и формат дочерних окон. Вместе с тем это преимущество достигается за счет увеличения сложности работы пользователя; кроме того, пользователю бывает весьма сложно отличить дочерние окна Проекта от окон других активных приложений. MDI, Рабочие области, Рабочие книги и Проекты допускают возможность совместного использования некоторых компонентов интерфейса несколькими окнами. В связи с этим пользователю всегда должно быть ясно, когда и в каком окне доступен конкретный элемент интерфейса.
