- •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 для проведення рефакторингу.
80. Метрики процесів для тестування
Застосовують показники виведені практично лабораторією IBM.
Види:
-
S-крива процесів тестування;
-
Надходження дефектів;
-
Відставання виправлення дефектів;
-
Зміна розміру продукту;
-
Використання процесору;
-
Фатальні збої та зависання;
-
Середній час незапланованих збоїв.
Алгоритм:
-
Визначити очікувані значення або значення для порівняння
-
По осі Х відкласти часові інтервали
-
По осі Y відкласти число виявлених дефектів
Надходження дефектів на тестування
Відставання дефектів тестування:
Рекомендації:
-
Керувати процесом тестування таким чином, щоб пришвидшити пошук дефектів (крива пішла вгору);
-
Перевіряти знайдені дефекти та визначати проблеми їх виникнення;
-
Зменшувати відставання при виявленні дефектів.
Середній час незапланованих збоїв (МТІ)
Метрика використовується тільки на етапі тестування
n – кількість тижнів тестування
H –години використання процесора
W –ваговий коефіцієнт
І – кількість щотижневих незапланованих простоїв
Практичні
-
Вимірювачі програмного забезпечення.
-
Особливості використання вимірювачів пз
-
Використання iPlasma для вимірювань.
За допомогою iPlasma можна отримати значення 80-х об’єктно-орієнтованих метрик. Функціонально повний засіб для вимірювання, який вимірює метрики, які відносяться як до окремих класів, методів та пакетів, так і для проекту в цілому. Крім того, метрики виводяться не тільки в числовому вигляді, а й у графічному – у вигляді гістограми. Інструмент вільно розповсюджується.
На рис. 1 показано архітектуру платформи iPlasma. Інструмет починає роботу прямо
Рис. 4.1. Архітектура платформи iPlasma
з вихідного коду програм на мові Java або C++ та забезпечує повну підтримку всіх фаз,
необхідних для аналізу програмного забезпечення, починаючи від аналізу вихідного коду та побудови моделі до налаштування середовища для окремих видів аналізу, включаючи навіть пошук дублювання коду (рис. 2). Усі підсистеми інтегровані разом за допомогою інтерфейсу
Основні компоненти
Екстрактор моделей (Model Extractors). Мета побудови моделі – витягнути з вихідного коду інформацію, що важлива з точки зору деякої мети. Оскільки аналіз сфокусований на об’ектно-орієнтованих програмах, необхідно мати знання про систему що аналізується, функції, змінні та інформацію про їх викориcтання, зв’язки наслідування між класами, графи викликів и т.д.
Для JAVA системи використовується відкритий аналізатор коду що називається RISODIR для отримання об’ектно-орієнтованої моделі FAMIX.
MSS (екстрактор моделі для C++) інструмент що вилучає згадано вище модель з С++ вихідного коду, побудований на основі TILILOJIS`S-FAST бібліотеки. Вона отримує не обхід дерик торію що містить вихідні коди та проектну інформацію.
FAMIX Модель. FAMIX мета модель може представляти JAVA та С++ системи у однорідному вигляді, фіксуючи лише проектну інформацію. Одна з основних ролей FAMIX – забезпечення цілісної моделі навіть якщо код, який підлягає аналізу неповний або відсутні бібліотеки; а також – в забезпеченні великих програмних систем спрощенням навігації.
INSIDER. INSIDER – це інтегрований інтерфейс що об’єднує інтерфейси різних аналітичних інструментів, забезпечуючи їм однорідний зовнішній вигляд.
Метрики. Платформа і плазма містить бібліотеку більш ніж 80 сучасних об’єктно-орієнтованих метрик які можуть бути застосовані на різних рівнях абстракції, починаючи з метрик системного рівня для загальної оцінки системи. Метрики можуть бути розділені на дві такі категорії: метрики розміру – міри сутності що аналізується, метрики складності – міри складності сутності що аналізується; метрики зв’язаності – міри зв’язаності даних між сутностями, що аналізується, та метрики зчеплення – міри зчеплення класів.