Название модели |
Формула, обозначение |
МЕТРИКИ СЛОЖНОСТИ |
Метрики Холстеда
-длина программы;
- объем программы
- оценка ее реализации;
- трудность ее понимания;
- трудоемкость кодирования;
- уровень языка выражения;
- информационное содержание;
- оптимальная модульность; |
N = n1 log1 n1 + n2
log2 n2
V = N log2 n
L*= (2 n2 )/ (n1 N2)
Ec = V/ L*
D = (n1N2) (2n2) =
1/ L*
l * = V/ D2
= V/ L* 2
I = V / D
M = n2*/6 |
Метрики Джилба - количество операторов цикла;
- количество операторов условия;
- число модулей или подсистем;
- отношение числа связей между модулями к числу модулей;
- отношение числа ненормальных
выходов из множества операторов к общему числу операторов; |
L1oop L IF
L mod
f = N4SV / L mod
f * = N*SV / L |
Метрики Мак-Кейба- цикломатическое число;
- цикломатическая сложность; |
l(G) = m - n + p
n (G) = l (G) +1 = m - n + 2 |
Метрика Чепена - мера трудности понимания программ на основе входных и выходных данных; |
H = 0.5T+P+2M+3C |
Метрика Шнадевида - число путей в управляющем графе |
S = S Pi Ci |
Метрика Майерса - интервальная мера; |
[n 1 ¸
n 2] |
Метрика Хансена - пара (цикломатическое число, число операторов) |
{n , N} |
Метрика Чена - топологическая мера Чена; |
M(G) = (n (G), N, Q0) |
Метрика Вудворда - узловая мера (число узлов передач управления); |
Y x |
Метрика Кулика - нормальное число (число простейших циклов в нормальной схеме программы); |
Norm (P) |
Метрика Хура - цикломатическое число сети Петри, отражающей управляющую структуру программы; |
l(G*р) |
Метрики Витворфа, Зулевского -мера сложности потока управления -мера сложности потока данных; |
g(Р) W(Р) |
Метрика Петерсона - число многовходовых циклов; |
Nm 1 0 0 p |
Метрики Харрисона, Мэйджела - функциональное число (сумма приведенных сложностей всех вершин управляющего графа); - функциональное отношение (отношение числа вершин графа к функциональному числу); - регулярные выражения (число операндов, операторов и скобок в регулярном выражении управляющего графа программы); |
f1 = S c 1
f* = N c
1/ f1
p(G) = N+L+Sk |
Метрика Пивоварского - модифицированная цикломатическая мера сложности; |
N(G) = n*(G) + S Pi |
Метрика Пратта - тестирующая мера; |
Test (Pr) |
Метрика Кантоне - характеристические числа полиномов, описывающих управляющий граф программы; |
PCN* |
Метрика Мак-Клура - мера сложности, основанная на числе возможных путей выполнения программы, числе управляющих конструкций и переменных; |
C(V) = D(V) ´ J(V) / N |
Метрика Кафура - мера на основе концепции информационных потоков; |
I(G) |
Метрика Схуттса, Моханти - энтропийные меры; |
e (G) |
Метрика Коллофело - мера логической стабильности программ; |
h (G) |
Метрика Зольновского, Симмонса, Тейера Взвешенная сумма различных индикаторов: - (структура, взаимодействие, объем, данные); - (сложность интерфейса, вычислительная сложность, сложность ввода/вывода, читабельность); |
å (a
, b , g
, n )
å (c
, C , u
, p ) |
Метрика Берлингера - информационная мера; |
I(R) = m (F* (R) ´ F-(R))2 |
Метрика Шумана - сложность с позиции статистической теории языка; |
X (Y) |
Метрика Янгера - логическая сложность с учетом истории вычислений; Сложность проектирования Насыщенность комментариями Число внешних обращений Число операторов |
L (w
) Cc = å log2 (i
+ 1) [å n Cxy (n)]
X = K/C Ci L1 |
ПРОГНОЗ МОДЕЛИ |
Модели Холстеда - прогноз системных ресурсов; - прогноз числа ошибок. Модель фирмы IBM Модель общей сложности Модели связности Сплайн-модель |
P=3/8 (Ra - 1) ´
2Ra B = Nlog2 n / 3000
B = 23M1 + M1 0
B = 21.1 + 0.1 V + COMP (S)
Pij = 0.15 (Si + Sj) + 0.7 Cij
Pij = ½ å l
i (D Zij2
+ D Nij2 ) ln (D
Zij2 + D Nij2
) + a + b
Zi + g N1 |
ОЦЕНОЧНЫЕ МОДЕЛИ |
Джелински - Моранды |
R(t) = e - (Т - 1 + 1) Ft |
Вейса-Байеса |
R1 (t) = ò
ò e - l - (i -1) F
)t Y(l,
F/t1, ... , ti-1) dl
dФ |
Шика-Волвертона |
R1 (t) = e - F( N - 1 + 1) ti2 / 2 |
Литтлвуда |
R1 (t) = (b+t/b+t +t)- F(N - i + 1) a |
Нельсона |
Rj (t) = exp { åln (1 - Pj)} |
Халецкого |
Rj (t) = Pµ- a(1- g nj ) / nj |
Модель отлаженности |
Rj (t) =Pµ- r fj (t,l ,p) |
Мозаичная модель |
Rj (t) = 1 - b( a - wj - 1) |