- •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 для проведення рефакторингу.
-
Caese-засоби: структура, процеси та призначння.
Емпіричні методи пізнання діляться на дві групи. Перша - методи якісної оцінки - спостереження, порівняння, контроль. Друга група - кількісної оцінки - рахунок, ідентифікація, вимірювання і експеримент. Велике значення серед всіх експериментальних методів пізнання для інженерії програмного забезпечення має вимірювання, за допомогою якого отримують кількісну інформацію про програмне забезпечення. Наявність вимірювальної інформації про досліджуваний об'єкт дає можливість забезпечити ефективну реалізацію всіх емпіричних методів пізнання – від спостереження до експерименту. Для реалізації емпіричних методів в інженерії програмного забезпечення створюються спеціальні середовища CAESE. Computer Aided Empirical Software Engineering забезпечує вивчення проблеми ,пов’язане з ПЗ на основі емпіричних даних шляхом експериментування. Структура:
Эмпіріко-теоретичні методи дозволяють досліджувати різні сторони об'єктів і явищ, розчленовувавши їх на складові для глибшого вивчення. Найповніше витягуючи додаткову інформацію, що містить в неявному вигляді в результатах, отриманих за допомогою емпіричних методів, забезпечують Эмпіріко-теоретичні методи встановлення ступеня істинності гіпотез, а також складають основу методів проектування нових технічних засобів і технологічних процесів, основу технічних наук і методів підвищення продуктивності праці на виробництві.
-
Порівняння case та caese-засобів.
Заснована на знаннях (інтелектуальна) CASE-технологія передбачає впровадження в інформаційні системи та відповідні прикладні програми елементів штучного інтелекту, зокрема баз знань і правил виводу для оброблення якісної інформації, методології IDEF і природної мови для створення інтерфейсу користувача. Інформаційні системи, котрі містять у собі елементи штучного інтелекту, називаються інтелектуальними інформаційними системами.
-
Порівняння моделей процесів case та caese-засобів.
Артефакт в будь-якому науковому експерименті — експериментальний результат (або відхилення експериментального результату, що володіє властивостями стабільності й відтворюваності), причиною появи якого є вплив засобів проведення експерименту на досліджуваний процес, дефекти методики, вплив суб'єктивного фактора;
В результаті CASE кінечким продуктом є ПЗ, а у CAESE-засобі- знання, результат емпіричного дослідження.
-
Кроки проведення емпіричних досліджень.
-
Формулювання гіпотези для досліджень
Формулювання гіпотези — заключна частина теоретичної підготовки емпіричного соціологічного дослідження. Гіпотеза в соціологічному дослідженні — це науково обґрунтована уява про структуру соціальних об'єктів, характер елементів і зв'язків, які утворюють ці об'єкти, про механізм їх функціонування й розвитку. Наукова гіпотеза може бути сформульована тільки в результаті попереднього аналізу досліджуваного об'єкта з урахуванням різноманітних соціальних фактів.
Гіпотези — це відправні моменти для дослідження, від них у прямій залежності знаходяться подальші етапи емпіричного соціологічного дослідження. Слід підкреслити, що формулювання гіпотез — це не марні теоретичні вправи, а розробка логічних вузлових моментів для збору й аналізу емпіричних даних. Якщо дослідником були сформульовані гіпотези, то емпіричні дані використовуються для їх перевірки, підтвердження або спростування. Якщо ж гіпотез з самого початку не було, то різко падає науковий рівень соціологічного дослідження, а його результати й узагальнення зводяться до опису процентних показників тих чи інших індикаторів і до досить простих рекомендацій. Відповідно до висунутих гіпотез обирається конкретний інструментарій дослідження, формулюються запитання. Важливо, щоб усі гіпотези мали необхідний інструмент для свого вирішення.
-
Огляд об’єкту досліджень
-
Збір даних
Збір даних може здійснюватися механічним способом (вимірювальним пристроєм, що перетворює фізичні величини в електричні, самописним приладом, що реєструє імпульсні сигнали, і т. д.) і людиною (шляхом спостереження певного явища, сприйняття акустичного і світлового сигналу, зняття показань лічильника і т. д.). Механічна реєстрація даних полягає в тому, що джерело інформації, тобто «подія» або «явище», виявляється у вигляді зміни деякого фізичного стану, і цей новий стан реєструється механічним способом. Спостереження, здійснюване людиною, із наступним відновленням результатів по пам'яті, називають «записом». Фактично мова йде про те, що людина фіксує інформацію, яка у певний момент закарбувалася в її пам'яті, і клітини її мозку з фіксованою інформацією по суті справи відіграють роль проміжного передавального документа.
-
Аналіз даних
Аналіз даних — це розділ математики, що займається розробкою методів обробки даних незалежно від їх природи. Можна виділити наступні етапи аналізу даних: отримання даних, обробка, аналіз та інтерпретація результатів обробки. Отримати самі дані не так важливо, як зробити на їх основі правильні висновки. Аналіз даних можна вважати прикладним розділом математичної статистики, проте потрібно підкреслити, що аналіз даних охоплює обробку як кількісних, так і якісних даних. При чому, не обов'язково використовуються імовірністні моделі при описі об'єктів, явищ та процесів що досліджуються.
-
Формулювання висновків згідно сформульованої гіпотези
Загалом написання висновку є самим відповідальним етапом роботи.
У висновку в стиснутій формі повинні бути представлені основні результати дослідження теоретичного, аналітико-прикладного і науково-методичного напрямку.