модулів). Так як в об'єктно-орієнтованій системі базовим елементом є клас, то локалізація тут грунтується на об'єктах. Тому метрики повинні застосовуватися до класу (об'єкту) як до комплексної сутності. Крім того, між операціями (Функціями) і класами можуть бути відносини не тільки В«один-до-одногоВ». Тому метрики, що відображають способи взаємодії класів, повинні бути пристосовані до відносин В«один-до-багатьохВ», В«багато-до-багатьохВ».
Інкапсуляція - упаковка (зв'язування) сукупності елементів. Для класичних програмних засобів прикладами низькорівневою інкапсуляції є записи і масиви. Механізмом інкапсуляції середнього рівня є підпрограми. В об'єктно-орієнтованих системах инкапсулируются обов'язки класу, що подаються його властивостями, операціями і станами. Для метрик облік інкапсуляції призводить до зміщення фокусу вимірювань з одного модуля на групу властивостей і обробних модулів (операцій). Крім того, інкапсуляція переводить вимірювання на більш високий рівень абстракції. Навпаки, класичні метрики орієнтовані на низький рівень - кількість булевих умов (цикломатическая складність) і кількість рядків програми.
Інформаційна закритість робить невидимими операційні деталі програмного компонента. Інших компонентів доступна тільки необхідна інформація. Якісні об'єктно-орієнтовані системи підтримують високий рівень інформаційної закритості. Таким чином, метрики, що вимірюють ступінь досягнутої закритості, тим самим відображають якість об'єктно-орієнтованого проекту.
Спадкування - механізм, забезпечує тиражування обов'язків одного класу в інші класи. Спадкування поширюється через всі рівні ієрархії класів. Стандартні програмні засоби не підтримують цю характеристику. Оскільки спадкування - Основна характеристика об'єктно-орієнтованих систем, на ній фокусуються багато об'єктно-орієнтовані метрики (кількість дітей - нащадків класу, кількість батьків, висота класу в ієрархії успадкування). p> Абстракція - це механізм, який дозволяє проектувальнику виділяти головне в програмному компоненті (як властивості, так і операції) без урахування другорядних деталей. У міру переміщення на більш високі рівні абстракції ми ігноруємо все більша кількість деталей, забезпечуючи всі загальне уявлення поняття або елемента. У міру переміщення на більш низькі рівні абстракції ми вводимо все більша кількість деталей, забезпечуючи більш точне уявлення поняття або елемента. Клас - це абстракція, яка може бути представлена ​​на різних рівнях деталізації і різними способами. Тому об'єктно-орієнтовані метрики повинні представляти абстракції в термінах вимірювань класу.
Класичною мірою складності внутрішніх зв'язків модуля є зв'язність, а класичної мірою складності зовнішніх зв'язків - зчеплення.
язність модуля - міра залежності його частин, це внутрішня характеристика модуля. Чим вище зв'язність модуля, тим краще результат проектування. Для вимі...