- •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 для проведення рефакторингу.
75. Метрики якості продукту:
-
Внутрішньо проектна якість
-
Метрика напрацювання на відмову – середній час до відмови (MTTF)
-
Метрика щільність дефектів – показує відношення дефектів до метрик розміру ПЗ. Оцінюється за можливостями виникнення помилки (OFE)
-
-
Задоволеність клієнта
-
Проблеми клієнта – не дефектоорієнтовані проблеми (вимірюються в проблемах на місяць POM)
-
Задоволеність потреб клієнта
-
Шкала метрик якості продукту зображена на рисунку
76. Метрики якості процесів:
-
Вимірювання частоти дефектів під час тестування – чим більше дефектів виявлено під час тестування, тим більше їх буде при використанні
-
Вимірювання динаміки виявлення дефектів на протязі часу
-
Вимірювання дефектів по фазах життєвого циклу
-
Ефективність видалення дефектів (DRE)
77. Метрики якості супроводження
-
Відставання виправлень та індекс відставання управління (BMI)
-
Час відгуку виправлень та реактивність виправлень – середній час, необхідний на виправлення проблеми
-
Відсоток прострочених виправлень
-
для закритих проектів
-
для відкритих проектів
Якість виправлень показує наскільки якісно були вирішені проблеми (для клієнта важливо, щоб виявлена проблема була вирішена повністю і щоб це виправлення не потягло за собою нові проблеми)
Проводиться відстеження виправлених проблем та їх неповтореняя
78. Застосування засобів контролю якості
-
Основним засобом для контролю якості за допомогою метрик є статистичний аналіз
-
Використовуються:
-
Діаграми покриття – призначена для збору даних. В загальному показує отримані дані по частинах проекту
-
Причинні діаграми Паретто – в графічному виді показує кількість причин дефектів (мала кількість причин зумовлює більше число дефектів) – показує які проблеми слід вирішувати в першу чергу
-
Гістограми модулів – покращує розуміння отриманих параметрів
-
Діаграми тривалості робіт – використовується для аналізу тенденцій по параметрах
-
Діаграми розкиду – використовується при визначенні залежності між величинами, розрахунках коефіцієнтів кореляції та відхиленнях
-
Діаграми контролю – різновид діаграми тривалості робіт, де визначаються оптимальні показники та відслідковує відхилення
-
Діаграми причинно-наслідкових зв’язків - показує співвідношення між якістю та факторами, які на неї впливають
79. Виявлення дефектів
-
Для поліпшення якості, продуктивності та вартості необхідно виявляти та виправляти дефекти.
-
Ефективність виявлення дефектів (Фаган, 1976).
Видалення дефектів
-
Ефективність видалення дефектів (Джонс, 1986)
Ефективність видалення дефектів підвищується видаленням дефектів на початкових стадіях життєвого циклу (1988)
Існує залежність між контролем ефективності видалення помилок та якістю
-
Ефективність видалення дефектів
Е – ефективність діяльності (фаза розробки)
N – число помилок, знайдених під час фази
S – число помилок, знайдених наступними діями (фазами)
Загальна ефективність стримування дефектів
-
Ефективність стримування на фазі
-
Де помилки – проблеми, виявлені на етапі розробки,
-
Дефекти – помилки, виявлені на наступних фазах
Модель фазового видалення дефектів (DRM)
Дефекти на виході фази розробки
Чим раніше виявляються дефекти, тим менша вартість їх видалення