Пояснення основних метрик Analist4j

Пояснення основних метрик iPlasma.

Метрики IPlasma можуть бути поділенні на наступні категорії:

· Метрики розміру – включають розміри об’єкту аналізу(наприклад, Lines of Code)

· Метрики складності – включають складність об’єкту дослідження(наприклад, Cyclomatic Complexity)

· Метрики взаємозв’язку – включає обмін даними між об’єктами (наприклад, Coupling Between Objects)

· Метрики зв’язаності класів – включає зв’язаність класів між собою(наприклад, Tight Class Cohesion)

Метрика Короткий опис
CYCLO Цикломатична складність програмного коду
LOC Кількість фізичних рядків коду програми
NOM Кількість модулів в програмному коді
NOC Загальна кількість класів в проекті
NOP Загальна кількість параметрів в програмному коді
NDD Кількість прямих нащадків
HIT Глибина дерева успадкування
CALL Число викликів методу
FOUT Кількість модулів, що звертаються до інших модулів

Пояснення основних метрик Visual Studio.

В Visual Studio 2008 існують наступні метрики коду

· Кількість рядків коду LOC

Це одна з найпростіших метрик. Цей показник є відомим за його неправильне використання. Тому користуватись ним потрібно обережно, в ідеалі лише для інформації, щоб побачити, наскільки великий клас або метод.

· Індекс експлуатаційної надійності - комплексний показник якості коду що змінюється від 0 до 100. Цей індекс базується на інших метриках. Чим нижче число, тим важче буде супроводжувати код.

· Цикломатична складність - показник що характеризує кількість розгалужень в програмному коді і обчислюється шляхом підрахунку операторів циклу та умовного переходу.

· Глибина успадкування - характеризує довжину ланцюжків спадкування в програмному коді.

· Зв'язок між класами - СС - відображає ступінь залежності класів між собою

Пояснення основних метрик Analist4j.

В Analyst4j визначено наступні метрики для програмного забезпечення, що написане на мові Java :

· Об’єктна-орієнтовані метрики(Object Oriented Metrics)

Програми розвивали використання об’єктно-орієнтовані мови програмування подібно до Java, при чому поставало питання про відношення та зв’язки між об’єктами заради досягнення потрібної функціональності. Взаємодія між об'єктами створює взаємовідношення між ними. Об'єктно-орієнтована метрика, запропонована Chidamber та Kemerer та іншими, забезпечує методи для виміру якості об'єктного проекту, взаємовідношення між окремими об’єктами, їх залежності та інші принципи об’єктна-орієнтованого програмування. До даних метрик відносять :

- Weighted Methods Complexity ( WMC)

- Response For Class (RFC)

- Lack Of Cohesive Methods (LCOM)

- Coupling Between Objects (CBO)

- Depth of Inheritance Tree (DIT)

- Number of Children (NOC)

· Метрики складності(Complexity Metrics)

Складність системи або його компонентів визначається як міра, до якої система / компоненти змодельовані або виконання, яке важке розуміння та перевірки. Взагалі програмна складність може бути класифікована в трьох категоріях: логічна складність, психологічна складність і структурна складність:

- Cyclomatic Complexity (McCabe)

- Essential Complexity (EC)

- Halstead Complexity Metrics (Halstead Effort, Volume)

· Метрика індексу ремонтопридатності (Maintainability Index Metric)

Кількісний вимір ремонтопридатності програмного забезпечення бажаний як миттєвий захід, так і як оцінка ремонтопридатності через якийсь час. Даний індекс дає можливість зменшити кодову ентропію або погіршення цілісності програмних конструкцій, що в свою чергу дає можливість визначити проміжки часу, на протязі яких можна досить вдало вдосконалювати без надмірних витрат програмний продукт.

Вимір і використання MI - технологія процесу, полегшена простими інструментами, що у виконанні стає частиною повного розвитку процесу розробки програмного забезпечення. Це вказує на те, що вимір МІ, застосований протягом розробки програмного забезпечення, може допомогти скоротити витрати на протязі життєвого циклу розробки програмного забезпечення.

· Метрики коду(Code Metrics)

Загальні кодові метрики мають своє використання, коли вони використовуються в комбінації одна з одною або з спеціалізованими метриками, такими як обєктно-орієнтовані метрики, або метрики складності. Дані метрики дають загальну картину про написаний код програмного продукту, дають краще розуміння інших метрик.

Analyst4j автоматизує наступні кодові метрики через чотири рівня (Метод, Клас, Файл і Пакет):

Method Level

· Number of lines of Code (NLOC_MTD)

· Percentage of comments (POC_MTD)

· Number of Variables (NOV_MTD)

· Number of Unused Variables (NOUV_MTD)

· Number of comment lines (CL_MTD)

· Number of Parameters (NOP_MTD)

