2.7. КЛАССИФИКАЦИЯ ТИПОВ ДИАЛОГА ПРОГРАММ
2.7. КЛАССИФИКАЦИЯ ТИПОВ ДИАЛОГА ПРОГРАММ
В настоящее время распространены следующие диалоги типа: вопрос-ответ; выбор из меню; заполнения бланков; на основе команд; работы в окнах; по принципу электронной таблицы; гипертекста; приближения к естественному языку; виртуальной реальности.
Диалог типа вопрос-ответ, представленный на рис. 2.3, является одним из универсальных. По запросу возможен ввод значений разных типов. В простейшем случае диалог может быть реализован с использованием трех кнопок: да, нет, начать диалог сначала. Проблема при реализации диалога состоит в затруднении обеспечения просмотра пользователем всей предыстории вопросов программы и ответов на них.
Рис. 2.3. Диалог типа вопрос-ответ
Диалог типа меню не является универсальным. Довольно сложно реализовать с использованием диалога данного типа ввод значений в широком диапазоне. Вертикальные меню предпочтительнее горизонтальных. Нежелательно в отдельных меню предлагать более семи тем. Меню с большим количеством тем желательно представить системой иерархической системы подменю. Часто используется в программах меню в стиле фирмы "Lotus" из одного главного горизонтального меню и иерархически построенных остальных вертикальных подменю. Строка единственного главного горизонтального меню придает уверенность начинающему пользователю путем сообщения ему факта о том, что имеется подменю в программе. Диалог типа меню представлен на рис. 2.4.
Диалог типа заполнения бланков отображает на отдельном экране какой-то бланк. Посредством клика мыши или нажатия клавиш <ТаЬ>, а также клавиш-стрелок перемещения курсора обеспечивается подвод курсора на любое из выделенных полей ввода информации. Обычно при заполнении какого-либо поля бланка осуществляется контроль кодов нажатых клавиш (ввод по маске). Трудность реализации диалога состоит в принятии решения по факту ввода недопустимой по значению информации в поле или ввода недопустимой совокупности значений в ряд полей. Диалог типа заполнения бланков представлен на рис. 2.5.
Диалог на основе команд, представленный на рис. 2.6, используется в системах с априорно незаданной последовательностью работы. Сложность использования диалога данного типа заключается в необходимости предварительного изучения пользователем языка команд и возможных последовательностей команд. Если команд мало в списке возможных команд, то пользователю по запросу "?" может быть выдан список возможных команд. После набора имени команды возможна выдача списка полей команды и их назначение.
Рис. 2.4. Диалог типа меню
Рис. 2.5. Диалог типа заполнения бланков
Рис. 2.6. Диалог на основе команд
Диалог типа работы в окнах (рис. 2.7) позволяет на экране монитора организовать совокупность окон как отдельных программ, так и отдельных документов и осуществлять работу в каждом из отдельных окон. Данный диалог необходим специалистам, "у которых стол завален бумагами", т. е. специалистам, которым для получения нового документа необходима информация сразу из нескольких документов.
Диалог типа по принципу электронной таблицы отображает информацию в двухмерной системе координат по принципу игры "в морской бой" и в режиме "что вижу, то и получу в распечатке" позволяет придать табличной информации форму, необходимую пользователю (рис. 2.8).
Диалог типа гипертекста (рис. 2.9) обеспечивает пользователю просмотр на экране монитора текстовой (графической, видео, аудио и др.) информации с возможностью получения дополнительной информации при выборе пользователем выделенных на экране ключевых слов (ссылок).
Диалог приближения к естественному языку обычно обеспечивает выдачу пользователем запросов на ограниченном естественном языке. Наибольшую сложность при реализации диалога данного типа представляет составление ограниченного тезауруса слов запроса и изучение данного тезауруса пользователем.
Рис. 2.7. Диалог типа работы в окнах
Рис. 2.8. Диалог типа по принципу электронной таблицы
Рис. 2.9. Диалог типа гипертекста
Диалог типа виртуальная реальность используется в различных тренажерах и может основываться на использовании особого оборудования типа кибершлем, тактильные перчатки, система запахов и т. д.
Фонд различных диалогов облегчает выбор рационального варианта построения внешних спецификаций программ. Список более мелких "строительных элементов" диалога можно получить в панели компонентов систем визуального программирования, например Delphi.
ВЫВОДЫ
• На разных этапах проектирования (особенно часто на начальных этапах) перед разработчиком встает задача выбора наилучшего варианта из множества допустимых проектных решений, которые удовлетворяют предъявленным требованиям. Принятие "правильного" решения означает выбор такой альтернативы из числа возможных, в которой с учетом всех разнообразных факторов будет оптимизирована общая ценность.
• Задача оптимизации разработки программ состоит в достижении целей при минимально возможной затрате ресурсов. Системный анализ в отличие от предварительного системного исследования — это углубленное изучение информационных потребностей пользователей, которое будет положено в основу детального проектирования новой информационно-программной системы (АС). Формулировка целей при разработке программного продукта — первый и важнейший этап процесса проектирования. Ошибки в выборе и формулировке цели не могут быть скомпенсированы на последующих этапах. Анализ требований способствует лучшему пониманию системы, а также достижению наилучшего удовлетворения потребности.
• Совокупность функций системы, условий и ограничений их существования называется множеством потребительских свойств системы. Функции системы — это все свойства, обусловливающие полезность (целесообразность системы для потребителя).
• Любые классификации программ повышают вероятность синтеза вариантов. Классификации можно использовать как при работе методом морфологического синтеза, так и методом аналогии.
• Прежде чем искать пути оптимизации разработки программ, необходимо выделить некоторые ключевые положения.
Положение 1. Проблема, которая должна быть решена разрабатываемой программой, ранее каким-то образом решалась. Следовательно, необходимо изучить методы, применявшиеся ранее, по возможности, их формализовать и применить.
Положение 2. Для подавляющего числа задач в настоящее время существуют программы, выполняющие похожие либо аналогичные функции. Поэтому необходимое условие качественной разработки — ознакомление с существующими аналогами.
Контрольные вопросы
1. Перечислите основные виды показателей качества программных систем.
2. Дайте определение понятия "эвристический прием".
3. Опишите основные шаги, по которым осуществляется системный анализ.
4. Опишите суть проектной процедуры раскрытия проектной ситуации.
5. Приведите примеры внутренних закономерностей при описании потребительских свойств системы.
6. Назовите основные классы существующих программ.
7. Назовите основные особенности взаимодействия человека и ЭВМ.
8. Дайте краткую характеристику основным типам диалога программ.
9. В чем состоит основная задача оптимизации на этапе разработки программ?