1 Основы проектирования программных систем


Download 256.03 Kb.
bet22/25
Sana21.04.2023
Hajmi256.03 Kb.
#1370144
TuriГлава
1   ...   17   18   19   20   21   22   23   24   25
Bog'liq
Orlov Programmnaya injeneria распознан страницы

Рис. 6-21 - Иерархическая структура программной системы
Н. Фентон [48] предлагает ряд нростых морфологических метрик, которые позволяют сравнивать программные архитектуры на основе прямых измерений:

  • Размер Size = п, где п — количество вершин архитектуры. Для архитектуры на рис. 6.21 Size = 10.

  • Плотность взаимодействия R = е/п (отношение ребер к вершинам) измеряет сцепление в архитектуре. Для архитектуры на рис. 6.21 R = 1,3.

  • Уровень взаимодействия. Определяется как невязка структуры Nev. Формула для невязки рассматривается ниже.

  • Индивидуальный уровень взаимодействия Сот.. Вычисляет степень взаимодей­ствия г-й вершины с другими вершинами. Определяется как сумма коэффици­ентов Fan_in(i) и Fan_out(i), которые ноясняются ниже.

  • Средний уровень взаимодействия Av_Com. Вычисляется как среднее значение всех индивидуальных уровней взаимодействия архитектуры.

Возникает вопрос: как оценить качество топологии архитектуры? Из практики проектирования известно, что лучшее решение обеспечивается иерархической структурой в виде дерева.
Степень отличия реальной нроектной структуры от дерева характеризуется невязкой структуры. Как определить невязку?
Веномним, что полный граф (complete graph) с п вершинами имеет количество ребер
ес = п (п — 1) / 2,
а дерево (tree) с таким же количеством вершин — существенно меньшее количество ребер
е,=п-1.
Тогда формулу невязки можно построить, сравнивая количество ребер нолного графа, реального графа и дерева.
Для проектной структуры с п вершинами и е ребрами невязка определяется но выражению:
е — е. (е — п + 1) х 2 2 х (е — п + 1)
Nev = - = - = —.
есet п х (п — 1) — 2 х (п — 1) (п — 1)х(п — 2)
Значение невязки лежит в диапазоне от 0 до 1. Если Nev = 0, то проектная структура является деревом, если Nev = 1, то проектная структура — нолный граф.
Ясно, что невязка дает грубую оценку структуры. Для увеличения точности оценки следует применить характеристики связности и сцепления.
Хорошая структура должна иметь низкое сценление и высокую связность.
Локальными характеристиками модулей структуры являются коэффициент объединения по входу и коэффициент разветвления по выходу.
Коэффициент объединения по входу Fan_in(i) это количество модулей, которые прямо управляют г-м модулем.
В примере для модуля п\ Fan_in(n) = 4.

Download 256.03 Kb.

Do'stlaringiz bilan baham:
1   ...   17   18   19   20   21   22   23   24   25




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling