ПРОГРАМНА ІНЖЕНЕРІЯ В СИСТЕМАХ УПРАВЛІННЯ

Матеріали дисципліни "Програмна інженерія в системах управління"

ПРОГРАМНА ІНЖЕНЕРІЯ В СИСТЕМАХ УПРАВЛІННЯ

Дане сховище вміщує матеріали дисципліни “Програмна інженерія в системах управління” яка дається студентам 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
  • основи програмної інженерії для АСК

Теми для додаткового вивчення

У цьому розділі можуть з’явитися будь які теми які стосуються введення в програмування в різні мови а також технології які стосуються програмної інженерії в системах керування. Зробіть форк репозиторію і пропонуйте зміни.

Інші посилання

Репозиторій GitHub

Автор і лектор: Олександр Пупена доц. кафедри АКСТУ НУХТ

www.iasu.nuft.pp.ua