- •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 для проведення рефакторингу.
-
Кількісні та якісні емпіричні дослідження. Відмінності в методах.
Відмінності між якісними та кількісними дослідженнями:
1. Представлення результатів у числовій формі для кількісних досліджень та у графічній чи мовленнєвій – для якісних.
2. Дослідник повинен розглядати проблему в комплексі у якісному дослідженні, тоді як у кількісному він абстрагується.
3. Якісний експеримент більш трудомісткий, ніж кількісний.
4. Результати якісного експерименту важче узагальнити чи спростити.
Основна відмінність між методами емпіричної інженерії програмного забезпечення полягає в зборі та аналізі даних.
Кількісні дослідження можуть бути використані для наступних цілей:
-
Характеристика реального стану справ.
-
Прогнозування властивостей об’єкта.
-
Перевірка вимог та цілей.
-
Аналіз затрат та вигод.
Кількісні дослідження базуються на кількісній оцінці властивостей предмета дослідження.
Якісні дослідження:
-
Якісні дослідження в програмному забезпечення пов’язані з людським фактором (нетехнічні питання).
-
Використовуються для оцінки комплексних факторів, таких як організаційні питання чи питання управління.
Кількісні методи:
-
Контрольовані експерименти – це дослідження гіпотези, яка перевіряється, де за допомогою зміни значення однієї чи декількох незалежних змінних вимірюють їх дію на одну чи декілька залежних змінних. Контрольовані експерименти дозволяють визначити точно, як зв’язані змінні, і, особливо, чи існують між ними причинно-наслідкові відношення. Результати контрольованих експериментів повинні бути добре аргументовані.
-
Дослідження огляди - Це дослідження досвіду людей. Метою є вивчення точок зору людей з даного питання. Для формулювання повинен бути зібраний великий об’єм даних. Для обробки даних використовуються статистичні методи.
Якісні методи:
-
Дослідження ситуацій- Особливість методу полягає у дослідженні однієї сутності. Незалежні змінні являються типовими (а не виключеннями). Результати дослідження ситуацій не є складними та великими за розміром. Дослідження проводиться в межах його реального контексту.
Для досліджень може використовуватися безліч методів, але всі вони (залежно від того, яку інформацію використовують і що отримують як результат) розділяються на дві групи: кількісні і якісні. Параметри досліджень, що Відрізняються, включають: об’єм вибірки, типи питань, використовуване устаткування, способи управління дослідженням, можливість повторного проведення дослідження, тип аналізу.
Якісного дослідження – причини їх популярності: 1. Розміри вибірки малі – значить, потрібно менше фінансових витрат. 2. Можливість використання техніки зондування, а також «відкритих» питань, що дає зрозуміти мотивацію споживача. 3. Збільшують ефективність кількісних (емпіричних) досліджень, тому як мають безліч інструментів, які дозволяють проводити дослідження бездоганними і менш дорогими способами. 4. Застосування різнорідних способів для загального збільшення ефективності; які можуть підвищити результат, отриманий за допомогою інших методів.
Недоліки якісних досліджень: 1. Сильна залежність результатів від підготовки дослідника і організації процесу. 2. Малий розмір вибірки. Не часто є репрезентативними відносно обстежуваної сукупності; 3. Складність обробки результатів.
Методів якісних досліджень є достатньо багато. Найважливішими є наступні: глибинне інтерв’ю, фокус-группи, метод побудови когнітивних карт, проекційні методи, дневниковиє методи, аналіз протоколу, метод конкретної ситуації, контент-аналіз.
– Кількісне дослідження ставить за мету отримати результати в кількісній формі з використанням методів статистичного аналізу.
Методів кількісних досліджень досить багато, техніка їх застосування розглянута в спеціальній літературі. Основними є наступні: анкетування і опити, кластерний аналіз, аналіз чинника, регресійний аналіз і техніка прогнозування, багатовимірне шкалірованіє, імітаційні моделі, імовірнісні методи, теорія масового обслуговування і ряд інших.