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

Черников / Зачет / шпоры

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

Сложность вычислительных маршрутов оценивается формулой

m – кол-во маршрутов исполнения программы.

li – число данных обрабатываемых в i-ом маршруте

vi – число значений обрабатываемых данных j –го типа

Сложность маршрутов принятия логических решений оценивается формулой

pi – число ветвлений или число проверяемых условий в i-ом маршруте.

22.Характеристика оценки качества программ на основе метрик свойств

Первый критерий

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

m1: 1–2–3–4–5–6–7–8–9–2–3–7–8–9–10; p1 = 6;

В перечне участков маршрутов номера вершин ветвления выделены полужирным шрифтом с подчеркиванием. Т о, в соответствии с

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

S1 = p1 + p2 = 6 + 7 = 13.

Второй критерий

Z = nв + 1, где nв – число вершин ветвления.

Т о, общее число циклических и ациклических участков равно -. Выделим маршруты на заданном графе:

- ациклические маршруты:

- циклические маршруты:

Метрика структурной сложности определяется по следующему соотношению:

S2 = p1 + p2 + p3 + p4 + p5

Матрица смежности

Матрица достижимости

Выделенные диагональные элементы матрицы определяют номера

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

Третий критерий

выделить

все реально возможные маршруты управления:

S3 = p1 + p2 + p3 +…

Вывод: Исходя из полученных результатов расчета метрик структурной сложности по первому (S1 = 8), второму (S2 = 17) и третьему (S3 = 42) критериям выделения маршрутов можно сделать вывод, что программа, характеризуемая заданным графом управления, имеет невысокую алгоритмическую сложность, так как количество используемых в тексте операторов условий 5, для проверки которых необходимо проверить от 5 до 42 тестовых вариантов исходных данных.

Маккейб

Z = m – n + 2, где m – количество дуг управляющего графа, построенного на основе алгоритма программы, n – количество вершин графа.

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

f1 – количество внешних вводов (ввод значений переменных, строки …(Parse, ReadLine)

f2 – количество внешних выводов(вывод

диалоговых сообщений(write) вывод результатов на экран строки(print);

f3 – количество внешних запросов (диалоговых вводов-выводов) равно нулю, так как отсутствуют

обращения к внутренним и внешним логическим файлам;

f4 – количество локальных внутренних логических файлов равно нулю, так как в решении такие

файлы отсутствуют;

f5 – количество внешних интерфейсных файлов равно нулю, так как в решении такие файлы

отсутствуют.

Исходные данные для расчета количества функциональных указателей сведем в таблицу

Для внешних вводов, выводов и запросов обращение к 1– 4 элементам данных представляет собой низкий уровень сложности, обращение к 5–19 элементам данных – средний уровень сложности, обращение к более 19 элементам – высокий уровень сложности.

Для внутренних и внешних файлов обращение к 1–19 элементам соответствует низкому уровню

сложности, к 20–50 соответствует среднему уровню сложности и к более 50 – высокому уровню

сложности. В соответствии с уровнем сложности значение характеристики умножается на коэффициент

сложности.

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

Определение уровня сязности:

Метод Main осуществляет решение поставленной задачи. Модуль реализует не единственную прикладную функцию. Действия внутри модуля связаны. Порядок действия внутри модуля важен – тип связности – коммуникационный, сила связности – 7.

Таким образом, в решении преобладают модули с силой связности 7 и 10, что говорит о достаточно высоком качестве программы, легкой ее тестируемости.

Определение сцепления модулей:

Метод sum является вызываемым, и его входными параметрами являются простые и стуктурные данные

(массивы). Таким образом, рассматриваемый модуль имеет сцепление по образцу (сила сцепления 3).

Метод sort является вызывающим и одновременнно вызываемым. Поскольку уровень сцепления

вызывающего метода выше, то мы не рассматриваем этот метод как вызываемый. Метод sort

осуществляет вызов метода change с передачей ему списка параметров, влияющих на работу метода.

Таким образом, метод sort имеет сцепление по управлению (сила сцепления 4).

Бесприоритетного обслуживания

Таким образом, через три единицы времени в очереди на обслуживание оказывается два запроса: третий (ожидавший одну единицу времени) и четвертый. Первым будет обслужен третий, как поступивший раньше. Запрос D будет ожидать три единицы времени, поэтому общее ожидание рассматриваемого набора запросов составит 4 минуты.

Суммарное и среднее выполнение всех запросов

С относительными приоритетами

В момент поступления первого запроса (А) он является в системе единственным и поэтому сразу попадает в стадию исполнения. После завершения его исполнения в очереди присутствует два запроса: второй (В) и третий (С). В первую очередь выполняется запрос С, поскольку его приоритет равен 2, и это значение выше, чем у запроса В, имеющего приоритет 3. После его выполнения поступает четвертый запрос 5 (D) с наивысшим приоритетом (его значение равно 1), и он выполняется первым из трех, находящихся в

данный момент в очереди. Затем выполняется второй запрос (В) и, наконец, пятый (Е). Таким образом, в

ожидании в рамках всего процесса окажутся два запроса – В и Е, каждый из которых потребует 7 минут

ожидания.

абсолютными приоритетами

Если бы не требовалось прерывать обработку текущего запроса, процесс обработки всех запросов за-

вершился бы в конце 8-й минуты.

Однако в модели обслуживания с абсолютными приоритетами происходит прерывание текущей обра-

ботки и переключение на обслуживание иного запроса в случае появления запроса с более высоким прио-

ритетом.

Соседние файлы в папке Зачет