Основы разработки программного обеспечения вычислительных систем. Милованов И.В - 24 стр.

UptoLike

24
а дерево (tree) с таким же количеством вершин существенно меньшее
количество рёбер
e
t
= n 1.
Тогда формулу невязки можно построить, сравнивая количество рё-
бер полного графа, реального графа и дерева.
Для проектной структуры с п вершинами и е рёбрами невязка опре-
деляется по выражению
)2()1(
)1(2
)1(2)1(
2)1(
Nev
+
=
+
=
=
nn
ne
nnn
ne
ee
ee
tc
t
.
Значение невязки лежит в диапазоне от 0 до 1. Если Nev = 0, то
проектная структура является деревом, если Nev = 1, то проектная струк-
тураполный граф.
Ясно, что невязка даёт грубую оценку структуры. Для увеличения
точности оценки следует применить характеристики связности и сцепления.
Хорошая структура должна иметь низкое сцепление и высокую связ-
ность.
В [5] предложено оценивать структуру с помощью коэффициентов
Fan_in(i) и Fan_out(i) модулей.
Большое значение Fan_in(i) свидетельство высокого сцепления, так
как является мерой зависимости модуля. Большое значение Fan_out(i) го-
ворит о высокой сложности вызывающего модуля. Причиной является то,
что для координации подчинённых модулей требуется сложная логика
управления.
Основной недостаток коэффициентов Fan_in(i) и Fan_out(i) состоит в
игнорировании веса связи. Здесь рассматриваются только управляющие
потоки (вызовы модулей). В то же время информационные потоки, на-
гружающие рёбра структуры могут существенно изменяться, поэтому
нужна мера, которая учитывает не только количество рёбер, но и количе-
ство информации, проходящей через них.
В [10] введены информационные коэффициенты ifan_in(i) и ifan_out(j).
Они учитывают количество элементов и структур данных, из которых
i-й модуль берёт информацию и которые обновляются j-м модулем соот-
ветственно.
Информационные коэффициенты суммируются со структурными ко-
эффициентами sfan_in(i) и sfan_out( j), которые учитывают только вызовы
модулей.
В результате формируются полные значения коэффициентов:
Fan_in (i) = sfan_in (i) + ifan_in (i),
Fan_out (j) = sfan_out (j) + ifan_out (j).