ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 20.11.2019
Просмотров: 9453
Скачиваний: 184

Следует
также
учитывать
,
что
полное
соответствие
может
обмануть
ожидание
пользователя
,
так
как
все
-
таки
он
оперирует
не
реальными
предметами
,
а
их
моделями
.
А
значит
,
его
возможности
ограничены
,
о
чем
необходимо
напоминать
.
Поэтому
целесообразно
не
делать
изображения
слишком
реалистичными
.
Метафоры
и
анимация
.
При
реализации
метафор
все
большая
роль
уделяется
средствам
мультимедиа
,
в
основном
анимации
.
В
§ 8.2
уже
упоминалось
,
что
движение
привлекает
внимание
,
а
резкая
смена
кадров
требует
некоторого
времени
на
определения
связи
данного
кадра
с
предыдущим
и
на
изучение
этого
кадра
.
Следовательно
,
используя
мультипликацию
,
можно
не
только
развлекать
пользователя
,
но
и
«
готовить
»
его
к
смене
кадров
,
сокращая
время
,
необходимое
на
адаптацию
к
изменившейся
ситуации
.
Например
,
длинный
список
можно
представить
в
виде
стены
,
уходящей
в
бесконечность
(
по
закону
перспективы
).
Тогда
«
движение
»
вдоль
этой
стены
,
сопровождаемое
«
естественным
»
укрупнением
названий
,
позволит
рассматривать
список
,
отыскивая
необходимую
информацию
без
резкого
изменения
картинки
.
При
этом
в
сознании
человека
сохраняется
идентичность
объектов
,
а
потому
он
постоянно
готов
к
взаимодействию
с
ними
.
Однако
,
решая
проблемы
,
связанные
с
особенностями
восприятия
человека
,
анимационные
интерфейсы
создают
дополнительные
проблемы
для
разработчиков
и
программистов
.
К
ставшим
привычными
функциональному
и
интерфейсному
уровням
программы
добавляется
еще
и
визуальный
уровень
.
Программа
,
реализующая
такой
интерфейс
,
никогда
не
простаивает
,
так
как
во
время
ожидания
ввода
команды
пользователя
она
продолжает
отображать
соответствующие
кадры
.
В
основе
таких
программ
лежит
временное
программирование
.
В
отличие
от
событийного
программирования
,
которое
позволяет
связывать
изображение
на
экране
с
внешними
и
внутренними
событиями
в
системе
,
временное
программирование
обеспечивает
изменение
проецируемой
последовательности
кадров
в
зависимости
от
состояния
моделируемых
процессов
и
действий
пользователя
.
Объекты
интерфейса
прямого
манипулирования
и
их
представления
.
Существует
три
основных
типа
объектов
интерфейсов
прямого
манипулирования
:
объекты
-
данные
,
объекты
-
контейнеры
и
объекты
-
устройства
.
Объекты
-
данные
снабжают
пользователя
информацией
.
Это
могут
быть
тексты
,
изображения
,
электронные
таблицы
,
музыка
,
видео
и
т
.
п
.,
а
также
любая
их
комбинация
.
В
рамках
операционной
системы
таким
объектам
соответствуют
приложения
,
которые
запускаются
при
раскрытии
объекта
.
В
масштабе
приложения
объекту
соответствует
одна
или
несколько
форм
,
в
которых
содержимое
объекта
представляется
в
разных
видах
.
Операции
с
содержимым
объекта
реализуются
обработчиками
событий
формы
.
Объекты
-
контейнеры
могут
манипулировать
своими
внутренними
объектами
,
в
том
числе
и
другими
контейнерами
,
например
,
копировать
их
или
сортировать
в
любом
порядке
.
К
типичным
контейнерам
относятся
папки
,
корзины
т
.
п
.
При
раскрытии
контейнера
демонстрируются
сохраняемые
им
компоненты
,
и
появляется
возможность
ими
манипулировать
.
Компоненты
при
этом
могут
обозначаться
пиктограммами
или
представляться
в
виде
таблицы
.
Объекты
-
устройства
часто
представляют
устройства
,
существующие
в
реальном
мире
:
телефоны
,
факсы
,
принтеры
и
т
.
д
.,
их
используют
для
обозначения
этих
устройств
в
абстрактном
мире
интерфейса
.
При
раскрытии
такого
объекта
,
как
правило
,
можно
увидеть
его
настройки
.
Итак
,
каждому
объекту
соответствует
,
по
крайней
мере
,
одно
окно
.
В
исходном
состоянии
это
окно
представлено
пиктограммой
,
но
при
необходимости
его
можно
раскрыть
и
выполнить
требуемые
операции
,
например
настройки
объекта
.
Окно
объекта
в
раскрытом
состоянии
может
содержать
меню
и
панели
инструментов
.
Пиктограмме
же
должно
соответствовать
контекстное
меню
,
содержащее
перечень
операций
над
объектом
.
Имя
пиктограммы
формируют
по
-
своему
для
каждого
типа
объектов
.
Так
пиктограммам
объектов
-
данных
присваивают
имена
,
соответствующие
именам
хранимых
данных
,
а
тип
данных
кодируется
самой
пиктограммой
.
Имя
пиктограммы
-
контейнера
или
пиктограммы
устройства
обозначает
сам
объект
,
а
потому
не
зависит
от
содержимого
.

