
Проектирование графического пользовательского интерфейса по технологии WIMP (90
..pdf
Пользователь может взаимодействовать с объектами приложения, исполь-
зуя различные устройства ввода. Наиболее распространенные из них – мышь,
клавиатураиперо.
Мышь – является основным устройством ввода при использовании графи-
ческого интерфейса. Она функционально связана с графическим символом на экране, который называется указателем. Позиционируя указатель, и нажимая или щелкая кнопку мыши, пользователь может выбирать объекты и операции.
По мере того, как пользователь перемещает указатель по экрану, его фор-
ма может изменяться, чтобы обеспечить информирование пользователя (обратная связь) о конкретной позиции, операции или состоянии. В таблице 1 показаны наиболее распространенные формы указателя, используемые в MS Windows, и
их назначение.
Таблица 1 – Формы указателя курсора
Форма |
|
Позиция на экране |
|
Допустимое или выполняе- |
|
|
|
|
|
|
мое действие |
|
|
|
|||
|
Поверх большинства объек- |
Указание выбора или пере- |
|||
|
тов |
|
|
|
мещения |
|
|
|
|
|
|
|
Над текстом |
|
|
Выбор текста |
|
|
|
|
|
|
|
|
Над |
любым |
объектом |
или |
Выполнение операции |
|
позицией |
|
|
|
|
|
|
|
|
|
|
|
Над |
любым |
объектом |
или |
Выполнение операции в фо- |
|
позицией |
|
|
новом режиме, указатель оста- |
|
|
|
|
|
|
ется интерактивным |
|
|
|
|||
|
Поверх большинства объек- |
Режим контекстно-зависимой |
|||
|
тов |
|
|
|
помощи |
|
|
|
|
|
|
|
Внутри окна |
|
|
Масштабирование изображения |
|
|
|
|
|
||
|
Поверх регулируемой |
гра- |
Изменение размера по верти- |
||
|
ницы |
|
|
|
кали |
|
|
|
|
|
|
21

Продолжение таблицы 1
Форма |
Позиция на экране |
|
Допустимое или выполняе- |
|
|
|
|
|
мое действие |
|
|
|
|
|
|
Поверх |
регулируемой |
гра- |
Изменение размера по гори- |
|
ницы |
|
|
зонтали |
|
|
|
|
|
|
Поверх |
регулируемой |
гра- |
Изменение размера по диаго- |
|
ницы |
|
|
нали |
|
|
|
|
|
|
Вдоль границы столбца |
|
Изменение ширины столбца |
|
|
|
|
|
|
|
Вдоль границы строки |
|
Изменение высоты строки |
|
|
|
|
||
|
Над блоком разбиения окна |
Изменение размера (ширины) |
||
|
|
|
|
вертикальных подокон |
|
|
|
||
|
Над блоком разбиения окна |
Изменение размера (высоты) |
||
|
|
|
|
горизонтальных подокон |
|
|
|
||
|
Над объектом-приемником |
Приемник недоступен для пе- |
||
|
|
|
|
ретаскиваемого объекта |
|
|
|
|
|
Взаимодействие пользователя с приложением посредством мыши основано на использовании левой и правой кнопок мыши (в дальнейшем соответственно ЛКМ и ПКМ). Действия, выполняемые с помощью ПКМ,
обычно дублируют функции, которые доступны через ЛКМ, но могут быть реализованы альтернативным способом. Система позволяет пользователю изменять распределение кнопок.
Для большинства операций, выполняемых с помощью мыши, нажатие кнопки только идентифицирует начало выполнения операции. Сама же опера-
ция выполняется при освобождении кнопки. Исключением является функция авто повторения. Например, установив указатель на стрелку полосы прокрутки и удерживая нажатой кнопку мыши, можно обеспечить непрерывную прокрут-
ку до тех пор, пока кнопка не будет отпущена.
В таблице 2 приведено описание основных действий, выполняемых с помощью мыши.
22
Таблица 2 – Основные действия, выполняемые с помощью мыши
Действие |
Описание |
|
|
Указание |
Установка указателя на конкретный объект на экране без ис- |
(Pointing) |
пользования кнопок мыши. Указание обычно является частью |
|
подготовки к выполнению некоторого другого действия. Для |
|
указания во многих случаях имеется возможность обеспечить |
|
визуальную обратную связь с пользователем (например, по- |
|
средством изменения формы указателя). |
|
|
Щелчок |
Щелчок одной из кнопок мыши на объекте, как правило, в |
(Clicking) |
момент щелчка мышь не перемещается, щелчок идентифици- |
|
рует (выбирает) или активизирует объект. |
|
|
Двойной |
«Сдвоенный» щелчок одной из кнопок мыши на объекте, |
щелчок |
объект может быть, как выбран ранее, так и не выбран, двой- |
(Double- |
ной щелчок обеспечивает выполнение предопределенной опе- |
Clicking) |
рации для данного объекта. |
|
|
Нажатие |
Предполагает установку указателя над одним из объектов |
(Pressing) |
(или позиций) на экране с последующим нажатием кнопки |
|
мыши, кнопка удерживается в нажатом состоянии достаточно |
|
продолжительное время (не менее 1с), обычно нажатие явля- |
|
ется начальной фазой операции выбора. |
|
|
Перемеще- |
Перемещение указателя при нажатой кнопке мыши, как пра- |
ние |
вило, используется для выполнения операций выбора и пря- |
(Dragging) |
мого манипулирования. |
|
|
Клавиатура – это основное средство ввода или редактирования тексто-
вой информации. При реализации графического интерфейса она может ис-
пользоваться для ввода других типовданных, а также для управления, переключения режимови как средство ускоренногодоступа к объектам и операциям.
С точки зрения организации взаимодействия пользователя с объектами при-
ложения все клавишиможно разделитьнаследующие функциональные группы:
текстовые клавиши и клавиши пунктуации;
23
клавиши навигации;
функциональныеклавиши;
клавиши доступа;
клавиши режима;
клавиши-акселераторы.
Клавиша доступа (иногда именуемая также мнемонической клавишей) –
это текстовая клавиша, которая при использовании в комбинации с клавишей
<Alt> активизирует соответствующий элемент управления. Клавиша доступа должна соответствовать одному из символов текстовой метки этого элемента управления. Например, комбинация клавиш <Alt>+О может активизировать,
элемент управления, именующий метку «Открыть». Эффект активизации элемен-
та управления зависитоттипаэтогоэлемента.
Клавиша доступа должна быть уникальной в пределах своей области дейст-
вия (т.е. одна и та же клавиша не должна использоваться для доступа более чем к одному элементу управления, расположенному в этой области). В противном слу-
чае с помощью данной клавиши всегда будет активизироваться только один элемент – расположенныйпервым вэтойобласти.
Клавиши режима изменяютспособдействия другихклавиш (илидругихуст-
ройств ввода). Различают два типа таких клавиш: клавиши-переключатели и кла-
виши-модификаторы.
Клавиша-переключательвключаетиливыключаетконкретныйрежимприкаж-
дом очередном нажатии. Например, нажатие клавиши <Caps Lock> приводит к переключениюс верхнего регистрана нижнийи наоборот.
Клавиша-модификатор, в отличие от клавиш-переключателей, устанавливает режим, который остаётся в силе, только пока клавиша-модификатор удерживается в нажатом состоянии. К ним относятся клавиши <Shift>, <Ctrl> и <Alt>. Их ис-
пользование во многих случаях оказывается предпочтительнее из-за того, что они требуют привлечения внимания пользователя к выбору режима и вместе с тем по-
зволяютлегкоотменитьвыбранныйрежим.
Клавиши-акселераторы (называемые также горячими клавишами) – это
24
клавиши или комбинации клавиш, которые обеспечиваютбыстрый доступ к часто вы-
полняемым операциям. В качестве таких комбинаций рекомендуется использо-
вать < Ctrl >+<символ> и функциональные клавиши (с F1 по F12). При назначе-
нии клавиш-акселераторов необходимо учитывать следующие рекомендации:
используйте комбинацию <Shift>+<клавиша> для расширения или до-
полнения действия, выполняемого с помощью этой <клавиши> без <Shift>. На-
пример, если комбинация клавиш <Alt>+<Tab> обеспечивает переключение между окнами сверху вниз, то комбинация <Shift>+<Alt>+<Tab> переключает окна в обратном порядке;
используйте комбинации <Ctrl>+<клавиша> для усиления эффекта действия, выполняемого с помощью <клавиши>. Например, при редактировании тек-
стаклавиша < Home > обеспечивает переход на начало строки, а комбинация
<Ctrl>+<Home> – в начало текста;
избегайте комбинаций <Alt>+<клавиша>, поскольку они могут кон-
фликтовать со стандартным клавиатурным доступом к меню и элементам управле-
ния интерфейса. Комбинации <Alt>+<Tab>, <Alt>+<Esc> и <Alt>+<Spacebar>
зарезервированы для системного использования <Alt>+<цифра> обеспечивают ввод специальных символов;
учитывайте назначения клавиш-акселераторов, использованные раз-
работчиками системного программного обеспечения. Например, в ОС MS Windows комбинация <Ctrl>+C используется для выполнения команды Сору (Ко-
пировать);
предоставляйте пользователю право изменять назначения клавиш-
акселераторов в вашем приложении, когда это возможно;
используйте клавишу <Esc> для прерывания выполняемой операции,
как правило, она также используется в качестве клавиши-акселератора для выпол-
нения команды Cancel (Отменить);
сделайте ваше приложение нечувствительным к случайным (ошибоч-
ным)
комбинациямклавиш.
25
3 Примеры выполнения лабораторных работ
3.1 Изучение предметной области и оценка интерфейса конкури-
рующих систем – Лабораторная работа №1
После определения предметной области необходимо изучить ее основ-
ные аспекты и оценить интерфейсы конкурирующих систем.
Рассмотрим это на примере задачи вычислительного типа – работе с матрицами.
Программное средство (ПС) «Матрица» - компьютерная программа учебного назначения, предназначенная помочь при изучении линейной алгеб-
ры. Он позволяет решать все задачи стандартного курса линейной алгебры, вы-
полнять действия с матрицами, решать численно основные задачи линейной ал-
гебры и представлять их результаты в матричной форме, конструировать алго-
ритмы решения основных задач линейной алгебры. Данное ПС позволяет:
- вводить произвольные матрицы, элементами которых являются дейст-
вительные числа или значения арифметических выражений;
-увидеть на экране все введенные матрицы в естественной форме;
-выполнять все арифметические действия с матрицами;
-транспонировать матрицы;
-выполнять элементарные преобразования матриц;
-находить максимальный или минимальный элемент в строке, в столбце или по всей матрице;
-вызывать ранее определенные матрицы из файла для просмотра или для дальнейшего исследования;
-сохранять в файле и печатать все определенные матрицы.
В качестве аналога данной ПС можно использовать MATLAB. MATLAB (сокращение от англ. «Matrix Laboratory») – пакет приклад-
ных программ для решения задач технических вычислений и одноимённый язык программирования, используемый в этом пакете. MATLAB используют
26
инженеры, научные работники, студенты. MATLAB как язык программирова-
ния был разработан Кливом Моулером в конце 1970-х годов, когда он был де-
каном факультета компьютерных наук в Университете Нью-Мексико. Целью разработки служила задача дать студентам факультета возможность использо-
вания программных библиотек Linpack и EISPACK без необходимости изуче-
ния Фортрана. Вскоре новый язык распространился среди других университе-
тов и был с большим интересом встречен учёными, работающими в области прикладной математики. Инженер Джон Литтл познакомился с этим языком во время визита Клива Моулера в Стэнфордский университет в 1983 году. Поняв,
что новый язык обладает большим коммерческим потенциалом, он объединил-
ся с Кливом Моулером и Стивом Бангертом и совместными усилиями они пе-
реписали MATLAB на C и основали в 1984 компанию The MathWorks для даль-
нейшего развития. Эти переписанные на С библиотеки долгое время были из-
вестны под именем JACKPAC. Первоначально MATLAB предназначался для проектирования систем управления (основная специальность Джона Литтла),
но быстро завоевал популярность во многих других научных и инженерных об-
ластях. Он также широко использовался и в образовании, в частности, для пре-
подавания линейной алгебры и численных методов.
Основной особенностью языка MATLAB являются его широкие воз-
можности по работе с матрицами, которые создатели языка выразили в лозунге
«думай векторно».
ПС «Матрица» будет полезна студентам, изучающим линейную алгебру.
Она имеет методическое сопровождение, включающее описание методов реше-
ния всех перечисленных выше задач. По сравнению с универсальными матема-
тическими пакетами «Матрица» компактна, значительно проще в работе
(большинство операций выполняется одним нажатием клавиши), не требует специального изучения, использует более естественную для линейной алгебры форму записи и представления результатов, предъявляет минимальные требо-
вания к ресурсам компьютера.
27
3.2 Описание контекста использования ПС и бизнес-ролей пользо-
вателей – Лабораторная работа №1
Пользователи должны обладать элементарными навыками работы с кла-
виатурой и мышью, а также иметь представление о линейной алгебре и знать,
что такое матрица.
Данное программное средство предусматривает одну бизнес роль – роль пользователя, который хочет получить результат вычислений при работе с ПС.
Пользователь может выбрать в списке имеющихся задач, необходимую для не-
го, изучить данную тему и непосредственно произвести необходимые действия над матрицами, при этом меняя размерности матрицы и сохранять результаты.
Сохранение результатов в последствие дает возможность считывать данные матрицы из файла.
В других случаях пользователей может быть несколько, например для контрольно-обучающихся программ.
1) пользователь (ученик), проходит курс обучения и подвергается тести-
рованию, просматривает результаты предыдущих тестирований; 2) редактор (педагог), имеет право добавлять, удалять, редактировать
учебный материал (курс), тестовые задания, просматривать отчеты о тестиро-
вании;
3) администратор, имеет возможность распределять полномочия поль-
зователей; 4) гость, имеет возможность, проходить курс обучения и подвергаеться
тестированию с возможностью просмотра только последнего результата.
3.3 Составление сценариев работы пользователей в виде схемы алгоритма, описывающей весь процесс использования ПС для выполнения конкретной задачи – Лабораторная работа №1
На примере ПС «Матрица» сценарии работы могут выглядеть как пока-
зано на рисунке 3.
28

Рисунок 3 – Схема алгоритма, описывающая сценарии работы ПС «Мат-
рица», лист 1
29

Рисунок 3, лист 2
30