- •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 для проведення рефакторингу.
-
Метрики розміру.
Ці метрики найбільш прості і тому отримали широке поширення. Традиційною характеристикою розміру програм є кількість рядків вихідного тексту. Під рядком розуміється будь-який оператор програми, оскільки саме оператор, а не окремо взята рядок є тим інтелектуальним "квантом" програми, спираючись на який можна будувати метрики складності її створення. Безпосереднє вимірювання розміру програми, незважаючи на свою простоту, дає хороші результати. Звичайно, оцінка розміру програми недостатня для прийняття рішення про її складності, але цілком застосовна для класифікації програм, які істотно різняться обсягами. При зменшенні відмінностей в обсязі програм на перший план висуваються оцінки інших факторів, що впливають на складність. Таким чином, оцінка розміру програми є оцінка за номінальною шкалою, на основі якої визначаються тільки категорії програм без уточнення оцінки для кожної категорії. До групи оцінок розміру програм можна віднести також метрики Холстеда.
-
Недоліки розмірно-орієнтованих метрик.
Розмірно орієнтовані метрики:
-
Вимірюють програмний продукт та процес його розробки
-
Базуються на LOC-оцінках
-
Розглядається не розмір, а функціональність чи корисність продукту.
Показники, які реєструються:
-
Загальні трудозатрати (в людино-місяцях чи людино-годинах)
-
Об’єм програми (в тисячах рядків вихідного коду - LOС)
-
Вартість розробки
-
Об’єм документації
-
Помилки, виявлені на протязі року експлуатації
-
Кількість людей, які працювали над виробом
-
Термін розробки.
Використання SLOC (source lines of code):
-
Кількість “фізичних” строк кода (LOC, SLOC, KLOC, KSLOC, DSLOC)
-
Кількість “логічних” строк кода (LSI, DSI, KDSI, SI –source instructions)
Похідні від SLOC:
-
Число пустих рядків
-
Число рядків, які містять коментарі
-
Процент коментарів (відношення рядків коду до рядків коментарів)
-
Середнє число рядків для функцій (класів, файлів)
-
Середнє число рядків, які містять вихідний код для функцій (класів, файлів)
-
Середнє число рядків для модулів
Недоліки метрики SLOC
-
Не потрібно оцінювати роботу людини тільки по деяких числових параметрах
-
Метрика не оцінює досвід та інші якості співробітника
-
Спотворення (за рахунок того, що співробітники знають про вимірювання показників)
-
Неточність – не відображається складність проблеми
-
не відображається трудоємкості по створенню програми. ПОРТІБНА КОМПЛЕКСНА МЕТРИКА
-
Метрики складності потоку управління.
Як правило, за допомогою цих оцінок оперують або щільністю керуючих переходів усередині програм, або взаємозв'язками цих переходів. І в тому і в іншому випадку стало традиційним представлення програм у вигляді керуючого орієнтованого графа G = (V, E), де V - вершини, відповідні операторам, а E - дуги, відповідні переходах.
До цієї групи метрик можна віднести також метрики Холстеда.
-
Метрики складності потоку даних.
Одна з груп метрик складності програм - метрики складності потоку даних, тобто використання, конфігурації і розміщення даних в програмах.
До цієї групи метрик можна віднести також метрики Чепіна.