Лекция № 13. Пользовательские интерфейсы

Содержание лекции: типы пользовательских интерфейсов и этапы их разработки.

Цель лекции: ознакомиться с типами пользовательских интерфейсов и основными принципами их разработки.

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

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

а) входные сообщения, которые генерируются человеком с помощью средств ввода: клавиатуры, манипуляторов, например мыши;

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

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

Рисунок 13.1 - Организация взаимодействия компьютера и пользователя

Основные устройства, обеспечивающие выполнение операций ввода-вывода:

а) для вывода сообщений:

1) монохромные и цветные мониторы - вывод оперативной текстовой и графической информации;

2) принтеры - получение «твердой копии» текстовой и графической ин­формации;

3) графопостроители - получение твердой копии графической информа­ции;

4) синтезаторы речи - речевой вывод;

5) звукогенераторы - вывод музыки;

б) для ввода сообщений:

1) клавиатура - текстовый ввод;

2) планшеты - графический ввод;

3) сканеры - графический ввод;

4) манипуляторы, световое перо, сенсорный экран - выбор информации и позиционирование на экране и т. п.

Различают процедурно-ориентированный и объ­ектно-ориентированный подходы к разработке интерфейсов (рисунок 13.2).

Рисунок 13.2 - Типы интерфейсов

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

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

В таблице Г.2 перечислены основные отличия пользовательских моделей интерфейсов процедурного и объектно-ориентированного типов. Различают процедурно-ориентированные интерфейсы трех типов: примитивные, меню и со свободной навигацией [14].

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

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

Интерфейсы со свободной навигацией также называют графическими пользовательскими интерфейсами (GUI - Graphic User Interface) или интер­фейсами WYSIWYG (What You See Is What You Get - что видишь, то и полу­чишь, т. е., что пользователь видит на экране, то он и получит при печати). Эти названия подчеркивают, что интерфейсы данного типа ориентированы на использование экрана в графическом режиме с высокой разрешающей способностью. Графические интерфейсы поддерживают концепцию интерактивного взаимодействия с ПО, осуществляя визуальную об­ратную связь с пользователем и возможность прямого манипулирования объ­ектами и информацией на экране. Кроме того, интерфейсы данного типа под­держивают концепцию совместимости программ, позволяя перемещать меж­ду ними информацию. Интерфейс со свободной навигацией обеспечивает возможность осуществления любых допустимых в конкретном состоянии операций, доступ к которым возможен через различные интер­фейсные компоненты. Например, окна программ, реализующих интерфейс Windows, обычно содержат меню различных типов (ниспадающее, кнопочное, контекстное), разного рода компоненты ввода данных. Причем выбор следующей операции в меню осуществляется как мы­шью, так и с помощью клавиатуры. Существенной особенностью интерфейсов данного типа является спо­собность изменяться в процессе взаимодействия с пользователем, предлагая выбор только тех операций, которые имеют смысл в конкретной ситуации. Реализуют интерфейсы со свободной навигацией, используя событийное программирование и объектно-ориентированные библиотеки, что предпола­гает применение визуальных сред разработки программного обеспечения.

Объектно-ориентированные интерфейсы пока представлены только ин­терфейсом прямого манипулирования. Этот тип предполагает, что взаимодействие пользователя с ПО осуществля­ется посредством выбора и перемещения пиктограмм, соответствующих объектам предметной области. Для их реализации ис­пользуют событийное программирование и объектно-ориентированные биб­лиотеки.

Разработка поль­зовательского интерфейса включает те же основные этапы, что и разработка программного обеспечения:

а) постановка задачи - определение типа интерфейса и общих требова­ний к нему;

б) анализ требований и определение спецификаций - определение сцена­риев использования и пользовательской модели интерфейса;

в) проектирование - проектирование диалогов и их реализация в виде процессов ввода-вывода;

г) реализация- программирование и тестирование интерфейсных про­цессов.

Дополнительную информацию по теме можно получить в [1, 4, 14].



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: