You are on page 1of 42

ЗМІСТ

ВСТУП..........................................................................................................................5
1 ЗАГАЛЬНИЙ РОЗДІЛ.............................................................................................6
1.1 Бази даних..............................................................................................................6
1.1.1 СКБД і їх роль у побудові баз даних................................................................8
1.1.2 Мови програмування для формування запитів...............................................9
1.2 Десктопні програми та їх особливості..............................................................11
1.3 Клієнт-серверна архітектура та її призначення на сьогодні...........................13
1.3.1 Кратка історія становлення клієнт-серверної архітектури...........................15
1.3.2 Типи клієнт-серверної архітектури................................................................16
2 ІНСТРУМЕНТИ РЕАЛІЗАЦІЇ..............................................................................19
2.1 MySQL Workbench..............................................................................................19
2.1.1Особливості використання MySQL.................................................................20
2.2 Postman.................................................................................................................22
2.2.1Відправлення HTTP-запитів на сервер та отримання HTTP-відповідей.....25
2.3 IntelliJ IDEA.........................................................................................................28
2.4 SceneBuilder.........................................................................................................29
2.5 UML......................................................................................................................31
2.5.1 Основні типи діаграм.......................................................................................32
3 РЕАЛІЗАЦІЯ РОБОЧОГО ПРОЕКТУ.................................................................35
4 ОХОРОНА ПРАЦІ ТА БЕЗПЕКА ЖИТТЄДІЯЛЬНОСТІ.................................35
4.1 Облаштування місця під охорону праці............................................................36
4.2 Охорона праці під час роботи............................................................................38
ВИСНОВОК...............................................................................................................41
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ.................................................................42

ДП ПЗ
Змн. Арк. № докум. Підпис Дата
Розроб. . Літ. Арк. Акрушів
Перевір.
Н.Контроль
Н.Контроль
Реценз. ОККТ, гр.
Н.Контроль
Затвердив Козуб С.А.
5

ВСТУП

Сьогодні в світі бізнесу існує потреба нової взаємодії між робітниками та


управлінням. Багато бізнесів середнього масштабу використовують усталені
додатки такі як Microsoft Excel та 1C. Так , вони вже прийняті в цьому
середовищі як надійні та мають великий процент долі ринку. Але щоб повністю
розкрити функціонал цих програм треба потратити деякий час. Також
інтерфейс не є дуже простим. І головне – такі програми не мають в своїй меті
ведення бізнесу декількома особами з різних пристроїв одночасно. Та взагалі
робота бізнесу онлайн. Але на сьогодні це дуже важливо, особливо для
персоналу. Бо взаємодія в таких додатках через комп’ютер та мобільні пристрої
дає змоги для прискорення роботи та її полегшення. Також на новий підхід
ведення бізнесу став перехід багатьох фірм та компаній на онлайн чи пів-
онлайн форму роботи.
Тому, ми хочемо представити додаток який дає таку змогу керування
бізнесу. Він складається з двох частин – клієнтської та серверної. Клієнтська
частина буде стосуватися певної компанії та її персоналу який буде мати
інформацію та взаємодіяти з нею. Серверна частина – окремий комп’ютер який
обробляє запроси клієнтів щодо редагування бази даних їх компаній.
Така конструкція дає змогу гнучкості, легкості та безпеки. Тому що
компаніям не треба думати про роботу з персоналом у плані керування та
встановлення своїх серверів. Для них це лише встановлення додатків на
пристрої робітників та керування бізнесом. Для серверної частини – загальна
обробка усіх запитів усіх компаній які зареєстровані в додатку, структуризація
даних і їх надійне зберігання.
Доступ до інформації компанії мають лише керівні посади компаній у
повному доступі та робочі які можуть лише трохи взаємодіяти з даними. Ця
функція можлива через надавання ролей кожній персоні в компанії. Тому, такі
додатки які онлайн-орієнтовані – це новий шаг у сфері бізнесу. Особливо для
нових підприємців яким потрібна легка програма в який існує легка взаємодія з
6

усім персоналом.
1 ЗАГАЛЬНИЙ РОЗДІЛ

1.1 Бази даних

База даних – сукупність даних яка має певну організацію або структуру
[1]. Зазвичай, базою даних можна назвати будь яку збірку даних з певною
побудовою. Базою даних може бути таблиця або сукупність таблиць , текст або
файлова структура в комп’ютері тощо. Приклад звичайної бази даних
зображений на рисунку 1.1.

Рисунок 1.1 – Сукупність даних

Основним об’єктом в базі даних – інформація. Але зберігання даних


може бути різним. Існує декілька видів баз даних які відрізняються по способам
зберігання інформації та взаємодії з нею [2]. Розберемо більшість з них:
1. Реляційна база даних. База даних в якій входить поняття relation
(відношення). Тобто в такій базі даних присутні таблиці де кожен стовпець
7

параметр а кожен рядок – це окрема запис даних.


2. Ієрархічна база даних. Інакше , деревоподібна база даних тому що за
організацією даних нагадую дерево. Кожен запис(об’єкт) має зв’язок з іншим
по типу «предок-нащадок». Найчастіше такий вид баз даних використовується
в файловій або дисковій структурі.
3. Мережева база даних. Цей вид бази інакше називається
«графоподібний» тому що кожний запис(об’єкт) має одну та більше зв’язків з
іншими записами(об’єктами). За видом нагадує мережу.
4. Об’єктна база даних. Відрізняється від інших видів баз даних
наявністю об’єктів(екземплярів класів (термін з мов програмування)) у яких
присутні методи та атрибути. Це дає змогу оперувати об’єктами але з цього
виходить складність їх зберігання.
5. Об’єктно-реляційна база даних. Є об’єднанням деяких властивостей
об’єктної моделі БД та реляційної моделі. По суті підхід все-таки залишився
реляційний так як дані знаходяться в БД і обробляються завдяки мові запитів
SQL.
6. NO-SQL база даних. Одна із новітніх баз даних яка швидко
розвивається. Основний принцип закладений в базовій доступності до БД та
гнучкому стану, що дає перевагу для швидкому редагуванню структури БД.
Також використання моделі «ключ-значення» дає змогу легкого зберігання та
маніпулювання над даними у самій базі. Приклад такої бази даних зображений
на рисунку 1.2.
8

Рисунок 1.2 – NoSQL структура бази даних


Бази даних є одним із найважливіших компонентів на сьогодні. Взагалі,
вони використовується у більшості програм в яких треба зберігати та
взаємодіяти з великими даними. Щоб поліпшати взаємодію існують спеціальне
програмне забезпечення, це система керування базами даних (СКБД).

1.1.1 СКБД і їх роль у побудові баз даних

СКБД – спеціальна програма яка дає можливість створювати,


редагувати, маніпулювати базою даних [1]. На сьогодні використовуються
повсюдно серед компаній, стартапів тощо. Приклад однієї з СКБД ви можете
подивитись на рисунку 1.3.

Рисунок 1.3 – Інтерфейс СКБД PostgeSQL

Як зображено на рисунку 1.3, такі СКБД дають можливість легше


керувати БД, налаштовувати доступ та безпеку даних, підтримувати їх
цілісність та інше [3]. Також є можливість написання процедур та запитів у
самому СКБД.
Найбільш популярними СКБД на сьогодні є PostgeSQL, ORACLE,
9

MySQL та MariaDB серед моделей реляційних баз даних. А серед нереляційних


баз даних, слід згадати MongoDB.
1.1.2 Мови програмування для формування запитів

Тут також слід відокремити мови для маніпулювання з базами даних.


Так як найпопулярнішими базами даних є реляційні та NoSQL бази даних то і
мови запитів у них різні. Розглянемо мову запитів SQL.
SQL(з англ. Structured Query Language) – спеціальна структурована мова
для формування запитів, роботою з базою даних та великим об’ємом даних [1].
Був розроблений у 70-х роках компанією IBM. На сьогодні є основною мовою
програмування для роботи з реляційними базами даних. Приклад запиту
зображений на рисунку 1.4.

Рисунок 1.4 – SQL-запит на оновлення запису

NoSQL – окремі СКБД які реалізують нереляційні бази даних. Запити в


таких СКБД не мають такого функціоналу роботи з SQL-орієнтованими базами
даних а більш розраховані на гибкість керування та маніпулювання над даними.
10

Приклад запиту в СКБД MongoDB зображений на рисунку 1.5.

Рисунок 1.5 – Запит на пошук та результат у форматі JSON

На сьогодні реляційні та нереляційні моделі баз даних використовується


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

Інтерес до мов формування


запитів 2017-2018

SQL NoSQL

Рисунок 1.6 – Діаграма інтересу мов програмування

Але така діаграма трохи не відповідає дійсності. Тому-що деяка


11

кількість великих компаній все-таки повністю або частково перейшла на


нереляційні бази даних Cisco, Netflix, Facebook, Uber та Forbes. Тим часом
перехід не здійснює Microsoft, Twitter, NTT Data, Bank of America, DELL і так
далі. Наступні декілька років популярність нових БД буде зростати, однак. Але
підсумовуючи, кожна реалізація баз даних хороша, але слід визначати спочатку
задачі.

1.2 Десктопні програми та їх особливості

Десктопна програма – тип програм , який використовується на


настільних комп’ютерах з певною операційною системою [6]. Такі програми
використовують ресурси комп’ютера для реалізації свого функціоналу (запуск
програми, виконання запитів користувача, рендерінг сцени, програвання
анімації тощо) та мають бути встановлені на комп’ютері перед їх
використанням. Приклад такої програми яка споживає немалу кількість
ресурсів може бути Blender (рис. 1.7) який потребує значну оперативну пам’ять
для більш швидкого рендерінгу сцен.

Рисунок 1.7 – Програма для 3D-моделювання Blender

І вже тут можливо визначити декілька особливостей настільних програм


12

перед web-програмами, а саме:


1. Десктопні програми мають мати в собі кросплатформність, тобто
використовуватися на декілька операційних системах.
2. Web-програми потребують зв’язок з інтернетом , а настільні програми
навпаки можуть використовуватися без доступу к інтернету.
3. Швидкий запуск та використання програми. Так як настільні
програми в більшої частині залежать від ресурсів комп’ютера а не від якості
інтернет-зв’язку то і працюють в деяких випадках швидше за свої web-версії.
Але на сьогодні використання настільних програм дещо впала через
розвиток web-программ. Такі причини стали приводом для переходу на web-
сайти:
1. Зручність з боку користувачів. Набагато легше зайти на сайт аніж
качати та встановлювати програму на комп’ютер.
2. Існує доля небезпеки з боку користувача при встановлені програми
невідомого походження на комп’ютер.
3. Розвиток маркетингового бізнеса в web-системі набагато зручніший.
Наприклад соціальна мережа Instagram, як мережа для реклами. Приклад
реклами в цій мережі зображений на рисунку 1.8.

Рисунок 1.8 – Приклад реклами від Starbucks


13

Але, хочу зазначити що розробка настільних програм буде актуальної


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

Рисунок 1.9 – Одна із популярних середовищ розробки ПЗ VS Code

1.3 Клієнт-серверна архітектура та її призначення на сьогодні

Клієнт-серверна архітектура – єдина система взаємодії клієнта та


сервера. Клієнтом може бути будь який пристрій: комп’ютер, телефон, інший
сервер, розумні часи тощо [7].
Клієнт – окрема робоча станція, користувач або інший сервер. Основна
задача клієнта – відправка запитів (з англ. requests) з певним завданням на
сервер та їх отримання відповідей (з англ. responses).
Сервер – окрема обчислювальна машина яка підключена до інтернету та
БД та має великі обчислювальні ресурси для роботи з клієнтами. Сервер
14

займається отриманням запитів від клієнтів, оброблюванням запитів та


відправленням даних. Також сервер може зберігати данні у БД та формуванням
SQL-запитів (рис. 1.10).

Рис 1.10 – Звичайна клієнт-серверна архітектура

Зазвичай, клієнт відправляє запити на сервер для взаємодії з базою


даних. Сервер є провідником, з’єднуючою ланкою між клієнтом та БД. З цього
вже виходить і одне із основних призначень сервера – зберігання та обробка
великої кількості даних. Також, ми вже ми можемо відокремити деякі плюси
такої архітектури, а саме:
1. Основна частина даних зберігається на сервері, та вони мають деякий
ступінь захисту. Тому-що клієнт прямо не звертається до даних а через сервер.
Сервер вже може оброблювати коректність запиту.
2. Кросплатформовість. Любий клієнт з будь-якого пристрою з
підключенням інтернету може звертатися до сервера та отримувати данні.
3. Основна обробка запитів проходить саме на сервері. Від клієнта
потребується лише добрий інтернет-зв’язок.
Такі плюси в обраній архітектурі дають змогу розподілення ролей.
Тобто, клієнтська частина додатку є візуальною частиною з якою користувач
може взаємодіяти (наприклад, звичайний веб-сайт) та формуванням і
отриманням запитів. А серверна роль – для безпеки роботи з БД та
обчислювальних операцій. Також це дає розподіл ресурсів. Але, є декілька
15

мінусів такої архітектури:


1. Завжди існує така можливість виходу з ладу серверного обладнання.
Через це уся система не буде працювати деякий час аж поки її не полагодять
спеціалісти.
2. Висока напруга на серверне обладнання. Найчастіша причина, це
велика кількість запитів з боку клієнтів. На такий момент, існує спеціальний
код стану в Hyper Text Transport Protocol (HTTP) – 503 Service Unavailable
(сервіс недоступний). Приклад зображений на рисунку 1.11.
3. Велика вартість на серверне обладнання його встановлення у
приміщенні яке теж треба орендувати та наймання окремого спеціаліста –
системного адміністратора.

Рисунок 1.11 – HTTP код який говорить що сервер недоступний

1.3.1 Кратка історія становлення клієнт-серверної архітектури

Перед усім, треба розглянути коротко декілька архітектур які вплинули


на розвиток клієнт-серверної архітектури, а саме мейнфрейм [8].
Мейнфрейм – окремий великий відказостійкий сервер (рисунок 1.8) який
має великі ресурси, об’єм пам’яті та обчислювальні потужності.
Мейнфрейми були і є одним із частіших типів серверів[9]. Вони мають
систему розподілу запитів на час, захист інформації в мейнфреймі та надійність
16

такої системи. Однак, у 1993 році настала криза мейнфреймів у компаніях через
декілька причин, такі як:
 зріст наявності персональних комп’ютерів;
 складність розвертання нових мейнфреймів;
 мейнфрейми самі по суті є дорогою апаратурою, а через збільшення
попита кліентів, настала криза їх продаж.
Альтернативою стали сервера якими стали персональні комп’ютери
самих компаній. Це була окрема локальна мережа з декількома клієнтськими
комп’ютерами та декількома комп’ютерами в ролі серверів. Однією із причин
популярності такого типу архітектури стала легке інтегрування нових
комп’ютерів(тобто і їх потужностей) та повний контроль даних через
розподільну систему серверів (рис. 1.12).

Рисунок 1.12 – Мейнфрейм від компанії IBM , 2000 рік

1.3.2 Типи клієнт-серверної архітектури

Існують декілька видів архітектури «клієнт-сервер». Вони відрізняються


один від одного кількістю контролюючих вузлів, масштабністю та складністю
[7]. Розберемо декілька з них:
1. Однорівнева архітектура. Вона була непрямо згадано з історії клієнт-
серверної архітектури. Це окремий комп’ютер на якому встановлена база
17

даних. На ньому немає програм для додаткового захисту бази даних, він тільки
видає данні.
2. Дворівнева архітектура. Приклад зображений на рисунку 1.13. Така
архітектура вже має в собі серверний додаток. Тут вже є варіації такої
архітектури: обробка даних може відбуватися на клієнті або на сервері. Тут слід
зазначити що така архітектура легко налаштовується бо має вже додаток,
можливий контроль даних тощо. Але за великим обсягом користувачів вже
з’являються проблеми з обслуговуванням. Це рішає наступний тип архітектури.

Рисунок 1.13 – Дворівнева модель архітектури

3. Трьохрівневий тип архітектури. Характерна наявністю трьох


розділених рівнях відповідальності: клієнтський рівень з яким працюють
користувачі, сервер додатків який обробляє запити з боку клієнтів та сервер баз
даних для зберігання великих масивів даних. Система стала більш
розподіленою. Але за наявністю одного сервера додатків, все одно в деяких
моментах роботи не може справлятися.
4. Багаторівнева архітектура. Складається з декількох розподілених
рівнів за своїми призначеннями: клієнтський рівень, рівень додатків(серверів)
які мають доступ сервера з базою даних. Приклад архітектури зображений на
рисунку 1.14. Така розподілена має багато плюсів, один із яких, надійність та
продуктивність. Вже декілька серверів працюють з клієнтами розподільно.
18

5. Вибір рівня архітектури безумовно залежить від масштабності


проекту. Однак, завжди слід обирати архітектуру яку можливо масштабувати.
Таким типом архітектури є остання, багаторівнева. На сьогодні, це одна із
найпопулярніших моделей у використанні.

Рисунок 1.14 – Зображення многорівневої архітектури


19

2 ІНСТРУМЕНТИ РЕАЛІЗАЦІЇ

2.1 MySQL Workbench

MySQL Workbench – спеціальна програма для роботи з базами даних,


або по іншому, це СКБД. Розповсюджаеться на декілька крупних операційних
системах: Linux, Windows, macOS, FreeBSD та інші Unix-подібні системи. Була
написана на мовах програмування C++ та C. Також вона використовує
платформу від Microsoft .NET framework. Цей фреймворк використовується для
візуальної частини MySQL. Приклад інтерфейсу цієї СКБД зображений на
рисунку 2.1.
Програма була випущена у 1995 році і досі вдосконалюється
розробниками. Найостаннішою версію MySQL є 8.0.30 яка була випущена 6
липня 2022 року, а найактуальнішою є версія 8.0.11. Розробляється компанією
ORACLE яка і має права над цим продуктом. До 2008 року, продуктом володіла
компанія MySQL AB.
MySQL Workbench розширюється в декількох версіях, одна з яких
MySQL Community Edition для публічного використання. Також є версії для
команд. При встановленні MySQL є можливість налаштування компонентів.
Тобто можливо одразу встановити коннектори для роботи з мовами
програмування, MySQL shell при встановленні самої програми через
інсталятор.
Коннектор – спеціальна бібліотека для взаємодії мови програмування та
MySQL базу даних. Завдяки неї програміст може програмно взаємодіяти з
базою даних. На даний момент існують коннектори для Java, C#, C, PHP,
Python, C++ та JavaScript.
20

MySQL shell – клієнтська команда строка та редактор коду для СКДБ


MySQL. Також є можливість писати в ньому скрипти для MySQL на таких
мовах
Програмування як Python та JavaScript.

Рисунок 2.1 – Інтерфейс програми MySQL

2.1.1Особливості використання MySQL

При розробці та подальшому вдосконалені програми, в MySQL були


додані кілька особливостей які поліпшають розробку програмних забезпечень,
контроль за даними та структурою бази даних та інше. Розберемо кілька з них:
1. По перше, існує можливість зберігання процедур у програмі MySQL.
Процедури – іменований маленький блок коду в який можливо передавати
параметри та який може виводити інформацію. Основні плюси їх використання
це збереження часу розробника та пам’яті програми. Пам’ять зберігається тому
що запити вже підготовлені в одній процедурі і програма лише викликає її.
Приклад процедури зображений на рисунку 2.2.
2. Безпечність. В програму можуть зайти тільки авторизовані
користувачі. Сама програма надає зручний інтерфейс з системою паролів та
21

користувачів яким можна надати права доступу до бази даних. Пароль


захищений через шифрування коли виконується підключення до серверу з
базою даних. Приклад адміністрування зображений на рисунку 2.3.

3. Підтримка великих баз даних з більш ніж 50 млн. записів. Також


надійна підтримка даних до 4 ГБ. При дуже великих об’ємах можуть існувати
затримки. Щоб це вирішати, часто можуть використовувати розподілені
сервери з базами даних.
4. MySQL повністю підтримую сукупність архітектурних вимог до
транзакцій. Це гарантує валідацію даних та цілісність виконання транзакційних
операцій.
5. Кешування запитів. Це одна із важливих функцій MySQL котра
прискорює отримання даних з бази даних. Це досягається шляхом зберігання
запитів разом з набором записів. І якщо клієнт запитує ідентичні запити,
MySQL одразу відправляє записи з кешу без повторного виконання команд із
бази даних.
6. MySQL Server може бути з легкістю розташований на хмарному
сховищі. Одні з частіших хмарних сховищ для MySQL: Oracle cloud, Microsoft
Azure та Amazon Cloud.
22

Рисунок 2.2 – Оголошення процедури

Рисунок 2.3 – Інтерфейс керування користувачами

7. В MySQL можливо використовувати тригери. Тригери – це вже


23

підготовлений код у СКБД який реагує на певні події. Наприклад, тригер буде
виконуватися після того як у таблицю А буде змінена ціна товару на нову, то
нам потрібно це записати у таблицю Б у такому форматі: номер товара –
минула ціна – теперішня ціна. Код доданий нижче.

CREATE TRIGGER Products_UPDATE ON Products AFTER UPDATE AS INSERT


INTO logs SET name = OLD.name, _price = OLD.price, current_price = NEW.price

Але також у MySQL є декілька мінусів. По перше, ненадійна підтримка


транзакцій, іноді данні можуть пропадати. Так саме і не присутні інструменти
для відладки програми.

2.2 Postman

API (Application Programming Interface) – це інструмент або програма


який надає певний функціонал програмісту для особистого використання у
розробки програм [11]. Функціонал може включати в себе: функції, класи та
методи. Призначення таких API, по перше, поліпшення розробки додатків бо
надає вже готові рішення деяких розробок програмісту і ,по-друге, існує
взаємодією між програмістами на рівні додатків. Приклади API: REST API та
Google maps API. За усе існування API сформувалось три різні види:
 публічні. Такі види API доступні усім;
 приватні. API які використовує одна чи декілька людей;
 партнерські. API к яким мають доступ певні компанії та і
розповсюджуються саме так.
HTTP – спеціальний протокол передачі даних, що використовується в
комп’ютерних мережах. HTTP належить до моделі комунікацій в мережі OSI.
HTTP розташовується на прикладному рівні. Основне призначення цього
протоколу передача текстових файлів з різними форматами. HTTP запит
містить три складові (рисунок 2.4):
 рядок запиту (request line). Цей рядок вказується метод
24

передачі(наприклад, get, update). Також в ньому вказана uniform resource locator


(URL) адреса та версія http-запита яка звичайно може бути або версія 1.1 або
1.0;
 заголовок(head). Він використовується для відправлення метаданих
про ресурси;
 тіло повідомлення(body). Зберігає дані, які передаються в запиті. дані
можуть бути різного формату, навіть звичайний текст.

Рисунок 2.4 – Приклад HTTP-запиту


URL (з англ. Єдиний вказівник на ресурс) – стандартизована адреса
певного ресурсу в інтернеті. В своїх структурі має схему-протокол за яким
відбувається звернення до ресурсу, наприклад HTTP, ім’я хоста у вигляді ip,
порт до якого відбувається запит, шлях до ресурсу та параметри які будуть
передаватися хосту якщо присутні.
Postman – це безкоштовна кросплатформова програма для роботи з API
такими як SOAP та REST та робота з HTTP запитами(requests) за
відповідями(responses) [9]. Дає зручне налаштування запитів та різні формати
відповідей. Також є можливість автоматичного відправлення запитів і тестів
через Collections runner.
Вперше, Postman з’явився у 2012 як сторонній проект інженера
програмного забезпечення Абхінав Астана який хотів спростити тестування
API. Він запустив Postman як безкоштовний продукт у Chrome Web Store. У
2022 році Postman зайняв 28 місце у списку Forbes Cloud серед найкращих
25

продуктів. Posman надає безкоштовне користування командами до 3 людей.


Також Інтерфейс програми зображений на рисунку 2.5.

Рисунок 2.5 – Інтерфейс Postman

2.2.1 Відправлення HTTP-запитів на сервер та отримання HTTP-


відповідей

Формування та робота з запитами в Postman особливо зручні [10].


Одразу можливо вибрати тип запиту(GET, POST, PUT, UPDATE ) біля URL,
написати URL чи скопіювати, передати параметри по типу «ключ-значення» у
формі body тощо. Приклад формування запиту зображений на рисунку 2.6.
Також присутня авторизація клієнта.
Авторизація – це надання певній особі або групі осіб прав на виконання
певних дій. Авторизація необхідна для розподілу прав клієнтів з якими
надаються можливості роботи з даними та вона необхідна серверу для того щоб
він не зберігав о клієнтах будь-якої інформації.
В програмі Postman авторизація генерується з кожним запитом до
сервера у вкладці Authorization. Там можна обрати різні авторизації Bearer,
26

oAuth 2.0 тощо.

Рисунок 2.6 – Форма запиту

Наостанок, запит з усіма налаштуваннями та параметрами вводу


можливо зберегти у колекції запитів у форматі «назва колекції – запит».
Колекції запитів розташовані зліва у колонці My Workspace. Вони виглядають
як на рисунку 2.7.

Рисунок 2.7 – Візуальний вигляд колекції запитів


27

При формуванні запиту треба натиснути на блакитну кнопку Send і


запит буде відправлений на сервер адрес якого написаний в полі для URL-
адрес. Потім нами буде отримана відповідь. Приклад відповіді на рисунку 2.8.
Postman одразу візуалізовує відповідь у певному формату. Однак, ви можете
обрати будь який текстовий формат, наприклад HTML, XML, TEXT, JSON
тощо.

Рисунок 2.8 – HTTP відповідь


Також можливо дізнатися статус запиту. В даному випадку статус – 200,
себто, усе гаразд. Однак Postman дає можливість також перевіряти запити на
тести та створювати їх самостійно. Приклад тесту який відправляється на
сервер і отримується Код тесту доданий нижче. Його слід додати до вкладки
Tests.

pm.test('Status code is 200’, function () {


pm.response.to.have.status(200);
});

Після того як тест буде написано, він відправиться з запитом до


серверу. І його відповідь буде написана в Test Results у розділі Response
28

(рисунок 2.9).

Рисунок 2.9 – Відповідь тесту в Postman

Підсумовуючи, Postman – це дуже сильний інструмент в розробці web-


додатків. В ньому зібрані багато цікавих і простих особливостей які роблять
роботу з нею дуже простою. Також навчання користуватися програмою може
зайняти приблизно день а використання може вже відбуватись.

2.3 IntelliJ IDEA

IntelliJ IDEA – кросплатформове інтегроване середовище розробки для


програмістів на Java та Kotlin. Вона була розроблена компанією JetBrains.
Редактор був написаний на мові програмування Java з використанням
бібліотеки для графічних інтерфейсів користувачів Swing. Перша версія
програми була випущена у 2001 році та з того часу оновлюється командою
JetBrains. Приклад інтерфейсу програми з основними функціями та дизайном
зображений на рисунку 2.10.
29

Рисунок 2.10 – Інтерфейс розробки

Також, слід відокремити деякі особливості у IntelliJ IDEA які частково


присутні і в інших IDEA але не зібрані в одну. Давайте розглянемо їх:
1. Інструменти збірки проекту такі як Gradle, Maven , Grunt з якими
можливо налаштовувати та інтегрувати API, фреймворки, бібліотеки тощо.
Також є підтримка різних систем контролю версій, наприклад Git.
2. Також з IntelliJ IDEA Ultimate version (платна версія) додається
MySQL, PostgeSQL, Microsoft SQL Server , ORACLE бази даних. Однак, така
робота в одному редакторі коду може бути непростою так як немає розподілу
відповідальності серед програм. І наявність в одній програмі багато таких
особливостей ускладнюють роботу в деяких моментах.
3. Підказки при програмуванні. Такі підказки діляться на: підказка у
синтаксисі та підказки у показу функцій. Приклад зображений на рисунку 2.11.
Також навігація серед класів та їх методів, виділення блоків коду досить
зручна. Навіть, зручніше чим у Eclipse IDEA, іншого популярного середовища
розробки. Так само у IntelliJ IDEA присутні інструменти для рефакторінгу коду
та його дебаггінгу.
30

Рисунок 2.11 – Підказки у IntelliJ IDEA

4. Підтримка бібліотек для тестування такі як Junit та TestNG. Підтримка


цих бібліотек є особливо важливою, тому що Junit зарекомендував себе як
надійний для розробки тестів для проектів. А TestNG є доповненням до нього,
так як підтримує тестування залежностей у проекті.

2.4 SceneBuilder

User Interface ( з англ. Інтерфейс користувача ) – це та частина програми


де може взаємодіяти користувач та код. Основна ідея інтерфейсу користувача
(далі UI) щоб забезпечити ефективну роботу з боку людини та машина яка
обробляє інформацію. По іншому, це візуальна частина програми.
Scene Builder – безкоштовний інструмент для розробки UI дизайну
мобільного або десктопного додатку. Він розподіляє дизайн від логіки,
дозволяючи фокусуватися на інших аспектах додатку та скорочувати час
розробки. Scene Builder пов’язаний з бібліотекою JavaFX. Звичайний інтерфейс
цієї програми зображений на рисунку 2.12.
31

Рисунок 2.12 – Інтерфейс програми Scene Builder

Scene Builder дає зручно налаштовувати CSS та FXML файли,


підв’язувати їх до компонентів, масштабувати форми та розробляти і
інтегрувати контролери та редагувати контролери. Розберемо особливості цієї
програми:
 крім можливості роботи з екосистемою JavaFX, компанія Gluon(яка і є
розробником програми) надає доповнення Gluon Modile, Gluon Desktop та
Gluon CloudLink;
 підтримка програми та документація;
 швидка розробка сцени;
 можна одразу подивитись результат верстки без компілювання
програми.

2.5 UML

UML(Unified Modeling Language) – уніфікована мова моделювання


об’єктів яка невід’ємно пов’язана з об’єктно-орієнтованим програмування [12].
Взагалі, UML – це відкритий стандарт. Основна ідея – візуальне створення
абстрактної моделі системи яка буде розроблятися. Приклад моделювання
32

зображений на рисунку 2.13. Така система моделювання називається UML


модель. Тому, тут вже можливо визначити основні задачі UML-моделі, а саме:
 визначення основних моделей, інтерфейсів і класів;
 візуалізація моделей у виді діаграм що поліпшають розробку;
 проектування. UML-модель надає багато інструментів для створення
складних проектів;
 документування. Завдяки цьому можливо поширювати різні API
більш доступно для інших розробників та вести документацію.

Рисунок 2.13 – Інтерфейс програми з UML-моделями

Перша версія UML вийшла у 1997 році і від тоді використовується у


компаніях як доповнюючй інструмент для оптимізації розробки. Вона може
бути застосована на усіх етапах розробки прикладних програм різної
складності. За два десятиліття UML себе чудово зарекомендувала в багатьох
успішних програмних проектах. У ньому присутні засоби генерації коду які
переробляють UML-моделі одразу в код з певною мовою програмування. Це
прискорює процес розробки програми у рази.
Також його можуть використовувати керівники проектів які слідкують
33

за контролем проекту, створення нових завдань та слідкувати за ходом проекту.


Та UML-модель дуже сильно допомагає програмістам у розумінні як будується
інформаційна система.
При модифікації системи об’єктний підхід дозволяє легко редагувати
об’єкти, додавати нові до діаграми та виключати(вони присутні але не
включаються до схеми) застарілі без істотної зміни усієї системи.
При раніше сказаних плюсах такої моделі проектування системи,
існують також і мінуси. Розберемо кілька з них:
1. UML часто критикується за свою надмірність. Він включає багато
надлишкових діаграм або діаграми які практично не використовуються при
проектуванні. Але це стосується нової версії UML 2.0 ніж UML 1.0.
2. Проблеми щодо впровадження у проект. За свою складність в деяких
моментах впровадження та навчання UML стає непростим завданням, особливо
для інженерів які раніше його не використовували.
3. Візуальна неоднорідність. Через відсутності єдиної стандартизації
програми реалізації можуть дуже сильно відрізнятися одна від одної.
В UML існує багато типів діаграм: класові, компонентні, об’єктні,
комунікаційні тощо. Але їх можливо розділити на дві категорії діаграм які вже
досить сильно відрізняються друг від друга, а саме: структурні та поведінкові.

2.5.1 Основні типи діаграм

Структурні діаграми статичні частини системи. По іншому, вони


підкреслюють компоненти які повинні бути присутніми в системі, що
моделюються. Вони широко використовуються для документування
архітектури програмного забезпечення систем. Приклад структурної діаграми
зображений на рисунку 2.14.
34

Рисунок 2.14 – Приклад класової(структурної) діаграми

Поведінкові діаграми або діаграми поведінки представлять динамічні


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

Рисунок 2.15 – Приклад поведінкової системи

Діаграма пакетів (Package diagram) – структурна діаграма, основним


змістом якої є пакети та відносини між ними. Жорсткого поділу між різними
структурними діаграмами не проводиться. Діаграми пакетів служать,
насамперед, в організацію елементів у групи за ознакою з метою спрощення
структури та організації роботи з моделлю системи. Приклад діаграми пакетів
35

зображений на рисунку 2.16.

Рисунок 2.16 – Діаграма пакетів

Хоча було розглянуто декілька діаграм та було названо їх особливості.


Але діаграм набагато більше у UML. І робота з кожною з них може суттєво
відрізнятися для користувачів.

3 РЕАЛІЗАЦІЯ РОБОЧОГО ПРОЕКТУ


36

3.1 Реалізація бази даних

3.2 Spring Framework

3.3 Реалізація серверної частини

3.4 JavaFX

3.5 Реалізація клієнтської частини

4 ОХОРОНА ПРАЦІ ТА БЕЗПЕКА ЖИТТЄДІЯЛЬНОСТІ


37

4.1 Облаштування місця під охорону праці

Для роботи за комп’ютером існують правила безпеки та рекомендаційні


