- •Вимірювачі програмного забезпечення.
- •Особливості використання вимірювачів пз
- •Використання iPlasma для вимірювань.
- •Використання Analist4j для вимірювань.
- •Використання cccc для вимірювань.
- •Використання Visual Studio для вимірювань.
- •Пояснення основних метрик iPlasma.
- •Пояснення основних метрик Visual Studio.
- •Пояснення основних метрик Analist4j.
- •Структура iPlasma.
- •Візуалізація в iPlasma.
- •Призначення та послідовність проведення первинного статистичного аналізу.
- •Призначення та послідовність проведення кореляційного аналізу.
- •Призначення та послідовність проведення регресійного аналізу.
- •Описати, пояснити використання Statistica для первинного статистичного аналізу (або іншого засобу).
- •Описати, пояснити використання Statistica для кореляційного аналізу (або іншого засобу).
- •Описати, пояснити використання Statistica для регресійного аналізу (або іншого засобу).
- •Описати та пояснити використання Visual Studio для проведення рефакторингу.
Використання cccc для вимірювань.
CCCC - інструмент для аналізу початкового коду в різних мовах (перш за все C++), який генерує повідомлення в HTML форматі на різних вимірюваннях обробки коду. Хоча інструмент спочатку здійснювався, щоб обробити C++ і ANSI C, теперішня версія також може обробити початкові файли Java, і підтримувати теперішні версії на Ada95.
Даний засіб для вимірювання проводить аналіз коду за наступними метриками:
Тег |
Назва метрики |
Опис |
LOC |
Лінії коду |
Ця метрика вказує на кількість не закоментованих рядків коду в функції (LOCf),в модулі (LOCm), або в проекті (LOCp). LOC найчастіше всього використовується для того, щоб отримати розміри програмного продукту. |
MVG |
Цикломатична складність за Мак Кейбом |
Вимірювання проводиться на основі направленого ациклічного графа, який представляє потік контролю в межах кожної функції. Спершу пропонується проаналізувати мінімальне число тестових випадків, щоб гарантувати, що всі частини кожної функції безпомилково працюють. |
COM |
Коментовані рядки |
Вказує на кількість закоментованих рядків коду в програмі. Найчастіше використовується окремо від інших метрик, але інколи використовується разом з метриками цикломатичної складності та загальної кількості рядків коду |
L_C,M_C |
LOC/COM, MVG/COM |
Дивись вище |
FO,FOc,FOv FI,FIc,FIc |
Fan-out, Fan-in |
Дані метрики вказують на: fan-out - число інших модулів, які використовують модуль А, поки fan-in - число інших модулів, які використовують модуль А. |
HKS, HKSv, HKSc |
Henry-Kafura/Shepperd measure |
Цю метрику отримує кожний атрибут fan-in і fan-out кожного модуля. |
NOM |
Число модулів |
Загальна кількість модулів, що спостерігаються в проекті |
WMC |
Зваженість методів класу |
Метрика, що були запропонована Chidamber і Kemerer, - граф числа функцій, визначених в модулі, помноженому на навантажуючий чинник. Лише навантажуючий алгоритм, запропонований в оригінальному формулюванні, - загальноприйнята надбавка однієї одиниці за функцію. |
REJ |
Рядки, що ігноруються |
Метрика, що вказує на не порожні рядки коду, що не закоментовані, яку не проаналізував аналізатор. Це більше перевірка достовірності даних на згенеровані повідомлення. |
Використання Visual Studio для вимірювань.
В Visual Studio 2008 існують наступні метрики коду
Кількість рядків коду LOC
Це одна з найпростіших метрик. Цей показник є відомим за його неправильне використання. Тому користуватись ним потрібно обережно, в ідеалі лише для інформації, щоб побачити, наскільки великий клас або метод.
Індекс експлуатаційної надійності - комплексний показник якості коду що змінюється від 0 до 100. Цей індекс базується на інших метриках. Чим нижче число, тим важче буде супроводжувати код.
Цикломатична складність - показник що характеризує кількість розгалужень в програмному коді і обчислюється шляхом підрахунку операторів циклу та умовного переходу.
Глибина успадкування - характеризує довжину ланцюжків спадкування в програмному коді.
Цей показник також досить простий. У ній вказується кількість базових класів (тобто кількість класів між класом Х і System.Object. Ця метрика не повинна перевищувати 6. Вища значення може означати, що систему складно підтримувати, і що ризик порушення зміною є високим.
Зв'язок між класами - СС - відображає ступінь залежності класів між собою
Основне правило тут є те, що чим менше цей показник для одного класу, тим він стабільніший. Стабільний клас не ламається про зміні в інших класах і не вимагає зміни при зміні інших класів. Більш стабільний клас, тим більше він заслуговує того, щоб клас був для повторного використання.