Тема 10. Классификация пользовательских интерфейсов. Особенности графических и неграфических пользовательских интерфейсов.

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

- WIMP-интерфейс, компонентами которого являются: window- окно, icon - пиктограмма, menu - меню и pointer - указатель.

SILK-интерфейс, speech - речь, icon - пиктограмма, language -язык, knowledge - знание.

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

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

- графический пользовательский интерфейс (Graphical User Interface - GUI);

- пользовательский Web-интерфейс (WEB-User Interface WUI);

- пользовательские интерфейсы карманных устройств (Hand-User Interface -HUI);

- неграфический пользовательский интерфейс командной строки (Command Line Interface - CLI).

Графический пользовательский интерфейс (GUI).

Графический пользовательский интерфейс (Graphical User Interface - GUI) oпределяется как стиль взаимодействия "пользователь-компьютер", в котором применяются такие основные элементы: окна, пиктограммы, меню и указатели. Иногда GUI-интерфейс называют WIMP-интерфейсом.

Важнейшие свойства GUI-интерфейса - это возможность непосредственного манипулирования, поддержка мыши или указателя, использование графики и наличие области для функций и данных приложения. Рассмотрим подробнее компоненты GUI. Окно - это область устройства отображения, используемая для представления и взаимодействия с объектами, информацией об объектах, или для выполнения действий, применяемых к объекту. Окно обладает строкой заголовка, набором операций перемещения, изменения размера, набором меню и областью для отобраения информации об объектах. Обычно окно представляет собой прямоугольник. При котором приложение, использующее окно, является GUI-ориентированным приложением. Окно отображает информацию только на определенную часть или область устройства отображения. Частичное использование устройства отображения позволяет просматривать несколько окон для одновременного взаимодействия с несколькими объектами или управляющими диалогами. Определение окна также подразумевает использование графики или визуализации вместо текстовой информации для указания доступного объема информации (например, использование полосы прокрутки вместо указания типа "1-я строка из 45-ти").

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

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

Меню. Меню отображает набор альтернатив, с помощью которых пользователь, может осуществить выбор. Обычно альтернативы GUI-ориентированного меню представляют собой имена выбираемых пользователями команд для выполнения действий над объектами. Примером меню является меню File (Файл), а пример альтернативного варианта команды, размещенной в меню File - команда Print (Печать). Meню содержат в себе полный набор пользовательских команд. Системы, отличные от графических, напротив, требуют, чтобы под меню использовался весь дисплей, при этом меню строятся иерархическим способом.

Существует несколько типов меню: строки меню, выпадающие, всплывающие и каскадные меню. Каковы бы ни были их цель и назначение, компоненты наподобие панели инструментов, представленных пиктограммами, являются меню.

Указатели. Графические системы обычно содержат координатно-указательные устройства в виде мыши или шарового манипулятора.

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

Непосредственное манипулирование. Наиболее значительное свойство GUI-интерфейса заключается в непосредственном манипулировании, которое позволяет пользователю взаимодействовать с объектами с помощью указателя. Например, окно можно переместить по экрану с помощью мыши, установив указатель на строку заголовка окна, нажав и удерживая кнопку мыши и перемещая мышь (иногда эту операцию называют "захватить и перетащить" - "grab and drag"). Многие действия, выполняемые с помощью выбора альтернатив или меню, можно произвести, воспользовавшись непосредственным манипулированием. Например, во многих системах результатом перетаскивания пиктограммы документа на пиктограмму принтера на рабочем столе является печать документа. К другим действиям, которые выполняются с помощью непосредственной манипуляции, относятся такие операции, как Move (Переместить), Сору (Копировать), Delete (Удалить) и Link (Связать).

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

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

Пользовательский Web-интерфейс (WUI).

Базовый WUI-стиль (Web User Interface) весьма схож с меню иерархической структуры, которые пользователи знают по опыту работы в средах с неграфическим интерфейсом за исключением более наглядного представления и использования гиперссылок. Необходимая навигация выполняется в рамках одного или нескольких приложений с использованием текстовых или визуальных гиперссылок. В зависимости от структуры гиперссылок приложения навигация в пределах WUI-интерфейса приводит к отображению Web-страниц в иерархии приложения по одной за раз внутри одного окна. Ниже приводятся основные особенности приложения, использующего WUI-стиль:

- информация обычно отображается в единственном окне, называемом броузером, хотя для представления данных в приложении могут использоваться несколько окон броузеров;

- броузер обеспечивает меню для Web-приложения;

- выбор действий ограничен, так как меню, обеспечивающее обращение к функциям, не является легкодоступным для приложения;

- Web-страница обладает небольшой степенью внутреннего контроля над клиентской областью для открытия специализированных всплывающих меню;

- создание специализированных меню требует дополнительной работы по программированию;

- клиентская область не содержит традиционных пиктограмм;

- многие приложения используют графику и анимацию в эстетических или навигационных целях. Это таит в себе потенциальную угрозу возникновения внешнего визуального шума и увеличения времен отклика при загрузке и раскрытии графических файлов;

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

