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

Permanent URI for this collection

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

Browse

Recent Submissions

Now showing 1 - 20 of 76
  • 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, було використано у наявному веб-застосунку для оголошень з прокату паперових книг.
  • Item
    Розробка бібліотеки підвищення відмовостійкості в мікросервісній архітектурі
    (2023) Папроцький, Ігор; Глибовець, Андрій
    Дана робота присвячена дослідженню сучасних практик забезпечення відмовостійкості мікросервісів. Дослідження розглядає поширені патерни для реалізації цієї задачі. Основну увагу приділено відомому патерну під назвою Circuit Breaker, а саме спробі покращення його стандартної імплементації з точки зору надійності та продуктивності. Для досягнення цієї мети запропоновано підхід, який полягає у зменшенні кількості часових затримок, які використовуються при переході між його станами, а також зменшенні кількості станів самого інструменту Circuit Breaker за рахунок переходу до моделі прогнозування стабільності системи на основі метрик, що збираються в процесі роботи застосунку. Результатом роботи є модель Circuit Breaker яка працює у двох станах, а також порівняльні експерименти для перевірки правильності припущень покладених на ефективність цієї моделі.
  • Item
    Створення бібліотек на основі Spring Boot для уніфікації розробки інформаційної системи з мікросервісною архітектурою
    (2023) Скрипнік, Андрій; Франчук, Олег
    Роботу присвячено дослідженню проблематики при використанні мікросервісної архітектури в розробці інформаційних систем, а також, імплементації ряду бібліотек, і пропозиції загального підходу щодо розв’язку виявлених проблем на основі фреймворку Spring Boot. Практичним результатом роботи є 5 бібліотек, які дозволяють привести різні компоненти системи до уніфікованого вигляду в таких аспектах як: логування, обробка помилок, безпека, асинхронна комунікація, інтеграційне тестування.
  • Item
    Гарантована доставка повідомлень у мікросервісній архітектурі
    (2023) Смакула, Роман; Глибовець, Андрій
    Дана робота має на меті дослідити методи, які дозволяють досягнути високого рівня гарантування доставки повідомлень у мікросервісній архітектурі. Для цього було розглянуто прикладну проблему, яка виникає в сфері розробки хмарних систем IoT. В роботі розглянуті архітектурні шаблони для збереження інформації в сховищі сервісу та надсилання її в чергу повідомлень. Також розглянуто методи резервування черги повідомлень. У практичній частині даного дослідження було розроблено бібліотеку, яка написана на мові програмування Kotlin та надає інструменти для реалізації шаблону Transactional Outbox. Було проведені заміри швидкодії даної бібліотеки та її аналогів.