Файл: Иванова Г.С. Технология программирования.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 20.11.2019

Просмотров: 9453

Скачиваний: 184

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Следует

также

учитывать

что

полное

соответствие

может

обмануть

ожидание

пользователя

так

как

все

-

таки

он

оперирует

не

реальными

предметами

а

их

моделями

А

значит

его

возможности

ограничены

о

чем

необходимо

напоминать

Поэтому

целесообразно

не

делать

изображения

слишком

реалистичными

Метафоры

и

анимация

.

При

реализации

метафор

все

большая

роль

уделяется

средствам

мультимедиа

в

основном

анимации

В

 § 8.2 

уже

упоминалось

что

движение

привлекает

внимание

а

резкая

смена

кадров

требует

некоторого

времени

на

определения

связи

данного

кадра

с

предыдущим

и

на

изучение

этого

кадра

Следовательно

используя

мультипликацию

можно

не

только

развлекать

пользователя

но

и

 «

готовить

» 

его

к

смене

кадров

сокращая

время

необходимое

на

адаптацию

к

изменившейся

ситуации

Например

длинный

список

можно

представить

в

виде

стены

уходящей

в

бесконечность

 (

по

закону

перспективы

). 

Тогда

 «

движение

» 

вдоль

этой

стены

сопровождаемое

  «

естественным

» 

укрупнением

названий

позволит

рассматривать

список

отыскивая

необходимую

информацию

без

резкого

изменения

картинки

При

этом

в

сознании

человека

сохраняется

идентичность

объектов

а

потому

он

постоянно

готов

к

взаимодействию

с

ними

Однако

решая

проблемы

связанные

с

особенностями

восприятия

человека

анимационные

интерфейсы

создают

дополнительные

проблемы

для

разработчиков

и

программистов

К

ставшим

привычными

функциональному

и

интерфейсному

уровням

программы

добавляется

еще

и

визуальный

уровень

Программа

реализующая

такой

интерфейс

никогда

не

простаивает

так

как

во

время

ожидания

ввода

команды

пользователя

она

продолжает

отображать

соответствующие

кадры

В

основе

таких

программ

лежит

временное

программирование

В

отличие

от

событийного

программирования

которое

позволяет

связывать

изображение

на

экране

с

внешними

и

внутренними

событиями

в

системе

временное

программирование

обеспечивает

изменение

проецируемой

последовательности

кадров

в

зависимости

от

состояния

моделируемых

процессов

и

действий

пользователя

Объекты

интерфейса

прямого

манипулирования

и

их

представления

.

Существует

три

основных

типа

объектов

интерфейсов

прямого

манипулирования

объекты

-

данные

объекты

-

контейнеры

и

объекты

-

устройства

Объекты

-

данные

снабжают

пользователя

информацией

Это

могут

быть

тексты

изображения

электронные

таблицы

музыка

видео

и

т

п

., 

а

также

любая

их

комбинация

В

рамках

операционной

системы

таким

объектам

соответствуют

приложения

которые

запускаются

при

раскрытии

объекта

В

масштабе

приложения

объекту

соответствует

одна

или

несколько

форм

в

которых

содержимое

объекта

представляется

в

разных

видах

Операции

с

содержимым

объекта

реализуются

обработчиками

событий

формы

Объекты

-

контейнеры

могут

манипулировать

своими

внутренними

объектами

в

том

числе

и

другими

контейнерами

например

копировать

их

или

сортировать

в

любом

порядке

К

типичным

контейнерам

относятся

папки

корзины

т

п

При

раскрытии

контейнера

демонстрируются

сохраняемые

им

компоненты

и

появляется

возможность

ими

манипулировать

Компоненты

при

этом

могут

обозначаться

пиктограммами

или

представляться

в

виде

таблицы

Объекты

-

устройства

часто

представляют

устройства

существующие

в

реальном

мире

телефоны

факсы

принтеры

и

т

д

., 

их

используют

для

обозначения

этих

устройств

в

абстрактном

мире

интерфейса

При

раскрытии

такого

объекта

как

правило

можно

увидеть

его

настройки

Итак

каждому

объекту

соответствует

по

крайней

мере

одно

окно

В

исходном

состоянии

это

окно

представлено

пиктограммой

но

при

необходимости

его

можно

раскрыть

и

выполнить

требуемые

операции

например

настройки

объекта

Окно

объекта

в

раскрытом

состоянии

может

содержать

меню

и

панели

инструментов

Пиктограмме

же

должно

соответствовать

контекстное

меню

содержащее

перечень

операций

над

объектом

Имя

пиктограммы

формируют

по

-

своему

для

каждого

типа

объектов

Так

пиктограммам

объектов

-

данных

присваивают

имена

соответствующие

именам

хранимых

данных

а

тип

данных

кодируется

самой

пиктограммой

Имя

пиктограммы

-

контейнера

или

пиктограммы

устройства

обозначает

сам

объект

а

потому

не

зависит

от

содержимого


background image

Следует

иметь

в

виду

что

различие

между

типами

объектов

является

условным

так

как

один

и

тот

же

объект

в

разных

ситуациях

может

вести

себя

то

как

объект

-

данные

то

как

объект

-

устройство

то

как

объект

-

контейнер

Например

принтер

обычно

рассматривают

как

объект

-

устройство

но

он

может

обладать

и

свойствами

объекта

-

контейнера

так

как

может

содержать

объекты

-

данные

в

очереди

на

печать

Соответственно

в

 Windows 

объект

контейнер

/

устройство

Принтер

имеет

помимо

пиктограммы

  (

рис

. 8.22, 

о

), 

еще

два

представления

окно

очереди

на

