- •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 для проведення рефакторингу.
-
Використання Analist4j для вимірювань.
Даний засіб для вимірювання забезпечує :
-
Пошук з використанням метрик
-
Генерування швидких звітів в форматі pdf/doc
-
Аналіз Парето (80/20)
-
Ідентифікація анти батьків
Метрика програмного забезпечення мають справу з виміром програмного продукту і процесу на основі якого він розробляється. Метрики забезпечують кількісну основу для розвитку і затвердження моделей процесу розробки програмного забезпечення.
Analyst4j автоматизує вимір програмного забезпечення і дає можливість користувачів використовувати унікальний пошук і аналітичні засоби, що засновані на метриках
Метрики програмного забезпечення визначають різні аспекти(атрибути) якості програмного коду, які приносять велику користь для розробки програмного забезпечення та команди, що його розробляє. Analyst4j гарантує ефективне використання метрики, забезпечуючи пошуковий засіб, заснований на автоматизованій метриці програмного забезпечення. Метрики дають користувачам можливість знайти факти, які неможливо явно або прямо знайти при оцінюванні розмірів програмного забезпечення.
До того як буде побудовано пошук і розпочнеться аналіз програмного коду, ви маєте можливість створити власні пошукові запити і згодом визначити аналіз, що заснований на цих запитах. Analyst4j забезпечує легкий і ефективний інтерфейс, щоб створити миттєвий пошук і аналіз.
Після проведення аналізу, Analyst4j надає можливість створити звіт по аналізу в форматі RTF(Word) або PDF.
Ефективне управління будь-яким процесом вимагає визначення кількості, виміру, і моделювання. Метрики програмного забезпечення забезпечують кількісну основу для розвитку і затвердження моделей процесу розробки програмного забезпечення. Analyst4j автоматизує процес виміру і надає засоби для знаходження, аналізу і візуалізації якості програмного коду Java, окремих його частин та відношень між ними, а також частини коду, в яких може відбутись збій.
-
Використання cccc для вимірювань.
CCCC - інструмент для аналізу початкового коду в різних мовах (перш за все C++), який генерує повідомлення в HTML форматі на різних вимірюваннях обробки коду. Хоча інструмент спочатку здійснювався, щоб обробити C++ і ANSI C, теперішня версія також може обробити початкові файли Java, і підтримувати теперішні версії на Ada95.
Даний засіб для вимірювання проводить аналіз коду за наступними метриками:
Тег |
Назва метрики |
Опис |
LOC |
Лінії коду |
Ця метрика вказує на кількість не закоментованих рядків коду в функції (LOCf),в модулі (LOCm), або в проекті (LOCp). LOC найчастіше всього використовується для того, щоб отримати розміри програмного продукту. |
MVG |
Цикломатична складність за Мак Кейбом |
Вимірювання проводиться на основі направленого ациклічного графа, який представляє потік контролю в межах кожної функції. Спершу пропонується проаналізувати мінімальне число тестових випадків, щоб гарантувати, що всі частини кожної функції безпомилково працюють. |
COM |
Коментовані рядки |
Вказує на кількість закоментованих рядків коду в програмі. Найчастіше використовується окремо від інших метрик, але інколи використовується разом з метриками цикломатичної складності та загальної кількості рядків коду |
L_C,M_C |
LOC/COM, MVG/COM |
Дивись вище |
FO,FOc,FOv FI,FIc,FIc |
Fan-out, Fan-in |
Дані метрики вказують на: fan-out - число інших модулів, які використовують модуль А, поки fan-in - число інших модулів, які використовують модуль А. |
HKS, HKSv, HKSc |
Henry-Kafura/Shepperd measure |
Цю метрику отримує кожний атрибут fan-in і fan-out кожного модуля. |
NOM |
Число модулів |
Загальна кількість модулів, що спостерігаються в проекті |
WMC |
Зваженість методів класу |
Метрика, що були запропонована Chidamber і Kemerer, - граф числа функцій, визначених в модулі, помноженому на навантажуючий чинник. Лише навантажуючий алгоритм, запропонований в оригінальному формулюванні, - загальноприйнята надбавка однієї одиниці за функцію. |
REJ |
Рядки, що ігноруються |
Метрика, що вказує на не порожні рядки коду, що не закоментовані, яку не проаналізував аналізатор. Це більше перевірка достовірності даних на згенеровані повідомлення. |