- •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 для проведення рефакторингу.
6. Емпіричні загально наукові методи пізнання.
Спостереження – чуттєве відображення предметів та явищ зовнішнього світу. Спостереження: безпосереднє і опосередковане.
Експеримент - це активний, ціленаправлений та строго контрольований вплив дослідника на досліджуваний об’єкт для виявлення та вивчення тих чи інших сторін, властивостей, зв’язків. Експерименти: дослідницькі і перевірочні. Експерименти: якісні і кількісні.
Вимірювання - це процес, який полягає у визначенні кількісних значень тих чи інших властивостей, сторін досліджуваного об’єкта, явища за допомогою спеціальних технічних засобів. Вимірювання: статичні і динамічні. Вимірювання: прямі і непрямі.
7. Конкретно наукові методи пізнання (в загальному).
Конкретно наукові методи пізнання: контрольовані експерименти, дослідження ситуацій, дослідження-огляди
Контрольовані експерименти – це дослідження гіпотези, яка перевіряється, де за допомогою зміни значення однієї чи декількох незалежних змінних вимірюють їх дію на одну чи декілька залежних змінних.
Дослідження ситуацій. Особливість методу полягає у дослідженні однієї сутності. Дослідження проводиться в межах його реального контексту.
Дослідження-огляди - це дослідження досвіду людей. Метою є вивчення точок зору людей з даного питання.
8. Місце емпіричної інженерії програмного забезпечення в іпз.
Емпірична інженерія ПЗ охоплює всі аспекти розробки ПЗ, які пов’язані з практичним дослідженням ПЗ. Основна ідея емпіричних досліджень в ПЗ - фокусування на процесах досліджень, проектуванні та структурованості емпіричних досліджень, а не на змісті чи результаті
9. Емпірична інженерія програмного забезпечення – суть, предмет та методи.
ЕІПЗ – сукупність дій для отримання знань з метою кращого розуміння аспектів розробки програмного забезпечення. Результатом дій є ряд тверджень щодо визначеного переліку проблем. Ці твердження являються відповідями на поставлені запитання та підтвердженням чи спростуванням гіпотез. Предмет ЕІПЗ – дослідження процесів (ЖЦ ПЗ), продуктів ІПЗ та самих методів досліджень. Методи ЕІПЗ: загально наукові (емпірико-теоретичні) і конкретно наукові (контрольовані експерименти, дослідження ситуацій і дослідження-огляди). Основна ідея емпіричних досліджень в ПЗ - фокусування на процесах досліджень, проектуванні та структурованості емпіричних досліджень, а не на змісті чи результаті
10. Методи емпіричної інженерії (загально наукові, конкретно наукові).
Методи ЕІПЗ: загально наукові (емпірико-теоретичні) і конкретно наукові (контрольовані експерименти, дослідження ситуацій і дослідження-огляди).
Загально наукові методи. Теоретичні методи
Абстрагування. В процесі абстрагування відбувається відхід від конкретних об’єктів, які чуттєво сприймаються, до абстрактного “мисленнєвого” представлення про них.
Ідеалізація - це мислене внесення певних змін в об’єкт вивчення у відповідності з метою дослідження.
Аксіоматичний метод. При аксіоматичному виведенні теоретичного знання спочатку задається набір вихідних положень, які не потребують доведень, а далі за визначеними правилами будуються виведення.
Загально наукові методи. Емпіричні методи
Спостереження – чуттєве відображення предметів та явищ зовнішнього світу. Спостереження: безпосереднє і опосередковане.
Експеримент - це активний, ціленаправлений та строго контрольований вплив дослідника на досліджуваний об’єкт для виявлення та вивчення тих чи інших сторін, властивостей, зв’язків. Експерименти: дослідницькі і перевірочні. Експерименти: якісні і кількісні.
Вимірювання - це процес, який полягає у визначенні кількісних значень тих чи інших властивостей, сторін досліджуваного об’єкта, явища за допомогою спеціальних технічних засобів. Вимірювання: статичні і динамічні. Вимірювання: прямі і непрямі.
Загально наукові методи. Теоретико-емпіричні методи
Аналіз – розділення об’єкта (мислено чи реально) на складові частини з метою їх окремого вивчення.
Індукція – формальне логічне мисленнєве виведення, яке приводить до отримання загального висновку на основі конкретних посилань. Це рух мислення від конкретного до загального.
Дедукція – отримання конкретних висновків на основі знання деяких загальних положень. Це рух мислення від загального до конкретного.
Використання моделювання диктується необхідністю розкрити такі сторони об’єктів, які або неможливо зрозуміти шляхом безпосереднього вивчення, або їх не вигідно вивчати з чисто економічних міркувань
Конкретно наукові методи
Контрольовані експерименти – це дослідження гіпотези, яка перевіряється, де за допомогою зміни значення однієї чи декількох незалежних змінних вимірюють їх дію на одну чи декілька залежних змінних.
Дослідження ситуацій. Особливість методу полягає у дослідженні однієї сутності. Дослідження проводиться в межах його реального контексту.
Дослідження-огляди - це дослідження досвіду людей. Метою є вивчення точок зору людей з даного питання.
-
Дослідження в натуральному середовищі.
Дослідження в натуральному середовищі пов’язані з реальними задачами через спостереження за розробниками ПЗ в «природному середовищі», в якому відбувається розробка ПЗ.
-
Дослідження в природних умовах.
(прим. Горовецкого) ИМХО то же самое что и предыдущем вопросе. В лекциях разделяли только натуральную среду и лабораторные условия…
-
Дослідження «в малому».
-
Дослідження «в типовому» («в середньому»).
-
Дослідження «у великому».
-
Історія розвитку емпіричної ІПЗ.
-
Belady, Lehman
-
Yuen
-
Tamai, Torimitsu
-
Cook, Roesch
-
Gefen, Schnerberger
-
Basili
-
Lehman
-
Збір даних. Методики збору даних.
-
Прямі методики.
-
Непрямі методики.
-
Незалежні методики.
-
Прямі методики збору даних.
-
мозковий штурм та фокус-групи - методики для формулювання вимог та планування проекту. При цьому предметом дослідження являються концепції та основи процесів та продуктів.
-
інтерв’ю та анкетні опитування - це постановка питань дослідником та відповіді учасником експерименту. Досить проста методика, яка не вимагає від учасника експерименту витрачати багато часу й зусиль.
-
концептуальне моделювання - стосується формулювання вимого до процесів та продуктів. Це методика, яка призначена для створення невеликих концептуальних моделей процесів та продуктів, що стосуються різних аспектів роботи учасників експерименту.
-
ведення робочих щоденників - це методика, яка призначена для планування робочого часу та виконання задач.
-
озвучення роботи - це методика, призначена для оцінювання (характеристики) інтерфейсу користувача. При цьому досліджуються уявні моделі процесів та продуктів, постановка цілей роботи інженера програмного забезпечення та його діяльність при створенні процесів та продуктів.
-
спостереження тінню та загальне спостереження - це методики, призначені для визначення найкращих підходів для аналізу варіантів використання та задач. При цьому досліджується проведений час та повторюваність задач за невеликі проміжки часу, алгоритми виконуваних робіт та їх пояснення учасниками експерименту.
-
активне спостереження - предметом дослідження виступає ґрунтовне розуміння та пояснення дій, проведення часу, повторюваність задач за тривалий період.