Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GOS / Дисциплины специализации.doc
Скачиваний:
42
Добавлен:
09.05.2015
Размер:
1.61 Mб
Скачать

10 Формы записи алгоритмов в визуальной среде программирования.

Часто графика позиционируется как некая оппозиция "устаревшей" текстовой форме представления. Однако эксперименты не позволяют говорить о несомненном превосходстве графической формы представления. Более того, нередки случаи, когда графическая форма записи уступает обычной текстовой.

К примеру, графическое представление[5]:

Рисунок 1 – Иллюстрация неудачного графического представления

А является С.

не А и В является D.

не А и не В является E.

Работа с графикой в данном случае сложнее. Менее компактное представление, наличие пересечения линии, обилие элементов затрудняют для графики ответы на достаточно простые вопросы.

Таким образом, для человека принципиально невозможны операции, предполагающие динамическое манипулирование с большим числом однородных информационных компонентов. Основной вывод можно сформулировать так: в силу психологических ограничений на способность человека обрабатывать информацию, динамические операции с достаточно сложной сущностью с необходимостью предполагают построение модели, при работе с которой ограничение Миллера не нарушается. Причем создание модели происходит вне зависимости от того, допускает ли природа этой сущности удовлетворительное моделирование. Методами преодоления ограничения Миллера при этом являются: устранение несущественных деталей, выделение "ортогональных" (непересекающихся) ракурсов рассмотрения и создание моделей объекта в виде иерархической структуры, когда для работы с любой из областей такой структуры достаточно лишь нескольких информационных компонентов.

Графика не является самодостаточным выразительным средством и в языках спецификаций всегда служит лишь некоторым дополнением к тексту. В первую очередь это связано с иероглифичностью графики, с неформализуемостью создания новых идентификаторов-пиктограмм[4]. Противопоставление графики и текста не совсем корректно, правильнее ставить вопрос так: насколько графика может улучшить воспринимаемость текста и повысить эксплуатационные свойства языкового средства? Преимущества графики:

  1. Обилие признаков: цвет, размер, форма, текстура, позиция, ориентация, масштабирование - с точки зрения кратковременной памяти ("проще знать немного о многом") позволяет создавать сущности большей информативности. Но существуют ограничения на использование этих признаков.

  2. Использование метафор - представление новых или необычных для пользователя явлений через другие явления, хорошо ему известные. Проблема – в подборе подходящей метафоры: метафоры различаются для разных групп пользователей; при выборе не удачной метафоры возможно возникновение побочных аналогий в сознании пользователя

Визуальные языки программирования

Визуальные языки программирования (ВЯП) делят на три категории:

  • Для обработки визуальной информации;

  • Для поддержки визуального взаимодействия с пользователем;

  • Для программирования с помощью визуальных выражений.

Языки первой категории в основном используются для управления графическими объектами в средствах моделирования, САПР, графических редакторах. Примерами могут служить AutoCAD, 3D Studio MAX, Corel Draw.

Примерами второй категории могут служить среды программирования, которые поддерживают возможности визуального дизайна прототипов форм ввода/вывода информации. Это среды Delphi, C++ Builder, Visual Studio.

Третья группа языков объединяет собственно визуальные языки программирования. Языки визуального программирования(или визуальные языки) - это формализованные наборы графических символов и правила построения из них визуальных моделей. При анализе пространственного расположения граф. символов выявляется лежащая в основе синтаксическая структура. При семантическом анализе визуальное выражение интерпретируется для определения его смысла.

Одним из главнейших достоинств ВЯП является в наглядном представлении данных и структур разрабатываемых программ, предоставляемая программистам возможность работать в терминах своих представлений, создаваемые диаграммы являются более близкими к предметной области, чем программный код, понятны инженерам, менеджерам, заказчикам и т.д.

Метафора визуализации

Метафоры визуализации ПО - способы сопоставлять абстрактные и невидимые человеческому глазу элементы ПО некоторым зрительно воспринимаемым объектам. В этом смысле неоценимую пользу оказывает развитие стандартных визуальных языков разработки ПО. В настоящее время это, в первую очередь, UML. Люди привыкают к изображениям классов, пакетов, объектов, процессов и пр., к определенному набору диаграмм. А другие легко читают эти мысли в этих диаграммах.

Существует большое количество различных метафор для изображения алгоритмов.

Однако очевидно, что большие программы так изображать неудобно…

Графовая метафора

Среди различных метафор визуализации алгоритмов выделяются математические графы - вершины, изображаемые по-разному, и ребра - стрелки, связи, зависимости и т. д. На рис. 2 приводится несколько типов диаграмм, используемых на практике для записи алгоритмов (блок-схемы, диаграммы UML)

Однако не все виды диаграмм, применяемые в рамках визуального моделирования, являются графами, например, диаграммы последовательностей (sequence diagrams) или временные диаграммы (timing diagrams) UML.

Cамыми распространенными графовыми моделями являются модель "сущность-связь" и модель конечных автоматов, объединенная с блок-схемами. В UML и диаграммы классов, и диаграммы компонент, объектов, коммуникаций, развертывания и пр. являются лишь вариациями модели "сущность-связь", а диаграммы конечных автоматов и активностей - вариациями конечных автоматов и блок-схем.