- •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 для проведення рефакторингу.
-
Інші методи емпіричних досліджень пз: кінцевий аналіз (post mortem analysis), етнографії, дослідження дій.
Кінцевий аналіз:
-
Це комбінація дослідження ситуацій та дослідження-огляду.
-
Як дослідження-огляд розглядаються дані в їх історичному контексті, як дослідження ситуацій досліджується один випадок.
Етнографія:
-
Досліджується група людей з метою розуміння їх взаємовідносин.
Дослідження дій:
-
Основною відмінністю є коригування досліджень під час проведення цих досліджень.
-
Проводиться у тих випадках, коли результатів експериментів потрібно чекати певний період, а висновки потрібно робити відразу.
-
Вимірювання пз. Підходи до вимірювань.
Вимірювання ПЗ - це процес, який полягає у визначенні кількісних значень тих чи інших властивостей, сторін досліджуваного об’єкта, явища за допомогою спеціальних технічних засобів.
В основі операції вимірювання лежить порівняння.
Підходи до вимірювання:
-
Ціль-питтання-метрика; (1)
-
Модель відповідальної особи;(2)
-
Метрики, визначені стандартами.(3)
(1)
(2)
(3)
-
Software Engineering Institute:
-
Розмір системи
-
Тривалість проекту
-
Трудоємкість
-
Дефекти
-
Продуктивність
-
Різні інститути мають свої стандарти
Вимі́рювання — пізнавальний процес знаходження відношення між двома величинами однакової природи — вимірюваною й умовною одиницею вимірювання, а також дія, знаходження значення фізичної величини дослідним шляхом, порівнюючи її з одиницею виміру за допомогою спеціальних технічних засобів.
-
Моделі вимірювань.
Моделі допомагають при проведенні вимірювань
Існують 3 моделі:
-
Текстова
найменш ефективні, так як важко словами описати всі можливі ситуації та динаміку.
Модель легка для розуміння, але складна для візуалізації.
-
Діаграмна
Найбільш потужна.
Визначаються взаємозв’язки між усіма сутностями графічно.
-
алгоритмічна
При правильному використанні дає дуже серйозні результати.
Показує функціональний зв’язок між сутностями.
Найбільш поширена.
-
Мета-модель. Використання мета-моделі в iPlasma.
Мета модель
Мета моделі в Iplasma:
MEMORIA - Мета-модель для Reeng. Огляд і Аналітика MEMORIA є розширюваною мета-моделі для підтримки аналізу коду для Java і C + + систем. Це мета-модель була розроблена, щоб пропонувати легкий спосіб обчислення метрик програмного забезпечення. В якості наступного кроку ми плануємо розширити MEMORIA на C # систем. Mc'C - модель захоплення для C + + Mc'C є інструментом зворотної інженерії, екстракти докладну інформацію про конструкцію з C + + вихідний код. Він отримує в якості вхідних даних каталог, що містить вихідний код, і це справляє на виході набір файлів і таблиць, які містять вилучення інформації про конструкцію. Ці таблиці можуть бути легко імпортовано в MEMORIA мета-моделі.
-
Шкали вимірювань.
-
Номінальна
-
Порядкова
-
Інтервальна
-
Відношень
-
Абсолютна
Набір властивостей явища і відповідних їм чисел називають шкалою вимірювання. Теоретично існує багато типів шкал. За рівнем вимірювання і допустимими арифметичними діями виділяють метричну, номінальну, порядкову (рангову) шкали. Метрична – це звичайна числова шкала обчислення, яку використовують для вимірювання фізичних величин (ваги, довжини, часу) або результатів обчислення (прибуток, середня заробітна плата). Ознаки метричної шкали поділяють на дискретні та неперервні. Дискретні мають лише окремі ізольовані значення. Найчастіше це результати лічби: кількість людей, число відпрацьо ваних днів. Неперервні ознаки мають будь-які значення в певних межах вік, врожайність. Така визначеність неперервної ознаки дещо умовна, її завжди можна представити дискретною (вік — число bhonbmemhu літ та ін.). Номінальна — це шкала найменувань. «Оцифровка» шкали проводиться таким чином, щоб подібним елементам відповідало одне й те саме число, а неподібним — різні числа. Найчастіше використовують штучні вимірники, які приймають значення «1» або «0» залежно від наявності чи відсутності властивості, що ви вчається. Порядкова (рангова) шкала встановлює не тільки відношення подібності елементів, а й послідовності — порядку. Це відношення типу «більше, ніж», «краще, ніж» тощо. Кожному пункту шкали приписується число — ранг, число балів або будь-яка монотонно зро стаюча функція (—2, —1, 0, 1, 2), що відбиває послідовність значень, але не відстань між ними.