Основи програмної інженерії

Mandatory discipline
Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 3.0; • у навчальних годинах — 90.
Розподіл навчальних годин (аудиторні заняття / самостійна робота): 
• очна форма — 44 / 46; • заочна форма — 6 / 84.
Кількість аудиторних занять за видами (лекції / практичні заняття / лабораторні заняття): 
• очна форма — 15 / 7 / 0; • заочна форма — 2 / 1 / 0.
Індивідуальна робота: 
; • заочна форма — контрольна робота.
Семестровий контроль: 
Test.
Освітню компоненту забезпечує: 
Анотація: 

Мета вивчення дисципліни
Вивчення базових понять програмної інженерії та набуття навичок її використання для реалізації нескладних програмних систем.
Практичне значення та використання отриманих знань
Формування у студентів загального розуміння програмної інженерії як галузі наукового і практичного знання, актуальності програмної інженерії як дисципліни, що охоплює всі аспекти розробки програмного забезпечення; поглиблення і розширення поняття життєвий цикл програмного забезпечення, детальний розгляд всіх етапів життєвого циклу програмного забезпечення; розуміння необхідності всіх стадій в життєвому циклі програмного забезпечення; отримання початкових умінь і навичок в галузі розробки ПЗ з проходженням всіх стадій життєвого циклу програмного забезпечення; вміння орієнтуватися в різних способах організації і моделях процесу розробки; застосування отриманих знань у своїй професійній діяльності.
Таким чином, дисципліна знайомить з основними поняттями, задачами та процесами, що ведуть до створення програмного забезпечення: від початкової розробки системних вимог, проектування, конструювання до модернізації програмних систем; студент вивчає основні елементи мови UML та опанує сучасні програмні засоби для моделювання системи.
Тематика та види навчальних занять
Для денної форми здобуття освіти
Лекційні заняття
Лекція 1. Основи програмної інженерії. Загальні положення. Область ядра знань SWEBOK.
Лекція 2. Базові принципи створення програмних систем. Методології проектування. Принципи об’єктно-орієнтованого підходу. Моделі процесу розробки програмного забезпечення.
Лекція 3. Процеси розробки ПЗ. Вимоги до ПЗ.
Лекція 4. Моделювання програмного забезпечення. Концептуальна модель UML.
Лекція 5. Діаграма варіантів використання.
Лекція 6. Основи об'єктної технології. Клас. Діаграма класів.
Лекція 7. Способи виявлення концептуальних класів.
Лекція 8. Діаграми класів в UML. Пакети. Повідомлення і дії.
Лекція 9. Моделювання поведінки програмного забезпечення. Діаграми взаємодій.
Лекція 10. Моделювання динаміки функціонування програмного забезпечення. Діаграми станів. Діаграми діяльності.
Лекція 11. Моделювання фізичного представлення моделей. Діаграма компонентів. Діаграма розгортання.
Лекція 12. Архітектура програмного забезпечення.
Лекція 13. Основні шаблони проектування. Конструювання програмного забезпечення.
Лекція 14. Тестування програмного забезпечення. Планування тестування. Різновид тестування.
Лекція 15. Верифікація та валідація. Тест-кейси та звіти про дефекти.
Практичні заняття
Практичне заняття №1. Опис предметної області програмної системи.
Мета заняття: Навчити аналізувати предметну область програмної системи, визначати функціональні та не функціональні вимоги до системи.
Практичне заняття №2. Розробка структури системи з використанням діаграм стандарту IDEF0 для опису бізнес-процесів.
Мета заняття: ознайомитися з принципами проектування на основі CASEтехнології; навчитися будувати структурну схему програмної системи; оволодіти навичками щодо побудови моделі з використанням стандарту IDEF0 в Ramus Educational.
Практичне заняття №3. Побудова UML діаграм використання.
Мета заняття: Навчити будувати UML діаграми використання, розробляти сценарії варіантів використання та перевіряти їх якість.
Практичне заняття №4. Створення діаграм робастності (Robustness diagram)
Мета заняття: Навчитися виявляти об’єкти системи для аналізу та виявлення недоліків у розподілі функціональності між компонентами системи на основі сценаріїв варіантів використання.
Практичне заняття №5. Побудова UML діаграми класів.
Мета заняття: Навчитися виявляти елементи діаграм класів, їх властивості. Вивчення типів відношень між класами та здобуття навичок побудови та узгодження діаграм класів.
Практичне заняття №6. Побудова UML діаграми взаємодій.
Мета заняття: Вивчення особливостей діаграм взаємодії, здобуття практичних навичок побудови діаграм взаємодій та забезпечення їх узгодженості з діаграмами класів та сценаріями варіантів використання.
Практичне заняття №7. Побудова діаграм діяльності.
Мета заняття: Навчитись моделювати потоки виконання в межах системи для представлення логіки процесів або функціональних сценаріїв та перевіряти їх узгодженість з діаграмами класів та сценаріями варіантів використання.
Для заочної форми здобуття освіти
Лекційні заняття
Лекція 1. Основи програмної інженерії та моделювання програмного забезпечення. Загальні положення та область знань SWEBOK. Базові принципи створення програмних систем. Методології проєктування та моделі процесу розробки ПЗ. Вимоги до програмного забезпечення: аналіз, формалізація та специфікація. Концептуальна модель UML: призначення та основні елементи.
Лекція 2. Моделювання, архітектура та тестування програмного забезпечення. Моделювання поведінки та динаміки програмного забезпечення. Фізичне представлення моделей та архітектура.
Практичні заняття
Практичне заняття №1. Аналіз предметної області та моделювання програмної системи.
Мета заняття: Навчитися аналізувати предметну область програмної системи, визначати функціональні та нефункціональні вимоги, будувати UML-діаграми використання, класів, взаємодій.
Індивідуальна робота
Форми контрольних заходів та оцінювання результатів навчання
Для денної форми здобуття освіти
Поточний контроль полягає у виконанні
1) 7-ти індивідуальних поточних завдань. Індивідуальні поточні завдання виконуються письмово і полягають в виконанні типових дій відповідно до мети та завдань практичних занять. Бездоганне виконання індивідуальних поточних завдань №1-3 оцінюється у 6 балів; №4-7 оцінюється у 5 балів.
2) двох модульних контрольних робіт. Модульні контрольні роботи складаються з теоретичної і практичної частин та проводяться у формі тестування. Бездоганне виконання кожної модульної контрольної роботи становить 30 балів.
Підсумковий контроль – залік. Залік виставляється за результатами роботи здобувача в семестрі.
Для заочної форми здобуття освіти
Захист контрольної роботи. Бездоганне виконання контрольної роботи оцінюється у 50 балів. Під час її захисту здобувач може отримати до 50 балів.
Підсумковий контроль – залік. Залік виставляється за підсумками виконаних робіт здобувача в семестрі.

Результати навчання: 

ПРН04. Знати і застосовувати професійні стандарти і інші нормативно-правові документи в галузі інженерії програмного забезпечення.
ПРН05. Знати і застосовувати відповідні математичні поняття, методи доменного, системного і об’єктно-орієнтованого аналізу та математичного моделювання для розробки програмного забезпечення.
ПРН12. Застосовувати на практиці ефективні підходи щодо проектування програмного забезпечення.
ПРН13. Знати і застосовувати методи розробки алгоритмів, конструювання програмного забезпечення та структур даних і знань.
ПРН14. Застосовувати на практиці інструментальні програмні засоби доменного аналізу, проектування, тестування, візуалізації, вимірювань та документування програмного забезпечення.
ПРН15. Мотивовано обирати мови програмування та технології розробки для розв’язання завдань створення і супроводження програмного забезпечення.
ПРН18. Знати та вміти застосовувати інформаційні технології обробки, зберігання та передачі даних.

b242511 ▪ 2025