- •Практическое занятое № 1
- •4.1. Модель скорости печати goms
- •4.2. Закон Фишса и закон Кика
- •5.1. Назначение и области применения сетевого планирования и рравления
- •5.2. Порядок и правила построения сетевых графиков
- •5.3. Исследование временных параметров сетевого графика
- •Оглавление
- •Глава 1. Понятие интерфейса. Качество пользова тельского интерфейса. Критерии эффективного проектирования 11
- •Глава 2. Психология человека и компьютера 28
- •Глава 3. Проектирование пользовательского
- •Глава 4. Правила проектирования пользователь ского интерфейса 72
- •Глава 5. Этапы разработки пользовательского
- •Глава 6. Инструментарий разработчика
- •Глава 7. Ms Agent - Графические персонажи
- •Логунова Оксана Сергеевна ячиков Игорь Михайлович ильина Елена Александровна
Практическое занятое № 1
СРЕДСТВА АКТИВИЗАЦИИ ВНИМАНИИ ПОЛЬЗОВАТЕЛЯ ПРИ РАБАТЕ С ИНТЕРФЕЙСОМ ЛРОТРАММНОГО ПРОДУКТА
Информация
Принципы разработки интерфейса — это высокоуровневые концепции и представления, которые могут использоваться при проектировании программного обеспечения.
Учитывая, что интерфейс разрабатывается в большей степени для пользователей самых различных уровней подготовки, необходимо использовать средства привлечения и активизации внимания этих пользователей при работе с программными продуктами.
На рис. 1.1 представлена схема «айсберга» — ощущений и впечатлений, которая демонстрирует долю участия каждого компонента интерфейса в ощущениях человека.
Авторство приписывается Дэвиду Лиддлу (David Liddle), бывшему главе Metaphor Computer Company.
Визуальное восприятие элементов интерфейса программного продукта требует привлечения внимания человека. Для этого применяется эффект «Лас-Вегаса». Одним из способов реализации эффекта «Лас-Вегаса» является создание первой заставки для программного продукта. На рис. 1.2 приведено несколько возможных вариантов таких заставок для широко известных программных продуктов.
Надо отметить, что содержание каждого из окон является однотипным: наименование программного продукта, реквизиты разработчика, одна из основных метафор
203
Человеко-машинное взаимодействие: теория и практика
Практика
.
Рис. 1.2 (окончание).
программного продукта, временной период разработки, номер версии и т.п. Довольно часто такие окна включают эффекты анимации и звукового сопровождения.
Название программного продукта занимает в окне заставки довольно обширную площадь. К выбору названия программы необходимо подходить ответственно. От этого имени будет зависеть, будет ли «жизнь» вашей программы успешной и яркой.
Основными видами ошибок, допускаемых авторами программ при их именовании, являются:
-
выбор кричащего и вызывающего названия типа SUPER, COOL и т.п., такие названия прочно ассоциируются с любительским творчеством;
-
выбор названия, которое никак не отражает назначения программы;
-
выбор двусмысленного названия;
-
предумышленная замена некоторых букв в названии с целью повышения оригинальности;
-
использование в названии программы имен авторов.
Кроме того, выбранное название необходимо проверить на уникальность. Такую проверку рекомендуется выполнять в три этапа. Этапы проверки уникальности выбранного названия программы:
♦ Проверка, не является ли выбранное название чьей- то зарегистрированной торговой маркой. Сделать
.это можно по адресу http://. www.nameprotect. com.
-
Проверка, не используется ли название кем-то другим. Для этого можно воспользоваться одной из крупнейших поисковых систем AltaVista (http:// www. altavista .com).
-
Проверка, не зарегистрирован ли соответствующий домен в зоне.com (это можно сделать, например, по адресу http://www.domainsearch.ru).
-
Если все три этапа были пройдены успешно — выбранное вами название можно считать пригодным для использования.
206 207
Человеко-машинное взаимодействие: теория и практика
Практика
Задание 1.1
Выбрать имя для программного продукта соответственно тематике.
Выполнить проверку выбранного названия на пригодность по всем этапам. Результаты проверки предоставить в письменном виде.
Пример оформления результатов проверки имени программы на уникальность
Предположим, что для создаваемой программы выбрано имя «Q&S», которое является сокращением английский слов Quality and Steel.
Первый вариант поиска
Для поиска этого имени введем критерии: The name of the program Q&S — имя программы Q&S.
Результаты поиска по этому критерию приведены на рис. 1.3.
При заданных параметрах поиска произведен выбор всех словосочетаний, которые содержат указанные слова и объединяются дизъюнкцией. Количество найденных словосочетаний равно 243, причем в первую очередь отображаются результаты по слову PROGRAM.
Второй вариант поиска
Для поиска этого имени введем критерии: Q&S.
Результаты поиска по этому критерию приведены на рис. 1.4.
При заданных параметрах поиска произведен выбор всех аббревиатур. Всего найдено 10 500 результатов. Данная аббревиатура в результатах поиска интерпретируется как сокращение слов: Question — вопрос, ScreenShot — окно заставки, Standard — стандарт.
Большое количество результатов поиска и другая интерпретация аббревиатуры указывает на то, что имя для программного продукта выбрано неудачно.
Рис.1.3. Вид WEB – страницы с результатом поиска по критерию – The name of the program Q&S
208 209
Человеко-машинное взаимодействие: теория и практика
Практика
Рис. 1.4. Вид WEB — страницы с результатами поиска по критерию — 0&S
Информация
Надо отметить, что на рис. 1.2 пять из шести приведенных окон имеют прямоугольную форму. Геометрические размеры этих окон близки к соотношению золотого сечения1.
«Золотое сечение» — это самая комфортная для глаза пропорция. Форма, в основе построения которой лежит сочетание симметрии и «золотого сечения», способствует наилучшему зрительному восприятию и появлению ощущения красоты и гармонии.
«Геометрия владеет двумя сокровищами: одно из них — это теорема Пифагора, а другое — деление отрезка в среднем и крайнем отношении... Первое можно сравнить с мерой золота; второе же больше напоминает драгоценный камень» (И. Кеплер).
В математике пропорцией называют равенство двух отношений:
а : Ь = с : d.
Отрезок прямой АВ можно разделить точкой С на две части следующими способами:
на две равные части АВ : АС = АВ : ВС;
на две неравные части в любом отношении (такие части пропорции не образуют);
таким образом, когда АВ : ВС = ВС : АС.
Последнее и есть золотое деление или деление отрезка в крайнем и среднем отношении.
«Золотое сечение» — это такое пропорциональное деление отрезка на неравные части, при котором весь отрезок так относится к большей части, как сама большая часть относится к меньшей; или, другими словами, меньший отрезок так относится к большему, как больший ко всему.
a:b = b : с или с :b = b : a.
Отрезки золотой пропорции выражаются бесконечной иррациональной дробью 0,618..., если с принять за единицу, a - 0,382. Отношение же отрезков а и b составляет 1,618.
Прямоугольник с таким отношением сторон стали называть золотым прямоугольником. Он также обладает интересными свойствами. Если от него отрезать квадрат, то останется вновь золотой прямоугольник. Этот процесс можно продолжать до бесконечности. А если провести диагонали первого и второго прямоугольников, то точка их пересечения будет принадлежать всем получаемым золотым прямоугольникам.
Есть и золотой треугольник (равнобедренный треугольник, у которого отношение длины боковой стороны к длине основания равняется 1,618), и золотой кубоид (прямоугольный параллелепипед с ребрами, имеющими длины 1,618, 1 и 0,618).
Принцип «золотого сечения» был открыт людьми еще в глубокой древности. Знаменитые египетские пирамиды в Гизе, например, основаны на пропорциях «золотого сечения». Более молодые мексиканские пирамиды и антич-
210
211
Практика
ный храм Парфенон также содержат в себе пропорцию 1,618 (рис. 1.5, а).
«Золотое сечение» не является искусственным явлением. Оно очень широко распространено в природе: «олотое сечение» можно найти в пропорциях тел многих растений и животных, а также морских раковин и птичьих яиц. Но наиболее впечатляющий пример «применения» природой принципа «золотого сечения» — человеческое
Рис. 1.5 а. Примеры естественного и искусственного использования«золотого сечения»1
1 ВолошиновА.В. Математика и искусство. — М.: Просвещение, 1992.
тело (рис. 1.5, б). Оно целиком и его части (лицо, руки, кисти рук и т. п.) насквозь пронизаны пропорцией 1,618.
С
рис.
1.5.б. Примеры естественного
и искусственного
использования«золотого
сечения»
Задание 1.2
-
Разработать основную метафору для программного продукта. *
-
Создать окно-заставку, реализующее эффект «Лас-Вегаса» по следующим правилам:
-
один из размеров окна-заставки должен составлять Уз часть от соответствующего размера экрана независимо от его разрешения;
-
геометрические размеры окна должны выдерживать соотношение «золотого сечения»;
-
в окне должны быть отражены сведения: название программы, основная метафора, данные об авторе и руководителе проекта, период создания, рекви-
212
213
Человеко-машинное взЗЛмвдейегвие: теория и практика
зиты организации и подразделения, версия программного продукта; ♦ время отражения на экране должно определяться временем загрузки основного окна приложения. 3. Выполнить сопровождение окна звуковыми и.анима-ционными эффектами1.
Контрольные вопросы к практической работе
-
Определите понятие «интерфейс».
-
Поясните, почему необходимо привлекать внимание пользователя при работе с пользовательским интерфейсом.
-
Приведите системы поисковых7систем, которые можно использовать при проверке имени программного продукта на уникальность.
-
Выполните обоснование проверки имени программы на уникальность.
-
Приведите примеры использования «золотого сечения» в окружающем мире, искусстве и программировании.
-
Приведите примеры программных продуктов, которые используют эффект «Лас-Вегаса». Какие эффекты используют эти программные продукты?
-
Определите понятие «модель пользователя».
-
Определите понятие «восприятие».
-
Как связано восприятие с моделью пользователя?
-
Определите элементы качества интерфейса.
Задание является необязательным и выполняется по желанию студента. Оценивается дополнительными баллами.
Практическое запетое № 2
ОРГАНИЗАЦИЯ СТРУКТУРЫ И СЦЕНАРИЯ ДИАЛОГА В ПРОГРАММНОМ ПРОДУКТЕ
Информация
Проводившиеся в свое время исследования психологических аспектов общения человека с компьютером показали, что следует всячески стремиться к дегуманизации этого общения, т.е. пользователь не должен воспринимать компьютер как полноценного собеседника. Тем не менее обмен информацией между пользователем и компьютером (точнее, его программным обеспечением) по всем формальным признакам соответствует понятию «диалог» в общепринятом смысле. Даже без помощи толкового словаря можно перечислить основные правила, которые должны соблюдаться, чтобы диалог оказался конструктивным: во-первых, участники диалога должны понимать язык друг друга; во-зторых, они не должны говорить одновременно; в-третьих, очередное высказывание должно учитывать как общий контекст диалога, так и последнюю информацию, полученную от собеседника.
Если собеседники обсуждают вопросы, относящиеся к какой-либо специальной области, они должны придерживаться единой терминологии; если же один из них пытается что-то объяснить другому, ему следует сначала пояснить основные термины и понятия. К этому следует также добавить, что применение дополнительных выразительных средств способствует лучшему взаимопониманию.
Таким образом, при проектировании пользовательского интерфейса необходимо определить:
-
применяемую терминологию;
-
структуру диалога;
215
Человеко-машинное взаимодействие: теория и практика
Практика
-
возможный сценарий развития диалога;
-
содержание управляющих сообщений и данных, которыми могут обмениваться человек и приложение (семантику сообщений);
-
визуальные атрибуты отображаемой информации (синтаксис сообщений).
Задание 2.1
-
Описать цели и задачи создания программного продукта.
-
Выполнить описание основных терминов, используемых в предметной области решаемой задачи и программном продукте с расшифровкой их смыслового обозначения.
Пример описания целей и задач программного продукта «Q&S»
Цель создания программного продукта: автоматизировать процесс оценки изображения серного отпечатка на основе средств вычислительной техники для повышения объективности оценки качества непрерывно-литой заготовки.
Для достижения поставленной цели решаются следующие задачи:
-
выполнить математическую формализацию исходного изображения;
-
выполнить расчет статических характеристик изображения;
-
построить оценочные таблицы для характеристики внутренних дефектов в соответствии со значениями статистических характеристик;
-
графически отобразить результаты оценки для одного изображения и набора изображений;
-
разработать пользовательский интерфейс для реализации поставленных задач.
216
Информация
Выбор структуры диалога — это первый из этапов, который должен быть выполнен при разработке интерфейса. Рассмотренные ниже четыре варианта структуры диалога являются разновидностями структуры типа «вопрос-ответ», но каждая из них имеет свои особенности и наиболее удобна для определенного класса задач.
Диалог типа «вопрос-ответ»
Структура диалога типа «вопрос-ответ» (Q&A) основана на аналогии с обычным интервью. Система берет на себя роль интервьюера и получает информацию от пользователя в виде ответов на вопросы. Это наиболее известная структура диалога; все диалоги, управляемые компьютером, в той или иной степени состоят из вопросов, на которые пользователь отвечает. Однако в структуре Q&A этот процесс выражен явно. В каждой точке диалога система выводит в качестве подсказки один вопрос, на который пользователь дает один ответ. В зависимости от полученного ответа система может решить, какой следующий вопрос задавать. Структура Q&A предоставляет естественный механизм ввода как управляющих сообщений (команд), так и данных. Никаких ограничений на диапазон или тип входных данных, которые могут обрабатываться, не накладывается. Существуют системы, ответы в которых даются на естественном языке, но чаще используются предложения из одного слова с ограниченной грамматикой.
Диалог в виде вопросов и ответов в достаточной степени обеспечивает поддержку пользователя, так как даже краткий наводящий вопрос при разумном построении может быть самопоясняющим. Структура Q&A не гарантирует минимального объема ввода, оцениваемого по количеству нажатий клавиш, однако при подходящем подборе сокращений можно уменьшить любую избыточность. Вместе с тем структура Q&A обладает одним существенным недостатком. Даже если ввод происходит достаточно бы-
217
Человеко-машинное взаимодействие: теория и практика
Практика
стро, для человека, который уже знает, какие вопросы задает система и какие ответы нужно на них давать, отвечать на всю серию вопросов довольно утомительно.
С появлением графического интерфейса структура Q&A несколько устарела, тем не менее у нее имеются определенные достоинства. Эта структура может удовлетворить требования различных пользователей и типов данных. В частности, такая структура особенно уместна при реализации диалога с множеством «ответвлений», т.е. в тех случаях, когда на каждый вопрос предусматривается большое число ответов, каждый из которых влияет на то, какой вопрос будет задан следующим.
Диалог на основе меню
Меню является, пожалуй, наиболее популярным вариантом организации запросов на ввод данных во время диалога, управляемого компьютером.
Существует несколько основных форматов представления меню на экране:
-
список объектов, выбираемых прямым указанием . либо указанием номера (или мнемонического кода);
-
меню в виде строки данных;
-
меню в виде блока данных;
-
меню в виде пиктограмм.
Меню в виде строки данных может появляться вверху или внизу экрана и часто остается в этой позиции на протяжении всего диалога. Таким образом, посредством меню удобно отображать возможные варианты данных для ввода, доступных в любое время работы с системой. Если в системе имеется достаточно большое разнообразие вариантов действий, организуется иерархическая структура из соответствующих меню.
Дополнительные меню в виде блоков данных «всплывают» на экране в позиции, определяемой текущим положением указателя, либо «выпадают» непосредственно из строки «Меню» верхнего уровня. Эти меню исчезают после выбора варианта.
Меню в виде пиктограмм представляет собой множество объектов выбора, разбросанных по всему экрану; часто объекты выбора содержат графическое представление вариантов работы.
Пользователь диалогового меню может выбрать нужный пункт, вводя текстовую строку, которая идентифицирует этот пункт, указывая на него непосредственно или просматривая список и выбирая из него. Система может выводить пункты меню последовательно, при этом пользователь выбирает нужный ему пункт нажатием клавиши.
Меню можно с равным успехом применять для ввода как управляющих сообщений, так и данных. Приемлемая структура меню зависит от его размера и организации, от способа выбора пунктов меню и реальной потребности пользователя в поддержке со стороны меню.
Диалог на основе экранных форм
Как структура типа «вопрос-ответ», так и структура типа «меню» предполагают обработку на каждом шаге диалога единственного ответа. Диалог на основе экранных форм допускает обработку на одном шаге диалога нескольких ответов. На практике формы используются в основном там, где учет какой-либо деятельности требует ввода достаточно стандартного набора данных. Человек, заполняющий форму, может выбирать последовательность ответов, временно пропускать некоторый вопрос, возвращаться назад для коррекции предыдущего ответа и даже «порвать бланк» и начать заполнять новый. Он работает с формой до тех пор, пока не заполнит ее полностью и не передаст системе. Программная система может проверять каждый ответ непосредственно после звода или выждать и вывести список ошибок только после заполнения формы целиком. В некоторых системах информация, вводимая пользователем, становится доступной только после нажатия клавиши «Ввод» по окончании заполнения формы. Вопрос о том, надо ли проверять ответ непосредственно или отложить проверку до окончания ввода всех ответов, решить
218
219
Человеко-машинное взаимодействие: теория и практика
Практика
хорошей поддержкой пользователя и пригодна в основном для подготовленных специалистов. Перед использованием такой системы необходимо пройти курс обучения и в дальнейшем изучать особенности работы по документации, а не на практике. Более того, поскольку системе неизвестно, что намеревается делать пользователь, трудно предложить какую-либо реальную помощь в процессе работы, кроме выдачи справок достаточно общего характера.
Диалог должен управлять данными. В интерфейсах на основе языков команд это обычно достигается с помощью составных командных строк, где ключевое слово для обозначения команды (что делать) предшествует списку параметров (входным данным). Параметры в списке можно задавать в одной из двух форм — в позиционной или ключевой. В первом случае назначение параметра определяется по его месту в командной строке. В случае ключевых параметров каждое значение предваряется определенным идентификатором, который определяет его назначение.
Позиционные параметры уменьшают объем вводимой информации, но их существенным недостатком является то, что вводимые значения должны указываться в строго определенном порядке, нарушение которого плохо диагностируется системой и может повлечь серьезные последствия. Задание позиционных параметров осложняется, если их список достаточно велик. Этот недостаток стремятся компенсировать, разрешая опускать неизменяемые параметры, вводя два разделителя друг за другом.
Ключевые параметры уменьшают нагрузку на память пользователя в том отношении, что отпадает необходимость в запоминании порядка их следования; кроме того, можно опускать необязательные параметры. С другой стороны, в этом случае пользователю необходимо запомнить множество ключевых слов, а разработчику — подобрать для них «осмысленные» имена. Этот подход также требует большего времени работы системы, чтобы распознать ключевые слова, заданные в произвольном порядке.
Многие командные языки поддерживают макросы, которые расширяют функциональные возможности диалога
без увеличения количества команд. Макрос содержит несколько отдельных командных строк. При обращении к нему в процессе диалога отдельные строки команд макроса выполняются одна за другой, как если бы они вводились с клавиатуры. Это существенно сокращает диалоговые сеансы, содержащие часто повторяющиеся последовательности команд, которые, собственно, и оформляются в виде макросов.
Структура на основе языка команд по своим возможностям самая быстрая и гибкая из всех структур диалога. Большинство пользовательских интерфейсов на базе «естественного» языка реализуется с помощью языков команд с очень большим набором ключевых слов. Подготовленный пользователь испытывает удовольствие от ощущения того, что он управляет системой, а не наоборот. Однако эта структура не обеспечивает пользователя поддержкой, поэтому даже подготовленные пользователи считают, что очень сложно использовать все заложенные в ней возможности. Большинство же пользователей хорошо знакомы только с весьма ограниченным набором средств, с которым они работают регулярно.
Выбор формы диалога можно представить с помощью «таблицы выбора» (табл. 2.1).
Наряду с указанными в таблице в нее могут быть включены и другие критерии выбора (наличие инструментальных средств разработки интерфейса, характер пользователя, ограничения по имеющимся ресурсам и т.д.).
Выбор наиболее подходящей структуры диалога на основе таблицы выполняется следующим образом.
Закрыть графы «Тип диалога» для выбранного программного продукта.
В графе «Выбор пользователя» пометить критерии, относящиеся к рассматриваемому применению.
Для каждого типа диалога подсчитать число случаев, когда помечены соответствующие пункты и в графе «Выбор пользователя», и в графе «Тип диалога».
Подсчитать число совпадений для каждого типа диалога.
222
223
Человеко-машинное взаимодействие: теория и практика
Практика
Таблица 2.1
Обоснование выбора структуры диалога в зависимости от типа пользователя
Критерий |
Выбор пользователя |
Тип диалога |
|||
Меню |
Q&A |
Язык команд |
Экранные формы |
||
Цель: |
|||||
Запрос |
|
+ |
+ |
+ |
+ |
вычисления |
|
+ |
+ |
+ |
+ |
сложный выбор |
|
|
+ |
+ |
|
ввод данных |
|
|
+ |
+ |
|
ввод большого объема данных |
|
+ |
+ |
+ |
+ |
Тип пользователя |
|||||
программист |
|
|
|
+ |
+ |
непрограммист |
|
|
|
+ |
+ |
с опытом работы |
|
+ |
+ |
* |
* |
без опыта работы |
|
+ |
+ |
|
|
Время обучения |
|||||
Очень малое |
|
+ |
+ |
|
|
Менее 1 дня |
|
+ |
+ |
** |
** |
Более 1 дня |
|
|
|
+ |
+ |
Результат оценки |
|
4 |
5 |
4 |
3 |
224
В табл. 2.1 введены обозначения: + — использование данного типа диалога для данной категории пользователей является хорошо разработанным в условиях данной задачи; * — использование этого типа диалога данной категорией пользователей требует наличия системы помощи; ** — использование средств системы возможно только в ограниченном объеме.
По данным, приведенным в табл. 2.1, можно утверждать, что наиболее оптимальным будет диалог «вопрос-ответ».
Основная ценность таблицы состоит в том, что ее можно использовать как исходный вариант выбора типа диалога либо как средство окончательной проверки соответствия выбранного типа диалога рассматриваемым критериям.
Если предполагается, что одни пункты более важны, чем другие, можно брать их с разными весовыми коэффициентами. Можно также указать, какие пункты должны рассматриваться как выполняемые безусловно; типы диалога, не соответствующие хотя бы одному из таких пунктов, должны немедленно отвергаться, сколько бы очков они ни набрали по остальным пунктам.
Задание 2.2
-
Построить таблицы выбора диалога с учетом выбора пользователя, наличия инструментальных средств разработки и по ограничению ресурсов.
-
Сделать вывод о выборе структуры диалога.
-
Изобразить графически схемы меню, если их использование подтверждается выбором пользователя.
-
Описать панели инструментов, если их использование подтверждается выбором пользователя.
-
Описать назначение команд, если их использование подтверждается выбором пользователя.
-
Выполнить проектирование набора необходимых форм, если их использование подтверждается выбором пользователя.
-
Выполнить программную реализацию диалога программного обеспечения без выполнения основных функций.
8. Зак. 313 225
Человеко-машинное взаимодействие: теория и практика
Практика
Информация
Развитие диалога во времени можно рассматривать как последовательность переходов системы из одного состояния в другое. Очевидно, что ни одно из этих состояний не должно быть «тупиковым», т.е. пользователь должен иметь возможность перейти из любого текущего состояния диалога в требуемое (за один или несколько шагов). Для этого в ходе разработки интерфейса необходимо определить все возможные состояния диалога и пути перехода из одного состояния в другое. Другими словами, необходимо разработать сценарий диалога.
Целями разработки сценария диалога являются:
-
выявление и устранение возможных тупиковых ситуаций в ходе развития диалога;
-
выбор рациональных путей перехода из одного состояния диалога в другое (из текущего в требуемое);
-
выявление неоднозначных ситуаций, требующих оказания дополнительной помощи пользователю.
Сложность разработки сценария определяется в основном двумя факторами: функциональными возможностями создаваемого приложения (т.е. числом и сложностью реализуемых функций обработки информации) и степенью неопределенности возможных действий пользователя.
В свою очередь, степень неопределенности действий пользователя зависит от выбранной структуры диалога. Наибольшей детерминированностью обладает диалог на основе меню, наименьшей — диалог типа «вопрос-ответ», управляемый пользователем.
Из. сказанного сдедует, что сценарий диалога можно упростить, снизив степень неопределенности действий пользователя. Возможными способами решения этой задачи являются:
-
использование смешанной структуры диалога (применение меню с целью «ограничения свободы» пользователя там, где это возможно);
-
применение входного контроля вводимой информации (команд и данных).
Дополнительные возможности по снижению неопределенности действий пользователя предоставляет объектно-ориентированный подход к разработке интерфейса, при котором для каждого объекта заранее устанавливается перечень свойств и допустимых операций. Наиболее эффективен такой подход при создании графического интерфейса.
Сокращая число возможных состояний диалога, разработчик вместе с тем должен помнить о необходимости отражения в его сценарии работы средств поддержки пользователя, что, несомненно, делает сценарий более сложным.
Способ описания сценария диалога зависит от степени его сложности. Существующие методы описания сценариев можно разделить на две большие группы: неформальные и формальные методы.
Главное достоинство формальных методов состоит в том, что они позволяют автоматизировать как проектирование диалога, так и его модификацию (адаптацию) в соответствии с характеристиками пользователя.
В настоящее время наиболее широко используются формальные методы описания сценариев на основе сетей Петри и их расширений, а также на основе систем представления знаний (фреймовые модели и продукционные системы).
Независимо от способа описания сценария его основной структурной единицей является шаг диалога, соответствующий одному акту взаимодействия пользователя с системой. Схематично шаг диалога можно представить так, как показано на рис. 2.1.
Сценарий диалога позволяет описать процесс взаимодействия пользователя с приложением на уровне решаемой им прикладной задачи. Для программной реализации интерфейса такое описание носит слишком общий характер. Потому на этапе реализации необходимо перейти на уровень описания соответствующих процессов с помощью используемых инструментальных средств разработки приложения. При разработке шага диалога указываются непосредственно участники и содержание сообщений.
226
8*
227
Человеко-машинное взаимодействие: теория и практика
Практика
Подготовка сообщения |
|
Выдача сообщения |
||
участником 1 |
|
участником 1 |
||
|
|
|
||
Выдача сообщения участником 1 |
|
Подготовка сообщения участником 2 |
||
|
|
|
||
i |
|
|
|
|
Рис. 2.1. Схема одного шага диалога
Задание
-
Описать возможные тупиковые ситуации, которые могут возникнуть при диалоге.
-
Описать средства контроля при вводе данных.
-
Составить схему сценария диалога для пяти первых шагов.
-
Выполнить программную реализацию этого сценария для пяти шагов.
Пример построения сценария диалога для программного продукта «Q&S»
Будем считать, что в ходе разработки элементов интерфейса и выбора формы диалога было разработано диалоговое окно, вид которого представлен на рис. 2.2.
Построим схему диалога для оцифровки изображения с учетом того, что файл с изображением уже открыт для работы в программном продукте (ПП) (рис. 2.3).
Пользователь обращается к пункту меню «Математическое описание» |
|
ПП открывает пункт «Математическое описание» |
|
ПП выполняет алгоритмы оцифровки- |
|
ПП активизирует пункт «Оцифровка изображения» |
|
ПП
активизирует
пункты
меню
«Расче
оценок»
и
«Сохранение
матрицы»
Рис. 2.3. Схема сценария для оцифровки изображения
Каждый шаг предлагаемого сценария может быть уточнен по шагам используемых алгоритмов.
Контрольные вопросы к практической работе
-
Поясните, для чего необходимо описать терминологию предметной области, используемой в программном продукте.
-
Перечислите формы диалога, которые реализуются при создании программного продукта.
-
Перечислите форматы представления меню на экране.
-
В чем особенности использования диалога на основе «экранных форм»?
228
229
Человеко-машинное взаимодействие: теория и практика
-
В каких случаях используют диалог на основе командного языка.
-
Определите назначение позиционных параметров.
-
Перечислите назначение ключевых параметров.
-
Какие существуют способы обоснования выбора структуры диалога программного продукта.
-
Перечислите цели разработки сценария диалога.
-
Перечислите методы описания сценариев.
-
Определите понятие «шаг диалога».
-
Сколько шагов диалога может быть построено в программном продукте по выбранной теме?
-
Какие способы контроля выбираются при вводе исходных данных?
Практическое занятие № 3
ОРГАНИЗАЦИЯ СЦЕНАРИЯ РАБОТЫ ДНЯ AFEHTA-ПОМВЩНИКА В ПРОГРАММНОМ ПРОДУКТЕ
И ЕГО РЕАЛИЗАЦИЯ
Информация
Одним из применений технологии компьютерного видения в настоящее время стала организация интеллектуальных помощников.
Прежде чем погружаться в изучение Microsoft Agent, давайте оглянемся в прошлое и вспомним, как все начиналось.
Часто, рассказывая о каком-либо программном продукте, мы говорим: «Программа обладает дружественным, интуитивно понятным интерфейсом». Но так ли это на самом деле? Люди, впервые начинающие работать за компьютером, испытывают определенный страх перед незнакомой машиной. Большое количество кнопок, полос прокруток, меню и других элементов управления ставят новичка в тупик. И вот группе разработчиков корпорации Microsoft пришло в голову, что пользователю будет гораздо легче общаться с анимированным персонажем.
В прошлом веке (а именно, в 1992 г.) исследовательская лаборатория Microsoft Research (http://research.microsoft. com) приступила к работе над проектом Persona. Целью данного проекта было создание специального пользовательского интерфейса, использующего голосовые команды и имеющего особый социальный аспект применения. Исследования показали, что многие люди испытывают определенные неудобства при работе с компьютером. В ка-
231
Человеко-машинное взаимодействие: теория и практика
Практика
честве пути преодоления страха перед машиной была предложена концепция общения с компьютером через посредника-помощника, представленного в виде «одушевленного» персонажа. Предполагалось, что пользователю гораздо удобнее разговаривать с машиной с помощью такого ассистента, отвечая на его вопросы и задавая свои. Таким образом, общение с компьютером превращалось в некую интерактивную игру. Проект Persona базировался на разработках, связанных с распознаванием речи и компьютерной анимацией. Этот проект не получил широкого распространения.
Следующий шаг корпорация Microsoft сделала в 1995 г., выпустив продукт Microsoft Bob. В нем был реализован набор программ, в котором использовался анимированный персонаж в образе «гида». Гид с помощью специальных окон, содержащих вопросы и кнопки управления, позволял выполнять различные операции в зависимости от выбора пользователя. Данный проект также не прижился в Windows.
Но наработки, появившиеся в проектах Persona и Microsoft Bob, послужили базой для нового проекта Microsoft Agent, а также легли в основу пакета Office Assistent в Office 97.
28 октября 1996 г. Microsoft объявила о выходе бета-версии Microsoft Agent. А уже через год^8 сентября 1997 г., вышел первый официальный релиз Microsoft Agent 1.5.
Данная технология успешно развивалась. И если версия MS Agent 1.5 распространялась как отдельный продукт, который можно было бесплатно скачать с сайта Microsoft, то, начиная уже с Windows ME/2000, MS Agent версии 2.0 была интегрирована в систему, став ее неотъемлемой частью. Также эта технология была внедрена в последние версии Microsoft Office.
Несмотря на ее короткую историю, технологию MS Agent безусловно ждет дальнейшее развитие. Корпорация Microsoft неоднократно использовала данную технологию на различных презентациях своих новых продуктов. Кроме того, в ее развитии принимают участие и другие уча-
стники компьютерного рынка. Выпускаются, например, собственные разработки отдельных компонентов MS Agent от сторонних производителей.
Не секрет, что как в Интернете, так и в интрасетях объем информации, мгновенно доставляемой пользователям компьютеров, рос с неимоверной скоростью. В результате информационного бума возник интерес к интеллектуальным агентам (intelligent agents), программным помощникам, выполняющим такие задачи, как извлечение и доставка информации и автоматизация повторяющихся операций. Уже около 50 компаний занимаются разработкой программных агентов или служб, таких как Firefly (www.firefly.net) и WiseWire (www.wisewire.com). По данным исследований, проведенных организацией GiGa Information Group, к 2000 г. интеллектуальные агенты будут иметь самые разнообразные применения, в том числе в пользовательских интерфейсах, настольных пакетах, системах обмена сообщениями, программах, предназначенных для сфер коммерции и сетевого управления.
Агенты существенно упростят вычисления. Они вполне справятся с функциями Web-браузеров, «справочных бюро» и помощников в приобретении товаров. Например, Web Browser Intelligence (Webby) фирмы IBM — прототип программы, отслеживающей операции, совершаемые пользователем браузера, и регистрирующей частоту посещения узлов, чтобы затем автоматически загружать «любимые» ее владельцем страницы. Более совершенные агенты, такие как Gingko фирмы IBM, построенный на базе Java, могут «изучать» предпочтения пользователя и прогнозировать его поведение.
Интеллектуальные агенты в сочетании со средствами видения и слуха еще на шаг приблизят поведение персональных компьютеров к человеческому. Это не случайность. Исследователи давно заметили, что владельцы персональных компьютеров склонны относиться к ним как к людям. Видимо, обращаясь с ними, как с себе подобными, пользователи надеются, что они станут проще в эксплуатации.
232
233
Человеко-машинное взаимодействие: теория и практика
Практика
Именно такой подход лежит в основе Persona, исследовательского проекта, касающегося GUI, над которым работает группа User Interface Research фирмы Microsoft. С помощью речевого процессора Whisper, разработанного специалистами Microsoft, и технологии распознавания естественного языка группа создала словно живого компьютерного помощника — анимированного 3D-nonyran по имени Пиди, способного взаимодействовать с пользователем в разговорной манере. Прибегнув к его услугам, можно отыскать конкретные музыкальные компакт-диски и дать указание воспроизвести их. Для выполнения более сложных вычислительных функций «живым» персонажам необходимы более совершенные средства распознавания речи, гибкие средства естественного языка и улучшенные возможности синтеза речи.
Задание 3.1
-
Привести примеры программных продуктов, имеющих агентов-помощников (минимум два программных продукта).
-
Описать три состояния помощника-агента для одного из программных продуктов.
-
Разработать эскиз для внешнего вида агента-помощника для создаваемого программного продукта.
-
Разработать три сценария поведения агента-помощника.
-
Выполнить реализацию одного из сценариев агента-помощника.
Указания к выполнению
Состояния агента помощника могут быть описаны следующим способом (табл. 3.1).
Сценарий поведения помощника может быть представлен в схематическом виде (рис. 3.1).
Таблица 3.1 Возможные состояния агента помощника в MS Word
Название состояния |
Вид помощника |
Дополнительные эффекты |
Состояние активного наблюдения за действиями пользователя |
|
Анимационное изменение формы и положения хвоста: вниз к лапам, помахивание и сворачивание в спираль |
Состояние предупреждения при возможном выполнении неправильного действия пользователем |
|
Звуковое сопровождение: мяуканье |
Состояние предупреждения пользователю на сложность сложившегося состояния в приложении |
|
Звуковое сопровождение: царапанье поверхности и мурлыканье |
Состояние приветствия пользователя при правильно выбранном действии в сложной ситуации |
|
Анимационное сопровождение: зажигание лампочки; и звуковое сопровождение: мяуканье |
Состояние сна при бездействии пользователя в пределах окна программного продукта в течение 10 минут |
|
Анимационных и звуковых сопровождений нет |
234
235
Человеко-машинное взаимодействие: теория и практика
Практика
Дополнительное задание
-
Выполнить программную реализацию для настроек параметров агента-помощника.
-
Выполнить сопровождение реакции помощника звуковыми сигналами, желательно реального мира.
Контрольные вопросы к практическому занятию
-
Перечислите области применения агентов-помощников.
-
Перечислите примеры использования агентов-помощников в программном продукте.
-
Насколько рациональной, по вашему мнению, является разработка агента-помощника в условиях выбранного программного продукта?
-
Какие средства разработки вы использовали при разработке агента-помощника?
236
237
Практическое занятие № 4
КВАНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
Информация
Существует множество методов количественного анализа интерфейса. В этой работе предлагается выполнить квантификацию интерфейса на основе модели GOMS, разработанной Кардом, Морахоном и Ньюэллом, законов Хика и Фитса.