Методика количественной оценки и сравнения диаграмм UML основана на присвоении элементам диаграмм оценок, зависящих от их информационной ценности, а также о внесениях ими в диаграмму дополнительных сложностей.
Ценность отдельных элементов меняется в зависимости от типа диаграмм, на которой они находятся. Количественную оценку диаграммы можно провести по следующей формуле
S - оценка диаграммы
Sobj - оценки для элементов диаграммы
Slnk - оценки для связи на диаграмме
Obj - число объектов на диаграмме
Tobj - число типов объектов на диаграмме
Tlnk - число типов связи на диаграмме
Если диаграмма содержит большее число связей одного типа, то число и тип связи можно не учитывать и формула расчета приводится к виду:
Если на диаграмме классов показаны атрибуты и операции класса, можно учесть их при расчете, при этом оценка прибавляется к оценке соответствующего класса:
Scls - оценка операций и атрибутов для класса
Op - число операций в классе
Atr - число атрибутов класса
При этом учитываются только атрибуты и операции, отображаемые на диаграмме.
Приведем оценки для различных типов элементов и связей:
Основные элементы языка UML
Типы элемента | Оценка для элемента |
Класс | 5 |
Интерфейс | 4 |
Вариант использования | 2 |
Компонент | 4 |
Узел | 3 |
Процессор | 2 |
Взаимодействие | 6 |
Пакет | 4 |
Состояние | 4 |
Примечание | 10 |
Основные типы связей языка UML
Тип связи | Оценка |
Зависимость | 2 |
Ассоциация | 1 |
Агрегирование | 2 |
Композиция | 3 |
Обобщение | 3 |
Реализация | 2 |
Остальные типы связей должны рассматриваться как ассоциации.
Недостатком диаграммы является как слишком низкая оценка (при этом диаграмма не достаточно информативна), так и высокая (при этом диаграмма обычно слишком сложна для понимания). Приведем диапазон оптимальных оценок для основных типов диаграмм.
Диапазон оценок для диаграмм UML
Тип диаграммы | Диапазон оценок |
Диаграмма классов с атрибутами и операциями | 5 - 5.5 |
Диаграмма без атрибутов и операций | 3 - 3.5 |
Диаграммы компонентов | 3.5 - 4 |
Диаграммы вариантов использования (USE CASE) | 2.5 - 3 |
Диаграммы размещения | 2 - 2.5 |
Диаграммы последовательности | 3 - 3.5 |
Кооперативная диаграмма | 3.5 - 4 |
Диаграммы пактов | 3.5 - 4 |
Диаграммы состояний | 2.5 - 3 |
Пример оценки диаграммы классов: