- •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 для проведення рефакторингу.
-
Компоненти емпіричних досліджень.
-
Середовище досліджень
-
Гіпотези
Гіпотеза — наукове припущення, що висувається для пояснення будь-якого явища і потребує перевірки на досліді та теоретичного обґрунтування, для того щоб стати достовірною науковою теорією.
Особливістю гіпотези як форми наукового знання є те, що вона завжди має певний ступінь імовірності.
Формування гіпотез:
Гіпотези, як і ідеї, мають імовірнісний характер і в своєму розвитку мають три стадії:
-
Накопичення матеріалу, висунення гіпотези;
-
Формування основної гіпотези та її обгрунтування;
-
Перевірка отриманих результатів на практиці.
-
План експерименту
С развитием компьютерной техники появился новый уникальный метод исследования — компьютерный эксперимент. В помощь, а иногда и на смену экспериментальным образцам и испытательным стендам во многих случаях пришли компьютерные исследования моделей. Этап проведения компьютерного эксперимента включает две стадии: составление плана эксперимента и проведение исследования.
План эксперимента должен четко отражать последовательность работы с моделью. Первым пунктом такого плана всегда является тестирование модели. Тестирование — процесс проверки правильности построения модели. Тест — подбор исходных данных, позволяющий определить правильность построения модели. Чтобы быть уверенным в правильности получаемых результатов моделирования, надо:
-
проверить разработанный алгоритм построения модели;
-
убедиться, что построенная модель правильно отражает свойства оригинала, которые учитывались при моделировании.
Для проверки правильности алгоритма построения модели используется тестовый набор исходных данных, для которых конечный результат заранее известен или предварительно определен другими способами. Например, если вы используете при моделировании расчетные формулы, то надо подобрать несколько вариантов исходных данных и просчитать их «вручную». Это тестовые задания. Когда модель построена, вы проводите тестирование с теми же вариантами исходных данных и сравниваете результаты моделирования с выводами, полученными расчетным путем. Если результаты совпадают, то алгоритм разработан верно, если нет — надо искать и устранять причину их расхождения. Тестовые данные могут совершенно не отражать реальную ситуацию и не нести смыслового содержания. Однако полученные в процессе тестирования результаты могут натолкнуть вас на мысль об изменении исходной информационной или знаковой модели, прежде всего в той ее части, где заложено смысловое содержание. Чтобы убедиться, что построенная модель отражает свойства оригинала, которые учитывались при моделировании, надо подобрать тестовый пример с реальными исходными данными.
-
Загрози істинності
-
Аналіз та представлення даних
Аналіз (від грец. розклад) — розчленування предмета пізнання, абстрагування його окремих сторін. Метод дослідження, який включає в себе вивчення предмета за допомогою мисленого або практичного розчленування його на складові елементи (частини об'єкта, його ознаки, властивості, відношення). Кожна із виділених частин аналізується окремо у межах єдиного цілого. Протилежне — синтез.
-
Результати та висновки
Результат — заключительное последствие последовательности действий или событий, выраженных качественно или количественно. Возможные результаты включают преимущество, неудобство, выгоду, потерю, ценность и победу.
Цель описывает желаемый, но возможно еще не достигнутый результат.
-
Проектування емпіричних досліджень.
-
Постановка задачі
Постановка задачи — точная формулировка условий задачи с описанием входной и выходной информации.
Входная информация по задаче — данные, поступающие на вход задачи и используемые для её решения.
Выходная информация может быть представлена в виде документов, кадров на экране монитора, информации в базе данных, выходного сигнала устройству управления.
Постановка задачи разрабатывается организацией, разработчиком программной продукции, на основании технического задания совместно с заказчиком. Главный исполнитель — это разработчик.
Постановка задачи - этап создания программного обеспечения.
Процесс создания нового ПО обязательно необходимо начинать с постановки задачи, в ходе которой определяются требования к программному продукту. Это один из наиболее важных этапов при создании ПО, так как от того, насколько полно, точно и ясно определены требования к разрабатываемому ПО, его функции и предполагаемые возможности, во многом зависит качество и стоимость разработки.
Во время постановки задачи четко формулируется назначение разрабатываемого ПО и определяется список основных требований к нему. Каждое требование по сути есть описание необходимого заказчику свойства ПО. Различают функциональные требования, определяющие функции, которые будут выполнятся разрабатываемым ПО, и эксплуатационные требования, определяющие особенности его работы.
Требования к программному обеспечению, для которого есть прототипы, обычно определяются по аналогии, с учетом характеристик и особенностей уже существующего ПО. Если аналогов для разрабатываемого ПО не существует, то для формулирования требований могут потребоваться специальные предпроектные исследования.