Следует
иметь
в
виду
,
что
различие
между
типами
объектов
является
условным
,
так
как
один
и
тот
же
объект
в
разных
ситуациях
может
вести
себя
то
,
как
объект
-
данные
,
то
,
как
объект
-
устройство
,
то
,
как
объект
-
контейнер
.
Например
,
принтер
обычно
рассматривают
как
объект
-
устройство
,
но
он
может
обладать
и
свойствами
объекта
-
контейнера
,
так
как
может
содержать
объекты
-
данные
в
очереди
на
печать
.
Соответственно
в
Windows
объект
контейнер
/
устройство
Принтер
имеет
,
помимо
пиктограммы
(
рис
. 8.22,
о
),
еще
два
представления
:
окно
очереди
на
печать
(
рис
. 8.22,
б
)
и
окно
настроек
(
рис
. 822,
в
).
Имя
представления
в
этом
случае
целесообразно
указывать
в
заголовке
окна
объекта
.
Технология
Drag and Drop.
Технология
Drag and Drop («
перетащил
и
бросил
»)
определяет
основные
принципы
прямого
манипулирования
,
описанные
в
руководстве
по
разработке
пользовательских
интерфейсов
фирмы
IBM (CUA - Common User Access):
•
результат
перемещения
объекта
должен
соответствовать
ожиданиям
пользователя
;
•
пользователи
не
должны
неожиданно
терять
информацию
;
•
пользователь
должен
иметь
возможность
отменить
неправильное
действие
.
Эта
технология
также
определяет
основные
принципы
визуализации
операции
прямого
манипулирования
:
•
исходное
выделение
-
используется
в
качестве
обратной
связи
пользователю
,
чтобы
сообщить
ему
,
что
объект
захвачен
,
в
Windows
с
этой
целью
используется
выделение
цветом
;
•
визуализация
перемещения
-
используется
для
идентификации
выполняемого
действия
;
•
целевое
выделение
-
используется
для
идентификации
пункта
назначения
,
показывая
,
таким
образом
,
куда
«
упадет
»
объект
,
если
его
отпустить
в
текущий
момент
времени
;