печать

 (

рис

. 8.22, 

б

и

окно

настроек

  (

рис

. 822, 

в

). 

Имя

представления

в

этом

случае

целесообразно

указывать

в

заголовке

окна

объекта

.    

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Технология

 Drag and Drop.

Технология

 Drag and Drop («

перетащил

и

бросил

») 

определяет

основные

принципы

прямого

манипулирования

описанные

в

руководстве

по

разработке

пользовательских

интерфейсов

фирмы

 IBM (CUA - Common User Access): 

результат

перемещения

объекта

должен

соответствовать

ожиданиям

пользователя

;  

пользователи

не

должны

неожиданно

терять

информацию

пользователь

должен

иметь

возможность

отменить

неправильное

действие

Эта

технология

также

определяет

основные

принципы

визуализации

операции

прямого

манипулирования

исходное

выделение

 - 

используется

в

качестве

обратной

связи

пользователю

чтобы

сообщить

ему

что

объект

захвачен

в

 Windows 

с

этой

целью

используется

выделение

цветом

визуализация

перемещения

 - 

используется

для

идентификации

выполняемого

действия

целевое

выделение

 - 

используется

для

идентификации

пункта

назначения

показывая

таким

образом

куда

 «

упадет

» 

объект

если

его

отпустить

в

текущий

момент

времени


background image

визуализация

действия

 - 

используется

для

обозначения

времени

ожидания

завершения

операции

обычно

с

этой

целью

применяют

анимацию

или

изменение

формы

курсора

на

 «

песочные

часы

». 

Следует

также

иметь

в

виду

что

существует

два

вида

пунктов

назначения

один

принимает

объект

а

другой

его

копию

Например

если

пользователь

  «

бросает

» 

документ

в

  «

корзину

», 

то

уничтожается

сам

документ

который

при

этом

удаляется

с

экрана

А

если

тот

же

документ

он

«

бросает

» 

на

 «

принтер

», 

то

документ

не

пропадает

на

принтер

передается

копия

документа

В

 Windows 

соответствующие

действия

идентифицируется

появлением

символа

копирования

«+» 

около

пиктограммы

документа

в

тот

момент

когда

он

перемещается

над

пиктограммой

устройства

на

которое

передается

копия

документа

Если

для

некоторого

устройства

возможны

оба

вида

действий

то

следует

предусмотреть

возможность

уточнения

вида

действия

Так

 Windows 

в

этом

случае

осуществляет

копирование

при

нажатой

клавише

 CTRL 

и

перемещение

в

противном

случае

Проектирование

интерфейсов

прямого

манипулирования

.

Проектирование

интерфейсов

прямого

манипулирования

выполняется

на

основе

графов

диалога

разработанных

для

конкретного

программного

обеспечения

и

включает

следующие

процедуры

формирование

множества

объектов

предметной

области

которое

должно

быть

представлено

на

экране

причем

в

качестве

основы

в

этом

случае

используют

не

варианты

использования

а

концептуальную

модель

предметной

области

анализ

объектов

определение

их

типов

я

представлений

а

также

перечня

операций

с

этими

объектами

уточнение

взаимодействия

объектов

и

построение

матрицы

прямого

манипулирования

определение

визуальных

представлений

объектов

разработка

меню

окон

объектов

и

контекстных

меню

создание

прототипа

интерфейса

тестирование

на

удобство

использования

Пример

 8.6.

Разработать

пользовательский

интерфейс

прямого

манипулирования

для

системы

решения

комбинаторно

-

оптимизационных

задач

Поскольку

единственно

напрашивающаяся

аналогия

 - 

это

выполнение

операций

вручную

интерфейс

строим

используя

метафору

 «

рабочий

стол

». 

Множество

объектов

-

кандидатов

формируем

анализируя

концептуальную

модель

предметной

области

  (

см

рис

. 6.9) 

и

варианты

использования

Для

каждого

объекта

определяем

тип

и

набор

операций

связывающих

эти

объекты

с

остальными

объектами

предметной

области

 (

табл

. 8.3). 

Основной

объект

проектируемой

системы

 - 

Протокол

Он

будет

объединять

Задание

Данные

и

Результаты

В

процессе

работы

пользователю

понадобиться

создавать

новые

Протоколы

При

этом

целесообразно

чтобы

новый

Протокол

уже

содержал

бланк

Задания

Данные

разрешим

создавать

отдельно

для

чего

предусмотрим

Бланк

Данных

После

заполнения

бланка

Данные

можно

будет

включить

в

Протокол

сохранить

в

Списке

данных

распечатать

или

выбросить

Результаты

будут

добавляться

в

Протокол

после

решения

задачи

т

е

выполнения

Задания

Предусмотрим

возможность

сохранения

Протокола

в

Списке

протоколов

на

любом

шаге

заполнения

печати

и

удаления

его

со

стола

и

из

Списка

протоколов

К

множеству

объектов

системы

помимо

указанных

выше

добавлены

объекты

-

устройства

Компьютер

Принтер

Корзина

необходимые

для

отображения

операций

Выполнить

Распечатать

Удалить

Далее

строим

матрицу

  (

таблицу

взаимодействия

объектов

В

этой

таблице

по

вертикали

располагаем

объекты

которые

согласно

метафоре

можно

перемещать

 (

исходные

), 

а

по

горизонтали

объекты

которые

могут

служить

конечными

пунктами

перемещения

 (

конечные

). 

В

самой

таблице

фиксируем

действия

которым

будет

соответствовать

операция

перемещения

начального

объекта

на

конечный

 
 
 


background image

Таблица

 8.3 

Объект

Тип

Действия

связанные

с

другими

объектами

Примечание

Протокол

 
 

Список

протоколов

Задание

 
 

Данные

 
 
 

Список

данных

Результаты

 
 
 

Бланк

протокола

Бланк

данных

Компьютер

Принтер

Корзина

Контейнер

 
 

Контейнер

 
 

Данные

 
 

Данные

 
 
 

Контейнер

Данные

 
 
 

Данные

 
 

Данные

Устройство

Устройство

Устройство

Сохранить

удалить

распечатать

Очистить

 
 

Выполнить

 
 

Связать

с

протоколом

сохранить

удалить

распечатать

Очистить

 
 
 

 
 

Включает

Задание

Данные

и

после

решения

задачи

 – 

Результаты

 
 

Бланк

задания

входит

в

бланк

протокола

 
 
 

Если

получены

то

связаны

с

Заданием

и

Данными

т

е

Находятся

в

Протоколе

Бланк

протокола

содержит

бланк

задания

 
 
 

Для

рассматриваемого

примера

исходными

объектами

являются

Протокол

Список

протоколов

Задание

Данные

Список

протоколов

Бланк

задания

и

Бланк

данных

  (

табл

. 8.4). 

Их

можно

перемещать

на

объекты

-

контейнеры

Протокол

Список

протоколов

Список

данных

а

также

объекты

устройства

Компьютер

Принтер

Корзина

и

Рабочий

стол

Далее

анализируем

вза

-

имодействие

объектов

в

соответствии

с

принятой

метафорой

Так

если

объект

Протокол

перенести

на

объект

Список

протоколов

то

по

смыслу

это

можно

интерпретировать

как

желание

пользователя

добавить

Протокол

в

список

Аналогично

заполняем

всю

таблицу

которая

затем

будет

использоваться

при

программировании

соответствующих

событий

На

рис

. 8.23 

представлен

внешний

вид

интерфейса

системы

. (

В

качестве

пиктограмм

объектов

использованы

стандартные

пиктограммы

 Windows.) 

После

этого

необходимо

разработать

представление

окон

объектов

 
 
 


background image

Таблица

 8.4 

Операции

выполняемые

при

перемещении

объектов

Конечные

объекты

Исходные

объекты

Протоко

л

  

Список

протоколо

Список

данных

Компьюте

р

  

Принтер

  

Корзина

  

Рабочий

стол

Протокол

 
 
 

Список

протоколо

в

 
 

Задание

 
 
 

Данные

 
 
 

Список

данных

 
 

Бланк

протокола

Бланк

данных

 
 
 

 
 
 

Занести

задание

в

протокол

Занести

данные

в

протокол

 
 
 

 
 

Добавить

протокол

в

список

 
 
 

 
 
 

 
 
 

 
 
 

 
 

 
 
 

 
 
 

 
 
 

Добавит

ь

данные

в

список

 
 
 

 
 

Выполнит

ь

задание

 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 

Распечатат

ь

протокол

 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 

Удалить

протокол

 
 

Удалить

все

протокол

ы

Удалить

задания

 
 

Удалить

данные

 
 

Удалить

все

данные

 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

Создать

протокол

Создать

данные

Операция

выполняется

с

копией

объекта

сам

объект

остается

на

своем

месте

Пример

 8.7.

Разработать

представление

окна

объекта

Протокол

Объект

Протокол

является

контейнером

который

может

содержать

Задание

Данные

и

Результаты

В

момент

создания

Протокола

автоматически

формируется

чистый

бланк

Задания

На

рис

. 8.24 

показано

стандартное

представление

объекта

-

контейнера

которое

может

быть

использовано

в

данном

примере

Отдельно

изображено

как

это

окно

будет

выглядеть

в

разные

моменты

времени

Окно

содержит

меню

включающие

пункты

Данные

Правка

Вид

и

Помощь

Первый

пункт

позволяет

определить

данные

Создать

или

Открыть

Второй

 - 

отвечает

за

работу

с

общим

буфером

и

содержит

пункты

Вырезать

Копировать

и

Вставить

Третий

 - 

традиционно

управляет

видом

окна

Крупные

значки

Мелкие

значки

Список

и

Таблица

Четвертый

 - 

используют

для

вызова

справки

Поскольку

используемая

метафора

рабочего

стола

позволяет

необходимо

предусмотреть

возможность

выполнения

стандартных

клавиатурных

команд

с

объектом

Протокол

К

ним

относят

операции

Вырезать

 (Ctri-X), 

Копировать

 (Ctrl-C), 

Вставить

 (Ctrl-V). 

После

завершения

проектирования

представлений

всех

объектов

создают

прототип

интерфейса

и

передают

его

на

тестирование

удобства

использования