
- •1. Основи програмної інженерії.
- •1.1. Програмна інженерія в історичному аспекті.
- •1.2. Програмна інженерія як дисципліна.
- •1.3. Swebok: Керівництво до зводу знань з програмної інженерії.
- •1.4. Структура і зміст swebok.
- •1.4.1. Інженерія вимог
- •1.4.2. Проектування програмного забезпечення
- •1.4.3. Конструювання програмного забезпечення
- •1.4.4. Тестування програмного забезпечення
- •1.4.5. Супровід програмного забезпечення
- •1.4.6. Керування конфігурацією
- •1.4.7. Керування інженерією програмного забезпечення
- •1.4.8. Процес інженерії
- •1.4.9. Методи і інструменти інженерії
- •1.4.10. Якість програмного забезпечення
- •Контрольні питання і завдання
- •2. Характеристика життєвого циклу стандарта iso/iec 12207.
- •Контрольні питання і завдання
- •3. Формування прикладних моделей життєвого циклу
- •Контрольні питання і завдання
- •4. Вимоги до програмних систем.
- •4.1. Загальні підходи до визначення вимог
- •Контрольні питання і завдання
- •5. Методи програмування.
- •5.1. Прикладне (систематичне) програмування
- •5.1.1 Структурне програмування
- •5.1.2. Об'єкт но-орієнтоване програмування
- •5.1.4. Компонентне програмування
- •5.1.5. Аспектно-орієнтоване програмування
- •5.1.6. Генерувальне (порождувальне) програмування
- •5.1.7. Сервісно-орієнтоване програмування
- •5.1.8. Агенте програмування
- •5.2. Теоретичне програмування
- •5.3. Контрольні питання і завдання
- •6. Оптимізація програм
- •6.1 Основні поняття.
- •6.2. Призначення і цілі оптимізації
- •6.3. Проміжна мова
- •6.4. Елементи топології програми
- •6.4.1. Блок (лінійна ділянка)
- •6.4.2. Сильно зв'язана область
- •6.5. Способи оптимізації
- •6.5.1. Розвантаження ділянок повторюваності
- •6.5.2. Скорочення глибини операції
- •6.5.3. Спрощення дій
- •6.5.3.1. Видалення індуктивних змінних і виразів
- •6.5.3.2. Заміна складних операцій на більш прості
- •6.5.3.3 Виключення надлишкових виразів
- •6.5.3.4 Інші перетворення
- •6.5.4. Реалізація дій
- •6.5.5. Підстановка (згортання)
- •6.5.6. Чищення програми
- •6.5.6.1. Усунення ідентичних операторів
- •6.5.6.2. Заміна змінних в операторах умовного переходу і усунення невикористовуваних визначень.
- •6.5.6.3. Усунення марних операторів і змінних
- •6.5.7. Економія пам'яті
- •6.5.8. Скорочення програми
- •6.5.9. Вставка псевдоблоку
- •7. Навчально-методичні рекомендації до вивчення дисцілини «Основи програмної інженерії.»
- •7.1. Анотація навчальної дісциплини. Галузь знань – 0501 «Інформатика та обчислювальна техника» Напрям підготовки - 6.050103 «Програмна інженерія»
- •7.2. Необхідність та задачі навчальної дісциплини. Ії місце в учбовому процесі.
- •7.3. Тематичний план курсу.
- •7.4. Тематичний план лекцій.
- •7.5. Тематичний план лабораторних робіт.
- •7.6. Тематичний план практичних робіт.
- •7.7. Тематичний план самостійної роботи студентів.
- •7.8. Питання для підсумкового контролю.
- •7.9. Структура залікового кредиту навчальної дисципліни
- •7.3. Структура модулів дисципліни
- •7.10. Система критеріїв оцінювання знань відповідно до кожного модуля дисципліни
- •Література
- •Список літератури до розділу 2
- •Додаток 1. Термінологічний словник
- •Додаток 2. Перелік стандартів програмної інженерії
7.6. Тематичний план практичних робіт.
Питання, які вивчаються на заняттях |
Змістовний модуль 1 |
SWEBOK. Інженерія вимог. Проектування програмного забезпечення. Конструювання програмного забезпечення. Тестування програмного забезпечення. Супровід програмного забезпечення. Керування конфігурацією. Керування інженерією програмного забезпечення. Процес інженерії. Методи і інструменти інженерії. Якість програмного забезпечення. |
СТАНДАРТ І МОДЕЛІ ЖИТТЄВОГО ЦИКЛУ. Формування прикладних моделей життєвого циклу. |
АНАЛІЗ ТА ВИЗНАЧЕННЯ ВИМОГ ДО ПРОГРАМНИХ СИСТЕМ. Загальні підходи до визначення вимог. Класифікація вимог. Аналіз і збирання вимог. Інженерія вимог. Фіксація вимог. Трасування вимог. Об'єктно-орієнтована інженерія вимог. Візуальний підхід. Текстовий підхід. |
МЕТОДИ ОБ'ЄКТНОГО АНАЛІЗУ І МОДЕЛЮВАННЯ. Огляд об'сктно-орієнтованих методів аналізу і побудови моделей. Основні поняття об'єктно-орієнтованих методів аналізу. Метод побудови об'єктної моделі предметної області. Проектування архітектури програмних систем. Загальні підходи до проектування програмних систем. Проектування різних видів архітектур програмних систем. |
7.7. Тематичний план самостійної роботи студентів.
№ |
Назва теми та її зміст |
|
Змістовний модуль 1 |
1 |
Програмна інженерія як дисципліна керування та економічна дисципліна. |
1 |
Проектування програмного забезпечення. Конструювання програмного забезпечення. Тестування програмного забезпечення. Супровід програмного забезпечення. |
2 |
Характеристика життєвого никлу стандарти 1SO/IEC 12207. |
2 |
Типи моделей життєвого циклу. |
3 |
Аналіз і збирання вимог до програмних систем. |
3 |
Об'єктно-орієнтована інженерія вимог. Візуальний підхід. Текстовий підхід. |
4 |
Основні поняття об'єктно-орієнтованих методів аналізу. Загальні підходи до проектування програмних систем. |
4 |
Метод побудови об'єктної моделі предметної області. |
4 |
Проектування різних видів архітектур програмних систем. |
|
Змістовний модуль 2 |
5 |
Компонентне програмування. Аспектно-орієнтоване програмування. |
5 |
Сервісно-оріентоване програмування. Агентне програмування |
6 |
Верифікація і валідація програм. Загальні перспективи верифікації програм. |
6 |
Тестування програмних систем. |
7 |
Інтерфейс в ООП і в сучасних середовищах. |
7 |
Реверсна інженерія. |
8 |
Репозітарій компонентів. Мова опису інтерфейсу компонентів. |
8 |
JAVA-технологія. |
9 |
Моделі якості програмних систем. |
10 |
Метод критичного шляху –СРМ. |
10 |
Метод аналізу й оцінки проекту-PERT. |