Національний аерокосмічний університет «Харківський авіаційний інститут»

F2 Інженерія програмного забезпечення

Інженерія програмного забезпечення — це фундаментальна інженерна й технологічна галузь, що охоплює весь життєвий цикл створення програмних продуктів: від аналізу вимог, проектування архітектури та безпосередньої розробки (кодування) до тестування, впровадження, супроводу й еволюції ПЗ.

На відміну від чистої інформатики або математики, інженерія ПЗ фокусується на системному, дисциплінованому та вимірюваному підході до створення надійного, масштабованого, безпечного та якісного програмного забезпечення в умовах обмежених ресурсів, жорстких термінів та мінливих вимог бізнесу.

В основу підготовки фахівців із програмної інженерії покладено такі об’єкти:

- програмне забезпечення: мобільні та вебзастосунки, хмарні сервіси (Cloud Native), розподілені та високонавантажені системи, вбудоване ПЗ (Embedded Systems), рішення на основі AI/ML, корпоративні системи (ERP/CRM);

- життєвий цикл ПЗ та процеси розробки: методології управління розробкою (Agile, Scrum, Kanban, DevOps, MLOps), процеси аналізу вимог, проектування, модифікації, рефакторингу, впровадження та супроводу;

- інструментальні засоби та ресурси: мови програмування (Java, C#, C++, Python, JavaScript/TypeScript, Go, Rust тощо), сучасні фреймворки, середовища розробки (IDE), системи контролю версій (Git), CI/CD-трубопроводи, системи контейнеризації (Docker, Kubernetes);

- забезпечення якості (Quality Assurance & Control): методи ручного та автоматизованого тестування (Unit, Integration, E2E), статечний і динамічний аналіз коду, оцінка продуктивності, безпеки (AppSec) та надійності ПЗ;

- архітектура та дизайн ПЗ: паттерни проектування (Design Patterns), мікросервісна архітектура, подійно-орієнтовані системи (Event-Driven), Clean Architecture, UML-моделювання.

Цілі навчання за рівнями вищої освіти:

Перший (бакалаврський) рівень - підготовка фахівців, здатних ставити та розв’язувати практичні завдання, пов’язані з розробкою, супроводженням та забезпеченням якості програмного забезпечення у стандартних та типово нестандартних ситуаціях.

Основні фокуси підготовки бакалавра:

- оволодіння базовими та поглибленими поняттями алгоритмізації, структур даних та об'єктно-орієнтованого програмування (ООП);

- проектування реляційних та NoSQL баз даних, розробка RESTful API, Full-stack веб- та мобільна розробка;

- навички роботи з інструментами автоматизованого тестування, системи контролю версій та командної розробки;

- засвоєння базових принципів кібербезпеки коду, UX/UI дизайну та методологій Agile/Scrum.

Другий (магістерський) рівень - підготовка фахівців, здатних ставити й розв’язувати складні задачі та проблеми з розроблення, забезпечення якості, впровадження та супроводу програмних засобів, що передбачає проведення досліджень та/або здійснення інновацій та характеризується невизначеністю умов і вимог.

Основні фокуси підготовки магістра:

- проектування складних розподілених, хмарних та високонавантажених систем (High-Load Systems Architecture);

- управління програмними проєктами (IT Project / Product Management), керівництво командами розробки (TechLead / TeamLead);

- застосування технологій штучного інтелекту, машинного навчання (MLOps) та аналізу великих даних (Big Data) у розробці ПЗ;

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

Третій (освітньо-науковий) рівень - підготовка наукових та науково-педагогічних кадрів вищої кваліфікації, здатних здійснювати оригінальні наукові дослідження, розробляти нові фундаментальні концепції, методології та інструментальні засоби створення, забезпечення якості й еволюції програмного забезпечення за умов високого рівня невизначеності.

Основні фокуси підготовки доктора філософії (PhD):

- фундаментальні та прикладні дослідження в галузі формальних методів верифікації коду, генеративного AI для написання та аналізу програм (AI-driven Software Engineering);

- розробка нових архітектурних паттернів, методів оптимізації продуктивності та кіберстійкості програмних систем;

- публікація результатів у провідних наукометричних виданнях (Scopus / Web of Science), участь у міжнародних наукових проєктах;

- науково-педагогічна діяльність у ЗВО, розробка нових навчальних курсів із програмної інженерії, керівництво дослідницькими проєктами.

Ключові компетентності випускника:

- програмування та розробка - володіння кількома парадигмами програмування (ООП, функціональне, асинхронне), розробка чистого, масштабованого та підтримуваного коду;

- архітектура ПЗ (Software Architecture) - проектування монолітних, мікросервісних та безсерверних (Serverless) архітектур, вибір технологічного стеку під бізнес-вимоги;

- DevOps & Cloud Engineering - автоматизація розгортання ПЗ (CI/CD), контейнеризація, налаштування хмарних інфраструктур (AWS, Azure, GCP);

- забезпечення якості (QA/Automation) - розробка автотестів (Unit, Integration, UI, Performance), впровадження DevSecOps та практик постійного аналізу коду;

- управління та комунікація - оцінка трудомісткості проєктів, управління ризиками, використання Agile/Scrum, фасилітація командної роботи.

Випускники спеціальності F2 Інженерія програмного забезпечення є одними з найзатребуваніших фахівців на глобальному та національному ринках праці з високим рівнем оплати:

- розробка програмного забезпечення: Software Engineer, Full-Stack / Back-End / Front-End Developer, Mobile Developer (iOS/Android), Embedded Software Engineer;

- архітектура та техлідство: Software Architect, Solution Architect, Technical Lead (TechLead);

- забезпечення якості: QA Automation Engineer, Software Test Engineer, Quality Assurance Lead;

- DevOps та хмарні технології: DevOps Engineer, Cloud Infrastructure Engineer, Site Reliability Engineer (SRE);

- управління проєктами та продуктами: IT Project Manager, Product Owner / Product Manager, Scrum Master;

- штучний інтелект та AI-інженерія: Machine Learning Engineer, MLOps Specialist, Prompt / AI Software Integration Engineer;

- наука та освіта (для PhD та магістрів): науковий співробітник дослідницьких лабораторій (R&D centers), викладач/професор комп'ютерних дисциплін у ЗВО.

Підготовка здійснюється:

- кафедрою інженерії програмного забезпечення (603);

- відділом аспірантури і докторантури.

Навчання проводиться за наступними освітніми програмами:

Освітня програма Освітній ступінь Форма навчання Термін навчання
Інженерія програмного забезпечення Бакалавр на основі повної загальної середньої освіти Денна 3 роки та 10 місяців
Бакалавр на основі освітньо-кваліфікаційного рівня «Молодший спеціаліст» 2 роки та 10 місяців 
Інженерія програмного забезпечення Магістр, освітньо-професійна програма Денна та заочна 1 рік та 4 місяця
Інженерія програмного забезпечення Магістр, освітньо-наукова програма Денна та заочна 1 рік та 9 місяців
Інженерія програмного забезпечення Доктор філософії Денна та заочна 4 роки