· Number of Unused Parameters (NOUP_MTD)

Class Level

· Number of Lines of Code(NLOC_CLS)

· Number of Parents (NOPNT_CLS)

· Number of Fields (NOFLD_CLS)

· Percentage of Non-Private Fields (NPFP_CLS)

· Percentage of Non-Private Methods (NPMP_CLS)

· Number of Inner Classes (NOIC_CLS)

File Level

· Number of Lines of Code (NLOC_FIL)

· Halstead Effort / Volume (HE_FIL, HV_FIL)

· SEI Maintainability Index (MI_FIL)

Package Level

· Number of Lines of Code (NLOC_PKG)

· Number of Classes (NOCLS_PKG)

· Number of Interfaces(NOIFC_PKG)

· Number of Files (NOF_PKG)

Структура iPlasma.

11. Візуалізація в iPlasma.

12. Призначення та послідовність проведення первинного статистичного аналізу.

Метою первинного статистичного аналізу являється визначення закону розподілу випадкової величини, точніше визначення відповіді на питання „Чи є даний закон розподілу випадкової величини нормальним?”. На етапі первинного статистичного аналізу відбувається дослідження вхідних статистичних даних. Спочатку аналізуються метрики, отримані в результаті вимірювання набору програм, далі експертні оцінки, що зробили експерти для цього ж набору програм. В ході дослідження спочатку виявляється графічний вигляд (гістограма) закону розподілу. Після побудови гістограми за її виглядом можна відсіяти частину метрик, які мають багатомодальний вигляд, так як статистичний аналіз залежностей побудований на дослідженні унімодальних законів розподілу. Для уточнення законів розподілу визначаються статистичні характеристики, такі як математичне сподівання, середнє квадратичне відхилення, коефіцієнти асиметрії та ексцесу. Наступним етапом є визначення математичного сподівання – ключової величини в аналізі. На основі значень математичного сподівання проводиться видалення аномальних явищ (відхилень), при якому за допомогою квантилів розподілу Стьюдента визначаються „грубі” значення, тобто такі значення, які не потрапляють під заданий закон розподілу, і значно віддалені від математичного сподівання. Після видалення аномальних явищ проводяться обчислення коефіцієнтів асиметрії та ексцесу.

Оскільки метою цього етапу є визначення „нормальності” розподілу, то досліджується даний закон розподілу на симетричність. Для цього всі статистичні характеристики обчислюються у зсуненому та в незсуненому виглядах. Зсунені дані являють собою обчислені результати вимірів, незсунені – теоретичні значення, які повинні приймати характеристики при „нормальності” розподілу. Далі проводиться інтервальне оцінювання параметрів. Якщо значення статистичної характеристики не потрапляє в заданий інтервал робиться висновок, що метрика (експертна оцінка) не має нормального розподілу. Для всіх метрик та експертних оцінок, які пройшли попередній етап проводиться порівняння коефіцієнтів асиметрії та ексцесу із заданим теоретично нормальним. Після цього на основі гістограм та висновків аналізу числових характеристик робиться висновок про „нормальність” закону розподілу величини.

Кінцевою метою первинного статистичного аналізу є визначення, чи належить побудований закон до нормального. Причиною цього є те, що подальший аналіз базується на перевірці на „нормальність” закону розподілу, тобто кожний з наступних етапів починається цією перевіркою, і в залежності від відповіді застосовуються різні методи обчислень.

13. Призначення та послідовність проведення кореляційного аналізу.

На етапі кореляційного аналізу визначається, чи існує залежність між певними метриками та експертними оцінками, чи її немає. Якщо залежність існує, то проводиться первинна обробка даних для визначення довірчої ймовірності та виду залежності. В іншому випадку робиться висновок про відсутність залежності.

Цей етап проводиться наступним чином. Спочатку за визначеними раніше законами розподілу всі метрики та експерті оцінки класифікуються на ті, що мають нормальний розподіл, і ті, що його не мають. Для пар „метрика – експертна оцінка”, які мають нормальний закон розподілу, проводиться просте визначення коефіцієнту кореляції та його оцінка. При коефіцієнті кореляції рівному 0, ніякого зв’язку в парі немає. Якщо коефіцієнт кореляції знаходиться між -1 і 1, присутній лінійний регресійний зв’язок. Якщо ж коефіцієнт кореляції рівний 1, то має місце функціональний зв’язок. Далі проводиться визначення значущості коефіцієнта кореляції (висувається гіпотеза, що коефіцієнт кореляції рівний 0), при якому використовується t – тест на основі статистичної характеристики, яка має t – розподіл Стьюдента. Якщо дане значення значущості менше, ніж задане табличне, ця пара відсіюється з подальших досліджень. У випадку значущості проводиться дослідження на довірчі інтервали. При потраплянні коефіцієнту в довірчі інтервали можна зробити висновок про те, що дана метрика і експертна оцінка мають лінійну регресійну залежність. В іншому випадку вони відсіюються.

