- •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 для проведення рефакторингу.
-
Помилки при вимірюваннях
Систематичні
Випадкові
У більшості випадків вимірювання - це багаторазове спостереження величини, що вимірюється. При цьому одержують сукупність вимірів, які необхідно сумісно обробити для одержання результату. Виправлений результат вимірювання одержують шляхом вилучення систематичних похибок. Якість результатів вимірювання характеризується надійністю, правильністю і точністю. Існують три складові частини загальної похибки вимірювання і відповідні їм показники якості результатів вимірювання: грубі, систематичні і випадкові похибки. Відсутність грубих похибок (промахів) характеризує надійність результатів і досягається організацією вимірювання. Вилучення систематичних похибок характеризує правильність результатів і досягається за допомогою введення спеціальних коефіцієнтів або поправок. Випадкові похибки є неминучими, а їх величини і закон розподілу характеризують точність результатів вимірювання.
51. Види вимірювань
-
Вимірювання розміру
-
Вимірювання складності
-
Оцінка зусиль
-
Вимірювання дефектів
-
Надійність ПЗ та прогнозування
-
Час відгуку та роботопридатність
-
Вимірювання прогресу
*Фінансові вимірювання
Розрізняють пряме й непряме вимірювання.
При прямому вимірюванні результат одержують безпосередньо внаслідок вимірювання самої величини.
При непрямому вимірюванні числове значення величини відшукують не безпосередньо, а на основі вимірювання інших величин, пов'язаних з вимірюваною величиною математичновираженою залежністю.
Вимірювання класифікують:
-
за характеристиками точності – на вимірювання однакової та неоднакової точності;
-
за числом вимірювань у ряді вимірювань – на разові та багаторазові;
-
за характером вимірювання – на статичні та динамічні;
-
за відображенням результатів вимірювання – абсолютні та відносні;
-
за загальними прийомами одержання результатів вимірювання – прямі; непрямі; сумісні; сукупні.
52. Вимірювання розміру.
-
Розмір – основний атрибут програмного забезпечення.
-
Метрики розміру – базові метрики.
-
Основна метрика –LOC (lines of code)
-
LOC ніколи не розглядається окремо від інших метрик. Це один із факторів, на основі яких проводиться оптимізація коду
Суммарный размер системы. Это пример интеграционного показателя системы, который можно вычислить, исходя только из свойств отдельных компонентов.
Показатель размера. Зависит от размера выходного результата очередного этапа работ. Наиболее часто применяемым критерием такого типа является количество строк разработанного программного кода. За аналогичный показатель также можно взять количество инструкций объектной программы или количество страниц системной документации.
53. Вимірювання функціональності.
-
Використовується аналіз функціональних точок – точок входу та виходу.
-
Це непряме вимірювання функціонального розміру системи.
-
Використовується для вимірювання об’єму робіт
Функциональный показатель. Зависит от функциональных возможностей программного продукта в целом. Производительность в этом случае выражается количеством полезных выполняемых функций, разработанных в определенный отрезок времени. К наиболее распространенным показателям этого типа относится количество функциональных и объектных точек.
Альтернативой показателю размера при оценивании производительности может служить функциональный показатель. В этом случае можно избежать тех "аномалий" в оценке производительности, которые встречаются при использовании показателя размера, так как функциональность не зависит от языка программирования.
Подсчет общего количества функциональных точек в программе проводится путем измерения или оценивания следующих свойств программы.
• Интенсивность использования ввода и вывода внешних данных.
• Взаимодействие системы с пользователем.
• Внешние интерфейсы.
• Файлы, используемые системой.