Метрики пакета программного обеспечения
Эта статья нуждается в дополнительных цитатах для проверки . ( сентябрь 2016 г. ) |
различные метрики программного пакета используются В модульном программировании . Они были упомянуты Робертом Сесилом Мартином в его книге 2002 года « Гибкая разработка программного обеспечения: принципы, шаблоны и практики» .
Термин «пакет программного обеспечения» здесь относится к группе связанных классов объектно -ориентированного программирования .
- Количество классов и интерфейсов. Количество конкретных и абстрактных классов (и интерфейсов) в пакете является показателем расширяемости пакета.
- Афферентные связи (Ca): количество классов в других пакетах, которые зависят от классов внутри пакета, является показателем ответственности пакета. Афферентные связи подают сигнал внутрь.
- Эфферентные связи (Ce): количество классов в других пакетах, от которых зависят классы в пакете, является индикатором зависимости пакета от внешних эффектов . Эфферентные связи подают сигнал наружу.
- Абстрактность (A): отношение количества абстрактных классов (и интерфейсов) в анализируемом пакете к общему количеству классов в анализируемом пакете. Диапазон этой метрики составляет от 0 до 1, где A=0 указывает на полностью конкретный пакет, а A=1 указывает на полностью абстрактный пакет.
- Нестабильность (I): отношение эфферентной связи (Ce) к общей связи (Ce + Ca), такое что I = Ce / (Ce + Ca). Эта метрика является индикатором устойчивости пакета к изменениям. Диапазон этого показателя составляет от 0 до 1, где I=0 указывает на полностью стабильный пакет, а I=1 указывает на полностью нестабильный пакет.
- Расстояние от главной последовательности (D): расстояние перпендикулярно упаковке от идеализированной линии A + I = 1. D рассчитывается как D = | А + Я - 1 |. Эта метрика является индикатором баланса абстрактности и стабильности пакета. Пакет непосредственно на главной последовательности оптимально сбалансирован с точки зрения его абстрактности и стабильности. Идеальные пакеты либо полностью абстрактны и стабильны (I=0, A=1), либо полностью конкретны и нестабильны (I=1, A=0). Диапазон этой метрики составляет от 0 до 1, где D=0 указывает на пакет, совпадающий с основной последовательностью, а D=1 указывает на пакет, который находится как можно дальше от основной последовательности.
- Циклы зависимостей пакетов: о циклах зависимостей пакетов сообщается вместе с иерархическими путями пакетов, участвующих в циклах зависимостей пакетов.
См. также
[ редактировать ]- Принцип инверсии зависимостей – метод уменьшения связи (Мартин 2002:127).
Ссылки
[ редактировать ]- Роберт Сесил Мартин (2002). Гибкая разработка программного обеспечения: принципы, закономерности и практики . Пирсон Образование. ISBN 0-13-597444-5 .
Внешние ссылки
[ редактировать ]- Учебное пособие по OO Metrics объясняет метрики пакета на примерах, но неправильно определяет индекс нестабильности; см. стр. 262 книги Мартина «Гибкая разработка программного обеспечения: принципы, шаблоны и практики». Пирсон Образование. ISBN 0-13-597444-5 .