Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LektsiiIS.doc
Скачиваний:
8
Добавлен:
01.03.2025
Размер:
1.32 Mб
Скачать

1.6. Основные принципы разработки графического интерфейса

Не существует однозначного, "правильного" способа построить графический интерфейс или GUI-приложение. Но можно сформулировать несколько основополагающих принципов, которые разработчик интерфейса должен держать в голове.

1. Ориентация на стратегию DWIM (Do What I Mean - "Я это имел в виду"). Это означает, что интерфейс (его программная реализация) должен позволять пользователю наводить у себя на "столе" тот порядок, который пользователю нравится. Например, не настаивает на том, чтобы меню инструментов находилось в конкретном месте экрана. Более того, интерфейс должен предвосхищать следующий шаг пользователя и предлагать его выполнить, не дожидаясь, пока пользователь сам об этом догадается. Например,

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

– После ввода текста автоматически проверяется правописание.

– При вводе запроса c прямой навигации: нажмаете А и перед вами останутся только те варианты слов или имен, которые начинаются с А. Если затем нажать В – то только те, что начинаются с АВ. Используется в словарях Lingvo при вводе слова для получения перевода.

– Представлять данные пользователю в том порядке, в котором он их использует, а не навязывать какой-то иной (заранее установленный) порядок.

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

2. Предсказуемость. У этого принципа существуют две составляющих: предсказуемость, опирающаяся на опыт реальной жизни, и предсказуемость, основанная на опыте работы с другими GUI-приложениями. В графической оболочке предполагается иметь дело с теми же вещами, с которыми пользователю приходится сталкиваться в реальной жизни. Так, инструмент для рисования может выглядеть наподобие карандаша, средство масштабирования – как увеличительное стекло (лупа) и т.д. Вы не сможете сосредоточиться на главном, если при работе с графической оболочкой нужно будет предпринимать дополнительные усилия, чтобы понять, что же перед вами за инструмент, например, когда средство масштабирования обозначается буквой Z1.

Грамотное проектирование графического интерфейса учитывает то, что другие приложения являются также составной частью этой жизни. К примеру, нас должны приучить видеть инструмент заливки, выполненный именно в форме ковша с вытекающей струей. Поскольку это точная ассоциация, было бы весьма полезным, если бы все приложения, которые тоже имеют средство заливки, представляли его именно так, а не как иначе. Даже если иное решение будет точнее отражать назначение инструмента, все равно новый элемент заставит пользователя напряженно изучать данную программу. Хорошее GUI-приложение опирается на успешные решения других программ и неизменно ведет себя так, чтобы пользователю не было нужно всякий раз переучиваться при работе с новой программой. Так расположение кнопок в таком порядке: Ок Cancel стало уже привычным. И иное расположение может привести к ошибкам в работе пользователя. Вы всегда сможете додумать то, что приложение будет делать в новой ситуации. Говорят, что такой интерфейс является «интуитивным» .

3. Привлекательность. Интерфейс должен быть привлекательным для глаз. Обращайте внимание на зазоры между кнопками, на размер и шрифт текста, цветовую гамму и другие эстетические моменты. Подбирайте основной и фоновый цвет так, чтобы они взаимно дополняли друг друга. Кроме того, убедитесь, что заметно различие между доступными и недоступными возможностями. Не надо, чтобы пользователь пытался на ощупь определить, что можно выбирать, а что бессмысленно. Разница должна быть хорошо видна. Примером служит пользовательский интерфейс Windows 2000, XР. Элементы управления выглядят объемными (кнопки, поля), хорошее цветовое сочетание.

4. Простота чтения. Он тесно связан с принципом привлекательности. Если диалоговые окна и help-файлы вашего приложения просты для чтения, то они и более привлекательны. Избегайте жаргонных слов и странных начертаний. И хотя необычные шрифты могут нравиться вашему изощренному вкусу, они сделают ваш текст тяжелым для чтения и восприятия пользователями. Не экспериментируйте с расположением кнопок «Ок» и «Cancel» («Отмена»). Сохраняйте вещи такими, какими люди их привыкли видеть, даже если вам кажется, что это не удачно или не «интуитивно».

5. Независимость от разрешения и типа монитора. Хорошие GUI-приложения должны иметь практическую ценность на различных устройствах отображения, т.е. оно одинаково хорошо должно работать и при разрешении 640х480, и при разрешении 1024х768. К тому же сегодня все больше людей работают с переносными компьютерами. Так что необходимо ориентироваться и на их жидкокристаллические экраны. Некоторые инструментарии подходят для этого лучше, у других это получается хуже. Так, к примеру, подстроить свое окно в соответствии с разрешением экрана проще всего в Visual Basic.

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

Вспомните, какие настройки имеет Windows 2ооо, XP: цвет, шрифт, заставки, поле рабочего стола, пиктограммы. Пустяк? Но людям нравится заниматься настройкой. Вспомните: картинки в кабине водителя троллейбуса. Разрешив пользователю поставить свое «клеймо» на вашем приложении, вы заставите его воспринимать программу как свою собственную.

7. Целостность. Хороший графический интерфейс вносит в обычный интерфейс упорядоченность. Теоретически это подразумевает целостность пользовательского интерфейса.

8. Концентрация внимания. Ваше желание сделать приложение приятным на вид не должно быть заметным для глаз. При работе с любым приложением задача не в том, чтобы открывать диалоговые окна нажатием управляющих кнопок да изучать меню. Задача в том, чтобы выполнить конкретную работу. Ваша цель как проектировщика GUI-программы – сделать работу людей более продуктивной, а не в том, чтобы создать пленяющее взор приложение. Прелестные диалоговые окна для открытия файлов (File Open), где в торжественном марше следом за остроумно подобранными пиктограммами важно шествуют имена файлов, на первых порах могут явиться причиной восхищенных возгласов, но затем станут пользователя страшно раздражать. Нужно, чтобы пользователи прежде всего замечали то, что делает Ваша программа, а не то, как она выглядит.

9. Интеграция приложений. Грамотное GUI-приложение должно позволять использовать большое количество различных типов файлов: текстовых (RTF, Word for Windows (doc), Exel, dBase и др), графические (PCX, BMP, Auto Cad DXF и др), другие файлы (WAV (звуковые), AVI (видео)). Размещать картинку внутри текста. Для этого могут использоваться методы DDE (динамический обмен данными) и OLE (связь и внедрение объектов) или теперь Active X.

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

10. Деликатность. Большинство людей лучше всего осваивает продукт методом проб и ошибок. Пользователи перебирают различные кнопки, пока, наконец, не поймут, как те работают. Поэтому вам (как разработчикам GUI-приложения) необходимо дать возможность вашим будущим пользователям самостоятельно возвращаться назад из тех мест, куда они забрели. Это может случиться либо из-за потери ориентации, либо из-за выбора неправильного варианта, либо потому, что они попросту забыли, что только что сделали. Ваше приложение должно грамотно обрабатывать ошибки, давать возможность возвращаться назад из окон диалога и из меню, снижать вероятность ошибки за счет понятных вариантов выбора и, когда это необходимо, выводить на экран ясное и деликатное сообщение об ошибке. Лучше приложение делать так, чтобы пользователь не ошибался.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]