•
визуализация
действия
-
используется
для
обозначения
времени
ожидания
завершения
операции
,
обычно
с
этой
целью
применяют
анимацию
или
изменение
формы
курсора
на
«
песочные
часы
».
Следует
также
иметь
в
виду
,
что
существует
два
вида
пунктов
назначения
:
один
принимает
объект
,
а
другой
его
копию
.
Например
,
если
пользователь
«
бросает
»
документ
в
«
корзину
»,
то
уничтожается
сам
документ
,
который
при
этом
удаляется
с
экрана
.
А
если
тот
же
документ
он
«
бросает
»
на
«
принтер
»,
то
документ
не
пропадает
:
на
принтер
передается
копия
документа
.
В
Windows
соответствующие
действия
идентифицируется
появлением
символа
копирования
«+»
около
пиктограммы
документа
в
тот
момент
,
когда
он
перемещается
над
пиктограммой
устройства
,
на
которое
передается
копия
документа
.
Если
для
некоторого
устройства
возможны
оба
вида
действий
,
то
следует
предусмотреть
возможность
уточнения
вида
действия
.
Так
Windows
в
этом
случае
осуществляет
копирование
при
нажатой
клавише
CTRL
и
перемещение
в
противном
случае
.
Проектирование
интерфейсов
прямого
манипулирования
.
Проектирование
интерфейсов
прямого
манипулирования
выполняется
на
основе
графов
диалога
,
разработанных
для
конкретного
программного
обеспечения
,
и
включает
следующие
процедуры
:
•
формирование
множества
объектов
предметной
области
,
которое
должно
быть
представлено
на
экране
,
причем
в
качестве
основы
в
этом
случае
используют
не
варианты
использования
,
а
концептуальную
модель
предметной
области
;
•
анализ
объектов
,
определение
их
типов
я
представлений
,
а
также
перечня
операций
с
этими
объектами
;
•
уточнение
взаимодействия
объектов
и
построение
матрицы
прямого
манипулирования
;
•
определение
визуальных
представлений
объектов
;
•
разработка
меню
окон
объектов
и
контекстных
меню
;
•
создание
прототипа
интерфейса
;
•
тестирование
на
удобство
использования
.
Пример
8.6.
Разработать
пользовательский
интерфейс
прямого
манипулирования
для
системы
решения
комбинаторно
-
оптимизационных
задач
.
Поскольку
единственно
напрашивающаяся
аналогия
-
это
выполнение
операций
вручную
,
интерфейс
строим
,
используя
метафору
«
рабочий
стол
».
Множество
объектов
-
кандидатов
формируем
,
анализируя
концептуальную
модель
предметной
области
(
см
.
рис
. 6.9)
и
варианты
использования
.
Для
каждого
объекта
определяем
тип
и
набор
операций
,
связывающих
эти
объекты
с
остальными
объектами
предметной
области
(
табл
. 8.3).
Основной
объект
проектируемой
системы
-
Протокол
.
Он
будет
объединять
Задание
,
Данные
и
Результаты
.
В
процессе
работы
пользователю
понадобиться
создавать
новые
Протоколы
.
При
этом
целесообразно
,
чтобы
новый
Протокол
уже
содержал
бланк
Задания
.
Данные
разрешим
создавать
отдельно
,
для
чего
предусмотрим
Бланк
Данных
.
После
заполнения
бланка
Данные
можно
будет
включить
в
Протокол
,
сохранить
в
Списке
данных
,
распечатать
или
выбросить
.
Результаты
будут
добавляться
в
Протокол
после
решения
задачи
,
т
.
е
.
выполнения
Задания
.
Предусмотрим
возможность
сохранения
Протокола
в
Списке
протоколов
на
любом
шаге
заполнения
,
печати
и
удаления
его
со
стола
и
из
Списка
протоколов
.
К
множеству
объектов
системы
,
помимо
указанных
выше
,
добавлены
объекты
-
устройства
:
Компьютер
,
Принтер
,
Корзина
,
необходимые
для
отображения
операций
Выполнить
,
Распечатать
,
Удалить
.
Далее
строим
матрицу
(
таблицу
)
взаимодействия
объектов
.
В
этой
таблице
по
вертикали
располагаем
объекты
,
которые
согласно
метафоре
можно
перемещать
(
исходные
),
а
по
горизонтали
-
объекты
,
которые
могут
служить
конечными
пунктами
перемещения
(
конечные
).
В
самой
таблице
фиксируем
действия
,
которым
будет
соответствовать
операция
перемещения
начального
объекта
на
конечный
.

