Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Черников / Лекции / Лекция2

.docx
Скачиваний:
73
Добавлен:
15.04.2018
Размер:
18.9 Кб
Скачать

Visio

Microsoft Visio — векторный графический редактор, редактор диаграмм и блок-схем для Windows.

1992г - первая программа(Shapeware), позже Visio.

2000 - Visio in Microsoft.

Не входит в инсталлятор Офиса.

В Visio – диаграммы (векторные, растровые)

Visio - рисунок, не среда моделирования. Все зависимости на человеке.

План в масштабе, не плоские, а даже 3д схемы (карты и планы этажей).

Очень хорошие виды соединений, если сравнивать с Excel.

Visio оптимизирует линии.

Возможности Visio:

- существуют графические примитивы, например, линия на листе.

- контейнер - блок операций.

- Поля для склейки - очень удобно.

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

- возможность доп. точек.

- объединение фигур, возможность вычитания.

- пересечение фигур - объединить непересекающиеся фрагменты и удалить общие. Возможно и деление.

- Visio документ можно перенести в Word.

Алгоритмическая сложность (АС)

- если объекты рассматриваются как произвольные последовательности символов из некоторого алфавита

Если в качестве объектов будем рассматривать произвольные последовательности символов из некоторого алфавита, то наиболее экономичным способ их описания будет алгоритмический.

За меру сложности произвольной последовательности символов из некоторого фиксированного алфавита принимается длина (количество двоичных разрядов) самой короткой программы, генерирующей эту последовательность.

Свойства алгоритмической сложности:

(1) сложность последовательности не превосходит ее длины;

(2) сложность последовательности неограниченно растет с увеличением ее длины;

(3) количество двоичных последовательностей будет равно 2^n

Подавляющее число последовательностей (почти все) несжимаемы, т. е. случайны.

Из 1000 последовательностей, можно сжать 1 программу до 10бит.

(4) Функция К невычисляема, т.е. не существует алгоритма ее определения для произвольной символьной последовательности, однако существует общий способ оценки этой величины сверху.

Можно определить верхнюю оценку структурной сложности.

Из (1): АС любой последовательности не может превосходить количества двоичных разрядов, необходимых для записи их порядковых номеров.

АС любой последовательности не превосходит ее энтропии, которую можно найти, определив вероятности символов в последовательности (имеет максимум если все элементы равновероятны).

Метрики структурной сложности программ

Структурная сложность программ (число взаимодействующих компонентов, число связей между ними, сложность их взаимодействия)

Маршруты возможной обработки данных определяют сложность разработки программы.

Маршруты исполнения программного модуля:

- вычислительные (не определяют структурную сложность программ)

- принятия логических решений

Общее число арифметических операций нее выходит за пределы 5-10%, поэтому вычислительные маршруты не определяют структурную сложность программ.

Критерии выделения маршрута

  1. Граф программы по управлению должен быть покрыт минимальным набором путей, проходящих через каждый оператор ветвления по каждой дуге.

В процессе проверки гарантируется выполнение передач управления между операторами программы и каждого оператора не менее одного раза.

Поток управления – последовательность выполнения модулей и операторов программы.

Граф потока управления – ориентированный граф, моделирующий поток управления программы.

Недостаток критерия - не учитывает комбинаторику.

  1. Основан на анализе базовых маршрутов в программе, формируемых и оцениваемых на основе цикломатического числа графа потока управления. (Z=m – n + 2*p)

Число связных компонентов графа p равно количеству дуг, необходимых для превращения исходного графа в максимально связный граф.

Максимально связным(полноценным) называется граф, у которого любая вершина доступна из любой другой вершины.

Для правильно структурированных программ цикломатическое число, можно определить подсчетом вершин в которых происходит ветвление.

  1. Основан на выделении полного состава базовых структур графа программы и заключается в анализе хотя бы один раз каждого из реальных ациклических маршрутов исходного графа программы и каждого цикла.

Выводы по критериям оценки сложности программ

Критерии для оценки сложности программных модулей характеризуют в каждом случае минимально необходимые величины проверки по каждому критерию.

Для проверки реальных программ это количество проверок может быть недоступно.

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

Метрика Маккейба

Основана на анализе потока передачи управления от одного оператора к другому, что позволяет учесть логику программы.

Программа (алгоритм, спецификация) должна быть представлена в виде управляющего ориентированного графа.

Граф, описывающий программу в виде вершин-операторов и дуг-переходов.

Метрика Маккейба является цикломатическим числом графа управления программы.

Цикломатическая сложность

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

Временная сложность алгоритма

Временная сложность алгоритма зависит от количества входных данных.

Соседние файлы в папке Лекции