4 Расчёт метрики маккейба и определение базисных независимых путей
Метрика Маккейба определяется по формуле:
Z(G) = e – ʋ + 2p, где е — число дуг ориентированного графа G; ʋ — число вершин; р — число компонентов связности графа.
Для данного алгоритма: е = 73, ʋ=64, р=1.
Тогда цикломатическое число Маккейба Z(G) = 73-64+2*1= 11, следовательно число базовых независимых путей – 11.
1-й путь: 1-2-3-4-5-6(нет)-12-13-14-15-16(нет)-22-23-24(нет)-33-34-35(нет)-43-44-45-46(да)-47-48(да)-49-50-51(нет)-55-48(нет)-56-57-46(нет)-58-59-60-61-62-63-64.
2-й путь: 1-2-3-4-5-6(нет)-12-13-14-15-16(нет)-22-23-24(нет)-33-34-35(нет)-43-44-45-46(нет)-58-59-60-61-62-63-64.
3-й путь: 1-2-3-4-5-6(да)-7-8(да)-9-10-8(нет)-11-6(нет)-12-13-14-15-16(нет)-22-23-24(нет)-33-34-35(нет)-43-44-45-46(нет)-58-59-60-61-62-63-64.
5 Расчёт метрики джилба
CL=11,
cl=CL/кол-во всех операторов=11/51=0,216
Максимальный уровень вложенности условного оператора CLI = 2
6 Расчёт метрики граничных значений
Граф: G=(E,V)
Абсолютная граничная сложность программы Sa:
Sa=119
Относительная граничная сложность программы So:
So = 1 - =l – 0,529=0,471
7 Результаты расчетов метрик
Свойства подграфов программы |
Номер вершины выбора |
||||||||||
6 |
8 |
16 |
17 |
24 |
26 |
35 |
37 |
46 |
48 |
51 |
|
Номера вершин перехода |
7, 12 |
9, 11 |
17, 22 |
18, 20 |
25, 33 |
27, 29 |
36, 43 |
38, 41 |
47, 58 |
49, 56 |
52, 55 |
Скорректированная сложность вершины выбора |
6 |
3 |
6 |
4 |
9 |
3 |
8 |
4 |
12 |
8 |
4 |
Номера вершин подграфа |
7-12 |
9-11 |
17-22 |
18-21 |
25-33 |
27-29 |
36-43 |
38-41 |
47-58 |
49-56 |
52-55 |
Номер нижней границы подграфа |
12 |
11 |
22 |
20 |
33 |
29 |
43 |
41 |
58 |
56 |
55 |
Скорректированные сложности вершин графа программы (рис. 1)
Номер вершины графа программы |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Скорректированная сложность вершины графа |
1 |
1 |
1 |
1 |
1 |
6 |
1 |
3 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
6 |
4 |
1 |
1 |
1 |
1 |
1 |
1 |
9 |
1 |
3 |
1 |
1 |
1 |
1 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
1 |
1 |
1 |
1 |
8 |
1 |
4 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
12 |
1 |
8 |
1 |
1 |
4 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
61 |
62 |
63 |
64 |
|
1 |
1 |
1 |
0
|
Sa = 119 |
Итоговая таблица:
Метрики сложности потока управление |
Схемы алгоритмов |
Вариант 16 |
|
Метрика Маккейба Z(G) |
11 |
Абсолютная сложность программы CL по метрике Джилба |
11 |
Относительная сложность программы cl по метрике Джилба |
0,216 |
Максимальный уровень вложенности условного оператора CLI по метрике Джилба |
2 |
Метрика граничных значений (абсолютная граничная сложность программы) Sa |
119 |
Метрика граничных значений (относительная граничная сложность программы) Sо |
0,471 |