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

Permanent URI for this collection

Освітньо-наукова програма: "Інженерія програмного забезпечення"

Browse

Recent Submissions

Now showing 1 - 20 of 79
  • Item
    Система телеметрії для інформаційної інфраструктури підприємства
    (2026) Варченко, Олександр ; Черкасов, Дмитро
    Магістерська робота присвячена проєктуванню та практичній реалізації системи телеметрії для розподіленої інформаційної інфраструктури підприємства. У роботі проаналізовано технічну проблематику моніторингу сучасних корпоративних інфраструктур, розглянуто підхід на основі агентів та безагентний підходи до збору телеметричних даних, а також досліджено основні процеси систем телеметрії: збирання, агрегацію, візуалізацію та сповіщення. Розроблена архітектура реалізує комбінований підхід із використанням локальних агентів на дочірніх вузлах із передачею даних до централізованого сховища, що забезпечує відмовостійкість і безперервність моніторингу навіть за умов тимчасової втрати мережевого з'єднання. Практична реалізація прототипу виконана на основі стеку VictoriaMetrics (VMSingle, VMAgent, VMAuth) для зберігання метрик, VictoriaLogs для обробки журналів подій, Grafana для візуалізації та інтерактивних панелей, а також Alertmanager, VMAlert і Uptime Kuma для сповіщень і зовнішнього моніторингу. Розгортання системи здійснюється декларативно за допомогою Helm-чартів у кластерах Kubernetes, що суттєво спрощує підключення нових вузлів. Працездатність системи підтверджено на чотирьох кластерах у трьох географічних регіонах Google Cloud Platform.
  • Item
    Фреймворк та рекомендації для забезпечення безпеки комунікаційних каналів у мікросервісній архітектурі
    (2026) Лукʼяненко, Євген ; Волинець, Євгеній
    У роботі досліджено проблему забезпечення безпеки комунікаційних каналів у мікросервісній архітектурі в умовах суттєвого розширення поверхні атаки, зростання кількості інцидентів, пов’язаних з API, та переходу до хмарно-орієнтованих платформ. Проаналізовано базові стандарти серії NIST SP 800-204, концепцію архітектури нульової довіри (NIST SP 800-207), специфікації OAuth 2.0, OpenID Connect, JSON Web Token, а також практичні підходи до використання сервісної сітки (Istio, Envoy), ідентифікації робочих навантажень (SPIFFE/SPIRE), Policy-as-Code (OPA), керування секретами та сертифікатами (HashiCorp Vault, cert-manager). На основі узагальнення результатів аналізу сучасних стандартів, архітектурних підходів і практик забезпечення безпеки запропоновано фреймворк, який охоплює вісім функціональних напрямів забезпечення безпеки: контроль периметра та відкритості API, захищене передавання даних із використанням TLS/mTLS, ідентифікацію робочих навантажень, авторизацію на основі токенів, ухвалення та застосування рішень щодо політик доступу за моделлю ABAC, керування секретами й сертифікатами, спостережуваність і аудит, а також виявлення інцидентів, реагування на них і відновлення після них. Зазначені напрями розглядаються не як лінійна послідовність дій, а як модель архітектурних рішень. Концептуальну модель представлено у вигляді демонстраційної proof-of-concept Java-реалізації, з використанням Java 17 і Maven без зовнішніх залежностей часу виконання. Реалізація містить пакети для роботи з ідентифікацією робочих навантажень, перевіркою токенів, точкою ухвалення рішень щодо політик доступу, керуванням секретами, журналюванням подій аудиту та фільтрами на периметрі системи. Фреймворк доповнено матрицею відповідності загроз STRIDE визначеним функціональним напрямам безпеки, чотирирівневою моделлю зрілості, набором ключових показників ефективності та практичними рекомендаціями щодо впровадження. Робота містить три розділи, висновки, перелік умовних скорочень, список використаних джерел, ілюстрації і таблиці. Практичним результатом Java proof-of-concept фреймворк, що демонструє запропоновану модель у вигляді коду з чотирма демо-сценаріями та unit-тестами.
  • Item
    Платформа для децентралізованого кредитування з автоматизованими механізмами управління ризиками на базі смартконтрактів
    (2026) Санін, Михайло ; Гороховський, Семен
    У роботі розв’язано задачу проєктування та реалізації платформи для децентралізованого заставного кредитування на базі смартконтрактів. Предмет дослідження охоплює моделі оцінювання забезпечення, правила нарахування відсотків, механізми ліквідації позицій, використання цінових оракулів і технічні засоби захисту протоколу. Метою роботи є проєктування та реалізація програмної системи, яка забезпечує автоматизоване керування кредитним і ліквіднісним ризиком, автоматичний добір безпечних заставних активів та коректну перевірку цінових даних без централізованого посередника. У першому розділі подано аналіз предметної області децентралізованого кредитування, виокремлено основні групи ризиків і виконано порівняння сучасних протоколів та допоміжних технологій. У другому розділі запропоновано архітектуру платформи, формалізовано правило автоматичного добору допустимих заставних активів для заданого активу позики, ефективний LTV , ефективний ліквідаційний поріг, правила перевірки актуальності ціни, відсоткову модель і процедуру ліквідації. У третьому розділі викладено практичну реалізацію платформи: структуру ланцюгового ядра, модель зберігання стану, алгоритми критичних операцій, добовий контур переоцінювання пар, інтеграцію безсерверного децентралізованого застосунку та програму перевірки. Практична цінність роботи полягає в тому, що запропоновані рішення можна використати як основу для реалізації DeFi-протоколу з прозорими параметрами ризику, відтворюваними перевірками та придатною до аудиту структурою контрактів. Практичний результат охоплює архітектуру смартконтрактів, орієнтовану на окремі пари активів, окремий реєстр допустимих пар, добовий контур оновлення меж ризику для конкретної пари та набір сценаріїв перевірки критичних режимів роботи.
  • Item
    Побудова хмарного застосування для веб-орієнтованого доступу до віртуальних та віддалених робочих станцій
    (2025) Земляний, Данило; Черкасов, Дмитро
    Метою даної роботи є розробка хмарного веб-орієнтованого, масштабованого рішення для доступу до віддалених та віртуальних робочих станцій, що може бути легко впроваджене в існуючу інфраструктуру підприємств.
  • Item
    Порівняльне середовище рекомендаційних систем
    (2025) Щербатюк, Аліна; Глибовець, Андрій
    У роботі досліджено підходи до створення універсальної рекомендаційної системи, здатної підтримувати підключення різнорідних рушіїв та опрацьовувати довільні датасети зі структурованими атрибутами. Розроблено серверний застосунок, що реалізує єдине REST-API, модуль імпорту даних із конфігураційним описом, адаптерну архітектуру для інтеграції алгоритмів, а також механізм уніфікованого зберігання інформації про користувачів, об’єкти та події у взаємодії. Обґрунтовано вибір технологій FastAPI, PostgreSQL, Gorse та бібліотеки Implicit, реалізовано взаємодію з рушіями на різних мовах програмування. На основі експериментального тестування із використанням датасетів MovieLens та Goodbooks продемонстровано можливості запропонованого рішення щодо гнучкого управління джерелами даних і порівняння результатів декількох рекомендаційних алгоритмів.
  • Item
    Побудова мережевого застосування з високою доступністю на хмарній платформі
    (2025) Кириченко, Євгеній; Черкасов, Дмитро
    Метою роботи є розробка рішення для цифрового бюро знахідок, яке мало би високу доступність. Додаток даватиме людям можливість знаходити загублені речі. Для реалізації задуму проаналізовано аналогічні українські рішення, здійснено огляд основних компонентів архітектури веб-додатків, розглянуто інструменти хмарної платформи AWS. Було створено оптимальне структурне рішення, описано компоненти та їх взаємодію, пояснено типові сценарії взаємодії користувача з системою. Детально розроблено модулі пошуку схожих речей по фотографії, нотифікації та очистки бази даних.
  • Item
    Розробка системи збору веб-аналітики з підвищеною надійністю на основі відмовостійкого веб тега та багаторівневої хмарної інфраструктури
    (2025) Дячук, Максим; Черкасов, Дмитро
    У роботі розглянуто проблему підвищення надійності збору веб- аналітики на клієнтському боці. Запропоновано архітектуру системи на основі багаторівневої хмарної інфраструктури та відмовостійкого клієнтського тегу. Реалізовано fault-tolerant механізми доставки подій, буферизацію, повторні спроби надсилання та підтримку роботи в умовах нестабільного з’єднання. Проведено тестування, що підтвердило стабільність і придатність системи до використання в реальних вебзастосунках.
  • Item
    Алгоритм оптичної навігації дрона
    (2025) Бойко, Христині; Глибовець, Андрій
    Робота присвячена розробці алгоритму оптичної навігації дрона за зображеннями з камери та попередньо обробленим ортофото карти місцевості. Було реалізовано підготовку карти: розбиття на фрагменти, обчислення їхніх піксельних та GPS координат, виділення ключових точок і дескрипторів двома підходами: класичним методом ORB та нейромережевим методом SuperPoint + SuperGlue. Усі візуальні ознаки й координати збережено у стисненому форматі для пошуку відповідностей з кадрами. Під час навігації кожен кадр з камери дрона симулюється з випадковим кутом обертання, з нього витягуються візуальні ознаки, які порівнюються з ознаками фрагментів карти. Позиція дрона визначається через обчислення гомографії між кадром і картою. У разі невдалої локалізації дрон продовжує рух у напрямку до цільової точки, використовуючи кут між стартовими та цільовими GPS- координатами. У системі можна встановлювати стартову зону запуску дрона та точку цілі на карті, фіксувати кожен крок місії, візуалізувати реальну та оцінену траєкторії на карті. Алгоритм було реалізовано мовою Python із використанням бібліотеки OpenCV для методу ORB, попередньо натренованих моделей SuperPoint і SuperGlue, ортофото карти із платформи OpenAerialMap.
  • Item
    Автоматизована локалізація застосунків в мікросервісній архітектурі
    (2024) Верета, Владислав; Глибовець, Андрій
    Мета дослідження буде розробка веб-сервісу EchoLocal, що надає можливість своїм користувачам інтегрувати та управляти локалізаціями своїх продуктів в одному місці.
  • Item
    Автоматизована генерація та налаштування мікросервісів для спрощення процесу розробки
    (2024) Колінько, Павло; Волинець, Євгеній
    Метою даної роботи є огляд існуючих рішень та розробка програмного застосунку для генерації мікросервісної архітектури засобами платформи Node.js.
  • Item
    Розробка архітектури розподіленої системи управління обчислювальними задачами на хмарній платформі Azure
    (2024) Мальков, Єгор; Франчук, Олег
    Під час написання даної дипломної роботи було розроблено архітектуру розподіленої системи управління обчислювальними задачами, створено прототип системи на хмарній платформі Azure. Було проведення тестування імплементованого рішення та проаналізовано результат, на основі якого запроваджено покращення до розробленої архітектури та прототипу, а також проведено повторне тестування. Надано рекомендації щодо використання та адаптації розробленої архітектури в залежності від ключових вимог до системи.
  • Item
    Розробка системи документообороту для університету
    (2024) Курп’як, Олег; Глибовець, Андрій
    Загалом результати кваліфікаційної роботи надають імплементацію рішення, яке відповідає заданим вимогам та є інтегрованим з існуючими системами. Система електронного документообігу допоможе прибрати людський фактор на багатьох етапах запровадження нових документів в університеті. Дана роботу є важливим внеском в розвиток внутрішніх систем НаУКМА.
  • Item
    Огляд та дослідження засобів побудови застосунку з мікросервісною архітектурою на основі можливостей Spring Boot та Spring Cloud
    (2022) Чернова, Тетяна; Франчук, Олег
    Дана курсова робота присвячена огляду та дослідженню мікросервісного підходу при побудові веб-застосунків на базі технологій Spring Boot та Spring Cloud. В теоретичній частині роботи розглянено основні переваги та проблематику мікросервісного підходу, найпоширеніші проблеми, що зустрічаються при побудові застосунків з мікросервісною архітектурою та відомі шляхи їх вирішення, реалізація цих рішень в Spring Cloud. В практичній частині роботи було використано найбільш відомі мікросервісні патерни та наведені інструкції щодо їх впровадження до застосунку на основі фреймворку Spring.
  • Item
    Автоматизація розгортання сервісу за допомогою Vagrant
    (2022) Іщенко, І.; Черкасов, Дмитро
    Результатом курсової роботи є розроблена тестова версія онлайн блогу для обміну знаннями в організаціях невеликого розміру, яка може розгортатись на віртуальну машину для тестування. Застосунок використовує Sql Server для роботи з базами даних та Vagrant для автоматичного налаштування робочої інфраструктури. За допомогою Vagrant можливо автоматично розгортати та копіювати тестові середовища для максимальної імітації робочої інфраструктури. За допомогою логування можна відстежувати помилки, які стаються під час виконання. Було використано велику кількість технологій для розробки : ASP.NET Web App, Razor Pages, Entity Framework Core, Sql Server, Bootstrap, Dependency Injection. А також було використано інструменти та сервіси для автоматизації розгортання застосунку : Vagrant, Virtual Box, Visual Studio File Share, Shell, Apache. В рамках цієї роботи було розглянуто велику кількість сервісів, які можуть додатково покращити автоматизацію розгортання як на локальну віртуальну машину, так і в хмарне середовище, такі як : Chef, Puppet, Ansible. Робочий прототип онлайн блогу демонструє властивості сучасного підходу до розробки веб-застосунків а також тестування правильної роботи до потрапляння в робоче середовище. Застосунок складається з 2х робочих частин, кожна з яких розгортається на віртуальній машині та дозволяє в повній мірі перевірити роботу рішення.
  • Item
    Розробка смарт-контракту в мережі Ethereum для продажу елементів NFT- колекцій
    (2022) Скрипнік, Андрій; Франчук, Олег
    Роботу присвячено теоретичному огляду технології блокчейн та деяких її витоків, таких як смарт-контракти, NFT, а також, практичній імплементації смарт-контракту для продажу елементів NFT-колекцій. Практичним результатом роботи є розроблений в тестовому блокчейні Ethereum смарт-контракт за стандартом ERC-721, написаний з використанням мови програмування Solidity.
  • Item
    Побудова багаторівневого веб-застосування з високою доступністю на платформі Google Cloud Platform (GCP)
    (2022) Возбранний, Роман; Черкасов, Дмитро
    В роботі проаналізовано процес розробки, розгортання та підтримки багаторівневих застосунків. Також, описуються особливості налаштування проектів для розгортання в Google Cloud Platform. В результаті, розроблено інструкції та проаналізовано готові рішення для розробки, розгортання та підтримки застосунків.
  • Item
    Створення застосунку для алгоритмічного трейдингу криптовалют з використанням машинного навчання
    (2022) Кушка, Михайло; Франчук, Олег
    У даній магістерській роботі розглянуто основні методи трейдингу криптовалют, що застосовуються на фінансових біржах – від традиційних, де рішення про купівлю/продаж приймається брокером в кожному конкретному випадку особисто, до повністю автоматизованих, коли трейдинг криптовалют за вихідними, заздалегідь заданими параметрами, здійснюється за певними алгоритмами без участі людини. Проаналізовано переваги та недоліки кожного з розглянутих методів. Написаний код на Node JS, який на базі машинного навчання може прогнозувати ціну на криптовалюту, а також створено комп’ютерний застосунок для можливості взаємодії з найбільшою світовою біржою криптовалют – "Бінанс" (Binance).
  • Item
    Побудова багаторівневого веб-застосування з високою доступністю на платформі Google Cloud Platform
    (2022) Василенко, Олександр; Черкасов, Дмитро
    В рамках даної роботи проведено огляд хмарної платформи Google Cloud Platform та її аналогів у якості засобу для розміщення багаторівневого веб-застосування. Проаналізовано можливості платформи для забезпечення високої доступності та розроблено веб-застосування для бібліотеки, що використовує засоби балансування навантаження для забезпечення відмовостійкості.
  • Item
    Розробка методології імплементації транзакцій в розподілених системах
    (2023) Чернова, Тетяна; Глибовець, Андрій
    Дана робота присвячена аналізу проблематики використання транзакцій в розподілених системах, реалізації відомого мікросервісного патерну – Transactional Outbox у вигляді Spring starter, що додається до системи, конфігурується та полегшує роботу використання транзакцій і публікацію подій, що є частинами транзакції в мікросервісній архітектурі. Також вагому частину цієї роботи було присвячено створенню загальної методології роботи розподілених транзакцій на базі черг повідомлень, з використанням вищезазначеного стартеру, опису конфігурацій та налаштування черг повідомлень для коректної роботи транзакцій в розподілених системах. Результатом роботи є стартер, опис його конфігурації та загальна методологія роботи транзакцій в розподілених системах на базі черг повідомлень.
  • Item
    Розробка бібліотеки на .NET для роботи зі знімками (snapshots) для EventStoreDB
    (2023) Осадчук, Володимир; Франчук, Олег
    Робота присвячена базі даних, яка спеціалізується на збереженні подій (events) та їх історії в EventStore, а також патернам, які вона реалізує – Event Sourcing та CQRS (Command Query Responsibility Segregation) в контексті мікросервісної архітектури. Були розглянуті недоліки EventStore та необхідність збереження проміжних подій. Був проведений аналіз існуючих бібліотек на .NET для вирішення цих проблем, а також розроблена власна бібліотека, яка вирішує проблеми EventStore. Проведено порівняння написаної бібліотеки з існуючими та виміряна продуктивність. Розроблену бібліотеку, разом з EventStore, було використано у наявному веб-застосунку для оголошень з прокату паперових книг.