Использование метрик Чидамбера-Кемерера
Поскольку основу логического представления ПО образует структура классов, для оценки ее качества удобно использовать метрики Чидамбера-Кемерера. Пример расчета метрик для структуры, показанной на рис. 14.4, представлен в табл. 14.4. Рис. 14.4. Структура классов для расчета метрик Чидамбера-Кемерера
Прокомментируем результаты расчета. Класс Class А имеет три метода (op_al(), ор_а2(), ор_аЗ()), трех детей (Class В, Class С, Class D) и является корневым классом. Поэтому метрики WMC, NOC и DIT имеют, соответственно, значения 3, 3 и 0. Метрика СВО для класса Class А равна 1, так как он использует один метод из другого класса (метод ор_е() из класса Class E, он вызывается из метода ор_аЗ()). Метрика RFC для класса Class А равна 4, так как в ответ на прибытие в этот класс сообщений возможно выполнение четырех методов (три объявлены в этом классе, а четвертый метод ор_е() вызывается из ор_аЗ()). Таблица 14.4. Пример расчета метрик Чидамбера-Кемерера
Для вычисления метрики LCOM надо определить количество пар методов класса. Оно рассчитывается по формуле , где т — количество методов класса. Поскольку в классе три метода, возможны три пары: op_al()&ор_а2(), op_al()&ор_а3() и ор_а2()&ор_а3(). Первая и вторая пары не имеют общих свойств, третья пара имеет общее свойство (pal). Таким образом, количество несвязанных пар равно 2, количество связанных пар равно 1, и LCOM = 2-1 = 1. Отметим также, что для класса Class D метрика СВО равна 2, так как здесь используются свойство pal и метод op_f() из других классов. Метрика LCOM в этом классе равна 0, поскольку методы op_dl() и op_d2() связаны по свойству pdl, а отрицательное значение запрещено.
Метрики Лоренца и Кидда
Коллекция метрик Лоренца и Кидда — результат практического, промышленного подхода к оценке ОО-проектов [45]. Метрики, ориентированные на классы
М. Лоренц и Д. Кидд подразделяют метрики, ориентированные на классы, на четыре категории: метрики размера, метрики наследования, внутренние и внешние метрики. Размерно-ориентированные метрики основаны на подсчете свойств и операций для отдельных классов, а также их средних значений для всей ОО-системы. Метрики наследования акцентируют внимание на способе повторного использования операций в иерархии классов. Внутренние метрики классов рассматривают вопросы связности и кодирования. Внешние метрики исследуют сцепление и повторное использование. Метрика 1: Размер класса CS (Class Size)
Общий размер класса определяется с помощью следующих измерений: q общее количество операций (вместе с приватными и наследуемыми экземплярными операциями), которые инкапсулируются внутри класса; q количество свойств (вместе с приватными и наследуемыми экземплярными свойствами), которые инкапсулируются классом. Метрика WMC Чидамбера и Кемерера также является взвешенной метрикой размера класса. Большие значения CS указывают, что класс имеет слишком много обязанностей. Они уменьшают возможность повторного использования класса, усложняют его реализацию и тестирование. При определении размера класса унаследованным (публичным) операциям и свойствам придают больший удельный вес. Причина — приватные операции и свойства обеспечивают специализацию и более локализованы в проекте. Могут вычисляться средние количества свойств и операций класса. Чем меньше среднее значение размера, тем больше вероятность повторного использования класса. Рекомендуемое значение CS 20 методов.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|