
- •Лекція 1. Тема: ядра знань swebok
- •1.1. Аналіз і характеристика областей знань swebok
- •1.1.1 Основи програмних вимог (Software Requirements)
- •1.1.2. Проектування пз (Software design)
- •1.1.3. Конструювання пз (Software Construction)
- •1.1.4 Тестування пз (Software Testing)
- •1.1.5 Супровід пз (Software maintenance)
- •1.1.6. Управління конфігурацією пз (Software Configuration Management– scm)
- •1.1.7. Управління інженерією пз (Software Engineering Management)
- •1.1.8. Процес інженерії пз (Software Engineering Process)
- •1.1.9. Методи і засоби інженерії пз (Software Engineering Tools and Methods)
- •Лекція 2. Тема: життєвий цикл і етапи розробки програмного забезпечення
- •Лекція 3. Тема: еволюція моделей життєвого циклу програмного забезпечення
- •1.6. Прискорення розробки пз.
- •Лекція 4. Тема: оцінка якості процесів створення програмного забезпечення
- •Лекція 5. Тема: визначення вихідних даних для проектування програмного забезпечення
- •5.1 Визначення вимог до пз
- •5.2 Формування і аналіз вимог
- •5.2.1 Опорні точки зору
- •5.2.2 Сценарії
- •5.2.3 Етнографічний метод
- •5.3 Специфікація вимог
- •5.4 Атестація вимог
- •5.5 Класифікація програмних продуктів за функціональною ознакою
- •5.6 Основні експлуатаційні вимоги до програмних продуктів
- •5.7 Передпроектні дослідження предметної області
- •Лекція 6. Тема: розробка технічного завдання
- •2. Підстави для розробки
- •3. Призначення
- •4. Вимоги до програми або програмного виробу
- •5. Вимоги до програмної документації
- •1. Вступ
- •2. Підстава для розробки
- •3. Призначення
- •4. Вимоги до програми або програмного виробу
- •4.1. Вимоги до функціональних характеристик
- •Лекція 7. Тема: принципові рішення початкових етапів проектування
- •Контрольні питання і завдання
- •Аналіз вимог і визначення специфікацій програмного забезпечення при структурному підході
- •Лекція 8. Тема: Специфікації програмного забезпечення при структурному підході
- •Flow-форми
- •Діаграми Насси-Шнейдермана
- •Контрольні питання та завдання:
- •Лекція 9. Тема: діаграми потоків даних
- •Словник даних
- •Вміст словника даних
- •Лекція 10. Тема: діаграми «сутність-зв’язок»
- •Лекція 11. Тема: приклади побудови діаграм та специфікації процесів
- •Лекція 12 Тема: діаграми переходів станів
- •13.1. Структурна схема майбутнього програмного забезпечення
- •13.2 Використання методу покрокової деталізації для проектування структури програмного забезпечення
- •13.3 Структурні карти Константайна
- •13.4.Структурні карти Джексона
- •13.5 Характеристики хорошої моделі реалізації
- •Зчеплення
- •Зв’язаність
- •13.6 Функціональна схема
- •Лекція 14. Тема: методології структурного аналізу і проектування
- •Контрольні питання та завдання
- •Лекція 15. Тема: синтаксис діаграм
- •Контрольні питання та завдання
- •Лекція 16. Тема: Синтаксис діаграм
- •Збір інформації
- •Контрольні питання та завдання:
- •Лекція 17. Тема: побудова sadt-діаграм
- •17.2. Побудова sadt-діаграми для процесу “Побудова таблиць/графіків функцій однієї змінної”
- •Типи зв'язків між функціями
- •Лекція 18. Тема: доповнення до діаграм і моделей
- •Критерії оцінки і вибору
- •Функціональні характеристики
- •3. Загальні функції:
1.1.3. Конструювання пз (Software Construction)
Конструювання ПЗ – створення працюючого ПЗ із залученням методів верифікації, кодування і тестування компонентів [5]. До інструментів конструювання ПЗ віднесені мови програмування і конструювання, а також програмні методи і інструментальні системи (компілятори, СУБД, генератори звітів, системи управління версіями, конфігурацією, тестуванням і ін.). До формальних засобів опису процесу конструювання ПЗ, взаємозв'язків між людиною і комп'ютером і з врахуванням навколишнього середовища віднесені мови конструювання.
Область знань «Конструювання ПЗ (Software Construction)» включає наступні розділи:
– зниження складності (Reduction in Complexity)
– попередження відхилень від стилю (Anticipation of Diversity)
– структуризація для перевірок (Structuring for Validation)
– використання зовнішніх стандартів (Use of External Standards)
Основу даної області складають завдання пониження складності конструювання програмного продукту, попередження відхилень від стилю (лінгвістичного, формального, візуального і ін.), яке забезпечується застосуванням найбільш відповідних стилів конструювання, структуризація ПЗ і використання зовнішніх стандартів.
1.1.4 Тестування пз (Software Testing)
Тестування ПЗ – це процес перевірки роботи програми в динаміці, заснований на виконанні кінцевого набору тестових даних і порівняння отриманих результатів із запланованими спочатку [5].
Область знань «Тестування ПЗ (Software Testing)» включає наступні розділи:
– основні концепції і визначення тестування (Testing Basic Concepts and definitions),
– рівні тестування (Test Levels)
– техніка тестування (Test Techniques)
– метрики тестування (Test Related Measures)
– управління процесом тестування (Managing the Test Process).
При тестуванні виявляються недоліки: відмови (faults) і дефекти (defects), як причини порушення роботи системи, збої (failures), як небажані ситуації, помилки (errors), як наслідки збоїв і ін. Базовим поняттям тестування є тест, який виконується в заданих умовах і на наборах даних. Тестування вважається успішним, якщо знайдений дефект або помилка, і вони усуваються. Ступінь тестування залежить від задання критеріїв покриття системи тестами і вірогідності появи збоїв.
1.1.5 Супровід пз (Software maintenance)
Супровід ПЗ – сукупність дій із забезпечення роботи ПЗ, а також по внесенню змін у разі виявлення помилок в процесі експлуатації, по адаптації ПЗ до нового середовища функціонування, а також по підвищенню продуктивності або інших характеристик ПЗ [5]. Починаючи з 2000 р. супровід почав розглядатися як важливіший процес, який повинен строго забезпечуватися і оновлюватися учасниками розробників. Супровід рахується модифікацією програмного продукту в процесі експлуатації при умові збереження цілісності продукту.
1.1.6. Управління конфігурацією пз (Software Configuration Management– scm)
Управління конфігурацією – дисципліна ідентифікації компонентів системи, визначення функціональних і фізичних характеристик апаратного і програмного забезпечення для проведення контролю внесення змін і трасування конфігурації впродовж ЖЦ [5]. Це управління відповідає одному з допоміжних процесів ЖЦ (ISO/IEC 12207), виконується технічним і адміністративним керівництвом проекту і полягає в контролі вказаних характеристик конфігурації системи і їх зміні; складання звіту по внесених змінах в конфігурацію і статус їх реалізації; перевірки відповідності внесених змін заданим вимогам.