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


8.8.
Интеллектуальные
элементы
пользовательских
интерфейсов
В
последние
годы
появилось
много
новых
перспективных
элементов
пользовательских
интерфейсов
,
в
основном
привносящих
в
интерфейс
элементы
искусственного
интеллекта
,
что
проявляется
в
их
названиях
:
Мастер
,
Советчик
,
Агент
.
Сделано
множество
попыток
создания
социализированного
пользовательского
интерфейса
.
В
основе
такого
интерфейса
лежит
идея
создания
персонифицированного
,
т
.
е
. «
имеющего
личность
»,
интерфейса
.
Развлекающие
программы
,
такие
как
Cats (
Кошки
)
и
Dogs (
Собаки
),
реализующие
достаточно
сложное
поведение
домашних
животных
в
разных
ситуациях
,
показывают
,
что
технически
это
вполне
решаемая
задача
.
Однако
в
этой
области
существуют
психологические
проблемы
.
В
качестве
примера
вспомним
,
что
даже
«
безобидный
»
Советчик
Microsoft Office,
рассмотренный
ниже
,
вызывает
у
многих
пользователей
резко
отрицательную
реакцию
.
Пока
попытки
создания
такой
«
личности
»
успеха
не
имели
.
Советчики
.
Советчики
представляют
собой
форму
подсказки
.
Обычно
их
можно
вызвать
с
помощью
меню
справки
,
командной
строки
окна
или
из
всплывающего
меню
.
Советчики
помогают
пользователям
в
выполнении
конкретных
задач
,
но
только
,
если
пользователь
представляет
,
что
ему
нужно
сделать
.
Например
,
пользователь
,
работающий
в
Microsoft Word,
собирается
вставить
в
документ
рисунок
,
но
не
знает
как
.
Он
активизирует
Помощника
-
Скрепку
и
вводит
вопрос
в
специальное
поле
(
рис
. 8.25,
а
).
Справочная
система
анализирует
вопрос
и
формирует
список
тем
,
косвенно
связанных
с
интересующей
пользователя
,
в
расчете
,
что
пользователь
сам
выберет
нужную
справку
(
рис
. 8.25,
б
).
Мастера
.
Программу
-
мастер
используют
для
выполнения
общераспространенных
,
но
редко
выполняемых
отдельным
пользователем
задач
,
таких
,
как
установка
программ
или
оборудования
.
Выполнение
подобных
действий
требует
от
пользователя
принятия
сложных
взаимосвязанных

решений
,
последовательность
которых
и
диктует
программа
-
мастер
.
Интеллектуальные
Мастера
способны
на
каждом
шаге
демонстрировать
в
окне
просмотра
результаты
ответов
пользователя
на
предыдущие
вопросы
,
помогая
последнему
сориентироваться
в
ситуации
.
Мастер
реализует
последовательный
или
древовидный
сценарий
диалога
,
поэтому
его
целесообразно
использовать
для
решения
хорошо
структурированных
,
последовательных
задач
(
рис
. 8.26).
При
этом
необходимо
:
•
предоставить
пользователю
возможность
возврата
на
предыдущий
шаг
;
•
предусмотреть
возможность
отмены
работы
Мастера
;
•
нумеровать
шаги
и
сообщать
пользователю
количество
шагов
Мастера
,
особенное
,
если
таких
шагов
больше
трех
;
•
пояснять
пользователю
каждый
шаг
;
•
по
возможности
демонстрировать
результат
уже
выполненных
операций
на
каждом
шаге
.
Программные
агенты
.
Наибольший
интерес
на
настоящий
момент
представляют
программные
агенты
,
используемые
для
выполнения
рутинной
работы
.
Такой
программный
агент
является
элементом
программного
обеспечения
,
которому
пользователь
может
передать
часть
своих
обязанностей
.
Основными
функциями
Агентов
-
Помощников
являются
:
наблюдение
,
поиск
и
управление
.
Различают
:
•
программы
-
агенты
,
настраиваемые
на
выполнение
указанных
задач
;
•
программы
-
агенты
,
способные
обучаться
,
например
,
фиксируя
действия
пользователя
(
по
типу
магнитофона
).
Создание
агентов
последнего
типа
,
например
,
доступно
через
механизм
макросов
Microsoft
Office.
Большинство
интересных
и
достаточно
сложных
программных
агентов
в
настоящее
время
«
живет
»
в
Интернете
,
где
и
можно
найти
последнюю
информацию
по
данной
теме
.

Контрольные
вопросы
и
задания
1.
Назовите
основные
типы
интерфейсов
.
Чем
характеризуется
каждый
из
них
?
Какими
средствами
реализуется
?
Какие
типы
интерфейсов
являются
основными
в
наше
время
?
2.
Перечислите
психофизические
особенности
человека
,
которые
необходимо
учитывать
при
проектировании
интерфейсов
.
Какие
ограничения
это
накладывает
на
интерфейс
?
3.
Что
понимают
под
термином
«
диалог
»?
Сколько
диалогов
может
реализовывать
программное
обеспечение
?
4.
Назовите
основные
типы
диалога
и
его
формы
.
Какие
модели
используют
для
описания
диалогов
?
Что
служит
исходными
данными
для
проектирования
диалогов
?
5.
Постройте
граф
диалога
для
простейшего
графического
редактора
.
Почему
он
имеет
такой
вид
?
В
каких
ситуациях
граф
диалога
имеет
вид
цепи
или
дерева
?
6.
Предложите
меню
графического
редактора
.
Сравните
это
меню
с
меню
известных
вам
графических
редакторов
.
Проанализируйте
отличия
.
7.
Перечислите
основные
компоненты
графических
пользовательских
интерфейсов
.
В
каких
случаях
используют
каждый
из
них
?
8.
Предложите
интерфейс
прямого
манипулирования
для
графического
редактора
.
В
чем
состоит
основная
сложность
проектирования
таких
интерфейсов
?
В
каких
случаях
их
целесообразно
использовать
?
9.
Какие
интеллектуальные
компоненты
пользовательских
интерфейсов
существуют
в
настоящее
время
?
Каковы
их
основные
назначения
?
В
каких
случаях
их
целесообразно
применять
?

9.
ТЕСТИРОВАНИЕ
ПРОГРАММНЫХ
ПРОДУКТОВ
Тестирование
-
очень
важный
и
трудоемкий
этап
процесса
разработки
программного
обеспечения
,
так
как
правильное
тестирование
позволяет
выявить
подавляющее
большинство
ошибок
,
допущенных
при
составлении
программ
.
Процесс
разработки
программного
обеспечения
предполагает
три
стадии
тестирования
:
автономное
,
комплексное
и
системное
,
каждая
из
которых
соответствует
завершению
соответствующей
части
Системы
.
Различают
два
подхода
к
формированию
тестов
:
структурный
и
функциональный
.
Каждый
из
указанных
подходов
имеет
свои
особенности
и
области
применения
.
9.1.
Виды
контроля
качества
разрабатываемого
программного
обеспечения
Недостаточно
выполнить
проектирование
и
кодирование
программного
обеспечения
,
необходимо
также
обеспечить
его
соответствие
требованиям
и
спецификациям
.
Многократно
проводимые
исследования
показали
,
что
чем
раньше
обнаруживаются
те
или
иные
несоответствия
или
ошибки
,
тем
больше
вероятность
их
правильного
исправления
(
рис
. 9.1,
а
)
и
ниже
его
стои
-
мость
(
рис
. 9.1,
б
) [7].
Современные
технологии
разработки
программного
обеспечения
предусматривают
раннее
обнаружение
ошибок
за
счет
выполнения
контроля
результатов
всех
этапов
и
стадий
разработки
.
На
начальных
этапах
такой
контроль
осуществляют
в
основном
вручную
или
с
использованием
CASE-
средств
,
на
последних
-
он
принимает
форму
тестирования
.
Тестирование
-
это
процесс
выполнения
программы
,
целью
которого
является
выявление
ошибок
.
Никакое
тестирование
не
может
доказать
отсутствие
ошибок
в
хоть
сколько
-
нибудь
сложном
программном
обеспечении
.
Для
такого
программного
обеспечения
выполнение
полного
тестирования
,
т
.
е
.
задания
всех
возможных
комбинаций
исходных
данных
,
становится
не
-
возможным
,
а
,
следовательно
,
всегда
имеется
вероятность
того
,
что
в
программном
обеспечении
остались
не
выявленные
ошибки
.
Однако
соблюдение
основных
правил
тестирования
и
научно
обоснованный
подбор
тестов
может
уменьшить
их
количество
.