Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
emp.docx
Скачиваний:
32
Добавлен:
17.12.2018
Размер:
1.44 Mб
Скачать
  1. Об’єктно-орієнтовані метрики.

З переходом від структурної до об'єктно-орієнтованої (ОО) парадигми програмування виникла потреба і у створенні відповідних метрик. Оскільки основні елементи конструювання ОО програм - це класи, що реалізують функціональність за допомогою методів, то саме класи і методи є категоріями, якими переважно оперують ГО метрики. Крім таких очевидних метрик, як загальне число класів, методів, атрибутів, середніх показників числа методів і атрибутів на клас і пр., Застосовуються набагато більш комплексними метрики, за допомогою яких можна судити не тільки про обсяг вихідного коду ГО проекту, але і про йогоскладності, як, відповідність основним принципам ОО парадигми і т. д.

До самих поширеними ОО метрик відносяться:

  • WMC(суммарная сложность всех методов класса)

  • WMC2

  • DIT(глибина дерева наслідування)

  • Number of children(кількість нащадків)

  • Coupling(зв’язність об’єктів)

  • Response for Class(відгук на клас)

  1. Метрики Хольстеда.

Розраховуються на основі аналізу числа рядків та синтаксичних елементів вихідного коду програми.

Основу метрик складають 4 характеристики:

    1. NUOprtr (Number of Unique Operators)

    2. NUOprnd (Number of Unique Operands)

    3. Noprtr (Number of Operators)

    4. Noprnd (Number of Operands)

Розраховуються такі оцінки:

      1. Словник програми (Halstead Program Vocabulary, HPVoc): HPVoc = NUOprtr + NUOprnd;

      2. Довжина програми (Halstead Program Length, HPLen): HPLen = Noprtr + Noprnd;

      3. Об’єм програми (Halstead Program Volume, HPVol): HPVol = HPLen log2 HPVoc;

      4. Складність програми (Halstead Difficulty, HDiff): HDiff = (NUOprtr/2) × (NOprnd / NUOprnd);

      5. На основі показника СКЛАДНІСТЬ оцінюється зусилля програміста при розробці за допомогою показника HEff (Halstead Effort): HEff = HDiff × HPVol.

  1. Метрики Чепіна.

Суть полягає в оцінці інформаційної міцності окремо взятого програмного модуля за допомогою аналізу характеру використання змінних зі списку вводу-виводу.

Всі змінні, які складають список вводу-виводу, розбиваютсья на 4 групи:

    • Множина “Р” – ввідні змінні для розрахунків та для забезпечення вводу-виводу;

    • Множина “М” – модифіковані чи створені в програмі змінні;

    • Множина “С” – управляючі змінні;

    • Множина “Т” – не використовувані в прогармі змінні.

Q = a1P + a2M + a3C + a4T,

 де a1, a2, a3, a4 – вагові коефіцієнти.

З врахуванням а1 = 1, а2 = 2, а3 = 3, а4 = 0.5

Q = P + 2M + 3C + 0.5T.

  1. Метрики цикломатичної складності Мак-Кейба.

Розраховується на основі графу управляючої логіки програми.

Граф будується у вигляді орієнтованого графу, в якому обчислювальні оператори чи вирази представляються у вигляді вузлів, а передача управління між вузлами – у вигляді дуг.

При розрахунку цикломатичної складності логічні оператори не враховуються

C = e – n + 2,

де e – число ребер, а n – число вузлів на графе управляючої логіки.

Використовується при тестуванні, так як показує необхідну кількість тестових прогонів для перекриття всіх шляхів.

Модифікації цикломатичної складності:

  • “модифікована” цикломатична складність

  • “строга” цикломатична складність

  • “спрощена” цикломатична складність

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]