Таблица
8.3
Объект
Тип
Действия
,
связанные
с
другими
объектами
Примечание
Протокол
Список
протоколов
Задание
Данные
Список
данных
Результаты
Бланк
протокола
Бланк
данных
Компьютер
Принтер
Корзина
Контейнер
Контейнер
Данные
Данные
Контейнер
Данные
Данные
Данные
Устройство
Устройство
Устройство
Сохранить
,
удалить
,
распечатать
Очистить
Выполнить
Связать
с
протоколом
,
сохранить
,
удалить
,
распечатать
Очистить
-
-
-
-
-
-
Включает
Задание
,
Данные
и
после
решения
задачи
–
Результаты
-
Бланк
задания
входит
в
бланк
протокола
-
-
Если
получены
,
то
связаны
с
Заданием
и
Данными
,
т
.
е
.
Находятся
в
Протоколе
Бланк
протокола
содержит
бланк
задания
-
-
-
-
Для
рассматриваемого
примера
исходными
объектами
являются
Протокол
,
Список
протоколов
,
Задание
,
Данные
,
Список
протоколов
,
Бланк
задания
и
Бланк
данных
(
табл
. 8.4).
Их
можно
перемещать
на
объекты
-
контейнеры
:
Протокол
,
Список
протоколов
,
Список
данных
,
а
также
объекты
устройства
:
Компьютер
,
Принтер
,
Корзина
и
Рабочий
стол
.
Далее
анализируем
вза
-
имодействие
объектов
в
соответствии
с
принятой
метафорой
.
Так
,
если
объект
Протокол
перенести
на
объект
Список
протоколов
,
то
по
смыслу
это
можно
интерпретировать
как
желание
пользователя
добавить
Протокол
в
список
.
Аналогично
заполняем
всю
таблицу
,
которая
затем
будет
использоваться
при
программировании
соответствующих
событий
.
На
рис
. 8.23
представлен
внешний
вид
интерфейса
системы
. (
В
качестве
пиктограмм
объектов
использованы
стандартные
пиктограммы
Windows.)
После
этого
необходимо
разработать
представление
окон
объектов
.

Таблица
8.4
Операции
,
выполняемые
при
перемещении
объектов
Конечные
объекты
Исходные
объекты
Протоко
л
Список
протоколо
Список
данных
Компьюте
р
Принтер
Корзина
Рабочий
стол
Протокол
Список
протоколо
в
Задание
Данные
Список
данных
Бланк
протокола
Бланк
данных
-
-
Занести
задание
в
протокол
Занести
данные
в
протокол
-
-
-
Добавить
протокол
в
список
-
-
-
-
-
-
-
-
-
Добавит
ь
данные
в
список
-
-
-
Выполнит
ь
задание
∗
-
-
-
-
-
-
Распечатат
ь
протокол
∗
-
-
-
-
-
-
Удалить
протокол
Удалить
все
протокол
ы
Удалить
задания
Удалить
данные
Удалить
все
данные
-
-
-
-
-
-
-
Создать
протокол
∗
Создать
данные
∗
*
Операция
выполняется
с
копией
объекта
,
сам
объект
остается
на
своем
месте
.
Пример
8.7.
Разработать
представление
окна
объекта
Протокол
.
Объект
Протокол
является
контейнером
,
который
может
содержать
Задание
,
Данные
и
Результаты
.
В
момент
создания
Протокола
автоматически
формируется
чистый
бланк
Задания
.
На
рис
. 8.24
показано
стандартное
представление
объекта
-
контейнера
,
которое
может
быть
использовано
в
данном
примере
.
Отдельно
изображено
,
как
это
окно
будет
выглядеть
в
разные
моменты
времени
.
Окно
содержит
меню
,
включающие
пункты
:
Данные
,
Правка
,
Вид
и
Помощь
.
Первый
пункт
позволяет
определить
данные
:
Создать
или
Открыть
.
Второй
-
отвечает
за
работу
с
общим
буфером
и
содержит
пункты
Вырезать
,
Копировать
и
Вставить
.
Третий
-
традиционно
управляет
видом
окна
:
Крупные
значки
,
Мелкие
значки
,
Список
и
Таблица
.
Четвертый
-
используют
для
вызова
справки
.
Поскольку
используемая
метафора
рабочего
стола
позволяет
,
необходимо
предусмотреть
возможность
выполнения
стандартных
клавиатурных
команд
с
объектом
Протокол
.
К
ним
относят
операции
Вырезать
(Ctri-X),
Копировать
(Ctrl-C),
Вставить
(Ctrl-V).
После
завершения
проектирования
представлений
всех
объектов
создают
прототип
интерфейса
и
передают
его
на
тестирование
удобства
использования
.