Для пар „метрика – експертна оцінка”, які не мають нормального закон розподілу, проводиться парна рангова кореляція. Суть парної рангової кореляції заключається в порівнянні не самих значень величин, чи їх статистичних характеристик, а рангів, тобто номерів величин (метрик та експертних оцінок) у відповідних матрицях (наборах статистичних даних). Визначається парна рангова кореляція методом обчислення коефіцієнта Спірмена чи Кендала. Якщо значення коефіцієнта виявилось рівним 0, то робиться висновок про відсутність кореляції, і пара „метрика – експертна оцінка” відкидається. Якщо коефіцієнт кореляції приймає значення 1, чому відповідає повне співпадання коефіцієнтів, то робиться висновок про прямо пропорційну залежність (тобто лінійну), якщо -1, то робиться висновок про обернено пропорційну залежність (тобто також лінійну). Якщо ж коефіцієнт кореляції приймає інше значення, то далі його перевіряють на значущість, перевіряючи гіпотезу, що коефіцієнт рівний 0.

Отже, результатом даного етапу є відсіювання незалежних між собою пар „метрика – експертна оцінка” та визначення за можливістю виду залежності для інших пар.

14. Призначення та послідовність проведення регресійного аналізу.

Регресійний аналіз – останній етап в дослідженні на залежність метрик та експертних оцінок. Він проводиться тільки при виконанні умови, що дисперсія залежної змінної (експертної оцінки) повинна залишатися постійною при зміні значення аргументу (метрики), тобто, спочатку визначається дисперсія експертної оцінки для кожного прийнятого значення метрики. Далі проводиться ідентифікація регресії. Вона передбачає як графічну побудову, так і аналітичні дослідження. Графічна побудова розпочинається з визначення кореляційного поля. Якщо кореляційне поле має форму еліпса, робиться висновок про лінійний регресійний зв’язок. Далі проводиться побудова лінійної регресії і її оцінка. Якщо побудовані точки кореляційного поля потрапляють у коло, то робиться висновок про відсутність залежності. Якщо ж кореляційне поле не вписується у коло чи еліпс, а має інший вигляд, то робиться висновок про нелінійну залежність в лінії регресії. Далі будуються і аналізуються найймовірніші наближені лінії регресії. Серед них вибирається найточніша шляхом обчислення відхилення значень залежної змінної. Висновок про найточніше припущення робиться для функції, у якої відхилення найменше. Далі для нелінійної залежності проводиться лінеаризація коефіцієнтів, тобто зведення функції до лінійного вигляду.

Завершальним етапом є довірче оцінювання ліній регресій. Довірче оцінювання регресії відбувається в декілька етапів. Першим етапом є визначення коефіцієнту детермінації, який показує ступінь залежності між величинами. Далі проводиться оцінка відхилення окремих значень залежної величини від емпіричної регресії шляхом порівняння практичних та теоретичних значень залежної змінної. Останнім кроком є побудова довірчого інтервалу лінії регресії.

Якщо пара „метрика – експертна оцінка” пройшла всі етапи і не була відсіяною, робиться висновок, що експертна оцінка залежить певним чином від значення метрики з силою, що показує коефіцієнт детермінації, а вигляд залежності визначає лінія регресії.

15. Описати, пояснити використання Statistica для первинного статистичного аналізу (або іншого засобу).

16. Описати, пояснити використання Statistica для кореляційного аналізу (або іншого засобу).

17. Описати, пояснити використання Statistica для регресійного аналізу (або іншого засобу).

SPSS Statistics - комп'ютерна програма для статистичної обробки даних, один з лідерів ринку в області комерційних статистичних продуктів. У 2009 року компанія SPSS провела ребрендинг свого статистичного пакету, який тепер став називатися PASW Statistics (Predictive Analytics SoftWare). 29 липня 2009 компанія SPSS оголосила про те, що вона купується фірмою IBM.
Історія
Норман Най, Хедлі Халл і Дейл Бент розробили першу версію системи в 1968 році, потім цей пакет розвивався в рамках Чиказького університету. Перше користувальницьке керівництво вийшло в 1970 році у видавництві McGraw-Hill, а з 1975 року проект виділився в окрему компанію SPSS Inc. Перша версія пакету під Microsoft Windows вийшла в 1992 році. На даний момент існують версії під MacOs X і Linux.
Практичне використання програмного забезпечення SPSS
- Написання та зберігання даних. - Змінні різних типів. - Частотність ознак, таблиці, графіки, таблиці спряженості, діаграми.
- Первинна описова статистика. - Маркетингові дослідження - Аналіз даних маркетингових досліджень