правила які вкрай важливі для підтримання життєдіяльності людини та її
безпеки. Також підтримання цих правил поліпшають роботу за комп’ютером
загалом. Користувачам треба їх виконувати кожний раз коли проходить робота
за комп’ютером, підготовка до роботи та облаштування місця де проходить
робота.
Розберемо найважливіші правила безпечної роботи за комп’ютером, а
саме правила щодо облаштування нашого приміщення та вимоги щодо
робочого місця:
1. Робоче приміщення де встановлений комп’ютер, слід користувачу
щодня виконувати вологе прибирання. Тобто це стосується підлоги, робочого
місця (стола), місця за зберігання речей (полиці) тощо. Обов’язково вимикати
усі електронні пристрої перед прибиранням.
2. Розташовані допоміжні предмети (колонки, лампа, клавіатура та
миша) не повинні заважати користувачу персонального комп’ютера(ПК) при
роботі за робочим місцем. Для того слід використовувати комп’ютерний стіл не
менш ніж 6 метрів квадратних.
3. Необхідно слідкувати за станом усіх пристроїв, якщо вони несправні
або ведуть себе нестабільно, то необхідно припинити роботу за комп’ютером та
доповісти про це.
4. Відстань до екрану монітору має бути приблизно 500-600 мм. Якщо
відстань буде менша то будуть проблеми з зором з часом. Бо монітор
випромінює шкідливе світло.
5. Приміщення та робоче місце мають бути добре освітленими. Для
цього слід брати лампи зі значенням не менше 200 люксів. Для освітлення
приміщення слід брати світло в межах близько 800-100 люксів. Їх розташування
має бути симетричним. Якщо світло попадає на монітор та треба закрити вікно
жалюзями. Також поліпшати ефект може монітор з матовим покриттям.
38

6. Обов’язкова перевірка ізоляції кабелів на відсутність зломів. Також


перевірте справність усіх комп’ютерних приладів.
7. Вибираючи екрани для роботи та розваг, слід вибирати екрани які не
займають більшу частину робочого столу, мають змогу нахилятися щодо
потреби користувача та мають високу якість картинки та яскравість.
Також, хочу відокремити один із найважливіших факторів без якого
людина не може обходитися – повітря. Але є користувачі ПК які забувають про
провітрювання приміщення. Вони забувають що саме повітря впливає на
сприятливий і здоровий мікроклімат в приміщенні. І щоб це організувати
потрібне регулярне провітрювання, адже людина проводить в них багато часу.
Чисте повітря сильно впливає так і на наш стан так і на стан самого
приміщення. В герметичних приміщеннях, без доступу до свіжого повітря, буде
створюватися нездоровий мікроклімат. Наслідком цього стане пліснява на
стінах, грибки, бактерії тощо. Це дуже сильно впливає на стан самої людини, а
саме:
 алергічні захворювання;
 гіпертонія (підвищення кров’яного тиску);
 погіршення самопочуття людини;
 погіршення концентрації;
 зниження продуктивності людини.
Тому, провітрювання приміщення вкрай важливо завжди. Для цього
можливо провітрювати кімнату декілька раз на 15 хвилин. Або можливо
провітрювати вранці і ввечері протягом 30 хвилин. Бо вранці вміст кисню в
приміщенні знижується. А ввечері, щоб провітрити приміщення після робочого
дня з накопиченим вуглекислим газом.
Крісло – це то місце за яким користувач проводить багато часу. І крісло
також впливає на стан роботи. Якщо крісло не зручне то буде страдати увесь
організм людини. В першу чергу, це стосується шиї, хребет, усього скелетного
каркасу тощо. Щоб запобігти цього, треба заздалегідь обрати правильне крісло.
Для цього існує кілька факторів:
 спинка крісла повинна мати увігнуту форму. Це забезпечує надійну
39

опору для спини;


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

4.2 Охорона праці під час роботи

При підготовці до роботи користувач має бути в доброму стані, якщо


стан незадовільний то не слід починати роботу за комп’ютером та прийняти
ліки і продовжити пізніше. При задовільному стані користувач має знати
правила роботи за комп’ютером. Візуалізація правил зображено на рисунку 4.1.
Розберемо найважливіші з них, і спочатку це буде стосуватися положення тіла:
1. Треба щоб ноги твердо стояли на підлозі чи на підставці. На стіл або
на кресло користувач не повинен ставити ноги бо ці положення впливають на
стан тіла, особливо якщо ноги ставляться на кресло. Коліна мають бути зігнені
під кутом 90 градусів.
2. Сидіти за робочим місцем потрібно сидіти прямо або трохи
нахилившись вперед. Шия має бути теж прямою та не треба її наклонювати
вперед щоб не провокувати проблеми з кровообігом до мозку. Наслідками
цього може бути головна біль. А наслідком сутулості – проблеми зі спиною.
3. Кресло має бути добре обране або мати в своїй наявності подушки
щоб підложити під спину. Якщо складно сидіти в такому положенні то
старайтесь робити розминку кожні 30-40 хвилин та також активно займатись
40

спортом.
4. Руки повинні вільно лежати на клавіатури та на усьому столі. Зап’ястя
не повинні згибатись але їх направлення повинно бути паралельним
передпліччям. Недотримання цього може призвести до тунельного синдрому.
Лікті мають бути зогнуті теж під кутом 90 градусів.
5. Очі мають бути на оптимальній відстані 50-70 см до монітора. Також
монітор має бути розташованим на одному рівні з очами.

Рисунок 4.1 – Приклад правильного і неправильного сидіння

Одним із важливих і чутних органів для роботи за комп’ютером є очі.


Крім дотримання правила щодо мінімальної дистанції до монітора за ними
треба також ретельно дивитись. Бо монітор шкодить очам все одно. Втомлені
очі є одним із наслідків сутулості бо людина приближається ближче та
сутулиться щоб роздивитись написи на екрані. Щоб вирішати проблеми з
очами, існує декілька способів:
 відвертайтесь у бік на декілька секунд;
 робить розминку для очей;
 не вимикайте світло при роботі в нічний час;
