Оцінка характеристик програм на основі об’єктно-орієнтованих метрик

Содержание

Слайд 2

Метрики Чидамбера і Кемерера Автори запропонували 6 проектних метрик, основаних на

Метрики Чидамбера і Кемерера

Автори запропонували 6 проектних метрик, основаних на аналізі

методів класу, дерева наслідування і інших категоріях об’єктно-орієнтованого середовища.
Зважені методи на клас (WMC) – дозволяє виміряти складність класів з врахуванням складності їх методів
Підраховувати кількість методов в класі достатньо складно. Можливі два протилежних варіанти:
Підраховуються тільки методи поточного класу. Наслідовані методи ігноруються. Обгрунтування— наслідовані методи вже підраховані в тих класах, де вони визначились. Таким чином, інкрементність класу — кращий показник його функціональних можливостей, який відбражає його право на існування.
Підраховуються методи, які визначені в поточному класі, і всі наслідовані методи. Цей підхід підкреслює важливість простору стану розуміння класу (а не ікрементності класу).
Слайд 3

Метрики Чидамбера і Кемерера 2. Висота дерева наслідовання (DIT) – визначається

Метрики Чидамбера і Кемерера

2. Висота дерева наслідовання (DIT) – визначається як

максимальна довжина шляху від листа до кореня дерева наслідування класів.

Відповідно, для окремого класі DIT, ця довжина максимального шляху даного класу до кореневого класу в ієрархії класів.

Слайд 4

Метрики Чидамбера і Кемерера 3. Кількість нащадків (NOC) – дозволяє визначити

Метрики Чидамбера і Кемерера

3. Кількість нащадків (NOC) – дозволяє визначити кількість

безпосередніх нащадків даного класу.

Із збільшенням NOC зростає багаторазовість використання, так як наслідовання — це форма повторного використання.
Метрики DIT і NOC — кількісні характеристики форми і разміру структури класів.

Слайд 5

Метрики Чидамбера і Кемерера 4. Зв’язаність між класами об’єктів (CBO) –

Метрики Чидамбера і Кемерера

4. Зв’язаність між класами об’єктів (CBO) – надає

можливість визначити кількість класів, з якими зв’язаний даний клас. Це має суттєве значення, коли один клас використовує методи або екземпляри іншого класу.
З’єднання означає, що методи даного класу використовують методи або екземплярні змінні іншого класу.
Слайд 6

Метрики Чидамбера і Кемерера 5. Відгук для класа (RFC) – дозволяє

Метрики Чидамбера і Кемерера

5. Відгук для класа (RFC) – дозволяє визначити

кількість методів, яке може бути виконано у відповідь на отримання повідомлення даним класом. В цій метриці враховуються не тільки виконувані методи даного класу, але і методи інших класів, тобто за допомогою цієї метрики можна оцінити і ступінь потенційного «спілкування» конкретного класу з іншими класами:
RFC- представляє собою кількість методів класу, збільшене на число методів інших класів, що викликаються з даного класу.
Слайд 7

Метрики Чидамбера і Кемерера

Метрики Чидамбера і Кемерера

 

Слайд 8

Метрики Чидамбера і Кемерера

Метрики Чидамбера і Кемерера

 

Слайд 9

Метрики Чидамбера і Кемерера Контрольні завдання: Дано 3 класи: - А

Метрики Чидамбера і Кемерера

Контрольні завдання:
Дано 3 класи:
- А (включає приватні

атрибути pa1, pa2 і методи opA1(), opA2())
- B (включає приватний атрибут pb1, і методи opB1(), opB2())
C (включає приватні атрибути pc1, pc2 і методи opC1(), opC2())
Класи B і С наслідуються від класа А. Побудувати діаграму класів. Обчислити метрику WMC, DIT, NOC.
Слайд 10

Метрики Чидамбера і Кемерера 2) Дано 4 класи: - А (включає

Метрики Чидамбера і Кемерера

2) Дано 4 класи:
- А (включає приватні

атрибути pa1, pa2 і методи opA1(), opA2())
- B (включає приватний атрибут pb1, і методи opB1(), opB2())
C (включає приватні атрибути pc1, pc2 і методи opC1(), opC2())
- D (включає приватні атрибути pd1, pd2 і методи opD1(), opD2())
Класи B,С наслідуються від класа А. Клас D від класа B. При виконанні операції opB1() визивається операція opD2(). Побудувати діаграму класів. Обчислити метрику CBO і RFC.
Слайд 11

