Учреждение образования «Белорусский государственный университет информатики и радиоэлектроники»
Факультет заочного обучения
Кафедра программного обеспечения информационных технологий
ЛАБОРАТОРНАЯ РАБОТА №1 «МЕТРИКИ СЛОЖНОСТИ ПОТОКА УПРАВЛЕНИЯ ПРОГРАММ»
по дисциплине«Метрология, стандартизация и сертификация в информационных технологиях»
Минск 2015
Задание Для полученного варианта индивидуального задания разработать схему алгоритма с максимальным уровнем детализации. 1. Рассчитать метрики Маккейба и определить базовые независимые пути в алгоритме. 2. Рассчитать абсолютную CL и относительную cl сложности программы, а также максимальный уровень вложенности условного и циклического операторов CLI, используя метрику Джилба. 3. Рассчитать абсолютную Sa и относительную So граничные сложности программы по метрике граничных значений. Результаты представить в виде таблицы. 4. Свести все значения рассчитанных метрик сложности потока управления для разработанного алгоритма в итоговую таблицу.
Вариант 22
Ход работы Детализированная схема алгоритма представлена на рисунке 1. Описание схемы алгоритма: 1. Начало работы. 2. Описание переменных, используемых в программе. 3. Ввод элементов первого массива. 4. Ввод элементов второго массива. 5. Принятие начальных значений для нахождения минимального элемента в первом массиве. 6-7. Задание условий для работы цикла по поиску минимального элемента. 8. Проверяем условие: сравниваем поочерёдно элементы массива. 9. Запоминаем минимальный элемент. 10. Запоминаем номер строки, содержащей минимальный элемент. 11-12. Увеличиваем шаг в цикле на 1. 13. Принятие начальных значений для нахождения максимального элемента во втором массиве. 14-15. Задание условий для работы цикла по поиску максимального элемента. 16. Проверяем условие: сравниваем поочерёдно элементы массива. 17. Запоминаем максимальный элемент. 18. Запоминаем номер столбца, содержащий максимальный элемент. 19-20. Увеличиваем шаг в цикле на 1. 21. Принимаем начальные значения для массивов, которые будут содержать значения предыдущих массивов, изменённые в соответствии с заданием. 22-25. Задание условий для работы цикла по замене элементов массивов и вывода их не экран. 26. Замена строки первого массива, содержащей минимальный элемент, и столбца второго массива, содержащего максимальный элемент. 27-30. Увеличиваем шаг в цикле на 1. 31. Выводим на экран элементы, заданные по условию. Конец работы.
Рисунок 1. Детализированная схема алгоритма
1. Рассчитаем метрики Маккейба и определим базовые независимые пути в алгоритме. Метрика Маккейба предназначена для оценки трудоёмкости тестирования программы. Данная метрика определяется по формуле:
где e – число дуг ориентированного графа G, υ – число вершин, p – число компонентов связанности графа. Для рисунка 1: e=41, υ=32, р=1. Подставим в формулу: Z (G)=41-32+2*1=7.
2. Рассчитаем абсолютную CL и относительную cl сложности программы, а также максимальный уровень вложенности условного и циклического операторов CLI, используя метрику Джилба. Метрика Джилба определяет логическую сложность программы как насыщенность программы условными операторами и операторами цикла. CL – количество условных и циклических операторов, cl – насыщенность программы условными и циклическими операторами, характеризующая относительную сложность программы. Для рисунка 1: количество операторов IF-THEN-ELSE равно 3(n-1), а максимальный уровень вложенности 0 (n-2 ). Тогда CL=3, cl=0,1 (количество операторов программы равно 30), CLI=0.
3. Рассчитаем абсолютную Sa и относительную So граничные сложности программы по метрике граничных значений. Результаты представить в виде таблицы. Метрика граничных значений базируется на определении скорректированной сложности вершин графа программы. Абсолютная граничная сложность программы Sa определяется как сумма скорректированных сложностей всех вершин графа G. Относительная граничная сложность программы So определяется по формуле
Свойства подграфов программы Таблица 1 Свойства вершин перехода Номер вершины выбора 8 16 Номера вершин перехода 9,11 17,19 Номера вершин подграфа 9,10,11,12 17,18,19,20 Номер нижней границы подграфа 13 21 Скорректированная сложность вершин выбора 4 4
4. Сведём все значения рассчитанных метрик сложности потока управления для разработанного алгоритма в итоговую таблицу. Таблица 3 Метрики сложности потока управления Значения Метрика Маккейба 7 Абсолютная сложность программы CL 3 Относительная сложность программы cl 0,1 Максимальный уровень вложенности условного оператора CLI по метрике Джилба 0 Абсолютная граничная сложность программы Sa 91 Относительная граничная сложность программы So 0,33
Выводы: В ходе данной лабораторной работе была разработана схему алгоритма с максимальным уровнем детализации и были изучены и рассчитаны метрики сложности потока управления программ, такие как метрика Маккейба, абсолютная сложность программы CL, относительная сложность программы cl, максимальный уровень вложенности условного оператора CLI по метрике Джилба, абсолютная граничная сложность программы Sa, Относительная граничная сложность программы So. Значения рассчитанных метрик были сведены в итоговую таблицу.