ПРОГРАМНА ІНЖЕНЕРІЯ В СИСТЕМАХ УПРАВЛІННЯ
Дане сховище вміщує матеріали дисципліни “Програмна інженерія в системах управління” яка дається студентам 1-го курсу спеціальності 174 «Автоматизація, комп’ютерно-інтегровані технології та робототехніка» освітньо-професійної програми «Комп’ютерні системи та програмна інженерія в автоматизації» Національного університету харчових технологій (кафедра АКТСУ).

План курсу на 2026 рік
Заняття: 02.02-24.05
Підсумковий модульний контроль: 25.05-31.05
Здача курсових робіт: 25.05-31.05
Семестровий контроль: 1.06-21.06
Тиждень 1-2 (2.02 - 15.02)
Лек 1. Вступ до програмної інженерії в системах автоматизованого керування
Лек 2.1. Створення документації на основі MarkDown: теоретична частина
Лек 2.2. Вступ до систем керування версіями та Git: теоретична частина
Лаб 1. Основи роботи з Git, GitHub та Markdown
Курсова. Створення власного репозиторію для курсової роботи. Вибір теми. Створення опису рішення.
Тиждень 3-4 (16.02 - 1.03)
Лек 3.1. Вступ до GitHub: теоретична частина
Лек 3.2. Від локального Git до GitHub: теоретична частина
Лек 4. Вступ до Node-RED: теоретична частина
Лаб 2. Основи роботи з Node-RED
Курсова. Створення проєкту для шлюза: відображення плинних вимірювальних даних на Dashboard. Розроблення розділу 1.
Тиждень 5-6 (2.03-15.03)
Лек 5. Апаратне забезпечення Raspberry PI
Лек 6. Хмарні сервіси, віртуальні машини.
Лаб 3. Основи роботи з Raspberry PI
Курсова. Вибір апаратного забезпечення, датчика та інших технічних засобів. Розроблення структурної схеми комплексу технічних засобів. Розроблення розділу 2.
Тиждень 7-8 (16.03-29.03)
Лек 7. Контейнери.
Лек 8. Основи роботи з HTTP
Лаб 4. Основи роботи з віртуальними машинами та контейнерами
Курсова. Створення віртуального середовища для тестування. Розроблення розділу 3.
Тиждень 9-10 (30.03-12.04)
Лек 9. Основи HTTP API
Лек 10. Веб-автентифікація
Лаб 5. Основи роботи з HTTP та HTTP API
Курсова. Підготовка хмарної платформи. Віддалений користувацький інтерфейс.
Тиждень 11-12 (13.04-26.04)
Лек 11. Протоколи IoT: MQTT
Лек 12. Бази даних та систем керування базами даних
Лаб 6. Протоколи IoT: MQTT
Курсова. Відправка даних реального часу на смартфон. Розроблення розділу 4.
Тиждень 13-14 (27.04-10.05)
Лек 13. Мова SQL.
Лек 14. Основи Java Script
Лаб 7. Основи роботи з базами даних та SQL
Курсова. Запис в локальну базу даних - системний журнал, дані датчиків. Запис даних на віддалену базу даних.
Тиждень 15-16 (11.05-24.05)
Лек 15. Функції та об’єкти Java Script та Node-RED
Лек 16. Моделі життєвого циклу
Лаб 8. Інтегрування з хмарними застосунками та сервісами
Курсова. Реалізація сповіщення через Discord або Telegram. Дороблення усіх розділів.
Курсова робота
Про дисципліну
Мета дисципліни «Програмна інженерія в системах управління» – формування знань з розробки програмного забезпечення, орієнтованого на автоматизовані системи керування (управління), що відносяться до технологічного та виробничого рівня (АСУТП, IIoT, MES та інші). Дисципліна направлена на вивчення методів та засобів програмної інженерії, розуміння основ побудов систем керування побудованих на основі архітектури Інтернету речей (IoT), поглиблення знання в програмуванні мови JavaScript, мережних технологіях Інтернету та використання СКБД. У якості основного інструментального середовища для лабораторних робіт використовується Node-RED.
У даній дисципліні розглядається два аспекти:
- технології, засоби та практики розробки програмного забезпечення для автоматизованих систем керування (АСК) на прикладі систем IoT
- основи програмної інженерії для АСК
Теми для додаткового вивчення
У цьому розділі можуть з’явитися будь які теми які стосуються введення в програмування в різні мови а також технології які стосуються програмної інженерії в системах керування. Зробіть форк репозиторію і пропонуйте зміни.
- Мова Python
- Мова Lua
- Мова Go
- Google Apps Script
- Об’єктно-орієнтоване програмування в JavaScript
- Керування ідентифікацією і доступом
- yaml
Інші посилання
Автор і лектор: Олександр Пупена доц. кафедри АКСТУ НУХТ