41

 використовуйте великий шрифт якщо не бачите текст;


 купіть спеціальні окуляри для очей. але спочатку проконсультуйтесь з
доктором.
Також є деякі рекомендації щодо самого процесу роботи, слід згадати
деякі з них, наприклад:
1. У процесі роботи з комп’ютером обов’язково звертайте увагу на
дихання. Воно має бути рівномірним та без затримок. Якщо є проблеми, слід
спочатку припинити роботу та зробити перерву. І старайтесь дихати глибоко.
2. Після кожної години або кожних 2 годин роботи рекомендується
робити перерву на 10-15 хвилин. Ця перерва має бути активною, наприклад
прогулянка по вулиці або розминка (рис. 4.2). Не варто дивитись телевізор або
передивлятися новини у телефоні.

Рисунок 4.2 – Розминка для сидячих за комп’ютером

3. Заборонено класти будь-які предмети на комп’ютерне обладнання бо


це може спричинити до поломки обладнання або інших неочікуваних ситуацій.
4. Не потрібно приймати їжу та воду за робочим місцем бо це може
42

призводити до забруднення місця.


5. не вимикати комп’ютер через витаскування вилки з розетки. Це
небезпечно бо існує можливість ураження тіла електричним струмом.
Вимкнення комп’ютера виконується тільки через програмних засобів.
6. Заборонено відключати комп’ютерні та периферійні пристрої коли
комп’ютер знаходиться у робочому стані.
Ці правила та усі інші є дуже важливими для людей які проводять багато
часу або працюють за комп’ютером. Вони важливі тому що завдяки їм ми
можемо підтримувати наше здоров’я та працювати продуктивно за робочим
місцем.

ВИСНОВОК
43

В ході цієї роботи було розглянуто основи будування додатків з клієнт


серверною архітектурою, їх структуру з якої вони складаються та основну
термінологію пов’язану з архітектурами, базами даних, мережею тощо. Також
був перерахований стек технологій які надають можливості будування таких
додатків та паттерни архітектури які пропонували фреймворки. Для цього
також використовувались спеціальні програми з верстки додатку, його
кодування, перевірки та тестування для поліпшення розробки.
Перш за все, багато роботи було зроблено з серверної сторони так як
будь який сервер який працює з базами даних або тільки з клієнтами і він має
проводити три основні принципи інформаційної безпеки: конфіденційність,
доступність та цілісність даних. В даному випадку сервер налаштовано на
безпечну роботу клієнтів додатку з базою даних. Також була виконана кропітка
робота з доступністю до даних з різних ролей клієнта тощо. Також сервер
пропонує в собі декілька фонових програм які працюють одночасно с сервером.
Клієнтська частина додатку мала в собі мету гарної та доступної
візуалізації даних і також надання певного функціоналу для роботи саме з
ними.
Також був розроблений дизайн.
Підсумовуючи, цей додаток є новим прикладом розвитку онлайн-бізнесу
в Україні та світу. Завдяки цьому додатку є можливість спостерігати в якому
напрямку треба розвиватися у цій сфері, як треба будувати взаємозв’язок між
клієнтами, поширювати нові можливості та функції роботи з даними. Саме такі
програми можуть поліпшити роботу багатьох підприємців на території України.
І можливо, стане одним із інструментів для керування бізнесу.
Щодо самих програм (мобільної для десктопної) для клієнтів , то
додаток має змогу бути встановленим для комп’ютера з веб-сайта. А мобільний
додаток встановлюється з AppStore, надалі буде можливість встановити також з
Google Store.
44

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

1. Кузнєцов С. Д. Основи баз даних. - 2-ге вид. - М.: Інтернет-


університет інформаційних технологій БІНОМ. Лабораторія знань, 2007.
2. Когаловський М. Р. Енциклопедія технологій баз даних. - М.: Фінанси
та статистика, 2002.
3. Крег Ларман. Застосування UML 2.0 та шаблонів проектування 3-тє
вид. - М.: Вільямс, 2006.
4. Крейг Уоллс. Spring в дії – 5-е вид. – М.: Manning, 2018.
5. Визначення СКДБ [Електронний ресурс] – Режим доступу:
https://itglobal.com/ru-ru/company/glossary/subd-sistema-upravleniya-bazami
6. Визначення Десктопних додатків [Електронний ресурс] – Режим
доступу: https://freematiq.com/uslugi/desktop-prilozheniya/
7. Визначення клієнт-серверної архітектури та її уровні [Електронний
ресурс] – Режим доступу: https://itelon.ru/blog/arkhitektura-klient-server/
8. Історія клієнт-серверної архітектури [Електронний ресурс] – Режим
доступу:https://glebradchenko.susu.ru/courses/master/dot/2016/DOT_SUSU_6_Arc
hitecture_Client-Server.pdf
9. Визначення та історія мейнфрейма [Електронний ресурс] – Режим
доступу:https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B9%D0%BD
%D1%84%D1%80%D0%B5%D0%B9%D0%BC
10. Визначення Postman [Електронний ресурс] – Режим доступу:
https://habr.com/ru/company/maxilect/blog/596789/
11. Приклади використання Postman [Електронний ресурс] – Режим
доступу: https://learning.postman.com/docs/writing-scripts/test-scripts/
12. Визначення API [Електронний ресурс] – Режим доступу:
https://www.mobidea.com/academy/ru/shto-takoe-api/
13. Визначення UML [Електронний ресурс] – Режим доступу:
https://www.lucidchart.com/pages/ru/uml
14. Визначення Spring framework [Електронний ресурс] – Режим
45

доступу: https://javarush.ru/groups/posts/spring-framework-java-1

You might also like