Розроблення моделі інформаційної системи управління туристичними подорожами на основі мікросервісної архітектури

Автор: Камінецький Мартин Ярославович
Кваліфікаційний рівень: магістр
Спеціальність: Системне проектування
Інститут: Інститут комп'ютерних наук та інформаційних технологій
Форма навчання: денна
Навчальний рік: 2022-2023 н.р.
Мова захисту: українська
Анотація: Камінецький М.Я., Соколовський Я.І. (керівник). Розроблення моделі інформаційної системи управління туристичними подорожами на основі мікросервісної архітектури. Магістерська кваліфікаційна робота. – Національний університет «Львівська політехніка», Львів, 2022. Розширена анотація. Розроблення моделі інформаційної системи управління туристичними подорожами на основі мікросервісної архітектури – це модель системи, яка забезпечить реалізацію проектного рішення з його візуалізацією у вигляді системи, що дозволяє реалізовуватиме всі принципи та підходи передбачені моделлю використовуючи методи дослідження, а також створить можливість легко, швидко та комфортно працювати з різними частинами програмного продукту, від баз даних до інтерфейсу користувача. Сервіс має бути інтуїтивно зрозумілим для користувачів та забезпечувати легку та комфортну роботи з основними модулями системи та її даними. Об’єкт дослідження – підходи до розробки програмного забезпечення, взаємодія між об’єктами системи, які істотно значимі при описі вимог в розв’язанні поставленої задачі. Предмет дослідження – принципи, підходи, процеси, а також архітектурні рішення, що забезпечують систему необхідною структурою, взаємодію між ними, набір властивостей і обмежень накладені на елементи системи з необхідною кількістю рівнів абстракції. Метою дослідження є створення програмного продукту, що забезпечить реалізацію архітектурного рішення з використанням сучасних підходів до розробки програмних продуктів, сучасного стеку технологій зі спрощеною комунікацією з БД який можна легко підтримувати. Результатами дослідження є створений програмний продукт, який реалізує усі методи дослідження з відповідним функціоналом, що дозволяє легко та швидко комунікувати з базою даних, правильно обробляти дані, створювати, редагування, видалення, перегляд сутностей; пошук та фільтрація сутностей у середині сервісу. Розроблена модель продукту дозволить легко та швидко 2 підтримувати і розвивати програмний продукт. Сервіс містить зручний та практичний інтерфейс для користувача, що і забезпечує інтуїтивно-зрозумілий доступ до даних та можливість працювати з ними. Не менш важливим моментом є тестування програмного продукту, що забезпечує максимально коректний та надійний код та перевірку системи в цілому, що дозволить уникати небажаних потенційних помилок при розробці та виконанні програми. Читабельність та правильність коду дозволить легко та швидко його модифікувати та при потребі забезпечить швидке залучення інших розробників до покращення та розвитку системи, її функціоналу та модулів. Для розробки і тестування продукту використано інтегроване середовища розробки Visual Studio Code та JetBrains Intellij IDEA, відповідні мови програмування JavaScript із застосуванням фреймворку React, та Java з використанням фреймворку Spring, на основі бази даних MySQL, з даними якої і працює ціла система. Було описано і обґрунтовано стек технологій обраний для реалізації сервісу, розглянуто поетапна розробка сервісу, від опису діаграм, структури проекту, БД та модулів системи до безпосередньо самої реалізація сервісу. Ключові слова: онлайн система, фреймворк, архітектура, мікросервіси, моноліт, програмний метод. Перелік використаних літературних джерел: [1]Мікросервісна архітектура – http://en.wikipedia.org/Microservices/ [2]Моноліт – http://en.wikipedia.org/wiki/Monolithic_system/ [3]ООП – http://en.wikipedia.org/Object-oriented_programming/ [4]SOLID – http://freecodecamp.org/news/solid-princeples-explained-in-plain english/ [5]FIRST – http://howtodoinjava.com/news/best-rpractices/first-princeples-for good-tests/ 3 [6]Perry and Wolf architecture – http://en.wikipedia.org/wiki/Software_architecture [7]UML – універсальна мова моделювання [Електронний ресурс]. – Режим доступу: http://sites.znu.edu.ua/webprog/lect/1238.ukr.html/ [8]Java Documentation – https:docs.oracle.com/en/java/ [9]Spring Boot Reference Guide – https://docs.spring.io/spring boot/docs/2.0.1.RELEASE/reference/htmlsingle/ [10] Spring Security Reference. – https://docs.spring.io/spring security/site/docs/5.0.4.RELEASE/reference/htmlsingle/ [11] MySQL – https://dev.mysql.com/doc / [12] Spring in Action. Fourth edition – Craig Walls – Manning Publications 2015. – 626 с. [13] developer.mozilla.org [Електронний ресурс] : Довідник по HTML. – Режим доступу : https://developer.mozilla.org/en-US/docs/Web/HTML [14] developer.mozilla.org [Електронний ресурс] : Довідник по CSS. – Режим доступу : https://developer.mozilla.org/en-US/docs/Web/CSS [15] Довідник з CSS фреймворку – SASS. – https://sass-lang.com /documentation/ [16] JavaScript - https://javascript.info/ [17] ReactJS – https://uk.reactjs.org/ [18] W3C [Електронний ресурс] : CSS Validation Service. – Режим доступу : https://jigsaw.w3.org/css-validator/ [19] WAVE web accessibility evaluation tool [Електронний ресурс] – Режим доступу: http://wave.webaim.org [20] Unit Tests https://travelscode.com/unit-tests-chastina-2/ 4 [21] Jest https://jestjs.io/ru/ [22] Enzyme https://habr.com/ru/post/421647/