Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЧМВ Учебное пособие.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
2.54 Mб
Скачать

6.5 Управляющие элементы разработки интерфейса

В глазах пользователя каждая деталь, каждый управ­ляющий элемент должны служить какой-то цели. С точки зрения разработчика каждая часть данных может быть представлена несколькими способами. На рисунке 6.3 приведены несколько вариантов представ­ления обычного поля ввода, которое может присутствовать в любой программе. В этом поле задается вопрос о возрасте поль­зователя: «Вам больше или меньше 21 года?» Мож­но было придумать и другие варианты представления дан­ного поля, но были выбраны элементы наиболее популяр­ные.

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

При выборе особого элемента управления всегда сле­дует думать об объеме информации, с которым сможет ра­ботать пользователь.

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

Рисунок 6.3 – Разнообразные управляющие элементы для сбора одних и тех же данных

Метод Drag and Drop

Интерфейсы становятся все более объектно-ориенти­рованными, более графическими и визуальными, поэтому предпочтение все чаще отдается прямому манипулирова­нию. Однако проблема метода Drag and Drop («перетащил и бросил») заключается в том, что отсутствует визуальное указание на то, что объекты могут или должны быть пе­ремещены и сброшены на другие объекты. Если пользо­ватели не выучат, как и когда использовать данный метод, то потенциальные преимущества не будут реализованы. Разработчики должны построить метафоры интерфейса и предложить интуитивно понятные схемы, призывающие и приглашающие пользователей к прямому манипулиро­ванию объектами в интерфейсе. Джаред Спул (Jared Spool) предлагает четырехступенча­тую подсказку, которая поможет эффективно пользовать­ся методом «перетащил и бросил»:

  • какие объекты можно перетаскивать?

  • куда их сбрасывать?

  • что произойдет, если это сделано?

  • как этого избежать, если что-то не нравится?

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

Не нужно заставлять поль­зователей действовать прямым манипулированием, когда другие методы более эффективны.

Строка меню и панель инструментов

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

Эллис (Ellis) провел исследование, как пользователи работают со строками меню и панелями инструментов. Для этого одна из групп была обеспечена только строка­ми меню, другая – только панелями инструментов, тре­тья – тем и другим. Перед всеми группами были постав­лены задачи по обработке текста. За критерии теста были взяты скорость выбора команд и число допущенных оши­бок. Кроме того, учитывалась степень субъективного удоб­ства. Результаты показали, что пользователи действовали намного быстрее при работе с клавишами панели инстру­ментов, когда речь шла о задачах, касающихся изменений стиля букв, курсива, подчеркивания или жирного выде­ления. Эти действия требовали одного щелчка мышью по панели инструментов. При использовании строки меню необходимо было выбрать один из вариантов, затем дей­ствие из выпадающего меню, а иногда открыть диалоговое окно, поставить нужные галочки и нажать на кнопку под­тверждения сделанных изменений. Что касается пользо­вателей, у которых были и панель, и строка меню, то они действовали не столь эффективно, как пользователи, снабженные только панелью инструментов. Вероятно, это мож­но объяснить тем, что им приходилось терять время на обдумывание варианта.

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

  • во всех приложениях использовать согласующиеся по представлению иконки;

  • обеспечивать согласованное взаимодействие кнопок;

  • группировать кнопки, выполняющие взаимосвязанные команды;

  • расставлять кнопки в логичном порядке;

  • размещать кнопки для обеспечения быстрой ра­боты;

  • обеспечить работу при помощи клавиатуры;

  • разрешить пользователям самим заниматься кон­фигурированием;

  • не допускать загромождения дисплея:

  • иконки должны быть визуально различимы;

  • цвет использовать с осторожностью;

  • кнопки должны иметь визуальные подсказки к их активированию.

Исследования и рекомендации обогащают профессио­нальный опыт в данной сфере.

Компоновка и разработка окна

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

К основным операциям с окнами относятся: изменение состояния, открытие и закрытие, перемещение, изменение размера, прокрутка, разбиение.

Если даже система поддерживает многооконность, пользователь, тем не менее, обычно выполняет некоторую последовательность действий в пределах одного окна. Это окно называется активным. Активное окно, как правило, является окном самого верхнего уровня (т.е. расположено «поверх» других открытых окон). Визуально оно отлича­ется своим заголовком, который подсвечивается специ­альным «активным» цветом. В каждый момент времени может быть активным только одно окно. Хотя другие окна могут относиться к активным (выполняющимся) процес­сам, но только одно – активное – окно способно воспри­нимать информацию (команды или данные), вводимую пользователем.

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