- поддержка указателя осуществляется в основном для выбора с помощью одного щелчка мышью или выбора по навигационным ссылкам. Технология "drag and drop" ("перетащить и поместить") не поддерживается за исключением случаев специального программирования в определенных средах. Действия кнопки 2, мыши также ограничены.

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

Web-броузер обеспечивает базовые возможности навигации для перемещения по Web-узлам и в пределах Web-узлов линейным способом с помощью кнопок панели инструментов Back (Назад) и Forward (Вперед). Навигация от одной страницы приложения к другой в пределах одного и того же Web-узла приложения выполняется с использованием гиперссылок, схемы Web-узла, кнопок и навигационной панели.

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

Компоненты WUI-интерфейса. К наиболее распространенным компонентам WUI-интерфейса относятся баннеры (заголовки), навигационные панели и визуальные или текстовые гиперссылки, упорядоченные различными способами. Также применяются разнообразные подходы к использованию графики, анимации и цвета:

- баннер представляет собой визуальный заголовок, отображаемый вверху Web-страницы;

- навигационная панель - это список вариантов выбора гиперссылок, обеспечивающих доступ к информации;

- гиперссылка представляет собой вариант выбора, который отображает следующую страницу информации или перемещает фокус отображения на другую область той же страницы;

- броузер - типичный броузер обладает заголовком, навигационной панелью областью, отображаемой в пределах экрана;

- каталог - каталог представляет собой визуальный поисковый механизм, в котором перечислены варианты выбора гиперссылок, используемых для навигации по дополнительным вариантам выбора до тех пор, пока не будет найден искомый результат, допускаются навигационные панели в виде заголовков другие типы навигации по вариантам выбора гиперссылок;

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

- документ - во многом похожий на свой бумажный двойник Web-документ отображает текстовую информацию вместе со ссылками на дополнительные источники или развернутое представление информации;

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

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

Пользовательский интерфейс карманных устройств (HUI).

Сегодня широко известны компьютеры два основных класса PDA (Personal Digital Assistant-персональный цифровой ассистент - "карманный" компьютер, предназначенный, выполнения некоторых специальных функций) - в одних используется настоящий GUI-стиль как по внешнему виду, так и по поведению, в других применяется подмножество GUI-интерфейса. Для ввода данных пользователем применяется "жестикуляционный" стиль с пером и сенсорным экраном.

Обычно подобные устройства обладают очень маленьким экраном. Каждая область дисплея PDA меньше, чем большинство окон GUI-ориентированных приложений для настольных и портативных систем. Для поддержки PDA обычно используется GUI-ориентированное ПО для портативных или настольных компьютеров.

HUI-интерфейс обеспечивает некоторые возможности GUI-интерфейса, а именно пиктограммы, меню и аналогичное поведение указателя. В окне устройства одновременно отображается один объект. Общий стиль для HUI-интерфейса можно назвать SIMP-стилем (Screen - экран, Icon - пиктограмма, Menu - меню и Pointer - указатель). При этом обеспечиваются многие свойства GUI-интерфейса, некоторые из них приведены ниже.

а) Пиктограммы используются во многих PDA, их разрешающая способность изменяется в соответствии с типом устройства отображения. Как и в GUI-интерфейсе, пиктограммы применяются для представления объектов, действий и атрибутов.

б) Строка меню и сами меню отображаются по требованию и обладают обычным для таких компонентов поведением.

в) Перо служит в качестве указателя по большей части для взаимодействия с помощью одного щелчка. Диалоги отображаются как окна, которые перекрывают вызывающий объект. Такие окна не обладают стандартным оформлением GUI-окон, их нельзя перемещать и изменять их размер.

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

Основные проблемы проектирования HUI-ориентированных приложений перечислены ниже.

а) Упрощение требований к пользователю по вводу данных и взаимодействию.

б) Использование ограниченной области дисплея.

Неграфический пользовательский интерфейс командной строки (Command Line Interface - CLI).

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

Литература:1осн.[20-26],2осн.[80-98], 7доп.[100-117]

Контрольные вопросы

1. Как классифицируются пользовательские интерфейсы?

2. Каковы особенности применения GUI?

3. Каковы особенности применения WUI?

4. Каковы особенности применения HUI?

Тема 11. Интерфейсы информационного взаимодействия компьютерных иерархических систем. Система уровней информационного взаимодействия. Интерфейсы и протоколы взаимодействия уровней информационного взаимодействия.

Рассмотрим интерфейс информационного взаимодействия на примере WEB-приложений, отметим, что рассмотренный ранее пользовательский WUI непосредственно связан с программным интерфейсом уровня приложений. Взаимодействие различных объектов в сети Интернет строится в соответствии с правилами и требованиями общего международного стандарта ISO 7498 (ISO - International Organization for Standardization).

