- •2. Решение задач кластеризации с помощью сетей Кохонена.
- •3. Язык uml
- •4. Моделирование бизнес-процессов
- •5.Обратные связи
- •6. Основные организационные структуры
- •7. Интерфейс графических устройств cdi. Кисть, карандаш, примитивы.
- •8. Понятие ресурса. Ресурс меню, курсор, пиктограмма.
- •9. Модальные и не модальные панели диалога.
- •10 Формы записи алгоритмов в визуальной среде программирования.
- •11. Этапы проектирования программной системы в визуальной среде программирования.
- •12. Визуальное объектно-ориентированное программирование. Инкапсуляция, наследование, полиморфизм.
- •Инкапсуляция
- •Наследование
- •Полиморфизм
- •13. Схема работы web-приложения и web-браузера по протоколу http: бщий вид запроса и ответа http, метод, представление, заголовки запроса, ответа и представления
- •14. Методы http get и post, понятие безопасного и идемпотентного метода, заголовки запроса http: Host, Accept, User-Agent и Referer
- •15. Файловая система procfs
- •16. Средства командной строки по управлению учетными записями пользователей в Linux
- •17. Команда man Источники справочной информации
- •Страницы интерактивного руководства man
- •18. Односторонние функции. Псевдослучайные генераторы.
- •19. Умножение на основе классов вычетов
- •20. Избыточное кодирование
- •Балансировка вычислительной нагрузки Причины возникновения несбалансированной нагрузки
- •Статическая и динамическая балансировки
- •Постановка задачи динамической балансировки
- •Методология практического решения задачи балансировки
- •Оценка загрузки
- •Инициализация балансировки загрузки
- •Принятие решений в процессе балансировки
- •Перемещение объектов
- •Архитектура подсистемы балансировки
- •23. Распределенное хранение информации. Распределенные базы данных. Правила Дейта для распределенных бд. Фрагментация. Репликация. Протокол двухфазной фиксации транзакций.
- •Фрагментация
- •Репликация
- •Схемы владения данными в распределенной бд
- •24. Волновые алгоритмы распространения информации. Требования к волновому алгоритму. Алгоритм для кольцевой структуры. Алгоритм для дерева. Алгоритм голосования.
- •Initial
- •Initial
- •25. Алгоритмы выбора сайтов (координаторов). Алгоритм смещения. Выборы с помощью алгоритма для деревьев. Алгоритмы выбора для кольцевых структур (Лелана, Чанга-Робертса).
10 Формы записи алгоритмов в визуальной среде программирования.
Часто графика позиционируется как некая оппозиция "устаревшей" текстовой форме представления. Однако эксперименты не позволяют говорить о несомненном превосходстве графической формы представления. Более того, нередки случаи, когда графическая форма записи уступает обычной текстовой.
К примеру, графическое представление[5]:
Рисунок 1 – Иллюстрация неудачного графического представления
А является С.
не А и В является D.
не А и не В является E.
Работа с графикой в данном случае сложнее. Менее компактное представление, наличие пересечения линии, обилие элементов затрудняют для графики ответы на достаточно простые вопросы.
Таким образом, для человека принципиально невозможны операции, предполагающие динамическое манипулирование с большим числом однородных информационных компонентов. Основной вывод можно сформулировать так: в силу психологических ограничений на способность человека обрабатывать информацию, динамические операции с достаточно сложной сущностью с необходимостью предполагают построение модели, при работе с которой ограничение Миллера не нарушается. Причем создание модели происходит вне зависимости от того, допускает ли природа этой сущности удовлетворительное моделирование. Методами преодоления ограничения Миллера при этом являются: устранение несущественных деталей, выделение "ортогональных" (непересекающихся) ракурсов рассмотрения и создание моделей объекта в виде иерархической структуры, когда для работы с любой из областей такой структуры достаточно лишь нескольких информационных компонентов.
Графика не является самодостаточным выразительным средством и в языках спецификаций всегда служит лишь некоторым дополнением к тексту. В первую очередь это связано с иероглифичностью графики, с неформализуемостью создания новых идентификаторов-пиктограмм[4]. Противопоставление графики и текста не совсем корректно, правильнее ставить вопрос так: насколько графика может улучшить воспринимаемость текста и повысить эксплуатационные свойства языкового средства? Преимущества графики:
Обилие признаков: цвет, размер, форма, текстура, позиция, ориентация, масштабирование - с точки зрения кратковременной памяти ("проще знать немного о многом") позволяет создавать сущности большей информативности. Но существуют ограничения на использование этих признаков.
Использование метафор - представление новых или необычных для пользователя явлений через другие явления, хорошо ему известные. Проблема – в подборе подходящей метафоры: метафоры различаются для разных групп пользователей; при выборе не удачной метафоры возможно возникновение побочных аналогий в сознании пользователя
Визуальные языки программирования
Визуальные языки программирования (ВЯП) делят на три категории:
Для обработки визуальной информации;
Для поддержки визуального взаимодействия с пользователем;
Для программирования с помощью визуальных выражений.
Языки первой категории в основном используются для управления графическими объектами в средствах моделирования, САПР, графических редакторах. Примерами могут служить AutoCAD, 3D Studio MAX, Corel Draw.
Примерами второй категории могут служить среды программирования, которые поддерживают возможности визуального дизайна прототипов форм ввода/вывода информации. Это среды Delphi, C++ Builder, Visual Studio.
Третья группа языков объединяет собственно визуальные языки программирования. Языки визуального программирования(или визуальные языки) - это формализованные наборы графических символов и правила построения из них визуальных моделей. При анализе пространственного расположения граф. символов выявляется лежащая в основе синтаксическая структура. При семантическом анализе визуальное выражение интерпретируется для определения его смысла.
Одним из главнейших достоинств ВЯП является в наглядном представлении данных и структур разрабатываемых программ, предоставляемая программистам возможность работать в терминах своих представлений, создаваемые диаграммы являются более близкими к предметной области, чем программный код, понятны инженерам, менеджерам, заказчикам и т.д.
Метафора визуализации
Метафоры визуализации ПО - способы сопоставлять абстрактные и невидимые человеческому глазу элементы ПО некоторым зрительно воспринимаемым объектам. В этом смысле неоценимую пользу оказывает развитие стандартных визуальных языков разработки ПО. В настоящее время это, в первую очередь, UML. Люди привыкают к изображениям классов, пакетов, объектов, процессов и пр., к определенному набору диаграмм. А другие легко читают эти мысли в этих диаграммах.
Существует большое количество различных метафор для изображения алгоритмов.
Однако очевидно, что большие программы так изображать неудобно…
Графовая метафора
Среди различных метафор визуализации алгоритмов выделяются математические графы - вершины, изображаемые по-разному, и ребра - стрелки, связи, зависимости и т. д. На рис. 2 приводится несколько типов диаграмм, используемых на практике для записи алгоритмов (блок-схемы, диаграммы UML)
Однако не все виды диаграмм, применяемые в рамках визуального моделирования, являются графами, например, диаграммы последовательностей (sequence diagrams) или временные диаграммы (timing diagrams) UML.
Cамыми распространенными графовыми моделями являются модель "сущность-связь" и модель конечных автоматов, объединенная с блок-схемами. В UML и диаграммы классов, и диаграммы компонент, объектов, коммуникаций, развертывания и пр. являются лишь вариациями модели "сущность-связь", а диаграммы конечных автоматов и активностей - вариациями конечных автоматов и блок-схем.