1 Основы проектирования программных систем
Download 256.03 Kb.
|
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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling