tehnologia (1018792), страница 42
Текст из файла (страница 42)
Он будет объединять Задание,Данные и Результаты. В процессе работы пользователю понадобиться создавать новыеПротоколы. При этом целесообразно, чтобы новый Протокол уже содержал бланк Задания.Данные разрешим создавать отдельно, для чего предусмотрим Бланк Данных. Послезаполнения бланка Данные можно будет включить в Протокол, сохранить в Списке данных,распечатать или выбросить. Результаты будут добавляться в Протокол после решения задачи,т.
е. выполнения Задания. Предусмотрим возможность сохранения Протокола в Спискепротоколов на любом шаге заполнения, печати и удаления его со стола и из Спискапротоколов.К множеству объектов системы, помимо указанных выше, добавлены объектыустройства: Компьютер, Принтер, Корзина, необходимые для отображения операцийВыполнить, Распечатать, Удалить.256Далее строим матрицу (таблицу) взаимодействия объектов. В этой таблице повертикали располагаем объекты, которые согласно метафоре можно перемещать{исходные), а по горизонтали - объекты, которые могут служить конечными пунктамиперемещения (конечные). В самой таблице фиксируем действия, которым будетсоответствовать операция перемещения начального объекта на конечный.Для рассматриваемого примера исходными объектами являются Протокол, Списокпротоколов, Задание, Данные, Список протоколов, Бланк задания и Бланк данных (табл.8.4). Их можно перемещать на объекты-контейнеры: Протокол, Список протоколов, Списокданных, а также объекты устройТаблица8.4Операции, выполняемые при перемещении объектовИсходныеобъектыПротоколКонечные объектыПротоко СписокСписок Компьютерлпротоколов данных—СписокпротоколовДобавитьпротокол всписокПринтерВыполнить Распечататзадание* ь протокол*---КорзинаРабочийстолУдалитьпротоколУдалитьвсепротоколыУдалитьзаданиеЗаданиеЗанестизадание впротокол;ДанныеЗанестиданные впротоколДобавить данныев списокСписокданных-----Удалитьвсе данные-Бланкпротокола------Создатьпротокол*Бланкданных----УдалитьданныеСоздатьданные** Операция выполняется с копией объекта, сам объект остается на своем месте.257ства: Компьютер, Принтер, Корзина и Рабочий стол.
Далее анализируем взаимодействиеобъектов в соответствии с принятой метафорой. Так, если объект Протокол перенести наобъект Список протоколов, то по смыслу это можно интерпретировать как желаниепользователя добавить Протокол в список. Аналогично заполняем всю таблицу, котораязатем будет использоваться при программировании соответствующих событий.На рис. 8.23 представлен внешний вид интерфейса системы. (В качестве пиктограммобъектов использованы стандартные пиктограммы Windows.)После этого необходимо разработать представление окон объектов.Пример 8.7. Разработать представление окна объекта Протокол.Объект Протокол является контейнером, который может содержать Задание, Данные иРезультаты. В момент создания Протокола автоматически формируется чистый бланкЗадания.На рис.
8.24 показано стандартное представление объекта-контейнера, которое можетбыть использовано в данном примере. Отдельно изображено, как это окно будет выглядеть вразные моменты времени. Окно содержит меню, включающие пункты: Данные, Правка, Види Помощь. Первый пункт позволяет определить данные: Создать или Открыть. Второй отвечает за работу с общим буфером и содержит пункты Вырезать, Копировать и Вста-258вить. Третий - традиционно управляет видом окна: Крупные значки, Мелкие значки, Списоки Таблица. Четвертый - используют для вызова справки.Поскольку используемая метафора рабочего стола позволяет, необходимо предусмотретьвозможность выполнения стандартных клавиатурных команд с объектом Протокол.
К нимотносят операции Вырезать (Ctrl-X), Копировать (Ctrl-C), Вставить (Ctrl-V).После завершения проектирования представлений всех объектов создают прототипинтерфейса и передают его на тестирование удобства использования.8.8. Интеллектуальные элементы пользовательскихинтерфейсовВ последние годы появилось много новых перспективных элементов пользовательскихинтерфейсов, в основном привносящих в интерфейс элементы искусственного интеллекта,что проявляется в их названиях: Мастер, Советчик, Агент. Сделано множество попытоксоздания социализированно-259го пользовательского интерфейса. В основе такого интерфейса лежит идея созданияперсонифицированного, т.
е. «имеющего личность», интерфейса. Развлекающиепрограммы, такие как Cats (Кошки) и Dogs (Собаки), реализующие достаточно сложноеповедение домашних животных в разных ситуациях, показывают, что технически этовполне решаемая задача. Однако в этой области существуют психологические проблемы.В качестве примера вспомним, что даже «безобидный» Советчик Microsoft Office,рассмотренный ниже, вызывает у многих пользователей резко отрицательную реакцию.Пока попытки создания такой «личности» успеха не имели.Советчики.
Советчики представляют собой форму подсказки. Обычно их можновызвать с помощью меню справки, командной строки окна или из всплывающего меню.Советчики помогают пользователям в выполнении конкретных задач, но только, еслипользователь представляет, что ему нужно сделать. Например, пользователь, работающий вMicrosoft Word, собирается вставить в документ рисунок, но не знает как. Он активизируетПомощника-Скрепку и вводит вопрос в специальное поле (рис.
8.25, а). Справочная системаанализирует вопрос и формирует список тем, косвенно связанных с интересующейпользователя, в расчете, что пользователь сам выберет нужную справку (рис. 8.25, б).Мастера. Программу-мастер используют для выполнения общераспространенных, норедко выполняемых отдельным пользователем задач, таких,260как установка программ или оборудования. Выполнение подобных действий требует отпользователя принятия сложных взаимосвязанных решений, последовательность которых идиктует программа-мастер.
Интеллектуальные Мастера способны на каждом шагедемонстрировать в окне просмотра результаты ответов пользователя на предыдущиевопросы, помогая последнему сориентироваться в ситуации.Мастер реализует последовательный или древовидный сценарий диалога, поэтому егоцелесообразно использовать для решения хорошо структурированных, последовательныхзадач (рис. 8.26). При этом необходимо:• предоставить пользователю возможность возврата на предыдущий шаг;• предусмотреть возможность отмены работы Мастера;• нумеровать шаги и сообщать пользователю количество шагов Мастера, особенное,если таких шагов больше трех;• пояснять пользователю каждый шаг;• по возможности демонстрировать результат уже выполненных операций на каждомшаге.Программные агенты.
Наибольший интерес на настоящий момент представляютпрограммные агенты, используемые для выполнения рутинной работы. Такойпрограммный агент является элементом программного обеспечения, которому пользовательможет передать часть своих обязан-261ностей. Основными функциями Агентов-Помощников являются: наблюдение, поиск иуправление.
Различают:• программы-агенты, настраиваемые на выполнение указанных задач;• программы-агенты, способные обучаться, например, фиксируя действия пользователя(по типу магнитофона).Создание агентов последнего типа, например, доступно через механизм макросовMicrosoft Office.Большинство интересных и достаточно сложных программных агентов в настоящеевремя «живет» в Интернете, где и можно найти последнюю информацию по данной теме.Контрольные вопросы и задания1. Назовите основные типы интерфейсов.
Чем характеризуется каждый из них? Какимисредствами реализуется? Какие типы интерфейсов являются основными в наше время?2. Перечислите психофизические особенности человека, которые необходимо учитыватьпри проектировании интерфейсов. Какие ограничения это накладывает на интерфейс?3. Что понимают под термином «диалог»? Сколько диалогов может реализовыватьпрограммное обеспечение?4. Назовите основные типы диалога и его формы. Какие модели используют для описаниядиалогов? Что служит исходными данными для проектирования диалогов?5.
Постройте граф диалога для простейшего графического редактора. Почему он имееттакой вид? В каких ситуациях граф диалога имеет вид цепи или дерева?6. Предложите меню графического редактора. Сравните это меню с меню известных вамграфических редакторов. Проанализируйте отличия.7. Перечислите основные компоненты графических пользовательских интерфейсов. Вкаких случаях используют каждый из них?8. Предложите интерфейс прямого манипулирования для графического редактора. В чемсостоит основная сложность проектирования таких интерфейсов? В каких случаях ихцелесообразно использовать?9. Какие интеллектуальные компоненты пользовательских интерфейсов существуют внастоящее время? Каковы их основные назначения? В каких случаях их целесообразноприменять?2629.
Тестирование программных продуктовТестирование - очень важный и трудоемкий этап процесса разработки программногообеспечения, так как правильное тестирование позволяет выявить подавляющеебольшинство ошибок, допущенных при составлении программ.Процесс разработки программного обеспечения предполагает три стадиитестирования: автономное, комплексное и системное, каждая из которых соответствуетзавершению соответствующей части системы.Различают два подхода к формированию тестов: структурный и функциональный.Каждый из указанных подходов имеет свои особенности и области применения.9.1. Виды контроля качества разрабатываемого программногообеспеченияНедостаточно выполнить проектирование и кодирование программного обеспечения,необходимо также обеспечить его соответствие требованиям и спецификациям.
Многократнопроводимые исследования показали, что чем раньше обнаруживаются те или иныенесоответствия или ошибки, тем больше вероятность их правильного исправления (рис. 9.1,а) и ниже его стоимость (рис. 9.1,6) [7].Современные технологии разработки программного обеспечения предусматриваютраннее обнаружение ошибок за счет выполнения контроля результатов всех этапов и стадийразработки. На начальных этапах такой контроль осуществляют в основном вручную или сиспользованием CASE-средств, на последних - он принимает форму тестирования.Тестирование - это процесс выполнения программы, целью которого являетсявыявление ошибок.