121 Інженерія програмного забезпечення
Permanent URI for this collection
Освітньо-наукова програма: Інженерія програмного забезпечення
Browse
Browsing 121 Інженерія програмного забезпечення by Author "Глибовець, Андрій"
Now showing 1 - 19 of 19
Results Per Page
Sort Options
Item Автоматизована локалізація застосунків в мікросервісній архітектурі(2024) Верета, Владислав; Глибовець, АндрійМета дослідження буде розробка веб-сервісу EchoLocal, що надає можливість своїм користувачам інтегрувати та управляти локалізаціями своїх продуктів в одному місці.Item Алгоритм двовимірного пакування прямокутників з метаструктурою(2021) Мусіяка, Олександр; Глибовець, АндрійАлгоритми двовимірного пакування прямокутників у зону, обмежену прямокутником мають широке використання для вирішення найрізноманітніших практичних задач. Мотивація для створення нового алгоритму полягає у тому, що прямокутники це зазвичай абстракція якогось фізичного об’єкта, що має певний набір інших властивостей окрім власних розмірів. Це породжує додаткові обмеження та метрики, що досить часто потрібно оптимізувати. Метрики та обмеження є функцією взаємного положення та орієнтації об’єктів, проте при щільному пакуванні їх неможливо довільно переміщувати один відносно одного. Досить часто обчислення метрики вимагає значних витрат обчислювальних ресурсів що робить недоцільним або навіть неможливим обчислення метрики на кожному кроці процесу знаходження рішення задачі. Іншим аспектом, що утруднює оптимізацію метрики на етапі пошуку рішення з задовільною ефективністю є складність бізнес логіки програмного забезпечення, що визначає саму функцію, яка підлягає оптимізації. Інтеграція бізнес логіки, що може досить часто змінюватися з алгоритмічною частиною програми призводить до зниження якості коду у плані легкості внесення змін, обмежує можливості ефективного покриття тестами та унеможливлює розділення бізнес логіки та алгоритму на окремі модулі, що утруднює повторне використання коду. Через зазначені вище труднощі на практиці досить часто використовують підхід до оптимізації метрик чи задоволення обмежень шляхом простого перебору альтернативних результатів роботи двовимірного пакування, та вибору найкращого варіанту, що задовольняє обмеженням. Недоліком такого підходу є той факт, що алгоритм двовимірного пакування на етапі знаходження рішення керується лише геометричними розмірами, та можливо простими метриками та обмеженнями, що можуть бути легко обчислені. Через це унаслідок певних особливостей роботи алгоритму чи статистичного розподілу вхідних даних різноманіття кінцевих результатів може бути обмеженим у плані взаємного розміщення об’єктів, що призводить до зниження якості знайденого рішення. Метою розробки даного алгоритму є реалізація можливості зміни взаємного розташування об’єктів без повторного вирішення вихідної задачі. Такі властивості знайденого рішення отримуються завдяки накладанню додаткових обмежень на властивості пакування та використанню спеціальної структури даних, що відображає певну множину рішень та може бути легко перетворена будь-яке з них.Item Альтернативний метод кодування та декодування мови згортковою нейронною мережею(2020) Редчиць, Євгеній; Глибовець, АндрійУ даній курсовій роботі розглянуто загальні відомості про застосування згоркової нейронної мережі. Також проаналізовано альтернативний метод кодування та декодування мови з використанням спектрограми аудіосигналу та запропоновано модифікацію до альтернативного методу кодування та декодування мовного сигналу з використанням бітового потоку згортковою нейронною мережею.Item Віртуальна кімната даних як сховище конфіденційних корпоративних документів(2020) Торба, Тетяна; Глибовець, АндрійУ роботі розглянуто базові поняття про віртуальні кімнати даних, проведено аналіз конкурентів для визначення ключових недоліків та переваг існуючих продуктів. Проаналізовано основні типи архітектурних стилів для побудови віртуальної кімнати даних. Спроектовано систему віртуальної кімнати даних з використання сучасних архітектурних стилів та підходів та побудовано безпечний мікро сервіс з AWS Lambda та ASP.NET Core. Проаналізовано переваги на недоліки отриманого сервісу.Item Гарантована доставка повідомлень у мікросервісній архітектурі(2023) Смакула, Роман; Глибовець, АндрійДана робота має на меті дослідити методи, які дозволяють досягнути високого рівня гарантування доставки повідомлень у мікросервісній архітектурі. Для цього було розглянуто прикладну проблему, яка виникає в сфері розробки хмарних систем IoT. В роботі розглянуті архітектурні шаблони для збереження інформації в сховищі сервісу та надсилання її в чергу повідомлень. Також розглянуто методи резервування черги повідомлень. У практичній частині даного дослідження було розроблено бібліотеку, яка написана на мові програмування Kotlin та надає інструменти для реалізації шаблону Transactional Outbox. Було проведені заміри швидкодії даної бібліотеки та її аналогів.Item Дерева рішень і алгоритми їх побудови(2020) Наквасюк, Василь; Глибовець, АндрійУ даній курсовій роботі розглянуто дерева рішень, їх побудова та декілька алгоритмів навчання дерева рішень: ID3 (Iterative Dichotomizer 3), C4.5, CART (Classification and Regression Tree) і їх переваги і недоліки в методах класифікації даних. Також досліджено реальний приклад з використанням CART алгоритму та мови програмування PythonItem Моделювання в Netlogo взаємодії учасників мережі поставок на прикладі Beer DistributionGame(2020) Міхов, Денис; Глибовець, АндрійУ даній курсовій роботі розглянут аналіз проблем пов’язаних з ефективністю ланцюгів поставок та наукових досліджень щодо моделювання процесів взаємодії учасників ланцюгів поставок, в тому числі на прикладі Beer Distribution Game (BDG), яка ілюструє ефект батіга або Bullwhip Effect (BWE). Одним із поширених засобів дослідження цієї проблематики є застосування мульти-агентних систем моделювання.Item Поведінковий підхід (BDD) як ефективний метод для організації автоматизованого тестування в безперервній поставці продукту(2020) Бенюх, Лада; Глибовець, АндрійУ даній курсовій роботі розглянуто загальні відомості про організацію автоматизованого тестування та проаналізована ефективність застосування автоматизованого тестування на проекті. Також досліджено різні підходи до організації автоматизованого тестування за допомогою таких методів як написання коду через тестування, поведінковий підхід, підхід тестування за ключовими словами та набором даних. Також були розглянуті переваги, інструменти для організації поведінкового підходу тестування і розроблена система автоматизованого тестування для покриття тестами графічного інтерфейсу користувача та веб-сервісів (API тестування).Item Проблеми пошуку по мультімедіа даних у приватному фотоальбомі(2020) Нiкулiн, Дмитро; Глибовець, АндрійThis paper describes the IR Multimedia Systems and their subjects. First of all, it gives the definition of the needs in Multimedia IR systems from user point of view. It further provides the overview and comparison of private IR Multimedia Systems such as Google Photo, Apple photo, Synology Moments. Basing on the overview and comparison, it provides the identification and prioritization of the issues in those systems. Taking three most important issues, it outlines the approaches, algorithms and tools to address those issues. The paper ends up with conclusion, glossary and references list.Item Прогнозування рівнів майбутніх продажів для систем планування ресурсів підприємства(2020) Гребенович, Сергій; Глибовець, АндрійУ даній курсовій роботі розглянуто методи прогнозування рівня майбутніх продажів, що можуть використовуватися у сучасних системах планування ресурсів підприємства. На прикладі Dynamics 365 Business Central розглянуто практичне застосування таких методів з використанням машинного навчання. Також у ході роботи було досліджено існуюче рішення, що базується на аналізі часових рядів (time series) та запропоновано доповнення із застосуванням кластерного аналізу (clustering).Item Реалізація генетичних алгоритмів ранжування текстової колекції документів з використанням архітектури Nvidia Cuda(2020) Семилітко, Микола; Глибовець, АндрійВ кваліфікаційній роботі розроблюється паралельний еволюційний алгоритм з використанням архітектури Nvidia CUDA для ранжування текстової колекції документів. Для цього в роботі проводиться аналіз існуючих алгоритмів ранжування, які використовуються в пошукових системах, розглядаються різні варіанти еволюційних алгоритмів, а також розглядаються основні аспекти роботи програм, які виконуються обчислення на відеокартах. На основі цього, було створене програмне забезпечення, яке дозволяє визначати ваги для різних факторів ранжування. Перший розділ розглядає базовий алгоритм ранжування пошукової системи Google, а також виділяє основні фактори, які використовуються в системах пошуку для сортування веб-сторінок за корисністю для користувача. Далі розглядаються різні версії еволюційних алгоритмів за методами роботи з популяцією. Після цього описується взаємодія програм з архітектурою CUDA. Другий розділ присвячений детальному опису розробки та роботи паралельного алгоритму, за допомогою якого можна визначати ваги для факторів ранжування веб-сторінок. В третьому розділі проводиться тестування розробленого алгоритму на швидкість роботи за різних розмірів популяції, розмірів генів та тестових наборів даних.Item Розподілена система навантажувального тестування у безперервній інтеграції. Візуалізація результатів у реальному часі.(2020) Ковш, Микола; Глибовець, АндрійУ даній курсовій роботі розглянуті основні типи, цілі та процес реалізації тестування продуктивності на проектах. Основним результатом роботи стала побудова розподіленої системи для тестування навантаження у процесі безперервної поставки. Також реалізоване централізоване звітування результатів тестів у реальному часі. Система побудована з використанням загальнодоступних інструментів на ринку.Item Розробка автоматизованої системи складання розкладу(2020) Усачов, Кирило; Глибовець, АндрійРозвиток IT-індустрії сьогодні відкриває двері до зручностей, які раніше були можливі лише в теорії. Одним із таких благ є автоматизація роботи. Можливість перекласти частину своєї роботи на алгоритм або програму дає користувачам можливість приділити більше уваги іншим аспектам своєї роботи. Дана робота поділена на три розділи. У першій частині описується алгоритм та використані технології, обґрунтовуються їх переваги та доцільність. Другий розділ містить опис реалізації компонентів системи, як сервісної її частини, так і частини представлення. Фінальний розділ описує практичне використання системи. Практичне значення проведеної роботи полягає у дослідженні описаного класу задач, виявленні особливостей реалізації алгоритмів їх розв’язку, порівняння наявних рішень-аналогів та досвіді, отриманому під час створення свого власного рішенняItem Розробка бібліотеки підвищення відмовостійкості в мікросервісній архітектурі(2023) Папроцький, Ігор; Глибовець, АндрійДана робота присвячена дослідженню сучасних практик забезпечення відмовостійкості мікросервісів. Дослідження розглядає поширені патерни для реалізації цієї задачі. Основну увагу приділено відомому патерну під назвою Circuit Breaker, а саме спробі покращення його стандартної імплементації з точки зору надійності та продуктивності. Для досягнення цієї мети запропоновано підхід, який полягає у зменшенні кількості часових затримок, які використовуються при переході між його станами, а також зменшенні кількості станів самого інструменту Circuit Breaker за рахунок переходу до моделі прогнозування стабільності системи на основі метрик, що збираються в процесі роботи застосунку. Результатом роботи є модель Circuit Breaker яка працює у двох станах, а також порівняльні експерименти для перевірки правильності припущень покладених на ефективність цієї моделі.Item Розробка методології імплементації транзакцій в розподілених системах(2023) Чернова, Тетяна; Глибовець, АндрійДана робота присвячена аналізу проблематики використання транзакцій в розподілених системах, реалізації відомого мікросервісного патерну – Transactional Outbox у вигляді Spring starter, що додається до системи, конфігурується та полегшує роботу використання транзакцій і публікацію подій, що є частинами транзакції в мікросервісній архітектурі. Також вагому частину цієї роботи було присвячено створенню загальної методології роботи розподілених транзакцій на базі черг повідомлень, з використанням вищезазначеного стартеру, опису конфігурацій та налаштування черг повідомлень для коректної роботи транзакцій в розподілених системах. Результатом роботи є стартер, опис його конфігурації та загальна методологія роботи транзакцій в розподілених системах на базі черг повідомлень.Item Розробка підсистеми ігрового штучного інтелекту(2020) Велігурський, Олександр; Глибовець, АндрійМета: Створити універсальну підсистему ігрового штучного інтелекту, яка може бути використана для різного типу ігор категорії “Пазли”. Завдання: Розробити алгоритм, який спростить розробку системи для певного розділу ігрового програмного забезпечення. Реалізувати тестову версію гри “Пятнашки” для демонстрації. Об’єкт дослідження Розробка допоміжної бібліотеки ІШІ з використанням Unity Engine. Предмет дослідження Алгоритми ігрового штучного інтелекту, які вважаються основоположними у ігровій індустрії. Практичне значення одержаних результатів Розроблена підсистема може бути впроваджена для створення ігор типу PuzzleGames. Допоможе швидко впровадити базові функції ігрового штучного інтелекту.Item Розробка системи документообороту для університету(2024) Курп’як, Олег; Глибовець, АндрійЗагалом результати кваліфікаційної роботи надають імплементацію рішення, яке відповідає заданим вимогам та є інтегрованим з існуючими системами. Система електронного документообігу допоможе прибрати людський фактор на багатьох етапах запровадження нових документів в університеті. Дана роботу є важливим внеском в розвиток внутрішніх систем НаУКМА.Item Система управління клієнтською базою як SaaS на прикладі компанії страхового брокера(2020) Василенко, А. М.; Глибовець, АндрійУ даній курсовій роботі розглянуто приклад проектування та реалізації системи, яка створена для роботи з базою клієнтів. Реалізована система дає інструмент швидкого і зручного перегляду та управління базою клієнтів компанії, котра спеціалізується на брокерських послугах у сфері страхування. Система спроектована та побудована з використанням MERN-стеку: база даних - нереляційна база MongoDB, фреймворк для роботи з базою даних та створення API - ExpressJS, клієнтська частина - бібліотека React, серверна частина - платформа Node.js. Також, в системі використовується багато інших допоміжних бібліотек та модулів. Можливість комерційного використання застосування підтвердилось реальним прикладом такого використання. У зв’язку з цим було проаналізовано подальший напрямок розвитку застосування у його функціональній частині.Item Сучасні підходи у проектуванні високонавантажених мап для пошуку об’єктів(2020) Жук, М. А.; Глибовець, АндрійУ даній кваліфікаційній роботі ми розглянемо кілька аспектів пов’язаних з прикладною реалізацією проектів з використанням мап: складність виводу великої кількості об’єктів на мапу, складність пошуку та фільтрації, а також витрати. Для цього буде вибраний реалістичний кейс для побудови високонавантаженої мапи.