- •1. Пряма, зворотна, емпірична інженерія програмного забезпечення.
- •2. Емпіричні та теоретичні дослідження.
- •3. Напрями емпіричних досліджень.
- •4. Методи пізнання: загально наукові, конкретно наукові.
- •5. Теоретичні загально наукові методи пізнання.
- •6. Емпіричні загально наукові методи пізнання.
- •7. Конкретно наукові методи пізнання (в загальному).
- •8. Місце емпіричної інженерії програмного забезпечення в іпз.
- •9. Емпірична інженерія програмного забезпечення – суть, предмет та методи.
- •10. Методи емпіричної інженерії (загально наукові, конкретно наукові).
- •Непрямі методики збору даних.
- •Незалежні методики збору даних.
- •Збір даних. Автоматизація збору даних. Використання засобів збору даних.
- •Збір даних. Вимірювання пз. Автоматизація вимірювань.
- •Lines of Code (кількість стрічок коду)
- •Maintainability Index (індекс зручності підтримки):
- •Цикломатична складність:
- •Зв’язність класів:
- •Глибина наслідування:
- •Аналіз даних. Автоматизація аналізу даних.
- •Caese-засоби: структура, процеси та призначння.
- •Порівняння case та caese-засобів.
- •Порівняння моделей процесів case та caese-засобів.
- •Кроки проведення емпіричних досліджень.
- •Проведення кращих емпіричних досліджень. Основні принципи.
- •Компоненти емпіричних досліджень.
- •Середовище досліджень
- •Гіпотези
- •План експерименту
- •Визначення предмету досліджень
- •Побудова взаємозв’язків між досліджуваними величинами
- •Проведення довгострокових (в природних умовах) та короткострокових (в лабораторних умовах) досліджень
- •Способи отримання даних.
- •Отримання даних на протязі часу
- •Моделювання
- •Статичне отримання даних
- •Паралельне проведення декількох досліджень.
- •Загально наукові емпіричні методи: спостереження та описання, експеримент, вимірювання.
- •Ціленаправленість;
- •Активність
- •Загально наукові теоретичні методи: ідеалізація, мисленний експеримент, формалізація.
- •Ідеалізація
- •Мисленний експеримент
- •Формалізація
- •Загально наукові теоретичні методи: абстрагування, аксіоматичний метод, метод гіпотези.
- •Абстрагування
- •Аксіоматичний метод
- •Метод гіпотези
- •Кількісні та якісні емпіричні дослідження. Відмінності в методах.
- •Кількісні емпіричні дослідження.
- •Якісні емпіричні дослідження.
- •Контрольовані експерименти.
- •Дослідження ситуацій (case studies).
- •Дослідження ситуацій (survey).
- •Інші методи емпіричних досліджень пз: кінцевий аналіз (post mortem analysis), етнографії, дослідження дій.
- •Вимірювання пз. Підходи до вимірювань.
- •Моделі вимірювань.
- •Мета-модель. Використання мета-моделі в iPlasma.
- •Шкали вимірювань.
- •Помилки при вимірюваннях
- •51. Види вимірювань
- •52. Вимірювання розміру.
- •53. Вимірювання функціональності.
- •54. Вимірювання складності.
- •55. Оцінка зусиль.
- •56. Вимірювання дефектів.
- •57. Надійність пз та прогнозування. Відмови.
- •58. Час відгуку та робото придатність.
- •59. Вимірювання прогресу.
- •60. Фінансові вимірювання.
- •Метрики програмного забезпечення. Види метрик.
- •Прямі та непрямі метрики.
- •Метрики розміру.
- •Недоліки розмірно-орієнтованих метрик.
- •Метрики складності потоку управління.
- •Метрики складності потоку даних.
- •Об’єктно-орієнтовані метрики.
- •Метрики Хольстеда.
- •Метрики Чепіна.
- •Метрики цикломатичної складності Мак-Кейба.
- •71. Попередня оцінка складності
- •72. Вимірювання зусиль
- •73. Вимірювання дефектів
- •75. Метрики якості продукту:
- •76. Метрики якості процесів:
- •77. Метрики якості супроводження
- •78. Застосування засобів контролю якості
- •79. Виявлення дефектів
- •80. Метрики процесів для тестування
- •Вимірювачі програмного забезпечення.
- •Особливості використання вимірювачів пз
- •Використання iPlasma для вимірювань.
- •Використання Analist4j для вимірювань.
- •Використання cccc для вимірювань.
- •Використання Visual Studio для вимірювань.
- •Пояснення основних метрик iPlasma.
- •Пояснення основних метрик Visual Studio.
- •Пояснення основних метрик Analist4j.
- •Структура iPlasma.
- •Візуалізація в iPlasma.
- •Призначення та послідовність проведення первинного статистичного аналізу.
- •Призначення та послідовність проведення кореляційного аналізу.
- •Призначення та послідовність проведення регресійного аналізу.
- •Описати, пояснити використання Statistica для первинного статистичного аналізу (або іншого засобу).
- •Описати, пояснити використання Statistica для кореляційного аналізу (або іншого засобу).
- •Описати, пояснити використання Statistica для регресійного аналізу (або іншого засобу).
- •Описати та пояснити використання Visual Studio для проведення рефакторингу.
-
Структура iPlasma.
-
Візуалізація в iPlasma.
-
Призначення та послідовність проведення первинного статистичного аналізу.
Метою первинного статистичного аналізу являється визначення закону розподілу випадкової величини, точніше визначення відповіді на питання „Чи є даний закон розподілу випадкової величини нормальним?”. На етапі первинного статистичного аналізу відбувається дослідження вхідних статистичних даних. Спочатку аналізуються метрики, отримані в результаті вимірювання набору програм, далі експертні оцінки, що зробили експерти для цього ж набору програм. В ході дослідження спочатку виявляється графічний вигляд (гістограма) закону розподілу. Після побудови гістограми за її виглядом можна відсіяти частину метрик, які мають багатомодальний вигляд, так як статистичний аналіз залежностей побудований на дослідженні унімодальних законів розподілу. Для уточнення законів розподілу визначаються статистичні характеристики, такі як математичне сподівання, середнє квадратичне відхилення, коефіцієнти асиметрії та ексцесу. Наступним етапом є визначення математичного сподівання – ключової величини в аналізі. На основі значень математичного сподівання проводиться видалення аномальних явищ (відхилень), при якому за допомогою квантилів розподілу Стьюдента визначаються „грубі” значення, тобто такі значення, які не потрапляють під заданий закон розподілу, і значно віддалені від математичного сподівання. Після видалення аномальних явищ проводяться обчислення коефіцієнтів асиметрії та ексцесу.
Оскільки метою цього етапу є визначення „нормальності” розподілу, то досліджується даний закон розподілу на симетричність. Для цього всі статистичні характеристики обчислюються у зсуненому та в незсуненому виглядах. Зсунені дані являють собою обчислені результати вимірів, незсунені – теоретичні значення, які повинні приймати характеристики при „нормальності” розподілу. Далі проводиться інтервальне оцінювання параметрів. Якщо значення статистичної характеристики не потрапляє в заданий інтервал робиться висновок, що метрика (експертна оцінка) не має нормального розподілу. Для всіх метрик та експертних оцінок, які пройшли попередній етап проводиться порівняння коефіцієнтів асиметрії та ексцесу із заданим теоретично нормальним. Після цього на основі гістограм та висновків аналізу числових характеристик робиться висновок про „нормальність” закону розподілу величини.
Кінцевою метою первинного статистичного аналізу є визначення, чи належить побудований закон до нормального. Причиною цього є те, що подальший аналіз базується на перевірці на „нормальність” закону розподілу, тобто кожний з наступних етапів починається цією перевіркою, і в залежності від відповіді застосовуються різні методи обчислень.
-
Призначення та послідовність проведення кореляційного аналізу.
На етапі кореляційного аналізу визначається, чи існує залежність між певними метриками та експертними оцінками, чи її немає. Якщо залежність існує, то проводиться первинна обробка даних для визначення довірчої ймовірності та виду залежності. В іншому випадку робиться висновок про відсутність залежності.
Цей етап проводиться наступним чином. Спочатку за визначеними раніше законами розподілу всі метрики та експерті оцінки класифікуються на ті, що мають нормальний розподіл, і ті, що його не мають. Для пар „метрика – експертна оцінка”, які мають нормальний закон розподілу, проводиться просте визначення коефіцієнту кореляції та його оцінка. При коефіцієнті кореляції рівному 0, ніякого зв’язку в парі немає. Якщо коефіцієнт кореляції знаходиться між -1 і 1, присутній лінійний регресійний зв’язок. Якщо ж коефіцієнт кореляції рівний 1, то має місце функціональний зв’язок. Далі проводиться визначення значущості коефіцієнта кореляції (висувається гіпотеза, що коефіцієнт кореляції рівний 0), при якому використовується t – тест на основі статистичної характеристики, яка має t – розподіл Стьюдента. Якщо дане значення значущості менше, ніж задане табличне, ця пара відсіюється з подальших досліджень. У випадку значущості проводиться дослідження на довірчі інтервали. При потраплянні коефіцієнту в довірчі інтервали можна зробити висновок про те, що дана метрика і експертна оцінка мають лінійну регресійну залежність. В іншому випадку вони відсіюються.
Для пар „метрика – експертна оцінка”, які не мають нормального закон розподілу, проводиться парна рангова кореляція. Суть парної рангової кореляції заключається в порівнянні не самих значень величин, чи їх статистичних характеристик, а рангів, тобто номерів величин (метрик та експертних оцінок) у відповідних матрицях (наборах статистичних даних). Визначається парна рангова кореляція методом обчислення коефіцієнта Спірмена чи Кендала. Якщо значення коефіцієнта виявилось рівним 0, то робиться висновок про відсутність кореляції, і пара „метрика – експертна оцінка” відкидається. Якщо коефіцієнт кореляції приймає значення 1, чому відповідає повне співпадання коефіцієнтів, то робиться висновок про прямо пропорційну залежність (тобто лінійну), якщо -1, то робиться висновок про обернено пропорційну залежність (тобто також лінійну). Якщо ж коефіцієнт кореляції приймає інше значення, то далі його перевіряють на значущість, перевіряючи гіпотезу, що коефіцієнт рівний 0.
Отже, результатом даного етапу є відсіювання незалежних між собою пар „метрика – експертна оцінка” та визначення за можливістю виду залежності для інших пар.