Необходимые формулы
Для оценки сложности кода используем
метрики сложности Холстеда и Джилба.
Для расчёта метрики Холстеда используются
формулы 1-7.
Длина программы:
, (1)
где
-
число уникальных операторов программы,
включая символы-разделители, процедур
и знаки операций (словарь операторов);
- число уникальных операндов программы
(словарь операндов);
Объём программы:
,
(2)
где N – длина программы;
n – словарь программы
(число уникальных операторов и число
уникальных операндов);
Оценка реализации:
,
(3)
где
– число n2 – число уникальных операндов
программы (словарь операндов); n1– число
уникальных операторов программы, включая
символы- разделители, имена знаки
операций (словарь операторов);
N2 – общее число операндов
в программе;
Трудность понимания:
,
(4)
где V – объём программы;
- оценка реализации;
Трудность кодирования:
,
(5)
где
– число уникальных операторов программы,
включая символы- разделители, имена
процедур и знаки операций (словарь
операторов);
–
общее число операндов в программе;
Уровень языка выражения:
,
(6)
где V – объём программы;
D – трудоемкости кодирования;
Информационное содержание:
,
(7)
где V – объём программы;
D – трудоёмкость кодирования;
Оптимальная модульность:
,
(8)
где
– число уникальных операндов программы
(словарь операндов).
Расчёты
Рассчитаем параметры по выше описанным
формулам:
Длина программы
;
Объём программы
;
Оценка реализации
;
Трудность понимания
;
Трудоёмкость кодирования
;
Уровень языка выражения
;
Информационное содержание
;
Оптимальная модульность
;
Для расчета метрики Джилба используются
следующие параметры:
Значение
характеристики
определяется количеством используемых
операторов if;
Значение
характеристики
определяется количеством используемых
в программе циклов;
Значение
характеристики
определяется
количеством используемых в программе
модулей;
Количество
связей между модулями
;
Для расчета метрики
используются формула (9):
Отношение числа связей
между модулями к числу модулей:
f = N4sv
/ Lmod, (9)
где
– количество связей
между модулями;
Lmod
– количество
используемых в программе модулей.
Рассчитаем параметры для этой метрики:
;
;
;
;f
= 0.
Заключение
Задача по расчету метрик
по произвольно выбранному программному
коду выполнена. Полученные значения
приобретут практический смысл при
необходимости сравнения данного кода
с каким-то иным, либо при рефакторинге
этого кода.