Этот стандарт имеет тройной заголовок "Информационно-вычислительные системы - Взаимодействие открытых систем - Эталонная модель". Обычно его называют короче - "Эталонная модель взаимодействия открытых систем". Публикация этого стандарта в 1983 году подвела итог многолетней работы многих известных телекоммуникационных компаний и стандартизующих организаций.

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

В качестве прообраза модели взаимодействия OSI (Open System Interconnection) была использована структура, предложенная ANSI (American National Standards Institute). ISO 7498 является стандартом в области телекоммуникаций.

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

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

Предположим, например, что система А, изображенная на рис. 15, имеет информацию для отправки в систему В. Прикладная программа системы А начинает взаимодействовать с уровнем 4 системы А (верхний уровень), который, в свою очередь, начинает взаимодействовать с уровнем 3 системы А, и т. д. - до уровня 1 системы А. Задача уровня 1 забирать информацию из физической среды сети, отдавать, а потом после того как информация проходит через физическую среду сети и поступает в систему В, она последовательно обрабатывается на каждом уровне системы В в обратном порядке - сначала на уровне 1, затем на уровне 2 и т. д., пока, наконец, не достигнет прикладной программы системы В.

Многоуровневая модель не предполагает наличия непосредственной связи между одноименными уровнями взаимодействующих систем. Следовательно, каждый уровень системы А должен полагаться на услуги, предоставляемые ему смежными уровнями системы А, чтобы помочь осуществить связь с соответствующим уровнем системы В. Предположим, что уровень 4 системы А должен связаться с уровнем 4 системы В. Для того чтобы выполнить эту задачу, уровень 4 системы А должен воспользоваться услугами уровня 3 системы А, тогда уровень 4 будет называться "пользователем услуг", а уровень 3 - "источником услуг".

Рисунок 15.

Тема 10. Классификация пользовательских интерфейсов. Особенности графических и неграфических пользовательских интерфейсов. - student2.ru

Информация по оказываемым услугам передается между уровнями в специальном информационном блоке, который называется заголовком. Заголовок обычно предшествует передаваемой прикладной информации.

Тема 10. Классификация пользовательских интерфейсов. Особенности графических и неграфических пользовательских интерфейсов. - student2.ru

Рисунок 16. Инкапсуляция блоков данных различных уровней

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

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

Структура заголовка и собственно данных относительна и зависит от уровня, который в данный момент анализирует информационный блок. Например, на уровне 2 информационный блок состоит из заголовка этого же уровня и следующих за ним данных. Однако данные уровня 2 могут содержать заголовки уровней 3 и 4. Кроме того, заголовок уровня 2 является просто данными для уровня 1. Помимо заголовка на каждом уровне системы информационный блок завершается соответствующей контрольной суммой - КонтСум. Эта концепция иллюстрируется на рис. 16.

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

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

В соответствии с ISO 7498 выделяются семь уровней (слоев) информационного взаимодействия:

7. Уровень приложения (Application Layer).

6. Уровень представления (Presentation Layer).

5. Уровень сессии (Session Layer).

4. Транспортный уровень (Transport Layer).

3. Сетевой уровень (Network Layer).

2. Канальный уровень (DataLink Layer).

1. Физический уровень (Physical Layer).

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

Определение.

Протокол - набор алгоритмов (правил) взаимодействия объектов одноименных уровней.

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

Определение.

Интерфейс - совокупность правил, в соответствии с которыми осуществляется взаимодействие с объектом данного уровня.

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

Определение

Стек - иерархически организованную группу взаимодействующих протоколов

Протоколы, которые входят в стек, имеют специализированный интерфейс и предназначены для взаимодействия только с протоколами соответствующих уровней данного стека. В качестве примеров таких стеков можно привести стек TCP/IP.

Уровни 7-5 считаются верхними и, как правило, не отражают специфики конкретной сети. Блок данных пользователя (сообщение) этими уровнями рассматривается как единое целое. Изменения могут испытывать только сами данные.

Уровни 1-3 и иногда 4 считаются нижними уровнями OSI. На каждом из этих уровней определяется свой формат представления данных. При прохождении по стеку с 4-го уровня до первого сообщение пользователя последовательно фрагментируется и преобразуется в последовательность блоков данных соответствующего уровня.

Определение.

Инкапсуляция - процесс помещения фрагментированных блоков данных одного уровня в блоки данных другого уровня.

Обычно инкапсулируются данные протоколов верхних уровней в блоки данных протоколов нижних уровней (сетевой - канальный), но также может выполняться инкапсуляция для протоколов одноименных уровней.

Литература: 1осн.[20-26],2осн.[80-98],7доп.[100-117],9доп.[211-234].

Контрольные вопросы

1. Как организуется информационное взаимодействие различных уровней компьютерных систем?

2. Каков смысл термина протокол взаимодействия уровней компьютерных систем, приведите примеры?

3. Каков смысл термина интерфейс взаимодействия уровней компьютерных систем, приведите примеры?

4. Каков смысл терминов инкапсуляция и стек протоколов в компьютерных системах?

Глава 5. Разработка интерфейсов информационного взаимодействия компьютерных систем.

Наши рекомендации