Метрики Чидамбера і Кемерера 3) Дано 2 класи: - А (включає

Метрики Чидамбера і Кемерера

3) Дано 2 класи:
- А (включає приватні

атрибути pa1 типу Integer, pa2 типу Real, pa3 типу Boolean і методи opA1(pa1: Integer), opA2(pa2:Real), opA3(opA1(pa1:Integer, pa3:Boolean )).
- B (включає приватний атрибут pb1, і методи opB1(), opB2())
Клас B наслідуються від класа А. При виконанні операції opB2() визивається операція opA1(). Побудувати діаграму класів. Обчислити значення метрики WMC, CBO, RFC.
Слайд 12

Метрики Чидамбера і Кемерера 4) Визначити недолік зв’язаності LCOM

Метрики Чидамбера і Кемерера

4)

Визначити недолік зв’язаності LCOM

Слайд 13

Метрики Лоренца і Кіда Размір класу (CS) Кількість операцій, перевизначенихпідкласами (NOO)

Метрики Лоренца і Кіда

Размір класу (CS)
Кількість операцій, перевизначенихпідкласами (NOO)
3.

Кількість операцій, доданих підкласами (NOA)
4. Індекс спеціалізації (SI)
5. Середній розмір операції (OSavg)
6. Складність операції (OC)
7. Середня кількість параметрів на операцію (NPavg)
8. Кількість описів сценаріїв (NSS)
9. Кількість ключевих класів (NKC)
10. Кількість підсистем (NSUB)
Слайд 14

Метрики Лоренца і Кіда Размір класу (CS) Загальний розмір класу визначається

Метрики Лоренца і Кіда

Размір класу (CS)
Загальний розмір класу визначається за

допомогою наступних вимірів:
Велике значення CS – клас має дуже багато обов’язків.
Слайд 15

Метрики Лоренца і Кіда 2. Кількість операцій, перевизначених підкласом (NOO) Перевизначенням

Метрики Лоренца і Кіда

2. Кількість операцій, перевизначених підкласом (NOO)
Перевизначенням називають випадок,

коли підклас заміщує операцію, наслідовану від головного класу, своєю власною версією.
Великі значення NOO – проблема проектування.
Слайд 16

Метрики Лоренца і Кіда 3. Кількість операцій, доданих підкласом (NOA )

Метрики Лоренца і Кіда

3. Кількість операцій, доданих підкласом (NOA )
Підкласи

спеціалізуються додаванням приватних операцій і властивостей.
З ростом NOA підклас знищується від абстракції головного класу.
Для рекомендованих значень CS = 20 и DIT = 6 рекомендоване значення NOA 4 метода.
4. Індекс спеціалізації (SI)
Забезпечує грубу оцінку степені спеціалізації кожного підкласу. Спеціалізація досягається додаванням, знищенням або перевизначенням операцій:
SI = (NOO x рівень) /Mзаг,
где рівень — номер рівня в ієрархії, на якому знаходиться підклас, Мзаг — загальна кількість методів класу.
Слайд 17

Метрики Лоренца і Кіда

Метрики Лоренца і Кіда

Слайд 18

Метрики Лоренца і Кіда Операційно-орієнтовані метрики 5. Середній розмір операції (OSAVG)

Метрики Лоренца і Кіда

Операційно-орієнтовані метрики
 5. Середній розмір операції (OSAVG)
Як індикатор

розміру може використовуватись кількість рядків програми, однак LOC-оцінки призводять до відомих проблем. Альтернативний варіант — «кількість повідомлень, посланих операцією».
6. Складність операції (ОС)
Складність операції може обчислюватимь за допомогою стандартних метрик складності, тобто за допомогою LOC- або FP-оцінок, метрики цикломатичної складності, метрики Холстеда.
М. Лоренц і Д. Кідд пропонують обчислювати ОС сумуваннням оцінок з ваговими коефіцієнтами
Слайд 19

Метрики Лоренца і Кіда Операційно-орієнтовані метрики

Метрики Лоренца і Кіда

Операційно-орієнтовані метрики