You are on page 1of 5

Міністерство освіти й науки України

Національний технічний університет України


«Київський політехнічний інститут імені Ігоря Сікорського»

Кафедра автоматизації проектування енергетичних процесів і систем

Звіт
з циклу лабораторних робіт з дисципліни
«Економіка і організація виробництва»

Лабораторна робота №3

Виконала:
студентка 3-го курсу
групи ТР-82 ТЕФ
Крижанівська О.В.

Київ - 2021
Тема: Метрики оцінки складності програмної системи. Цикломатична
складність за Мак-Кейбом.
Мета: Навчитись визначати цикломатичну складность за Мак-Кейбом.
Завдання:
1. Знайти цикломатичну складність графа і цикломатичне число за
варіантом.
Варіант 6:

Цикломатична складність графа:


Z(G) = m-n+2
m = 15, n = 12, p = 1
Z(G) = m-n+2 = 15-12+2 = 5

Цикломатичне число:
Z(G) = m-n+2*p = 15-12+2*1 = 5
Контрольні запитання
1. Що таке керуючий орієнтований граф G (V, E)?
Відповідь: Стало традиційним уявлення програм у вигляді керуючого
орієнтованого графа G (V, E), де V – вершини, які відповідають
операторам, а E – дуги, що відповіднають переходам. Для
представлення програми використовується потоковий граф.

2. Які особливості потокового графа?


Відповідь: Особливостями потокового графа є:
> Граф будується відображенням керуючої структури програми.
> У ході відображення закривають дужки умовних операторів і
операторів циклів (end if; end loop) розглядаються як окремі оператори.
> Вершини потокового графа відповідають лінійним ділянкам
програми, включають один або кілька операторів програми.
> Дуги потокового графа відображають потік управління у програмі.
Дуга – це орієнтоване ребро.
> Розрізняють операторні і предикатні вузли. З операторного вузла
виходить одна дуга, а з предикатного – дві дуги.
> Предикатні вузли відповідають простим умовам у програмі. Складна
умова програми відображається в кілька предикатних вузлів.
Складовим називають умова, в якому використовується одна чи кілька
булевих операцій (OR, AND).
> Замкнуті області, утворені дугами і вузлами, називають регіонами.
> Середовище, що оточує граф розглядається як додатковий регіон.

3. Що визначає цикломатична складність?


Відповідь: Цикломатична складність визначає кількість незалежних
шляхів у базовому безлічі програми та верхню оцінку кількості тестів,
яке гарантує одноразове виконання всіх операторів.

4. Що таке цикломатичне число Мак-Кейба?


Відповідь: Основною метрикою складності графічного представлення
програм він запропонував вважати цикломатичне число Мак-Кейба, що
характеризує трудомісткість тестування програми. Цикломатичне
число Мак-Кейба показує необхідне число проходів для покриття всіх
контурів сильнозв’язного графа або кількість тестових прогонів
програми, необхідних для вичерпного тестування за критерієм "працює
кожна гілка".

5. Як обчислюється цикломатичне число Мак-Кейба?


Відповідь: Z (G) = m-n+2p, де m – число дуг орієнтованого графа G; n
число вершин; p – число компонентів зв'язності графа.

6. Що таке сильнозв’язний граф?


Відповідь: Сильнозв’язний називається граф, будь-які дві вершини
якого взаємнодосяжні. Для графів коректних програм, тобто графів, які
не мають недосяжних від точок входу ділянок і "висячих" входу і
виходу, сильнозв’язний граф, як правило, отримують шляхом
замикання однієї вершини, що позначає кінець програми, на вершину,
що позначає точку входу в цю програму.

7. Як зробити граф сильнозв’язним?


Відповідь: Сильнозв’язний граф, як правило, отримують шляхом
замикання однієї вершини, що позначає кінець програми, на вершину,
що позначає точку входу в цю програму.

8. Який шлях обходу графа є незалежним?


Відповідь: Незалежним називається будь-який шлях, що вводить
новий оператор обробки або нову умову.

9. Як формується незалежний шлях?


Відповідь: У термінах потокового графа незалежний шлях повинен
містити дугу, що не входить у раніше визначені шляхи. Шлях
починається у початковому вузлі, а закінчується в кінцевому вузлі
графа. Незалежний шлях формуються в порядку від найкоротшого до
найдовшого.

10. Що таке число компонентів зв’язності?


Відповідь: Число компонентів зв'язності графа можна розглядати як
кількість дуг, які необхідно додати для перетворення графа у
сильнозв’язний.

11. Які способи знаходження цикломатичної складності ви знаєте?


Відповідь: Цикломатичну складність можна обчислити одним з трьох
способів:
> Цикломатична складність дорівнює кількості регіонів потокового
графа.
> Цикломатична складність визначається за формулою Z(G) = m - n + 2,
де m – кількість дуг, n – кількість вузлів потокового графа.
> Цикломатичне складність формується як Z(G) = p+1, де p – кількість
предикатних вузлів в потоковому графі G.
12. Що визначає число лінійно незалежних контурів в
сильнозв’язному графі?
Відповідь: По суті Z (G) визначає число лінійно незалежних контурів в
сильнозв’язному графі. Інакше кажучи, цикломатичне число Мак-
Кейба показує необхідне число проходів для покриття всіх контурів
сильнозв’язного графа або кількість тестових прогонів програми,
необхідних для вичерпного тестування за критерієм "працює кожна
гілка".

You might also like