При открытии первичного окна оно автоматически ста­новится активным и располагается на самом верхнем уров­не. Если пользователь пытается открыть первичное окно, которое ранее уже было открыто в пределах того же «Рабочего стола», активизируйте существующее окно, используя приведенные ниже рекомендации (таблица 6.3).

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

В процессе работы с одним и тем же приложением поль­зователю может потребоваться иметь на экране несколько открытых окон, содержащих информацию различных ти­пов либо представляющих собой разное изображение од­них и тех же данных. Для создания таких окон и управ­ления ими существует специальная технология – много­документный интерфейс, сокращенно MDI (Multiple Doc­ument Interface).

Таблица 6.3 – Действия при повторном выполнении операции «Открыть»

Тип файла

Действие при повторном выполнении операции «Открыть»

Документ или файл данных

Активизируется существующее окно объекта, которое отображается поверх других открытых окон

Файл приложения

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

Файл, который уже открыт в окне MDI-приложения

Активизируется существующее окно файла, при этом содержащее его родительское окно MDI-приложения отображается поверх других окон

Файл еще не открыт, но связан­ное с ним MDI- приложение уже загружено

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

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

Техника MDI заключается в использовании одного пер­вичного окна, называемого родительским окном, которое может содержать набор связанных с ним дочерних окон. Каждое дочернее окно – это, по существу, также первич­ное окно, единственным ограничением для которого является то, что оно может появиться только в пределах ро­дительского окна. Родительское окно обеспечивает как визуальное, так и «операционное» пространство для своих дочерних окон.

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

Пользователь может активизировать MDI-приложение, либо непосредственно открыв его, либо открыв документ (файл данных) того типа, который поддерживается этим приложением. Если MDI-приложение активизировано по­средством открытия документа, сначала открывается ро­дительское окно, а затем внутри его рабочей области – до­чернее окно, отображающее выбранный документ или файл. MDI позволяет пользователю перемещать или свора­чивать дочернее окно таким же образом, как и родитель­ское окно.

Рекомендуемая форма отображения минимизирован­ного дочернего окна в MS Windows – часть полосы заго­ловка окна, окруженная рамкой. Это позволяет избежать возможной путаницы между пиктограммами минимизи­рованных дочерних окон и пиктограммами, представляю­щими объекты.

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

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

Когда пользователь открывает несколько файлов в пре­делах одного родительского окна, нарушается согласован­ность связи между дочерними окнами и между отображае­мыми в них объектами. Несогласованность заключается в том, что, хотя родительское окно визуально объединяет дочерние окна (как бы играет роль контейнера), это не при­водит к аналогичному объединению отображаемых фай­лов.

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

Необходимо также иметь в виду, что технология MDI может усложнить некоторые аспекты использования OLE. Например, если пользователь открывает текстовый доку­мент в MDI-приложении и затем открывает (с помощью другого приложения) электронную таблицу, вставленную в этот текстовый документ, то визуальная связь между текстовым документом и таблицей нарушается, посколь­ку окно с электронной таблицей не становится дочерним для того же родительского окна MDI.

И еще одно обстоятельство. Ограничения, на­лагаемые технологией MDI на размещение дочерних окон в родительском окне, могут оказаться критичными для не­которых заданий, например, при проектировании окон или выборе формата инструментальных средств. Кроме того, иногда пользователь может не отличить дочерние окна, «вло­женные» в родительское окно, от первичных окон, распо­ложенных поверх него.

Перечисленные недостатки MDI могут быть в значи­тельной степени преодолены за счет применения альтер­нативных средств, таких как «Рабочие области» (Workspac­es), «Рабочие книги» (Workbooks) и «Проекты» (Projects). Хотя эти средства реализуют однооконную модель интерфейса, тем не менее, они обнаруживают целый ряд достоинств, присущих технологии MDI. В частности, с их помощью можно получить различные формы представления одних и тех же данных. Эти средства обеспечивают также боль­шую гибкость относительно включаемых в них типов объ­ектов. Тем не менее, как и любой контейнер, они могут быть настроены на хранение и управление только опреде­ленным типом объектов.