Кафедра: Автоматика и Информационные Технологии
ОРГАНИЗАЦИЯ ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ
Содержание
1. Определение пользовательского интерфейса
2. Классификация интерфейсов
3. Текстовый режим работы видеоадаптера
4. Функции текстового режима
4.1 Общие параметры
4.2 Управление курсором
4.3 Управление атрибутами текста
4.4 Очистка текста
4.5 Копирование текста
5. Реализация пользовательского интерфейса в BORLAND C++
5.1 Общие принципы
5.2 Консольный интерфейс
5.3 Простое меню
5.4 Меню с перемещением курсора
5.5 Ввод строки с редактированием
6. Практические задания
6.1 Контрастность атрибутов
6.2 Разработка интерфейса
7. Лабораторные задания
7.1 Решение квадратного уравнения
7.2 Построение графика произвольной функции
8. Дополнительные задания
8.1 Элемент управления «Список»
8.2 Ввод строки с редактированием и прокруткой
Библиографический список
1. Определение пользовательского интерфейса
На ранних этапах развития вычислительной техники пользовательский интерфейс рассматривался как средство общения человека с операционной системой и был достаточно примитивным. В основном он позволял запустить задание на выполнение, связать с ним конкретные данные и выполнить некоторые процедуры обслуживания вычислительной установки.
Со временем по мере совершенствования аппаратных средств появилась возможность создания интерактивного программного обеспечения, использующего специальные пользовательские интерфейсы. В настоящее время основной проблемой является разработка интерактивных интерфейсов к сложным программным продуктам, рассчитанным использование непрофессиональными пользователями. В последние годы были сформулированы основные концепции построения таких пользовательских интерфейсов и предложено несколько методик их создания.
Пользовательский интерфейс представляет собой совокупность программных и аппаратных средств, обеспечивающих взаимодействие пользователя с компьютером. Основу такого взаимодействия составляют диалоги. Под диалогом в данном случае понимают регламентированный обмен информацией между человеком и компьютером, направленный на решение конкретной задачи.
Обмен информацией осуществляется передачей сообщений и управляющих сигналов. Сообщение – порция информации, участвующая в диалоговом обмене. По направлению передачи информации различают:
- входные сообщения, которые генерируются человеком с помощью средств ввода (клавиатуры, мыши и т.п.);
- выходные сообщения, которые генерируются компьютером в виде текстов, звуковых сигналов и/или изображений и выводятся пользователю на экран монитора или другие устройства вывода информации.
В основном пользователь генерирует сообщения следующих типов: запрос информации, запрос помощи, запрос операции или функции, ввод или изменение информации и т.д. В ответ он получает: подсказки или справки, информационные сообщения, не требующие ответа, приказы, требующие действий, сообщения об ошибках, нуждающиеся в ответных действиях, и т.д.
2. Классификация интерфейсов
По аналогии с процедурным и объектным подходом к программированию различают процедурно-ориентированный и объектно-ориентированный подходы к разработке интерфейсов (см. рис. 1).
Рис.1. Типы пользовательских интерфейсов
Процедурно-ориентированные интерфейсы предоставляют пользователю возможность выполнения некоторого набора действий, для которых могут вводиться соответствующие исходные данные. Вся работа с программой сводится к выбору действия, которое надо выполнить (если такой выбор предоставляется), вводу данных (при необходимости) и обработке полученных результатов.
Объектно-ориентированные интерфейсы используют несколько иную модель взаимодействия с пользователем, ориентированную на манипулирование объектами предметной области. Мы не будем подробно останавливаться на объектно-ориентированных пользовательских интерфейсах, поскольку для решения учебных задач достаточно процедурного подхода, значительно более простого в реализации. В качестве примера объектно-ориентированного интерфейса можно привести программу «Проводник» ОС Windows. Объектами предметной области в этом случае являются файлы и папки. Выполнение операции может выглядеть так: пользователь «берет» файл (точнее, объект интерфейса, соответствующий файлу) и «перетаскивает» его в другую папку, инициируя таким образом перемещение «физического» файла на диске.
Процедурно-ориентированные интерфейсы, в свою очередь, можно разделить на несколько подтипов: консольные, меню и со свободной навигацией.
Консольным называют интерфейс, который организует взаимодействие с пользователем на основе последовательного ввода и вывода информации в текстовом режиме по принципу «вопрос-ответ». Обычно такой интерфейс реализует конкретный сценарий работы, например: ввод данных – решение задачи – вывод результата (рис. 2, а). Единственное отклонение от последовательного процесса, которое обеспечивается данным интерфейсом, заключается в организации цикла для обработки нескольких наборов данных (рис. 2, б). Подобные интерфейсы в настоящее время используют только в процессе обучения программированию или в тех случаях, когда вся программа реализует одну функцию, например, в некоторых системных утилитах.
а) б)
Рис.2. Структура программы с консольным интерфейсом
В качестве примера программы с консольным интерфейсом рассмотрим программу решения квадратного уравнения (см. рис. 3).
Рис.3. Внешний вид консольного интерфейса
Данная программа последовательно запрашивает коэффициенты уравнения, после чего производит вычисления, выводит результат и предлагает повторить ввод данных. Никаких средств перехода к предыдущему шагу не существует, и если пользователь ошибся при вводе параметров, то ему придется дойти до решения, а затем вводить параметры еще раз.
Интерфейс-меню, в отличие от консольного интерфейса, позволяет пользователю выбирать необходимые операции из специального списка, выводимого ему программой. В этом типе интерфейсов последовательность действий выбирается самим пользователем. Различают одноуровневые и иерархические меню. Первые используют для сравнительно простых случаев, когда вариантов немного (не более 5–7), и они включают операции одного типа, например, Создать, Открыть, Закрыть и т.п. Вторые применяются при большом количестве вариантов или их очевидных различиях, например, операции с файлами и операции с данными, хранящимися в этих файлах. На рис. 4 показана типичная структура алгоритма программы, организующей одноуровневое меню.
Алгоритм программы с многоуровневым меню обычно строится по уровням, причем выбор команды на каждом уровне осуществляется так же, как для одноуровневого меню.
Интерфейс-меню предполагает, что программа в любой момент времени находится либо в состоянии обслуживания меню (ожидания выбора со стороны пользователя), либо в состоянии выполнения операции. Пользователь, как правило, вынужден ожидать, пока выполняется выбранное им действие.
Рис.4. Структура программы с интерфейсом-меню
Меню может быть построено различными способами. Простейший вариант реализации меню – вывод списка пунктов и предложение ввести номер пункта из этого списка (см. рис. 5, а). Более сложный вариант – список, по которому можно перемещаться с помощью клавиш (обычно клавиши управления курсором). Достоинства этого способа в том, что он удобнее, привлекательнее выглядит, не требует от пользователя соотнесения текста меню с номером пункта и уменьшает вероятность ошибки при выборе за счет того, что текущий пункт меню «подсвечивается». Внешний вид такого меню приведен на рис. 5, б.
а) б)
Рис.5. Внешний вид интерфейса-меню
В отличие от интерфейса-меню интерфейс со свободной навигацией обеспечивает возможность осуществления любых допустимых в конкретном состоянии операций, доступ к которым возможен через различные интерфейсные компоненты. На данный момент сформировался стандартный набор компонент пользовательского интерфейса, которые широко применяются в самых разнообразных программах и поддерживаются многими операционными системами и библиотеками. Поскольку даже разные реализации этих компонент подчиняются некоторым общим принципам управления, интерфейсы, построенные на их основе, привычны и понятны любому пользователю. Это является несомненным достоинством интерфейсов со свободной навигацией.
Внешний вид некоторых распространенных интерфейсных элементов в системе ОС Windows приведен на рис. 6. Перечислим эти компоненты (в скобках даны устоявшиеся английские названия):
- опция, флажок (checkbox), рис. 6, а;
- поле ввода (edit box), рис. 6, б;
- наборный счетчик (spin control, up/down control), рис. 6, в;
- кнопка (button), рис. 6, г;
- индикатор хода выполнения задачи (progress bar), рис. 6, д;
- ползунок (slider), рис. 6, е;
- списки: линейный (list box, рис. 6, ж), выпадающий (combo box, рис. 6, з), древовидный (tree control, рис. 6, и);
- переключатель (radio button), рис. 6, к;
- меню (menu), рис. 6, л;
- панель инструментов (toolbar), рис. 6, м.
Существенной особенностью интерфейсов со свободной навигацией является способность изменяться в процессе взаимодействия с пользователем, предлагая выбор только тех операций, которые имеют смысл в конкретной ситуации (например, блокируя ввод в те или иные поля).
|
|
|
|
|
|
|
|
|
|
|
|
Рис.6. Компоненты интерфейса со свободной навигацией
Как правило, интерфейсы этого типа реализуют, используя событийное программирование и объектно-ориентированные библиотеки, что предполагает применение визуальных сред разработки программного обеспечения. Тем не менее, несложные интерфейсы со свободной навигацией можно реализовать и на процедурно-ориентированном языке (например, Си) в однозадачной операционной системе без событийного управления (например, MS-DOS). Пример такого интерфейса для программы решения квадратного уравнения приведен на рис. 7.
Рис.7. Внешний вид интерфейса со свободной навигацией
Интерфейс данной программы состоит из трех полей ввода для коэффициентов a, b, c и кнопки «Выход». Пользователь может вводить значения в поля в произвольном порядке. После ввода значения программа автоматически пересчитывает корни квадратного уравнения и обновляет информацию на экране. Текущий элемент управления (поле ввода или кнопка) подсвечивается, как это принято во всех системах, допускающих навигацию с использованием клавиатуры.
... типами устройств. Согласованность составных систем является балансом между согласованностью физической, синтаксической, семантической и стремлением получить преимущества оптимальных возможностей системы. ПРЕИМУЩЕСТВА СОГЛАСОВАННОГО ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ Согласованный интерфейс приносит пользователям и разработчикам экономию времени и средств. Пользователи выигрывают от того, если им понадобится ...
... недостаточно). Возможно включение комплекса в план учебного процесса, для обучения студентов. 2. Специальная часть разработка программного обеспечения для организации интерфейса программно-методического комплекса 2.1 Разработка технического задания на реализацию специальной части дипломного проекта Наименование программного изделия - "Интерфейс программно - методического комплекса для ...
... (магнитные диски и ленты, электронно-лучевые трубки и т.д.), реализация которых возможна лишь специальными контроллерами. Сложность внешнего интерфейса определяется как сложностью периферийных устройств, так и степенью совместимости их с ЭВМ. Под совместимостью будем понимать возможность объединения отдельных компонентов системы в единую операционную сеть посредством программных и аппаратных ...
... неудобной системой, особенно если рядом нет удобной системы с аналогичными возможностями. С пользователем-любителем все наоборот. Пока в уголовном кодексе не предусмотрено наказание типа "заключения в пользовательский интерфейс", он имеет право выбора (не между одной программой и другой, а между компьютером и телевизором или даже книгой). Он хочет за компьютером развлекаться, и тратить время и ...
0 комментариев