Please use this identifier to cite or link to this item:
https://er.chdtu.edu.ua/handle/ChSTU/7352Full metadata record
| DC Field | Value | Language |
|---|---|---|
| dc.contributor.advisor | БАБЕНКО, Віра | - |
| dc.contributor.author | СЛАБОШПИЦЬКИЙ, Максим | - |
| dc.date.accessioned | 2026-03-09T20:03:08Z | - |
| dc.date.available | 2026-03-09T20:03:08Z | - |
| dc.date.issued | 2024 | - |
| dc.identifier.uri | https://er.chdtu.edu.ua/handle/ChSTU/7352 | - |
| dc.description.abstract | Метою виконання даної кваліфікаційної роботи на здобуття освітнього ступеня «бакалавр» є створення кросплатформного додатка для управління персоналом компанії. Загальний обсяг роботи становить 80 сторінок. У роботі 6 рисунків. Для виконання роботи використано 25 літературних джерел. Основними завданнями кваліфікаційної роботи є розробка кросплатформенного додатка для управління персоналом з використанням технології PWA, яка дозволить здійснювати різноманітні дії. Цей додаток буде спрощувати процеси управління персоналом для компаній будь-якого розміру та галузі. Стислий опис розділів кваліфікаційної роботи бакалавра складається з аналізу предметної області та постановки задачі; вибору технологій та інструментальних засобів; розробки кросплатформного додатка управління персоналом компанії та реалызацыя його захисту. | uk_UA |
| dc.subject | AWS | uk_UA |
| dc.subject | AWS S3 STATICWEBSITE | uk_UA |
| dc.subject | JAVASCRIPT | uk_UA |
| dc.subject | PWA (PROGRESSIVEWEBAPP) | uk_UA |
| dc.subject | HTTPS | uk_UA |
| dc.subject | КРОСПЛАТФОРМЕННІСТЬ | uk_UA |
| dc.subject | УПРАВЛІННЯ ПЕРСОНАЛОМ | uk_UA |
| dc.subject | МЕНЕДЖМЕНТ ПЕРСОНАЛА | uk_UA |
| dc.subject | ДОДАТОК | uk_UA |
| dc.subject | ХОСТИНГ | uk_UA |
| dc.title | Кросплатформенний додаток управління персоналом компанії | uk_UA |
| dc.type | Bachelor Thesis | uk_UA |
| Appears in Collections: | 123 Комп’ютерна інженерія (Комп'ютерні системи та мережі) | |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| 1_ТИТУЛКА_Слабошпицький-merged.pdf Restricted Access | 1.51 MB | Adobe PDF | View/Open Request a copy |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.
Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ І СИСТЕМ
КАФЕДРА ІНФОРМАЦІЙНОЇ БЕЗПЕКИ ТА КОМП’ЮТЕРНОЇ ІНЖЕНЕРІЇ
ПОЯСНЮВАЛЬНА ЗАПИСКА
до кваліфікаційної роботи бакалавра
на тему:« Кросплатформенний додаток управління
персоналом компанії»
ЧДТУ.242243.008 ПЗ
Виконав: студент 4 курсу, групи КМ-2005
спеціальності 123 – «Комп’ютерна інженерія»
за освітньою програмою – «Комп’ютерні системи
та мережі»
Максим СЛАБОШПИЦЬКИЙ
Керівник
д.т.н., професор
Віра БАБЕНКО
Рецензент
начальник відділу персоналу Черкаського
інституту пожежної безпеки імені Героїв
Чорнобиля НУЦЗ України, к.т.н., доцент
Віталій ЗАЖОМА
«ЗАХИСТ ДОЗВОЛЯЮ»
Завідувач кафедри ІБ та КІ
д.т.н., професор ___________ Віра БАБЕНКО
Черкаси 2024 року
Форма № Н-9.01
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
Факультет: інформаційних технологій і систем
Кафедра: інформаційної безпеки та комп’ютерної інженерії
Освітньо-кваліфікаційний рівень: Бакалавр
Спеціальність 123 – Комп’ютерна інженерія
Освітня програма Комп’ютерні системи та мережі
«ЗАТВЕРДЖУЮ»
Завідувач кафедри ІБ та КІ
д.т.н., професор _____________ Віра БАБЕНКО
«28» лютого 2024 року
ЗАВДАННЯ
на кваліфікаційну роботу бакалавра студенту
Слабошпицькому Максиму Миколайовичу
(прізвище, ім‘я, по батькові)
1. Тема роботи: Кросплатформенний додаток управління персоналом компанії
Керівник роботи: д.т.н., професор Бабенко Віра Григорівна
(прізвище, ім’я, по батькові, науковий ступінь, вчене звання)
затверджені наказом університету від «26» лютого 2024 р. № 60/04
2. Строк подання студентом роботи:
3. Вихідні дані до роботи:
Кросплатформенність, управління персоналом, менеджмент персонала, додаток, хостинг,
AWS, AWS s3 static website, Javascript, PWA (Progressive web app), HTTPS, БД AmazonAurora.
4. Зміст розрахунково-пояснювальної записки (перелік питань, що їх належить розробити):
Вступ
1. Аналіз предметної області та постановка задачі
2. Вибір технологій та інструментальних засобів
3. Розробка кросплатформенного додатку управління персоналом компанії
4. Захист кросплатформенного додатку
Висновки
Список використаних джерел. Додатки
5. Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень, плакатів):
Додаток А Специфікація
Додаток Б Текст програм
Додаток В Інструкція користувача
6. Консультанти розділів роботи:
Розділ Прізвище, ініціали Підпис, дата
консультанта завдання видав завдання прийняв
7. Дата видачі завдання: 28 лютого 2024 року
КАЛЕНДАРНИЙ ПЛАН
Термін
№ з/п Назва етапів роботи виконання Примітка
етапів роботи
1 Збір матеріалу 01.03 – 14.03 виконано
2 Обробка матеріалу 15.03 – 20.03 виконано
3 Обґрунтування актуальності виконання тематики виконано
розробки 21.03 - 25.03
4 Оцінка стану проблеми, виокремлення задачрозробки, виконано
постановка задачі дослідження 26.03 – 01.04
5 Викладення сутності і результатів розробки 03.04 - 08.04 виконано
6 Практичне застосування результатів розробки 09.04 - 27.04 виконано
7 Оформлення результатів в пояснювальну записку 28.04 - 02.05 виконано
8 Подання роботи на відгук та рецензування 15.05 - 20.05 виконано
Студент ___________________________ Максим СЛАБОШПИЦЬКИЙ
(підпис)
Керівник роботи ___________________________ Віра БАБЕНКО
(підпис)
АНОТАЦІЯ
Метою виконання даної кваліфікаційної роботи на здобуття освітнього
ступеня «бакалавр» є створення кросплатформного додатка для управління
персоналом компанії.
Загальний обсяг роботи становить 80 сторінок. У роботі 6 рисунків. Для
виконання роботи використано 25 літературних джерел.
Основними завданнями кваліфікаційної роботи є розробка
кросплатформенного додатка для управління персоналом з використанням
технології PWA, яка дозволить здійснювати різноманітні дії. Цей додаток буде
спрощувати процеси управління персоналом для компаній будь-якого розміру
та галузі.
Стислий опис розділів кваліфікаційної роботи бакалавра складається з
аналізу предметної області та постановки задачі; вибору технологій та
інструментальних засобів; розробки кросплатформного додатка управління
персоналом компанії та реалызацыя його захисту.
Ключові слова: AWS, AWS S3 STATICWEBSITE, JAVASCRIPT, PWA
(PROGRESSIVEWEBAPP), HTTPS, КРОСПЛАТФОРМЕННІСТЬ,
УПРАВЛІННЯ ПЕРСОНАЛОМ, МЕНЕДЖМЕНТ ПЕРСОНАЛА, ДОДАТОК,
ХОСТИНГ
ANOTATION
The purpose of this qualifying work for obtaining the bachelor's degree is to
create a cross-platform application for company personnel management.
The total volume of work is 80 pages. There are 6 drawings in the work. 25
literary sources were used to perform the work.
The main tasks of the qualification work are the development of a cross-
platform application for personnel management using PWA technology, which will
allow various actions to be performed. This application will simplify HR processes
for companies of all sizes and industries.
A concise description of the sections of the bachelor's qualification work
consists of an analysis of the subject area and a statement of the problem; selection of
technologies and tools; development of the company's cross-platform personnel
management application and its protection.
Key words: AWS, AWS S3 STATIC WEBSITE, JAVASCRIPT, PWA
(PROGRESSIVE WEB APP), HTTPS, CROSS-PLATFORM, PERSONNEL
MANAGEMENT, PERSONNEL MANAGEMENT, APPLICATION, HOSTING
ЗМІСТ
ВСТУП..................................................................................................................... 4
1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА ПОСТАНОВКА ЗАДАЧІ..................7
1.1Аналіз існуючих систем................................................................................7
1.2Постановка задачі ........................................................................................12
1.3Висновки до розділу 1.................................................................................15
2 ВИБІР ТЕХНОЛОГІЇ ТА ІНСТРУМЕНТАЛЬНИХ ЗАСОБІВ РОЗРОБКИ
СИСТЕМИ............................................................................................................. 17
2.1Огляд існуючих технологій ........................................................................ 17
2.2 Обґрунтування вибору................................................................................25
2.3 Висновки до розділу 2 ................................................................................ 31
3 РОЗРОБКА КРОСПЛАТФОРМНОГО ДОДАТКУ УПРАВЛІННЯ
ПЕРСОНАЛОМ КОМПАНІЇ ............................................................................... 33
3.1Структура кросплатформного додатку......................................................33
3.2Опис функцій кросплатформного додатку................................................39
3.3Технічні вимоги для роботи з додатком....................................................44
3.4Оцінка ефективності....................................................................................47
3.5Висновки до розділу 3.................................................................................49
4 ЗАХИСТ АВТОМАТИЗОВАНОЇ СИСТЕМИ УПРАВЛІННЯ
ПЕРСОНАЛОМ.....................................................................................................51
4.1Огляд існуючих рішень...............................................................................51
4.2Реалізація захисту користувачів.................................................................55
4.3Висновки до розділу 4.................................................................................59
ВИСНОВКИ...........................................................................................................60
ЧДТУ.242243.008 ПЗ
Змн. Арк. № докум. Підпис Дата
РозрКобив Слабошпицький М.М.
Керівник Бабенко В.Г. Кросплатформенний Літ. Лист Листів
2 80
Рецеанзент Зажома В.М. додаток управління
Н.Контроль Гресько С.О. персоналом компанії Кафедра ІБ та КІ
Затвфердив Бабенко В.Г. Пояснювальна записка гр. КМ-2005
е
д
р
а
К
К
-
0
6
ДОДАТКИ:
А – 482.ЧДТУ.42243-01 Кросплатформенний додаток управління
персоналом компанії
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ……………………………...………..79
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 3
ВСТУП
Актуальність теми. Кросплатформенний додаток для управління
персоналом компаній залишається актуальною в сучасному бізнес-
середовищі. Компанії все частіше мають розподілені команди, що працюють
на різних ринках або навіть у різних країнах. А такі додатки дозволяють
забезпечити єдність управління персоналом незалежно від місцезнаходження
команди.
Зростаюча кількість працівників працює за межами офісних приміщень
або на змінних робочих місцях. Тому це надає можливість управління
персоналом через мобільні пристрої.
Ефективне управління персоналом є ключем до підвищення
продуктивності та зниження витрат. Кросплатформні додатки можуть
спростити процеси найму, оцінки працівників, планування графіків та багато
іншого.
Також можуть допомогти компаніям забезпечити персоналізовані
рішення для своїх працівників, включаючи навчання та розвиток, мотивацію
та задоволення працівників. З більшістю компаній, що використовують
різноманітні програмні засоби для управління бізнесом, інтеграція
кросплатформних додатків з іншими системами стає ключовою. Це дозволяє
збирати та аналізувати дані з різних джерел для прийняття кращих
управлінських рішень.
Отже, тема кросплатформенних додатків для управління персоналом
компаній залишається актуальною і буде набувати все більшого значення в
майбутньому.
Метою кваліфікаційної роботи є розробка кросплатформного додатка
для управління персоналом з використанням технології PWA, яка дозволить
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 4
здійснювати різноманітні дії. Цей додаток буде спрощувати процеси
управління персоналом для компаній будь-якого розміру та галузі.
Для досягнення сформульованої мети необхідно вирішити такі задачі:
1. Провести детальний аналіз потреб та вимог потенційних
користувачів щодо функціональності додатка;
2. Визначити оптимальні технології для розробки зручного та
інтуїтивно зрозумілого інтерфейсу користувача на різних платформах;
3. Розробити структуру бази даних для зберігання інформації про
персонал, графіки роботи, відпустки та інші дані;
4. Забезпечити зручний доступ до бази даних для збереження та
оновлення інформації з боку додатка;
5. Розробити та впровадити заходи забезпечення конфіденційності та
безпеки персональних даних користувачів.
На даний момент існує багато джерел інформації, в яких автори
описують різноманітні способи та підходи. У книзі "Cross-Platform
Application Development: Build Cross-Platform Apps with Xamarin, UWP, and
Visual Studio 2019" написана Самюелем Филипсом та іншими авторами
розглядаються різні аспекти розробки кросплатформних додатків,
включаючи технології Xamarin, Universal Windows Platform (UWP) та Visual
Studio 2019. Автори детально розглядають процес створення додатків для
різних платформ, включаючи інструменти для розробки додатків для
управління персоналом компанії.
Ця книга пропонує практичні поради, приклади коду та кейси з
реального життя, які допоможуть читачам зрозуміти основні принципи та
інструменти, необхідні для успішної розробки кросплатформних додатків
управління персоналом. Автори також розглядають найкращі практики
забезпечення безпеки даних та ефективності додатків, а також стратегії
тестування та впровадження.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 5
Ця книга є важливим ресурсом для розробників програмного
забезпечення, архітекторів систем, менеджерів проектів та всіх, хто
цікавиться розробкою кросплатформних додатків для управління персоналом
в компаніях.
Одержані в кваліфікаційній роботі результати мають практичне
значення. За допомогою використання розробленого додатку процес
управління персоналом стає зручним та комфортним, що надає можливість
вийти на новий рівень, мати швидкий доступ до усієї інформації, вносити
правки або додавати нову інформацію.
Кваліфікаційна робота складається з 4-х розділів, у яких подається
інформація про:
1. Обрану предметну область дослідження та про постановку задачі;
2. Огляд існуючих технологій, за допомогою яких можна реалізувати
подібний додаток та обґрунтування вибору тієї чи іншої технології;
3. Реалізація додатку: відображення структури системи, опис функцій
кожної частини додатка, технічні вимоги, а також практична оцінка
ефективності роботи;
4. Реалізація захисту інформації для додатку.
Використана література, яка використовувалася під час написання
кваліфікаційної роботи, досить добре розкриває основні методики та підходи
для розробки подібних кросплатформенних додатків.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 6
1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА ПОСТАНОВКА ЗАДАЧІ
1.1 Аналіз існуючих систем
Управління персоналом – це комплекс заходів, стратегій та практик,
спрямованих на ефективне управління ресурсом людських потенціалів в
організації з метою досягнення її стратегічних цілей. Це включає в себе ряд
дій та процесів, спрямованих на найм, розвиток, мотивацію, утримання та
розиток персоналу.
Структура управління персоналом складається з різноманітних груп
працівників, які мають різні демографічні, соціальні, функціональні та
професійні характеристики. Професійні фактори впливають на зміст роботи
під впливом нових технологій та змін в економіці. Кваліфікаційна структура
управління персоналом визначає загальну ефективність трудового потенціалу
організації та кожного працівника окремо.
Управління персоналом можна визначити як комплекс заходів,
спрямованих на досягнення ефективного використання працівників для
досягнення цілей підприємства та особистісних цілей [1]. Ця діяльність не
обмежується економічними аспектами, а також включає в себе створення
умов для задоволення потреб персоналу, мотивації до ефективної праці та
розвитку.
Управління персоналом знаходиться на перетині різних наук, таких як
менеджмент, соціологія, психологія, фізіологія, економіка праці, трудове
право та соціальна політика. Це вимагає від управлінців знань та вмінь в
різних галузях та вміння поєднувати їх для досягнення оптимальних
результатів управління персоналом.
В управлінні персоналом можна виділити чотири рівні:
1. Оперативний, де акцент зроблений на кадровій роботі;
2. Тактичний, який орієнтований на управління персоналом;
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 7
3. Стратегічний, який включає управління людськими ресурсами та
розробку кадрової політики;
4. Політичний, де управління спрямоване на розробку стратегічних
кадрових рішень та політики підприємства.
Методи управління персоналом включають економічні, організаційно-
розпорядчі, соціально-психологічні та державно-управлінські підходи, які
допомагають у забезпеченні ефективного використання трудового потенціалу
та досягненні стратегічних цілей організації.
Програмне забезпечення для управління персоналом представляє
собою комплексну систему, що включає різноманітні інструменти для
підтримки HR-процесів або окремих етапів управління кадрами.
У зростаючих компаніях особливо актуальним стає використання
інтегрованих систем, які автоматизують широкий спектр діяльностей, таких
як рекрутинг, онбордінг/офбордінг працівників, атестація, оцінювання
працівників, встановлення цілей (OKR/KPI), обробка запитів працівників,
ведення політики відпусток, облік робочого часу та відвідування і багато
іншого [2].
Крім забезпечення підтримки процесів управління персоналом,
програмне забезпечення виконує функцію бази даних, що надає компанії
цінну та стратегічну інформацію.
На ринку існує розмаїття HR-рішень для бізнесу, яке відповідає
різноманітним потребам та запитам компаній. Існують різні типи
програмного забезпечення для управління персоналом, такі як система
управління талантами (TMS), система відстеження кандидатів (ATS), система
управління навчанням (LMS), проте три найбільш поширені в HR-відділах –
це інформаційна система управління людськими ресурсами (HRIS),
управління людським капіталом (HCM) та система управління людськими
ресурсами (HRMS).
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 8
Хоча система управління талантами фокусується на розвитку
співробітників, система відстеження кандидатів – на рекрутингу, а система
управління навчанням – на знаннях в компанії, інші системи надають
підтримку широкого спектру HR-процесів.
HRIS (система управління інформацією про людські ресурси) – це
система, яка охоплює кадрову політику та процедури, включаючи підбір
персоналу, адміністрування пільг, нарахування заробітної плати, управління
відсутністю, робочі процеси, навчання, управління розвитком співробітників,
самообслуговування працівників та звітність.
HCM (управління людським капіталом) – це рішення, яке включає всі
елементи HRIS та додає функціонал управління талантами, контроль витрат,
управління ефективністю та цілями, планування компенсацій та аналітику.
HRMS (система управління людськими ресурсами) – це комплексне
рішення, яке об'єднує функції HRIS та HCM, додавши до них функції
розрахунку заробітної плати та управління проектним часом. Ця система
надає можливість відстежувати активність співробітників, їхні шляхи
розвитку та ефективність, а також проводити глибоку аналітику, формувати
звітність та забезпечувати ефективну внутрішню комунікацію.
Використання програмного забезпечення для управління персоналом
має ряд переваг, які можна розділити на чотири основні напрямки:
1. Економічні переваги. Актуальні дані для прийняття рішень.
Забезпечення постійного доступу до актуальної інформації сприяє
ефективному управлінню персоналом та прийняттю обґрунтованих рішень.
Автоматизація та оптимізація робочих процесів дозволяють ефективніше
використовувати робочу силу компанії. Використання HR-систем допомагає
зменшити витрати на рекрутинг та найм нового персоналу. Автоматизація
процесів призводить до усунення паперової документації та зменшення
адміністративних витрат.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 9
2. Організаційні переваги. Автоматизація робочих процесів звільняє
час HR-фахівців для більш персоналізованої та ефективної роботи з
працівниками. HR-системи сприяють покращенню співпраці та координації
між різними командами в організації. Застосування систем управління
персоналом допомагає виявити та розвинути потенційні таланти в компанії.
3. Технологічні переваги. HR-системи забезпечують швидку обробку та
доступ до інформації у внутрішній базі даних співробітників. Використання
системних авторизацій та ієрархії доступу зменшує ризик помилок та
забезпечує безпеку конфіденційної інформації.
4. Нематеріальні вигоди. HR-системи сприяють покращенню
комунікації та співпраці між співробітниками та різними відділами компанії.
Використання HR-систем дозволяє краще зрозуміти потреби та очікування
працівників, що сприяє покращенню умов праці та задоволенню персоналу.
Кросплатформеність – це властивість програмного забезпечення або
додатка, яка означає, що вони можуть працювати на різних операційних
системах чи пристроях без значних змін у коді або функціональності.
Наприклад, кросплатформенні мобільні додатки можуть працювати як на
пристроях з iOS (Apple) так і на тих, що працюють на Android (Google),
використовуючи спільний код [3].
Для досягнення кросплатформеності, розробники можуть
використовувати різні технології, такі як фреймворки розробки програмного
забезпечення (наприклад, React Native для мобільних додатків), веб-
технології (наприклад, HTML, CSS, JavaScript для веб-додатків), або
спеціальні інструменти для розробки кросплатформених десктопних
програм.
Кросплатформеність дозволяє розробникам максимально розширити
аудиторію свого продукту, оскільки вони можуть забезпечити доступ до
нього.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 10
Переваги:
1. Розробка кросплатформених додатків дозволяє заощадити час і
гроші, оскільки розробники можуть використовувати спільний код для різних
платформ;
2. Кросплатформенні додатки можуть бути доступні для більшої
кількості користувачів, оскільки вони працюють на різних операційних
системах;
3. Підтримка і оновлення кросплатформених додатків може бути
спрощена, оскільки зміни можуть бути внесені одразу для всіх платформ;
4. Користувачі отримують однаковий досвід використання додатка
незалежно від платформи, на якій вони працюють.
Недоліки:
1. Деякі кросплатформені фреймворки можуть мати обмеження
щодо функціональності або швидкості роботи порівняно з нативними
рішеннями;
2. Деякі елементи інтерфейсу користувача або функціональні
можливості можуть потребувати додаткової адаптації для різних платформ;
3. Розробка кросплатформених додатків може бути залежною від
конкретних інструментів і фреймворків, що може обмежувати вибір.
Фреймворки для мобільних додатків наприклад, React Native, Flutter,
Xamarin.
Веб-технології при використанні мобільних або десктопних веб-
додатків (Progressive Web Apps, Single Page Applications). Кросплатформені
інструменти для десктопів наприклад, Electron.
Кросплатформна розробка стає все більш популярною завдяки своїм
перевагам, але варто уважно розглянути конкретні потреби проекту перед
прийняттям рішення про використання кросплатформених технологій.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 11
1.2 Постановка задачі
Розробка кросплатформних додатків має кілька важливих переваг. По-
перше, вона дозволяє розширити аудиторію користувачів, оскільки додаток
може бути доступний на різних операційних системах, таких як iOS, Android,
Windows, macOS та інші. Це робить продукт більш доступним і привабливим
для різних категорій користувачів.
Друга перевага полягає в економії часу та коштів. Розробка окремих
версій для кожної платформи може бути дорогою та часоємкою задачею.
Використання кросплатформних фреймворків дозволяє використовувати
спільний код, що значно зменшує затрати на розробку та прискорює процес.
Додатково, розробка кросплатформних додатків спрощує процес
підтримки та оновлення. Зміни та вдосконалення можуть бути внесені одразу
для всіх платформ, що забезпечує однакову функціональність та зручність
для всіх користувачів.
Крім того, кросплатформні додатки надають однаковий
користувацький досвід незалежно від платформи, що сприяє єдності бренду
та зручності використання. Користувачі можуть отримати однаковий
функціонал та відчуття навіть при переході між різними пристроями та
операційними системами.
Під час розробки нативних програм використовуються інструменти та
технології, що прямо пов'язані з конкретною платформою. Це сприяє прямій
та ефективній взаємодії застосунку з платформою, що призводить до
підвищення загальної швидкості та продуктивності програми. Нативні
додатки демонструють високу ефективність, особливо під час використання
графічного чіпа пристрою. Це особливо помітно у мобільних іграх, які в
основному є нативними застосунками. Крім того, такі додатки мають менший
час відгуку, меншу ймовірність збоїв та зависань, що робить їх більш
надійними та стабільними.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 12
Нативні додатки надають більш повноцінний доступ до функцій і
сервісів платформи, що дозволяє створювати застосунки з максимальним
використанням можливостей цієї платформи. Наприклад, вони дозволяють
отримувати високоякісні фотографії та відео у нативних додатках для фото- і
відеозйомки. Також вони забезпечують доступ до функцій, таких як
Bluetooth, NFC, GPS, аудіо-модуль та інші.
Інший важливий аспект – це звичний інтерфейс користувача, який є
більш адаптованим до конкретної платформи. Нативні додатки мають
тіснішу інтеграцію з платформою, що дозволяє використовувати максимум
доступних можливостей апаратної частини пристрою і краще відповідати
гайдлайнам користувацького досвіду. Таким чином, розробники можуть
створити інтерфейс, який є більш зрозумілим та звичним для аудиторії певної
платформи.
Такі додатки зазвичай мають краще позиціонування в онлайн-
маркетплейсах, таких як App Store та Google Play. Це пояснюється тіснішою
інтеграцією з платформою і пристроєм, а також якіснішим користувацьким
досвідом. Крім того, існують припущення про те, що механізми ранжування
на цих майданчиках сприятливіше ставляться до нативних додатків.
Розробка програми для кількох платформ може значно збільшити час
розробки і вартість проекту, оскільки потрібно створювати окремі бази коду
для кожної платформи. При цьому адаптація UI/UX-дизайну під кожну
платформу також може зайняти значний обсяг часу, що ще більше збільшить
витрати на розробку.
Залежність від однієї мобільної операційної системи може обмежити
охоплення та доступність застосунку. Наприклад, якщо програма
розробляється виключно для Android, це може бути вигідно в країнах, де
переважна більшість користувачів використовує саме цю платформу, але при
цьому обмежує доступ до iOS-користувачів.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 13
Втрата фінансових можливостей може виникнути через обмеження
ринку лише однією мобільною платформою. Якщо програма не планується
для виходу на інші платформи в майбутньому, це може призвести до втрати
потенційних прибутків, особливо якщо проект стане успішним і отримає
популярність.
Актуальність менеджменту персоналу полягає у постійно зростаючій
потребі організацій у вдосконаленні стратегій управління людськими
ресурсами для досягнення конкурентних переваг і підтримки ефективного
функціонування бізнесу. Сучасні організації розуміють, що успіх на ринку
значною мірою залежить від ефективного управління персоналом,
враховуючи його потреби, мотивацію, розвиток та забезпечення комфортних
умов праці. В умовах швидких змін у технологіях, ринкових умовах і
клієнтських вимогах, актуальний менеджмент персоналу дозволяє
підприємствам адаптуватися до нових викликів та забезпечує їхню стійкість і
конкурентоспроможність.
Актуальність менеджменту персоналу детальніше виявляється в низці
ключових аспектів, що включають у сучасному бізнес-середовищі, де
технології та ринкові умови швидко змінюються, менеджмент персоналу
повинен бути гнучким і адаптивним до нових викликів та можливостей.
В умовах загостреного конкурентного середовища збереження та
навернення талановитого персоналу стає ключовим завданням. Менеджери
персоналу повинні розвивати стратегії для виявлення, розвитку та утримання
найкращих кадрів.
Культура організації визначається її цінностями, нормами і
практиками. Ефективний менеджмент персоналу сприяє створенню
стимулюючої та відкритої культури, що сприяє залученню та збереженню
талановитих працівників.
Застосування сучасних технологій у менеджменті персоналу, таких як
програмне забезпечення для управління персоналом та аналітичні
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 14
інструменти, дозволяє ефективно відстежувати та аналізувати дані про
працівників для прийняття обґрунтованих управлінських рішень.
Розвиток лідерського потенціалу в середньому та вищому керівництві
стає важливим аспектом управління персоналом, оскільки це сприяє
підвищенню продуктивності та створює основу для подальшого успіху
організації.
Усі ці аспекти вказують на те, що актуальність менеджменту персоналу
не тільки підтримує стабільність та ефективність бізнесу, але і стає
стратегічним фактором у досягненні успіху в умовах постійних змін.
1.3 Висновки до розділу 1
У розділі, присвяченому аналізу предметної області, було проведено
аналіз широкого спектра аспектів, починаючи від концептуального розуміння
самого поняття "управління персоналом" та завершуючи дослідженням
кросплатформеності додатків. Було виявлено, що управління персоналом є
складним процесом, включаючи різноманітні функції, що здійснюються в
умовах постійної динаміки сучасного бізнес-середовища та вимагає
компетентного використання технологій. Розглянули переваги та обмеження
кросплатформних додатків, що акцентувало увагу на важливості розробки
таких додатків для забезпечення ширшого охоплення ринку та отримання
економічних переваг.
Розглянуто сутність розробки кросплатформних додатків та визначено
їх переваги та недоліки. Це дало змогу підкреслити, що кросплатформні
додатки можуть забезпечити швидкий доступ до різних платформ та
покращити ефективність розробки, проте водночас можуть мати обмеження в
функціональності та продуктивності.
Зміни в технологічному середовищі та динаміка вимог ринку
підкреслюють необхідність постійного удосконалення підходів до
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 15
управління персоналом, що включає використання сучасних технологій та
активну розробку кросплатформних додатків. Такий стратегічний підхід
сприятиме більш ефективному використанню ресурсів підприємств та
забезпечить конкурентні переваги в умовах постійних змін.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 16
2 ВИБІР ТЕХНОЛОГІЇ ТА ІНСТРУМЕНТАЛЬНИХ ЗАСОБІВ
РОЗРОБКИ СИСТЕМИ
2.1 Огляд існуючих технологій
Хостинг (англ. hosting, від слова host – приймати гостей) – це послуга,
яка полягає у наданні дискового простору, підключення до мережі та інших
ресурсів для розміщення фізичної інформації на постійно активному сервері
в мережі, наприклад, Інтернеті.
Поняття хостингу включає в себе різноманітні послуги, пов'язані з
використанням апаратного та програмного забезпечення. Зазвичай це
включає розміщення файлів сайту на сервері та використання програмного
забезпечення для обробки запитів до цих файлів, так званий веб-сервер. До
послуг хостингу можуть входити також надання місця для електронної
пошти, баз даних, файлового сховища DNS та інші сервіси, а також
підтримка функціонування цих сервісів.
Послуги хостингу часто надаються у пакеті з іншими послугами,
такими як реєстрація доменного імені, створення сайту або надання
додаткового програмного забезпечення.
Провайдерами хостингу можуть бути як спеціалізовані компанії, що
надають послуги хостингу (так звані "хостери"), так і великі провайдери
інформаційних послуг, які спеціалізуються на інших сферах, наприклад,
Google, Microsoft, Yahoo та інші.
Хостинг може бути безкоштовним або платним. Безкоштовні хостери
можуть заробляти гроші, розміщуючи рекламу на своїх сайтах або шляхом
надання інших платних послуг [4].
Існує кілька типів хостингу, які відрізняються за масштабом,
функціональністю та ціновою політикою, які зображено на рисунку 2.1.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 17
Рисунок 2.1 – Види хостингу
Віртуальний приватний сервер (VPS) – цей тип хостингу надає більшу
незалежність та контроль над сервером, порівняно зі спільним хостингом.
Кожен VPS функціонує як окремий віртуальний сервер, і користувач має
можливість налаштовувати його згідно своїх потреб.
Віддалений сервер – користувач орендує цілий фізичний сервер для
власних потреб. Цей варіант підходить для великих компаній або тих, хто
потребує максимального контролю і ресурсів.
Хмарний хостинг – тип хостингу базується на використанні хмарних
технологій, де ресурси сервера розподіляються між кількома серверами у
великому об'ємі. Хмарний хостинг дозволяє масштабувати ресурси за
потреби та забезпечує більшу надійність завдяки резервному зберіганню
даних.
Колокейшн (Colocation) або виділений сервер, це послуга, при якій
користувач закуповує фізичний сервер і розміщує його в дата-центрі для
обслуговування. Ця послуга не є дешевою і найчастіше використовується
компаніями або хостерами, які надають послуги віртуального хостингу.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 18
Хмарний хостинг, у свою чергу, це послуга, при якій дані
розміщуються на кількох серверах, між якими розподіляється навантаження.
У більшості випадків хмарний хостинг використовує кластерну систему. Цей
вид хостингу особливо популярний серед новинних видань, де час від часу
може збільшуватися навантаження на сервер.
Реселінг – це послуга хостингу для реселерів, які розміщують сайти
своїх клієнтів. Цей тип хостингу використовується для перепродажу
хостингу. Реселлінг найбільш популярний серед веб-студій, які розміщують
сайти своїх клієнтів і надають їм повний доступ до облікового запису
хостингу свого сайту. Це досить доступна послуга, але для вивчення її
можливостей потрібно витратити час на вивчення панелі керування.
Ці різноманітні види хостингу дозволяють користувачам вибрати
оптимальний варіант для своїх потреб з урахуванням обсягу трафіку,
ресурсів та бюджету [5].
Amazon Web Services (AWS) – це платформа хмарних обчислень, що
надає широкий спектр послуг, таких як обчислення, зберігання даних, бази
даних, машинне навчання, штучний інтелект, аналітика, Інтернет речей (IoT)
та інші. AWS є філіалом Amazon, що запускається в 2006 році, і в даний час
вважається одним з провідних провайдерів хмарних послуг у світі.
Платформа AWS дозволяє підприємствам будувати, розгортати та керувати
різноманітними веб-додатками та сервісами, забезпечуючи високу
доступність, масштабованість та безпеку.
AWS має значно більше сервісів та більше функцій у межах цих
сервісів, ніж будь-який інший провайдер хмарних послуг – від
інфраструктурних технологій, таких як обчислення, зберігання та бази даних,
до новітніх технологій, таких як машинне навчання та штучний інтелект,
бази даних та аналітика, та Інтернет речей [6]. Це робить процес перенесення
існуючих застосунків до хмари та розробки практично будь-якого проекту
швидшим, простішим та економічно вигіднішим.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 19
AWS також має найглибші можливості в межах цих сервісів.
Наприклад, AWS пропонує найширший асортимент баз даних, спеціально
розроблених для різних типів застосунків, щоб можна було обирати
потрібний інструмент для роботи та отримати найкращі витрати та
продуктивність.
AWS спроектовано для того, щоб бути найбільш гнучким та безпечним
хмарним середовищем обчислень, доступним на сьогоднішній день. Основна
інфраструктура побудована таким чином, щоб задовольняти вимоги до
безпеки для військових, глобальних банків та інших організацій з високим
рівнем чутливості. Це підтверджується глибоким набором інструментів
безпеки хмари, які включають понад 300 сервісів та можливостей з безпеки,
відповідності та управління, а також підтримку 143 стандартів безпеки та
сертифікацій відповідності.
AWS API Gateway – це керований сервіс, який дозволяє легко
створювати, публікувати, підтримувати, моніторити та захищати RESTful та
WebSocket API будь-якої масштабності. Цей сервіс дозволяє створювати
потужні з'єднання між вашими веб-застосунками та послугами зовнішніх
ресурсів, дозволяючи вам зосередитися на розробці вашого бізнесу, а не на
вирішенні складних проблем інтеграції API. Принцип роботи AWS API
Gateway зображено на рисунку 2.2.
Рисунок 2.2 – Принцип роботи AWS API Gateway
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 20
AWS API Gateway також надає різноманітні можливості для керування
трафіком, включаючи можливість маршрутизації запитів на різні версії API
або на різні екземпляри бекенд-сервісів. Крім того, він підтримує інтеграцію
з різними сервісами AWS, що дозволяє легко поєднувати API з іншими
рішеннями в області хмарних обчислень. AWS API Gateway також надає різні
опції моніторингу та аналізу використання API, що дозволяє розробникам
відстежувати та аналізувати використання їхніх API та приймати відповідні
рішення для оптимізації їх продуктивності.
AWS S3 Static Website – це послуга Amazon Web Services, яка дозволяє
розгортати статичні веб-сайти без необхідності керування серверами або
використання веб-серверного програмного забезпечення. Вона базується на
простому зберіганні об'єктів Amazon S3 (Simple Storage Service) і забезпечує
можливість безпосереднього розміщення HTML-сторінок, CSS-стилів,
JavaScript-скриптів та інших ресурсів на серверах Amazon.
За допомогою AWS S3 Static Website можна легко розгортати статичні
веб-сайти, такі як особисті блоги, корпоративні веб-сторінки або веб-сайти-
візитки, без необхідності адміністрування складних серверних
інфраструктур, Принцип роботи AWS S3 Static Website зображено на
рисунку 2.3.
Це робить процес розгортання та управління веб-сайтами більш
простим і ефективним, особливо для невеликих проектів або статичних
сторінок, які не потребують великої обробки на серверному рівні.
Мова програмування – це формальна мова, яка використовується для
написання програм, які можуть бути виконані комп'ютером. Ці мови
визначають набір правил і синтаксису, за допомогою яких програмісти
можуть створювати програми, що виконують різноманітні завдання. Вони
дозволяють програмістам створювати програми, які взаємодіють з
комп'ютером та виконують різні завдання, включаючи обробку даних,
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 21
управління введенням/виведенням, взаємодію з користувачем та багато
іншого.
Рисунок 2.3 – AWS S3 Static Website
Мови програмування можуть бути класифіковані за різними
критеріями, такими як рівень абстракції, тип системи, для якої призначені, та
багато іншого. Деякі з найпопулярніших мов програмування включають
Python, Java, JavaScript, C++, C#, Ruby, PHP та інші [7]. Кожна мова має свої
унікальні особливості, призначення та специфікації, що робить їх
підходящими для різних видів програмних завдань.
JavaScript – це високорівнева, інтерпретована мова програмування, що
використовується для створення динамічних інтерактивних веб-сайтів. Вона
зазвичай використовується разом з HTML і CSS для створення змісту та
стилізації веб-сторінок. JavaScript також може використовуватися на боці
клієнта (у веб-браузері користувача) або на боці сервера (за допомогою
середовищ виконання, таких як Node.js).
JavaScript був створений компанією Netscape і спочатку випущений в
1995 році. Він швидко став однією з найпопулярніших мов програмування
для веб-розробки, завдяки своїй простоті використання та потужним
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 22
можливостям. JavaScript має багатий набір функцій і бібліотек, що дозволяє
розробникам створювати різноманітні веб-додатки, від простих анімацій до
складних веб-застосунків.
Однією з ключових особливостей JavaScript є його асинхронний
характер, що дозволяє виконувати операції без блокування основного потоку
виконання. Це робить JavaScript ідеальним для створення інтерактивних веб-
сторінок, де користувач може взаємодіяти з елементами сторінки без
очікування завантаження сторінки повністю.
JavaScript також широко використовується для розробки серверних
застосунків за допомогою платформи Node.js. Це дозволяє розробникам
використовувати одну мову програмування як на клієнтському, так і на
серверному боці, що спрощує розробку та підтримку веб-додатків [8].
JavaScript продовжує залишатися однією з найпопулярніших мов
програмування в світі, і використовується мільярдами розробників для
створення різноманітних веб-додатків та сервісів.
Кросплатформеність в JavaScript – це можливість створювати веб-
додатки, які можуть працювати на різних платформах і пристроях без змін у
вихідному коді. JavaScript сама по собі є кросплатформенною мовою
програмування, оскільки браузери на різних операційних системах (таких як
Windows, macOS, Linux) здатні інтерпретувати і виконувати JavaScript-код.
Крім того, існують фреймворки та бібліотеки, такі як React Native,
Ionic, Cordova і Electron, які дозволяють розробникам створювати
кросплатформенні мобільні та настільні додатки з використанням JavaScript,
HTML і CSS. Наприклад, React Native дозволяє розробникам створювати
мобільні додатки, що працюють як на iOS, так і на Android, використовуючи
загальний код JavaScript.
Завдяки цим інструментам розробники можуть ефективно
використовувати свої навички JavaScript для створення додатків для різних
платформ, що дозволяє значно зекономити час і зусилля, які б витрачалися на
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 23
створення окремих додатків для кожної платформи. Крім того, це робить
розробку більш простою і доступною для широкого кола розробників.
Прогресивні веб-додатки (PWA) представляють собою новий рівень
розвитку веб-технологій, що знаходиться між звичайними веб-сайтами та
мобільними додатками. Це дозволяє їм забезпечувати користувачам зручний
та сучасний досвід, що відповідає сучасним вимогам. Поява PWA є логічним
наступним кроком після широкого впровадження адаптивного дизайну веб-
сайтів, спричиненого зростанням мобільного трафіку в Інтернеті протягом
останніх років.
Однак ключовим елементом визначення PWA є те, що вони постійно
розвиваються та вдосконалюються з урахуванням новітніх технологій та
вимог користувачів.
Переваги PWA для веб-сайту очевидні: відсутність потреби в окремому
додатку, економія коштів та часу на його розробку.
Технологія Web App manifest (рисунок 2.4) дозволяє відображати PWA
як окрему іконку, як будь-який інший нативний додаток.
Рисунок 2.4 – Прогресивний веб-додаток (PWA)
Вона також підтримує технологію Push Notifications, яка дозволяє
виводити сповіщення користувачам прямо на екран їхнього пристрою, що
робить PWA ще більш зручними та функціональними.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 24
2.2 Обґрунтування вибору
Створення кросплатформенного додатку для управління персоналом
має декілька важливих переваг. Насамперед, це дозволяє охопити ширше
коло користувачів, адже співробітники можуть використовувати різні
операційні системи та пристрої, такі як iOS, Android та Windows.
Кросплатформений підхід забезпечує доступність додатку для всіх
працівників незалежно від того, яким пристроєм вони користуються, що
підвищує ефективність комунікації та співпраці.
Крім того, кросплатформені додатки дозволяють зекономити час та
ресурси на розробку та підтримку. Замість того, щоб створювати окремі
додатки для кожної платформи, компанія може інвестувати у розробку
єдиного додатку, який працюватиме всюди. Це знижує витрати на розробку,
тестування та обслуговування.
Також кросплатформенні рішення сприяють швидшому впровадженню
та оновленню функціональності. Оновлення можна випускати одночасно для
всіх платформ, що дозволяє оперативно реагувати на потреби бізнесу та
забезпечувати користувачів найсучаснішими інструментами.
У підсумку, кросплатформенний підхід до розробки додатків для
управління персоналом сприяє кращій інтеграції технологій у бізнес-
процеси, підвищує доступність та зручність для користувачів, а також
оптимізує витрати на розробку та підтримку програмного забезпечення. Це
забезпечує більш ефективне управління ресурсами компанії і сприяє її
конкурентоспроможності.
Вибір правильних технологій для розробки кросплатформеного
додатку є надзвичайно важливим, оскільки це впливає на успіх проекту та
задоволення користувачів. По-перше, правильні технології забезпечують
високу продуктивність додатку. Використання ефективних фреймворків та
інструментів дозволяє створити швидкий і стабільний додаток, який
забезпечуватиме плавну роботу на різних платформах. Це особливо важливо
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 25
для користувачів, які очікують миттєвий відгук і безперебійну роботу
програмного забезпечення.
По-друге, правильні технології дозволяють скоротити час і витрати на
розробку. Використання популярних кросплатформених фреймворків, таких
як React Native, Flutter або Xamarin, дозволяє написати код один раз і
використовувати його на різних платформах. Це значно знижує витрати на
розробку і тестування, оскільки немає потреби створювати окремі версії
додатку для кожної операційної системи.
Крім того, важливим аспектом є підтримка та оновлення додатку.
Використання перевірених технологій з активною спільнотою розробників
гарантує наявність регулярних оновлень, виправлення помилок та нових
функцій. Це допомагає підтримувати додаток в актуальному стані, швидко
реагувати на зміни в операційних системах та впроваджувати нові
можливості для користувачів.
Не менш важливою є безпека додатку. Обираючи технології, слід
звертати увагу на їхню здатність забезпечувати захист даних користувачів та
відповідати вимогам сучасних стандартів безпеки. Це допоможе уникнути
потенційних загроз і захистити конфіденційну інформацію.
У підсумку, правильний вибір технологій для розробки
кросплатформеного додатку забезпечує високу продуктивність, економію
часу і коштів, легкість підтримки та оновлення, а також гарантує безпеку. Це
дозволяє створити якісний продукт, який відповідає потребам бізнесу та
очікуванням користувачів, сприяючи його успіху на ринку.
Обираючи технології для кросплатформеної розробки, важливо
враховувати мову програмування, оскільки це впливає на кілька ключових
аспектів проекту. Одним з найважливіших чинників є популярність мови
програмування. Використання популярної мови, такої як JavaScript, Dart або
C#, забезпечує кілька значних переваг.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 26
Популярні мови програмування мають велику та активну спільноту
розробників. Це означає, що завжди можна знайти багато ресурсів для
навчання, документації та прикладів коду. Велика спільнота також сприяє
швидкому вирішенню проблем, оскільки завжди є хтось, хто вже стикнувся з
подібними викликами і може поділитися своїм досвідом або допомогти
порадою.
Також, популярні мови програмування часто підтримуються
численними фреймворками та інструментами для кросплатформеної
розробки. Наприклад, JavaScript є основою для таких потужних фреймворків,
як React Native і Ionic, які дозволяють створювати високоякісні
кросплатформені додатки. Dart, у свою чергу, є основною мовою для Flutter,
який також набуває популярності завдяки своїй продуктивності та зручності.
Вибір популярної мови програмування забезпечує легкість найму
нових розробників. Оскільки більше фахівців знайомі з популярними
мовами, процес пошуку та залучення кваліфікованих розробників стає менш
складним та витратним. Це особливо важливо для компаній, які планують
розширення команди або шукають спеціалістів для підтримки та розвитку
свого продукту.
Ще одним важливим аспектом є стабільність і постійне оновлення мови
програмування [9]. Популярні мови зазвичай мають сильну підтримку з боку
їх розробників та спільноти, що гарантує регулярні оновлення, виправлення
помилок і впровадження нових можливостей. Це дозволяє додатку бути
актуальним і відповідати сучасним вимогам ринку.
У підсумку, врахування мови програмування при виборі технологій для
кросплатформеної розробки є критично важливим. Популярна мова з
великим спільнотою забезпечує доступність ресурсів, підтримку потужних
фреймворків, легкість найму фахівців та стабільність у розвитку, що в
кінцевому результаті сприяє успішній реалізації проекту.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 27
Розробка веб-додатку за замовченням робить додаток
кросплатформеним, оскільки веб-додаток доступний через інтернет-
браузери, які працюють на різних операційних системах та пристроях. Це
означає, що користувачі можуть отримати доступ до вашого додатку з будь-
якого пристрою, який має браузер і підключення до інтернету, чи це
комп'ютер, планшет або смартфон. Такий підхід забезпечує значну
універсальність та доступність додатку.
Веб-додатки використовують стандартні веб-технології, такі як HTML,
CSS і JavaScript, які підтримуються всіма сучасними браузерами. Це означає,
що розробникам не потрібно писати окремий код для кожної платформи, що
значно спрощує процес розробки та обслуговування. Використовуючи
адаптивний дизайн, можна забезпечити оптимальний вигляд та
функціональність додатку на різних пристроях та розмірах екранів.
Крім того, веб-додатки не потребують інсталяції, що значно полегшує
доступ для користувачів. Вони можуть миттєво відкрити додаток, просто
зайшовши на відповідний URL, без необхідності завантажувати та
встановлювати додаток з магазину додатків. Це знижує бар'єри для
користувачів і сприяє швидшому прийняттю додатку [10].
Веб-додатки також мають перевагу в легкості оновлення. Оскільки
додаток знаходиться на сервері, всі оновлення та виправлення можуть бути
зроблені централізовано. Користувачам не потрібно вручну оновлювати
додаток на своїх пристроях, що забезпечує їм завжди актуальну версію з
найновішими функціями та покращеннями.
Розробка веб-додатку сприяє зниженню витрат. Оскільки один додаток
може працювати на всіх платформах, відпадає потреба в розробці та
підтримці окремих версій для різних операційних систем. Це дозволяє
зекономити час та ресурси, що є важливим для ефективного управління
проектами.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 28
Тобто, розробка веб-додатку за замовченням робить його
кросплатформеним, забезпечуючи доступність, простоту використання,
легкість оновлення та економічність. Це дозволяє створити універсальний
продукт, який відповідає потребам сучасного ринку та забезпечує зручність
для користувачів.
Прогресивні веб-додатки (PWA) надають можливість ефективно
використовувати технологію кросплатформеної розробки, поєднуючи
переваги веб-додатків та нативних додатків. PWA працюють у веб-браузері,
але надають користувачам досвід, подібний до нативних додатків, завдяки
використанню сучасних веб-технологій.
Технологія PWA забезпечує високу доступність. Вони можуть
працювати на будь-якому пристрої з веб-браузером, незалежно від
операційної системи. Це робить додаток доступним для широкого кола
користувачів без необхідності розробки окремих версій для кожної
платформи. Користувачі можуть отримати доступ до PWA через URL, що
спрощує процес розповсюдження та використання додатку.
PWA додатки можуть працювати офлайн або при нестабільному
інтернет-з'єднанні завдяки використанню кешування та інших технологій
збереження даних. Це дозволяє користувачам продовжувати роботу з
додатком навіть без підключення до інтернету, що є важливим для
забезпечення безперервності роботи та зручності використання.
Крім того, PWA мають можливість встановлюватися на пристрої
користувачів, як нативні додатки. Вони можуть бути додані на головний
екран, отримувати доступ до функцій пристрою, таких як камера, геолокація
та push-сповіщення. Це створює більш інтерактивний та залучаючий досвід
для користувачів.
PWA також відзначаються високою продуктивністю та швидкістю
завантаження. Використовуючи технології, такі як Service Workers, вони
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 29
забезпечують миттєве завантаження та швидкий відгук, що підвищує
задоволення користувачів і сприяє їх утриманню.
Розробка PWA є економічно вигідною. Вона дозволяє зекономити час
та ресурси на розробку, оскільки один додаток працює на всіх платформах.
Це знижує витрати на підтримку та оновлення, оскільки зміни потрібно
вносити лише в одну версію додатку.
PWA надають можливість правильно використовувати технологію
кросплатформеної розробки, забезпечуючи високу доступність,
продуктивність, інтерактивність та економічність. Це дозволяє створити
сучасні, ефективні та зручні для користувачів додатки, які відповідають
вимогам сьогоднішнього ринку.
Обрана мова програмування JavaScript надає можливість розробляти як
клієнтську, так і серверну частини системи, що значно спрощує процес
розробки та підтримки додатків. Завдяки своїй універсальності та широким
можливостям, JavaScript є ідеальним вибором для повного стеку розробки.
На клієнтській стороні JavaScript вже давно використовується для
створення динамічних та інтерактивних веб-сторінок. Він дозволяє
розробникам додавати до веб-додатків складні функціональні можливості,
покращувати користувацький інтерфейс та забезпечувати високий рівень
взаємодії з користувачем. Такі популярні фреймворки, як React, Angular та
Vue.js, базуються на JavaScript і надають потужні інструменти для створення
сучасних веб-додатків.
На серверній стороні JavaScript використовується за допомогою
платформи Node.js. Node.js дозволяє запускати JavaScript-код на сервері, що
робить можливим використання однієї мови програмування для обох частин
додатку. Це має кілька значних переваг. По-перше, спрощується процес
розробки, оскільки розробники можуть використовувати один і той самий
набір знань та інструментів для роботи з обома частинами системи. Це
знижує криву навчання та підвищує ефективність команди розробників.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 30
Використання JavaScript на сервері забезпечує високу продуктивність
та масштабованість додатків. Node.js використовує неблокуючу модель
вводу/виводу, що дозволяє обробляти велику кількість запитів одночасно без
значних затримок. Це робить його ідеальним вибором для створення систем
реальних часів, таких як чати, стрімінгові сервіси та інші додатки, що
потребують високої швидкості обробки даних.
Об'єднання клієнтської та серверної частин системи на одній мові
також полегшує процес налагодження та тестування. Розробники можуть
використовувати ті ж самі інструменти для відладки коду та
автоматизованого тестування, що знижує ймовірність виникнення помилок
та прискорює цикл розробки.
Отже, вибір JavaScript як основної мови програмування для розробки
обох частин системи надає значні переваги. Він забезпечує єдність
технологічного стеку, підвищує ефективність роботи команди, покращує
продуктивність та масштабованість додатків, а також спрощує процеси
налагодження та тестування. Це робить JavaScript потужним інструментом
для створення сучасних кросплатформених рішень.
2.3 Висновки до розділу 2
У розділі було поставлено завдання обрати технології та інструменти
для розробки кросплатформної системи управління персоналом. Вибір
кросплатформних додатків для цієї системи є важливим з двох основних
причин.
По-перше, кросплатформні додатки дозволяють забезпечити
доступність та сумісність програмного забезпечення на різних платформах,
таких як веб, мобільні пристрої та робочі столи. Це робить систему більш
доступною та зручною для користувачів, оскільки вони можуть
користуватися нею на будь-якому пристрої за їхніми власними вподобаннями
та потребами.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 31
По-друге, переваги кросплатформних додатків включають ефективне
використання ресурсів, зниження витрат на розробку та підтримку, а також
швидкий час розгортання. Однак, важливо враховувати і недоліки такого
підходу, зокрема обмеження функціональності та продуктивності порівняно з
нативними додатками.
Обґрунтування вибору кросплатформних додатків у контексті
актуальності менеджменту персоналу полягає в забезпеченні зручного та
ефективного інструменту для управління персоналом компанії, який був би
доступний для користувачів на будь-якому пристрої та платформі. Такий
вибір технології дозволяє забезпечити максимальну доступність та зручність
використання системи, що є критичним для успіху в сфері менеджменту.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 32
3 РОЗРОБКА КРОСПЛАТФОРМНОГО ДОДАТКУ УПРАВЛІННЯ
ПЕРСОНАЛОМ КОМПАНІЇ
3.1 Структура кросплатформного додатку
Розроблена система складається з двох основних компонентів:
клієнтської частини, яка реалізована у вигляді прогресивного веб-додатка
(PWA), та серверної частини, яка надає необхідні послуги та функціонал.
Клієнтська частина представляє собою прогресивний веб-додаток, який
може працювати на різних платформах та пристроях. PWA забезпечує
зручний та інтуїтивний інтерфейс для користувачів, який дозволяє
взаємодіяти з системою. Користувачі можуть виконувати різні операції,
переглядати дані, взаємодіяти з функціоналом системи тощо,
використовуючи веб-браузер на своєму пристрої.
Серверна частина системи забезпечує логіку обробки запитів та
зберігання даних. Вона надає необхідний функціонал для виконання запитів,
отриманих від клієнтської частини, та здійснює обробку даних за допомогою
різноманітних операцій. Restful API виступає як інтерфейс для комунікації
між клієнтською та серверною частиною. Він використовує стандартні HTTP
методи, такі як GET, POST, PUT та DELETE, для взаємодії з ресурсами на
сервері. Це дозволяє передавати дані між клієнтом і сервером у форматі,
зрозумілому обом сторонам, і забезпечує гнучкість та легкість в розробці та
розширенні системи [11].
Клієнтська частина взаємодіє з серверною частиною шляхом
відправлення HTTP запитів на Restful API, які містять необхідні дані та
інструкції для виконання певних операцій. Серверна частина обробляє ці
запити, виконує необхідні дії та повертає відповідь клієнту. Цей процес
забезпечує ефективну та надійну взаємодію між обома компонентами
системи.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 33
Використання Restful API для комунікації між клієнтською та
серверною частинами системи має кілька переваг, включаючи
стандартизацію взаємодії, простоту реалізації, масштабованість та гнучкість.
Цей підхід дозволяє створювати потужні та ефективні системи, які можуть
працювати на різних пристроях та платформах, і забезпечує найкращий
досвід для користувачів. Схема структури розробленого додатку зображено
на рисунку 2.1.
Розроблений клієнтський додаток з модульною структурою має ряд
переваг, які значно спрощують процес розробки і підтримки програмного
забезпечення.
Модульна структура дозволяє розділити функціонал додатку на
невеликі відокремлені блоки, або модулі. Кожен модуль відповідає за певну
частину функціоналу, що полегшує розуміння, розширення та тестування
коду.
Модульна архітектура дозволяє зменшити залежності між різними
частинами додатку. Кожен модуль може мати свої внутрішні залежності, але
вони мають бути явно визначені та обмежені. Це полегшує управління кодом
і дозволяє легко змінювати або замінювати окремі модулі без впливу на інші
частини додатку.
Також, розробники можуть легко переносити та використовувати
окремі модулі в інших проектах або додавати новий функціонал,
підключаючи вже існуючі модулі, що економить час та зусилля.
Модульна структура дозволяє легко тестувати окремі частини додатку.
Кожен модуль може бути протестований незалежно від інших, що спрощує
виявлення та виправлення помилок. Розділення функціоналу на модулі
дозволяє зменшити ризик появи помилок та зберегти стабільність додатку.
Помилки, що виникають в одному модулі, не повинні впливати на роботу
інших модулів.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 34
Модуль Модуль
менеджменту Модуль менеджменту менеджменту
людей департаментів ролей
Модуль
менеджменту Модуль комунікації з Модуль роботи з
обов’язків сервером фінансами
Клієнтська частина
Інтернет
Модуль комунікації з
клієнтом
БД Модуль роботи з
ресурсами
Серверна частина
Рисунок 3.1 – Структура розробленого додатку
Узагальнюючи, модульна структура дозволяє створювати добре
організовані, легкі у розумінні та підтримці додатки. Вона сприяє
покращенню якості програмного забезпечення та забезпечує його гнучкість
та масштабованість.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 35
Кожен модуль системи має свої власні обов'язки і відповідає за
конкретну функціональну частину додатку.
Модуль роботи з персоналом відповідає за управління інформацією про
співробітників організації. Він забезпечує можливість додавання,
редагування та видалення профілів співробітників, а також зберігає всю
необхідну особисту інформацію, таку як контактні дані, посада, дата
прийому на роботу тощо.
Модуль роботи з департаментами відповідає за управління структурою
організації та розподілом персоналу по різних департаментах. Він надає
можливість створення, редагування та видалення департаментів, а також
призначення співробітників до певних підрозділів.
Модуль менеджменту ролей відповідає за управління доступом до
функціоналу системи для різних користувачів. Він дозволяє надавати та
керувати ролями користувачів, призначати їм права доступу до різних
модулів та функціоналу системи.
Модуль роботи з фінансами відповідає за управління фінансовими
аспектами організації, такими як облік доходів та витрат, фінансові звіти,
оплата роботи співробітників тощо. Він забезпечує можливість внесення та
обробки фінансових даних, а також генерацію звітів для аналізу фінансового
стану компанії.
Кожен з цих модулів виконує свою функцію і взаємодіє з іншими
модулями системи за необхідності. Це дозволяє створювати комплексні
системи, які забезпечують повний функціонал для управління різними
аспектами організації. Крім того, такий підхід зробить код більш
організованим, підтримуваним та легко розширюваним у майбутньому.
У клієнтському додатку реалізований модуль взаємодії з сервером,
який є важливою складовою системи. Цей модуль відповідає за встановлення
та керування з'єднаннями з сервером через безпечний протокол HTTPS. Він
виконує завдання з відправлення HTTP-запитів на сервер та обробки
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 36
отриманих відповідей. Даний модуль забезпечує надійну та ефективну
комунікацію між клієнтом та сервером, що є важливим для правильної
роботи додатку.
Даний тип з'єднання, яке використовується для взаємодії клієнтського
додатка з сервером через протокол HTTPS, дозволяє швидко та ефективно
отримувати інформацію з сервера без значних затримок. Протокол HTTPS
забезпечує захищене шифроване з'єднання між клієнтом та сервером, що
дозволяє передавати дані без ризику їх перехоплення або модифікації з боку
третіх осіб.
Використання HTTPS гарантує конфіденційність, цілісність та
автентифікацію даних, що передаються між клієнтом та сервером. Це
забезпечує високий рівень безпеки та захисту від потенційних загроз, таких
як перехоплення інформації або атаки на дані.
Таким чином, використання HTTPS забезпечує швидку та безпечну
передачу даних між клієнтом та сервером, що є важливим для забезпечення
ефективної роботи додатку та захисту конфіденційної інформації
користувачів.
Серверна частина додатку реалізована з використанням технології
Node.js та фреймворку Fastify. Node.js є популярною платформою, яка
дозволяє використовувати JavaScript для розробки серверних додатків.
Fastify, у свою чергу, є швидким та ефективним фреймворком,
спеціалізованим на створенні високопродуктивних веб-додатків та API.
Використання Node.js дозволяє розробникам працювати з однією
мовою програмування (JavaScript) як на клієнтській, так і на серверній
стороні, що спрощує розробку та обмін кодом між фронтендом та бекендом.
Fastify, з свого боку, забезпечує швидке та ефективне виконання HTTP-
запитів, що дозволяє оптимізувати роботу сервера та забезпечує швидку
відповідь на запити клієнтів [12].
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 37
Завдяки використанню Node.js та Fastify розробники можуть
створювати ефективні та масштабовані серверні додатки, які забезпечують
швидку та надійну взаємодію з клієнтами.
У серверній частині додатка використовується база даних Amazon
Aurora. Amazon Aurora є повністю керованою послугою бази даних, яка надає
високу доступність, масштабованість та надійність. Вона побудована на
основі технологій баз даних з відкритим вихідним кодом, таких як MySQL та
PostgreSQL, але має покращені можливості у порівнянні з ними.
Використання Amazon Aurora дозволяє забезпечити високу швидкодію
роботи бази даних, шкальованість та зменшення витрат на її управління. Ця
база даних може ефективно обробляти великі обсяги даних та велику
кількість запитів, що робить її ідеальним вибором для сучасних веб-додатків
з великим обсягом трафіку.
Завдяки використанню Amazon Aurora в серверній частині додатка
розробники можуть отримати доступ до потужної та надійної бази даних, яка
відповідає потребам їх додатка щодо ефективного зберігання та обробки
даних.
Якщо обидві частини додатка написані на TypeScript, це означає, що як
серверна, так і клієнтська частини використовують цей мовний набір для
програмування. TypeScript – це суперсет JavaScript, який додає статичні типи
до мови, що полегшує виявлення помилок та поліпшує роботу з кодом у
великих проектах.
Використання TypeScript у серверній частині дозволяє розробникам
забезпечити типізацію даних, використовувати сучасні функціональні
можливості мови, такі як асинхронні функції та обіцянки (promises), і
полегшує розробку та підтримку коду [13].
У клієнтській частині TypeScript також забезпечує переваги типізації,
що дозволяє уникати багатьох типових помилок у JavaScript-коді. Крім того,
використання TypeScript сприяє поліпшенню продуктивності розробки,
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 38
забезпечуючи інструменти для автоматичної перевірки типів,
автодоповнення та перевірки коду на етапі розробки.
Отже, обидві частини додатка, як серверна, так і клієнтська, написані
на TypeScript, що сприяє створенню масштабованих, ефективних та надійних
програмних рішень.
Завдяки використанню TypeScript, команди можуть працювати над
окремими модулями або функціональними блоками додатку паралельно, без
великих конфліктів у залежностях та внутрішньому API. TypeScript
допомагає уникнути багатьох типових помилок, а також забезпечує більш
чітку та документовану структуру проекту, що сприяє більш ефективній
співпраці між різними командами.
Крім того, розділена архітектура додатку дозволяє командам
зосередитися на своїх областях відповідальності, прискорюючи процес
розробки та зменшуючи час на розгортання нових функцій та оновлень.
Такий підхід дозволяє командам працювати більш самостійно та ефективно,
що відображається на загальному прогресі проекту.
3.2 Опис функцій кросплатформного додатку
Основною функцією розробленої програми є забезпечення доступу до
управління персоналом з великої кількості різноманітних пристроїв. Це
означає, що користувачі можуть легко керувати персоналом, безпосередньо
зі своїх комп'ютерів, ноутбуків, смартфонів або планшетів, незалежно від їх
місця знаходження або типу пристрою.
Додаток забезпечує доступ до всіх необхідних функцій управління
персоналом через інтуїтивно зрозумілий та зручний інтерфейс користувача.
Це може включати в себе створення, редагування та видалення профілів
співробітників, призначення їх до відповідних департаментів, управління
ролями та доступом, а також ведення обліку робочого часу, оцінку
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 39
ефективності та інші функції, необхідні для ефективного управління
персоналом.
Ця універсальність та доступність забезпечує зручність користувачам
та підвищує продуктивність управління персоналом, оскільки вони можуть
легко отримувати доступ до необхідної інформації та виконувати потрібні дії
з будь-якого мобільного пристрою або комп'ютера.
Розроблений додаток є важливим інструментом для організаційного
управління, оскільки він забезпечує доступ до інформації про персонал з
будь-якого місця та будь-якого пристрою. Це особливо корисно в умовах
сучасного рухомого світу та віддаленої роботи, де доступ до важливих даних
може бути необхідним у будь-який час.
Шляхом використання цього додатка, керівники та адміністратори
можуть легко переглядати та аналізувати інформацію про персонал, що
допомагає приймати обґрунтовані рішення з управління та розвитку команди.
Зокрема, можливість додавати, редагувати та видаляти профілі
співробітників забезпечує актуальність та точність даних про персонал. Крім
того, можливість призначати ролі та права доступу дозволяє налаштовувати
рівні доступу до інформації та функціоналу для різних користувачів
відповідно до їхніх обов'язків та відповідальностей.
Розроблений додаток створює простий та ефективний інструмент для
управління персоналом, який сприяє підвищенню продуктивності,
ефективності та зручності процесів управління в організації. Його
доступність з різних пристроїв робить його невід'ємною складовою
сучасного робочого середовища.
Інтерфейс користувача розробленого додатку зображено на
рисунку 3.2.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 40
Рисунок 3.2 – Інтерфейс розробленого додатку
Модуль управління персоналом є однією з ключових складових
розробленого додатку. Він надає користувачам інструменти для ефективного
керування персоналом компанії. Завдяки цьому модулю, користувачі можуть
легко отримувати доступ до інформації про співробітників, переглядати їхні
профілі, а також виконувати різноманітні дії з управління персоналом, такі як
додавання нових співробітників, редагування існуючих профілів та
видалення співробітників з системи. Цей модуль дозволяє забезпечити
актуальність та точність інформації про персонал, а також ефективно
керувати ресурсами компанії, забезпечуючи відповідність потребам
організації.
Модуль управління департаментами є важливою складовою
розробленого додатку, оскільки він дозволяє організаціям ефективно
керувати своєю структурою та організаційною ієрархією. Цей модуль надає
користувачам можливість створювати, редагувати та видаляти департаменти,
а також призначати співробітників до відповідних підрозділів.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 41
Завдяки модулю управління департаментами, керівники можуть
створювати структуру компанії відповідно до її потреб та стратегії розвитку.
Вони можуть організувати департаменти згідно з функціональними
обов'язками, географічним розташуванням або будь-яким іншим критерієм,
який вважається відповідним.
Крім того, модуль управління департаментами включає функціонал для
призначення керівників департаментів, налаштування доступу до ресурсів та
інші аспекти управління департаментами.
Цей модуль сприяє покращенню ефективності та організації
внутрішньої структури компанії, що допомагає в уникненні дублювання
роботи, оптимізації ресурсів та забезпеченні більш ефективного управління
організаційними процесами.
Модуль опису обов'язків є важливим компонентом у системі
управління персоналом, оскільки він дозволяє детально описати ролі та
обов'язки кожного співробітника в організації. Цей модуль надає можливість
створення, редагування та збереження описів посад, включаючи опис
обов'язків, вимог до кваліфікації, очікування щодо результатів та інші
важливі характеристики.
Головною метою модулю опису обов'язків є забезпечення ясності та
консистентності в усій організації щодо очікуваних завдань та
відповідальності кожного співробітника. Він допомагає уникнути
непорозумінь та конфліктів, оскільки всі сторони чітко розуміють свої
обов'язки та очікування.
Крім того, модуль опису обов'язків може включати функціонал для
зв'язку з іншими аспектами системи управління персоналом, такими як
модуль оцінки праці, модуль планування розвитку та інші. Це дозволяє
організації використовувати описи обов'язків як основу для проведення
оцінок праці, планування навчальних програм та розвитку кар'єри
співробітників.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 42
Загалом, модуль опису обов'язків сприяє покращенню ефективності та
прозорості в управлінні персоналом, допомагаючи організації чітко
визначати ролі та очікування від кожного співробітника.
Розділ "Список ролей" є важливою частиною системи управління
персоналом, оскільки він дозволяє адміністраторам і керівникам чітко
визначити права доступу та обов'язки для кожного користувача в системі.
Цей розділ містить перелік доступних ролей та опис їхніх функцій, обмежень
та повноважень.
Кожна роль в системі може мати свої унікальні характеристики та
обмеження, які визначаються адміністратором відповідно до потреб
організації. Наприклад, адміністратор може визначити, які користувачі мають
доступ до певних функцій системи, які дані вони можуть переглядати,
редагувати або видаляти, а також які дії вони можуть виконувати.
Крім того, розділ "Список ролей" може включати можливість
створення нових ролей, редагування або видалення існуючих ролей, а також
призначення користувачів до конкретних ролей. Це дозволяє адміністраторам
гнучко налаштовувати права доступу в системі відповідно до потреб
організації та ролі кожного користувача.
Загалом, цей розділ сприяє покращенню безпеки та ефективності в
управлінні персоналом, забезпечуючи контрольований доступ до інформації
та функціоналу системи відповідно до рівня повноважень кожного
користувача.
Модуль менеджменту фінансів відіграє критичну роль у забезпеченні
фінансової стабільності та ефективного управління грошовими потоками в
організації. Цей модуль надає інструменти для аналізу фінансової звітності,
моніторингу витрат, планування бюджетів і контролю над фінансовою
діяльністю організації. Він допомагає керівництву приймати обґрунтовані
рішення щодо розподілу ресурсів, інвестицій та стратегій фінансового
управління. Це не лише сприяє фінансовій стійкості організації, але й
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 43
допомагає в оптимізації використання фінансових ресурсів та досягненні
стратегічних цілей.
Розроблений додаток є потужним інструментом для повного обліку
персоналу та ефективного управління людськими ресурсами. Завдяки йому
користувачі можуть швидко та зручно виконувати всі необхідні завдання з
управління персоналом, включаючи збереження основної інформації про
співробітників, ведення списку обов'язків, призначення ролей та
налаштування прав доступу. Цей додаток допомагає забезпечити організацію
актуальною та точною інформацією про персонал, сприяє оптимізації
управління людськими ресурсами та підвищує продуктивність роботи
команди.
3.3 Технічні вимоги для роботи з додатком
Мінімальні технічні вимоги для запуску програми – це найбільш базові
характеристики, які повинні бути присутніми на пристрої, щоб програма
могла коректно працювати. Ці вимоги можуть включати в себе операційну
систему, яка підтримується програмою, достатню кількість оперативної
пам'яті та вільного місця на диску для її роботи, а також, у деяких випадках,
особливі апаратні вимоги, наприклад, наявність певного типу процесора чи
графічного прискорювача. Ці вимоги можуть відрізнятися в залежності від
конкретної програми та її функціональності.
Для запуску програми на пристрої, незалежно від того, чи це мобільний
пристрій, комп'ютер або планшет, потрібно враховувати декілька технічних
вимог:
1. Операційна система. Програма повинна бути сумісною з операційною
системою пристрою. Наприклад, деякі програми можуть працювати
лише на Windows, MacOS, Android або iOS;
2. Апаратні вимоги. В залежності від функціональності програми, вона
може потребувати певних апаратних характеристик, таких як обсяг
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 44
оперативної пам'яті, потужність процесора або доступ до певних
датчиків (наприклад, GPS для додатків на мобільних пристроях);
3. Програмне забезпечення. Програма може вимагати наявності певних
програмних засобів або середовища виконання, наприклад, певні версії
операційних систем, веб-браузери, бібліотеки або фреймворки;
4. Мережеві вимоги. Деякі програми можуть потребувати постійного
підключення до Інтернету для коректної роботи або можуть працювати
в офлайн-режимі, але вимагатимуть синхронізації з мережею час від
часу;
5. Простір на диску. Програма може займати певний обсяг простору на
пристрої, особливо якщо вона використовує медіа-файли або потребує
зберігання великих обсягів даних.
Ці вимоги можуть варіюватися залежно від конкретної програми і її
функціональності, тому важливо перед встановленням програми
ознайомитися з її технічними вимогами.
Розроблене програмне забезпечення має перевагу у тому, що воно
працює на будь-яких пристроях, які підтримують роботу веб-браузерів. Це
означає, що користувачі можуть отримати доступ до програми з будь-якого
комп'ютера, ноутбука, смартфона або планшета з доступом до Інтернету і
веб-браузера.
Такий підхід дозволяє забезпечити широке охоплення аудиторії,
оскільки не потрібно встановлювати додаткове програмне забезпечення або
платити за доступ до певної платформи. Користувачам достатньо просто
відкрити веб-браузер і перейти на веб-сайт або застосунок, щоб скористатися
всіма можливостями програми.
Крім того, розробка програмного забезпечення для WEB дозволяє
швидко впроваджувати оновлення та внесення змін, оскільки зміни відразу ж
відображаються для всіх користувачів після їх розгортання на сервері. Це
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 45
забезпечує високу швидкість реакції на зміни в ринкових умовах або вимогах
користувачів.
Для запуску розробленого серверного додатку варто обрати
правильний VPS (віртуальний сервер) сервер, щоб забезпечити надійність,
продуктивність та безпеку системи. Вибір правильного VPS сервера може
вплинути на швидкість роботи додатку, доступність, масштабованість і
рівень безпеки. Нижче перераховано кілька ключових аспектів, які варто
врахувати при виборі VPS сервера:
1. Ресурси сервера. Потрібно обирати сервер з достатнім обсягом
процесорної потужності, оперативної пам'яті і місця на диску, щоб
забезпечити плавну та ефективну роботу додатку, особливо в умовах
великого обсягу трафіку або завдань обробки;
2. Операційна система і конфігурація сервера. Виберіть операційну
систему, яка найбільше підходить для вашого додатку (наприклад,
Linux або Windows), і правильно налаштуйте сервер для оптимальної
продуктивності;
3. Мережевий трафік і доступність. Переконайтеся, що обраний сервер
забезпечує достатній рівень мережевого трафіку та високий рівень
доступності, щоб уникнути відмов у обслуговуванні та забезпечити
безперервну роботу додатку;
4. Безпека. Виберіть сервер з належними заходами безпеки, такими як
захищене з'єднання, регулярні оновлення програмного забезпечення та
можливість встановлення додаткових захисних засобів;
5. Підтримка технічної служби. Оберіть провайдера VPS, який надає
надійну технічну підтримку, щоб в разі потреби отримати допомогу з
налаштування, усунення неполадок або інших технічних питань.
Правильний вибір VPS сервера є важливим кроком у забезпеченні
успішного розгортання та експлуатації серверного додатку.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 46
Розроблений додаток має перевагу у тому, що він не є надто
вимогливий до системних ресурсів, що робить його дуже гнучким у
використанні. Це означає, що він може бути розгорнутий і запущений на
різних пристроях з різними характеристиками без значного впливу на його
продуктивність.
Такий додаток може ефективно працювати на якій завгодно платформі,
як на старих або більш нових комп'ютерах, смартфонах чи планшетах. Він не
вимагає значних обсягів оперативної пам'яті чи процесорної потужності і
може працювати плавно навіть на пристроях з меншими технічними
можливостями.
Це робить розроблений додаток відмінним вибором для широкого кола
користувачів, а також спрощує його використання в різних ситуаціях,
наприклад, під час подорожей, роботи в офісі або вдома.
Крім того, ця характеристика дозволяє зменшити витрати на
обслуговування та підтримку додатку, оскільки він працює ефективно на
більшій кількості пристроїв і не вимагає постійного оновлення апаратного
забезпечення.
3.4 Оцінка ефективності
Оцінка ефективності розробленої програми – це важливий етап у
процесі розробки, який дозволяє зрозуміти, наскільки добре вона відповідає
потребам користувачів і вимогам ринку. Під час оцінки програми
розглядаються різні аспекти, включаючи її функціональність,
продуктивність, масштабованість, безпеку, легкість використання та
сумісність з різними платформами.
Наприклад, функціональність програми оцінюється з точки зору того,
чи вона здатна виконувати потрібні завдання користувачів та чи задовольняє
їх очікування. Продуктивність визначається швидкодією та ефективністю
програми, включаючи час завантаження сторінок, швидкість відповіді на
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 47
запити та обробку даних. Масштабованість дозволяє оцінити, наскільки
добре програма працює при збільшенні обсягу даних чи користувачів.
Безпека є важливим аспектом, оскільки програма повинна бути
захищеною від різних видів загроз, таких як вторгнення, вразливості та
зловмисні програми. Легкість використання оцінюється з точки зору того,
наскільки інтуїтивно зрозумілим є інтерфейс користувача та наскільки легко
користувачі можуть навчитися використовувати програму. Сумісність з
різними платформами визначає, наскільки добре програма працює на різних
пристроях, операційних системах та веб-браузерах.
Варто також враховувати вартість та ефективність використання
ресурсів, щоб забезпечити оптимальний рівень витрат на розробку та
підтримку програми. Оцінка ефективності програми допомагає зрозуміти її
переваги та недоліки і виявити можливості для подальшого вдосконалення.
Розроблена програма надає досить стандартний набір функцій для
управління персоналом, включаючи можливість зберігати та оновлювати
інформацію про співробітників, реєстрацію нових співробітників і вакансій, а
також керування графіком роботи та відпустками. Вона спрощує процеси
управління кадрами, забезпечуючи зручний та ефективний інструмент для
ведення персональних даних та організації робочих процесів.
Основною перевагою розробленої програми є її підтримка
прогресивних веб-додатків (PWA). Це означає, що користувачі можуть
отримати доступ до програми через веб-браузери на будь-яких пристроях без
необхідності завантаження та встановлення окремого додатку з магазину
програм.
PWA пропонують деякі значні переваги, такі як можливість роботи в
офлайн-режимі, швидка відповідь та висока продуктивність, сповіщення та
доступ до функцій пристрою, таких як камера або геолокація [14]. Крім того,
вони забезпечують безпеку та захист даних, що стає додатковою перевагою
для користувачів.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 48
Підтримка PWA робить програму більш доступною та зручною для
користувачів, дозволяючи їм отримати доступ до неї на різних пристроях та
платформах, не залежно від їхньої операційної системи чи встановленого
програмного забезпечення. Такий підхід сприяє покращенню
користувацького досвіду та збільшенню зручності використання програми.
Порівнюючи з існуючими рішеннями, дане програмне забезпечення
має перевагу, оскільки його можна встановити як повноцінну програму на
будь-який пристрій, і це не вимагає використання веб-браузера. Такий підхід
дозволяє користувачам отримати доступ до програми безпосередньо з
робочого столу чи меню пристрою, що робить її більш зручною та
доступною.
Повноцінна інсталяція програми дозволяє використовувати всі її
функції та можливості без обмежень, які можуть виникати при роботі через
веб-браузер. Крім того, це сприяє поліпшенню продуктивності та
забезпеченню більш плавної та ефективної роботи з програмою.
Такий підхід також дозволяє забезпечити більшу стабільність та
безпеку програми, оскільки вона працює незалежно від веб-браузера та може
мати більший рівень контролю над доступом до системних ресурсів
пристрою.
У результаті, встановлення додатку як повноцінної програми на
пристрій робить його більш зручним та ефективним для користувачів,
забезпечуючи високий рівень функціональності та доступності.
3.5 Висновки до розділу 3
У розділі було проведено детальний аналіз та опис структури, функцій,
технічних вимог та оцінку ефективності розробленого кросплатформного
додатку.
Структура додатку була ретельно розглянута з урахуванням
взаємозв'язків між його різними компонентами. Чітко визначені рівні
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 49
доступу та логічна організація допомагають забезпечити зручність
користування та ефективне використання додатку.
Опис функцій додатку надає повний перелік можливостей, які доступні
користувачам. Технічні вимоги для роботи з додатком визначені з
урахуванням оптимальної продуктивності та надійності. Вимоги до
обладнання та програмного забезпечення чітко визначені, що дозволяє
забезпечити стабільну роботу додатку на різних платформах та пристроях.
Оцінка ефективності додатку показала його високий рівень
продуктивності та зручності користування. Він дозволяє зручно та ефективно
керувати персоналом компанії, забезпечуючи необхідний функціонал для
вирішення різних завдань у сфері управління персоналом.
Отже, розділ демонструє успішну розробку та реалізацію
кросплатформного додатку управління персоналом, який відповідає вимогам
сучасної корпоративної сфери та забезпечує ефективну роботу з персоналом
компанії.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 50
4 ЗАХИСТ АВТОМАТИЗОВАНОЇ СИСТЕМИ УПРАВЛІННЯ
ПЕРСОНАЛОМ
4.1 Огляд існуючих рішень
HTTPS (Hypertext Transfer Protocol Secure) – це захищений протокол
передачі даних в мережі Інтернет. Він забезпечує шифрування даних, що
передаються між веб-браузером користувача та веб-сервером, що зменшує
ризик перехоплення або зміни цих даних третіми сторонами.
Основні принципи захисту інформації при використанні HTTPS
включають:
1. Шифрування даних, де HTTPS використовує криптографічні
протоколи, такі як TLS (Transport Layer Security) або SSL (Secure Sockets
Layer), для захисту конфіденційності даних. Це означає, що навіть якщо дані
перехоплені, вони будуть зашифровані і незрозумілі для незаконного
користувача;
2. Підтвердження автентичності, де HTTPS використовує цифрові
сертифікати для перевірки автентичності веб-сайтів. Перед встановленням
безпечного з'єднання браузер перевіряє, чи є сертифікат дійсним і виданим
довіреною організацією. Це допомагає уникнути атак типу "посередника",
коли зловмисник видається легітимним сервером;
3. Ідентифікація сервера, де HTTPS дозволяє перевірити ідентифікацію
веб-сайту, з яким ви взаємодієте, за допомогою сертифіката SSL. Користувач
може перевірити, чи є сертифікат валідним, переглянувши деталі безпеки у
браузері;
4. Захист від зміни даних, де HTTPS забезпечує цілісність даних, що
передаються, за допомогою хеш-функцій. Це означає, що будь-яка зміна
даних під час передачі буде виявлена, оскільки хеш-коди не відповідатимуть.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 51
Усі ці механізми забезпечують високий рівень безпеки при передачі
інформації через HTTPS, зробивши його стандартом для захищеної
комунікації в Інтернеті [15].
За допомогою HTTPS можна забезпечити захист інформації при
передачі через мережу Інтернет на різних рівнях.
Шифрування даних під час передачі забезпечує конфіденційність
інформації. Навіть якщо зловмисник отримає доступ до перехопленого
пакету даних, він не зможе розшифрувати їх без правильного ключа.
Підтвердження цілісності даних дозволяє виявити будь-які зміни, які
можуть бути внесені в дані під час передачі. Завдяки хеш-функціям,
отриманим хеш-кодам даних можна перевірити на відповідність після їх
прийому.
Цифрові сертифікати дозволяють перевірити автентичність веб-сайту.
Користувач може бути впевнений, що він з'єднується з валідним і дійсним
сервером, а не зі зловмисними джерелами.
HTTPS запобігає атакам типу "посередника", де зловмисник може
перехопити або змінити дані, передані між користувачем і сервером.
Перевірка сертифікатів дозволяє уникнути використання фальшивих
сертифікатів, що можуть використовуватися зловмисниками для підробки
інформації про авторизацію .
Ці заходи забезпечують високий рівень безпеки для передачі
інформації через мережу Інтернет за допомогою протоколу HTTPS [16] .
Захист баз даних від несанкціонованого доступу є невід'ємною
частиною забезпечення безпеки інформації в будь-якому бізнесі. Незалежно
від галузі діяльності підприємства, важливо дотримуватися строгих
стандартів щодо захисту конфіденційної інформації, такої як фінансові звіти,
медичні записи чи бізнес-плани.
База даних (БД) представляє собою організовану структуру
інформації, яку можна зберігати, аналізувати та обробляти за допомогою
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 52
СУБД (систем управління базами даних). Оскільки бази даних зберігають
важливі дані, вони стають об'єктом зловживання та атак з боку
несанкціонованих користувачів.
Захист баз даних передбачає використання спеціальних програмних і
технічних засобів, що дозволяють запобігти несанкціонованому доступу та
зберегти конфіденційність інформації [17]. До них входять методи
аутентифікації та авторизації користувачів, шифрування даних, аудит
доступу до інформації, а також фізичні заходи безпеки для захисту серверів і
обладнання.
Регулярна перевірка і поновлення заходів захисту баз даних є
необхідною практикою для запобігання потенційним загрозам безпеки.
Важливо також навчати персонал користуватися інструментами безпеки та
своєчасно реагувати на виявлені уразливості.
Ні одне підприємство, корпорація або державна установа не можуть
функціонувати без інформаційної бази даних (БД), яка містить клієнтські
дані, нормативні акти, продуктову інформацію та фінансові звіти. Ці БД
часто містять особисту, корпоративну та конфіденційну інформацію, і її
незаконне викрадення може призвести до серйозних фінансових та
репутаційних втрат.
Однією з головних загроз безпеці є кіберзлочинність. Зловмисники
постійно вдосконалюють свої методи, використовуючи нові програмні
засоби, такі як вимагачі, та розвиваючи безфайлові методи проникнення.
Протягом лише 2019 року було розкрито понад 9 мільярдів облікових записів
з особистою інформацією. Для захисту конфіденційної інформації важливо
вживати превентивні заходи, такі як налаштування брандмауера для
обмеження доступу до підозрілого трафіку, та реалізовувати заходи і
процедури для виявлення та реагування на порушення безпеки.
Другою проблемою є відповідність нормативним вимогам. Міжнародне
законодавство щодо захисту персональної інформації стає все жорсткішим, і
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 53
організації, які збирають таку інформацію, повинні відповідати цим вимогам
[18]. Для забезпечення відповідності цим стандартам підприємствам
доводиться вкладати значні фінансові ресурси в забезпечення безпеки
своїх БД.
Фундаментальними принципами безпеки є так звана тріада CIA:
конфіденційність, цілісність і доступність.
Конфіденційність означає забезпечення найменших привілеїв і
недопущення несанкціонованого доступу до конфіденційної інформації.
Цілісність передбачає захист від неправильного видалення або зміни
інформації. Один із способів забезпечення цілісності полягає у використанні
цифрового підпису для перевірки автентичності та безпечних транзакцій, що
широко використовується урядовими органами та медичними установами.
Доступність є основним елементом безпеки. Засоби контролю,
комп'ютерні системи і програмне забезпечення повинні працювати належним
чином, щоб забезпечити доступність послуг і інформаційних систем в разі
потреби [19]. Наприклад, якщо фінансова база даних відключена,
бухгалтерський відділ не зможе вчасно відправляти або оплачувати рахунки,
що може призвести до порушення критичних бізнес-процесів.
Захист даних у веб-додатках є критично важливою складовою їх
розробки та експлуатації. Оскільки веб-додатки взаємодіють з користувачами
через мережу Інтернет, вони стають більш уразливими перед різними видами
кіберзагроз. Ось деякі ключові аспекти захисту даних у веб-додатках:
1. Всі дані, що передаються між веб-клієнтом і сервером, повинні бути
зашифровані, особливо чутлива інформація, така як паролі, особисті дані,
дані банківських карток тощо. Використання протоколу HTTPS забезпечує
шифрування даних під час їх передачі;
2. Усі введені дані користувачем повинні бути перевірені та валідовані
на предмет належного формату і дозволених символів, щоб уникнути
вразливостей, таких як SQL-ін'єкції або впровадження коду;
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 54
3. Відсутність належного фільтрування введених користувачем даних
може призвести до XSS-атак, коли зловмисник впроваджує шкідливий код,
який виконується на стороні клієнта. Для запобігання цьому слід
використовувати механізми екранування та правильно обробляти вхідні дані;
4. Виконання зловмисником скриптів на стороні сервера може
призвести до витоку чутливої інформації або зміни функціонування додатка.
Для запобігання цьому слід використовувати відповідні механізми
фільтрування та валідації введених даних;
5. Для забезпечення безпеки доступу до функціоналу додатка слід
використовувати надійні механізми аутентифікації, які підтверджують
ідентичність користувача, а також механізми авторизації, які контролюють
його права доступу до різних ресурсів;
6. Регулярне створення резервних копій даних і відновлення їх в разі
необхідності дозволяє попередити втрату інформації у випадку кібератак або
випадкового видалення;
7. Важливо регулярно оновлювати програмне забезпечення та
застосовувати патчі безпеки для усунення виявлених вразливостей і
мінімізації ризиків;
8. Постійний моніторинг безпеки дозволяє вчасно виявляти та
реагувати на потенційні загрози, а також проводити аудит системи на
предмет виявлення слабких місць і підвищення рівня захисту.
4.2 Реалізація захисту користувачів
Забезпечення захисту даних при роботі з прогресивними веб-додатками
(PWA) є критично важливим з кількох причин. PWA поєднують переваги
веб-додатків та нативних додатків, і, як будь-які інші онлайн-додатки, вони
можуть бути вразливі до різних загроз.
PWA часто обробляють чутливу інформацію користувачів, таку як
особисті дані, фінансові дані, облікові записи тощо. Захист цієї інформації є
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 55
обов’язковим для запобігання несанкціонованому доступу та витоку даних.
Втрата або компрометація конфіденційної інформації може призвести до
серйозних наслідків, включаючи шахрайство, крадіжку особистих даних та
фінансові збитки для користувачів.
Безпека даних безпосередньо впливає на довіру користувачів до
розробленого додатку. Якщо користувачі відчувають, що їхні дані не
захищені належним чином, вони, швидше за все, не будуть користуватися
додатком. Втрата довіри може мати довгострокові негативні наслідки для
репутації компанії та її фінансових показників.
Різні країни та регіони мають свої закони та регуляції щодо захисту
даних, такі як GDPR в Європейському Союзі або CCPA в Каліфорнії [20].
Недотримання цих нормативних вимог може призвести до значних штрафів
та юридичних проблем. Тому забезпечення захисту даних є не лише етичним,
але й юридично необхідним кроком.
PWA, як і будь-які інші додатки, можуть стати мішенню для різних
кіберзагроз, включаючи атаки типу XSS (cross-site scripting), CSRF (cross-site
request forgery), атаки на постачання (supply chain attacks) та інші.
Використання сучасних методів захисту, таких як HTTPS, Content Security
Policy (CSP) та регулярні оновлення безпеки, допомагає захистити додаток
від таких загроз.
Безпека даних також стосується захисту цілісності самого додатку.
Вразливості в безпеці можуть дозволити зловмисникам модифікувати або
ін'єктувати шкідливий код у додаток, що може призвести до компрометації
додатку та його користувачів [21]. Забезпечення цілісності коду та даних
допомагає зберегти стабільність та надійність PWA.
PWA можуть працювати в режимі офлайн, кешуючи дані на пристрої
користувача. Це покращує користувацький досвід, але також створює
додаткові ризики для безпеки. Необхідно забезпечити, щоб ці дані були
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 56
захищені від несанкціонованого доступу, навіть коли користувач не
підключений до інтернету.
У підсумку, забезпечення захисту даних при роботі з PWA є важливим
для захисту конфіденційної інформації користувачів, підтримання їхньої
довіри, дотримання законодавчих вимог, запобігання кіберзагрозам,
збереження цілісності додатку та захисту офлайн-даних. Це комплексний
підхід, що включає використання сучасних методів безпеки, постійний
моніторинг та оновлення захисту для забезпечення надійної роботи додатку.
Захист інформації, збереженої в IndexedDB при роботі з розробленою
програмою, є важливим аспектом забезпечення загальної безпеки вашого
прогресивного веб-додатку (PWA) [22]. IndexedDB є потужним API для
зберігання значних обсягів структурованих даних на клієнтській стороні, і
безпека цих даних має бути ретельно опрацьована.
Першим і найважливішим кроком для захисту даних в IndexedDB є
забезпечення використання HTTPS для вашого додатку. HTTPS шифрує дані,
які передаються між клієнтом і сервером, захищаючи їх від перехоплення та
маніпуляцій. Це особливо важливо для запобігання атакам типу "людина
посередині" (MITM), які можуть скомпрометувати дані, що зберігаються в
IndexedDB.
Забезпечення належної валідації та санітизації всіх введених даних
допомагає запобігти ін'єкційним атакам та іншим типам зловмисних дій. Всі
дані, які зберігаються в IndexedDB, повинні бути перевірені на коректність та
очищені від потенційно небезпечних елементів.
Для додаткового рівня захисту можна шифрувати дані перед їх
збереженням в IndexedDB. Це забезпечить, що навіть якщо зловмисник
отримає доступ до бази даних, він не зможе прочитати або використати ці
дані без ключа шифрування [23]. Використання сильних криптографічних
алгоритмів для шифрування даних значно підвищує їхню безпеку.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 57
Service Workers забезпечують кешування та обробку запитів в
автономному режимі, що є важливою функцією для PWA. Важливо
обробляти дані та кешувати їх з урахуванням безпеки, щоб уникнути
зберігання чутливої інформації в незахищеному вигляді.
Збережені дані в мобільному додатку повинні бути зашифрованими,
оскільки це забезпечує їхній захист у разі втрати пристрою. Мобільні
пристрої, такі як смартфони та планшети, часто містять чутливу інформацію,
включаючи особисті дані користувачів, фінансові записи, повідомлення та
інші конфіденційні відомості. Якщо пристрій буде втрачено або викрадено,
ці дані можуть потрапити до рук сторонніх осіб.
Шифрування даних гарантує, що навіть у випадку фізичної втрати
пристрою, ніхто не зможе прочитати або використати збережену інформацію
без відповідного ключа шифрування. Це значно знижує ризик
несанкціонованого доступу до даних і допомагає захистити користувачів від
можливих зловживань. Шифрування є важливим аспектом забезпечення
конфіденційності та безпеки, який допомагає захистити користувачів від
крадіжки особистих даних, шахрайства та інших кіберзагроз [24].
Використання сучасних криптографічних методів для шифрування
даних забезпечує високий рівень захисту. Це включає шифрування як даних,
що зберігаються на пристрої (data at rest), так і даних, що передаються між
додатком і сервером (data in transit) [25]. У разі втрати або викрадення
пристрою зловмисник не зможе отримати доступ до зашифрованих даних без
криптографічного ключа, який зберігається в захищеному середовищі.
Таким чином, шифрування збережених даних є обов'язковою
практикою для мобільних додатків, що гарантує безпеку і конфіденційність
користувацької інформації навіть у найгірших сценаріях втрати пристрою.
Це підвищує довіру користувачів до додатку та допомагає запобігти
потенційним загрозам і збиткам, пов'язаним з несанкціонованим доступом до
даних.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 58
4.3 Висновки до розділу 4
У розділі проведено огляд існуючих рішень щодо захисту даних
користувачів та реалізовано стратегії захисту в рамках розробленої системи.
Огляд існуючих рішень надав можливість вивчити та аналізувати
різноманітні підходи до захисту даних, що допомогло визначити найбільш
ефективні методи та технології для використання у власній системі.
Реалізація захисту даних користувачів в системі була проведена на
основі зібраної інформації та найкращих практик. Шляхом впровадження
різноманітних заходів безпеки, таких як шифрування даних, контроль
доступу та моніторинг активності користувачів, забезпечено високий рівень
захисту конфіденційності та цілісності даних.
Отже, розділ підкреслює важливість та необхідність захисту
автоматизованих систем від потенційних загроз та небезпек, а також
демонструє успішну реалізацію заходів безпеки у розробленій системі, що
гарантує захист конфіденційності та цілісності даних користувачів.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 59
ВИСНОВКИ
Зміни в технологічному середовищі та динаміка вимог ринку
підкреслюють необхідність постійного удосконалення підходів до
управління персоналом, що включає використання сучасних технологій та
активну розробку кросплатформних додатків. Такий стратегічний підхід
сприятиме більш ефективному використанню ресурсів підприємств та
забезпечить конкурентні переваги в умовах постійних змін.
Кросплатформенний додаток для управління персоналом компаній
залишається актуальною в сучасному бізнес-середовищі. Компанії все
частіше мають розподілені команди, що працюють на різних ринках або
навіть у різних країнах. А такі додатки дозволяють забезпечити єдність
управління персоналом незалежно від місцезнаходження команди.
Зростаюча кількість працівників працює за межами офісних приміщень
або на змінних робочих місцях. Тому це надає можливість управління
персоналом через мобільні пристрої.
Отже, головним завданням випускної кваліфікаційної роботи є
розробка кросплатформенного додатка для управління персоналом з
використанням технології PWA, яка дозволить здійснювати різноманітні дії.
Цей додаток буде спрощувати процеси управління персоналом для компаній
будь-якого розміру та галузі.
У розділі, присвяченому аналізу предметної області, було проведено
аналіз широкого спектра аспектів, починаючи від концептуального розуміння
самого поняття "управління персоналом" та завершуючи дослідженням
кросплатформеності додатків. Було виявлено, що управління персоналом є
складним процесом, включаючи різноманітні функції, що здійснюються в
умовах постійної динаміки сучасного бізнес-середовища та вимагає
компетентного використання технологій. Розглянули переваги та обмеження
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 60
кросплатформних додатків, що акцентувало увагу на важливості розробки
таких додатків для забезпечення ширшого охоплення ринку та отримання
економічних переваг.
У роботі розглянуто сутність розробки кросплатформних додатків та
визначено їх переваги та недоліки. Це дало змогу підкреслити, що
кросплатформні додатки можуть забезпечити швидкий доступ до різних
платформ та покращити ефективність розробки, проте водночас можуть мати
обмеження в функціональності та продуктивності.
У роботі було поставлено завдання обрати технології та інструменти
для розробки кросплатформної системи управління персоналом компанії.
Вибір кросплатформних додатків для цієї системи є важливим з двох
основних причин. По-перше, кросплатформні додатки дозволяють
забезпечити доступність та сумісність програмного забезпечення на різних
платформах, таких як веб, мобільні пристрої та робочі столи. Це робить
систему більш доступною та зручною для користувачів, оскільки вони
можуть користуватися нею на будь-якому пристрої за їхніми власними
вподобаннями та потребами. По-друге, переваги кросплатформних додатків
включають ефективне використання ресурсів, зниження витрат на розробку
та підтримку, а також швидкий час розгортання.
Розроблена система управління персоналом компанії як
кросплатформнй додаток складається з двох основних компонентів:
клієнтської частини, яка реалізована у вигляді прогресивного веб-додатка
(PWA), та серверної частини, яка надає необхідні послуги та функціонал.
У роботі здійснено успішну розробку та реалізацію кросплатформного
додатку управління персоналом, який відповідає вимогам сучасної
корпоративної сфери та забезпечує ефективну роботу з персоналом компанії.
Лист
ЧДТУ.242243.008 ПЗ т
Зм. Лист № докум. Підпис Дата 61
ДОДАТОК А
«ЗАТВЕРДЖУЮ»
Завідувач кафедри ІБ та КІ
д.т.н., професор Віра БАБЕНКО
__________________
«___» ____________ 2024 року
Кросплатформенний додаток управління персоналом компанії
Специфікація
482.ЧДТУ.42243-01
Листів 2
Розробник ______________ Максим СЛАБОШПИЦЬКИЙ
Керівник ______________ Віра БАБЕНКО
Черкаси 2024
2
482.ЧДТУ.42243-01
Позначення Найменування Примітка
Документація
482.ЧДТУ.42243-01 12 01 Текст програми
482.ЧДТУ.42243-01 34 01 Інструкція користувача
ДОДАТОК Б
Кросплатформенний додаток управління персоналом компанії
Текст програми
482.ЧДТУ.42243-01 12 01
Листів 12
Розробник: Максим СЛАБОШПИЦЬКИЙ
Черкаси 2024
2
482.ЧДТУ.42243-01 12 01
import { Component } from '@angular/core';
@Component({
templateUrl: './portal.html',
styleUrls: [ './portal.scss' ]
})
export class PortalComponent {
isVisible = true;
isMobile = true;
buttonStateChange(): void {
this.isVisible = !this.isVisible;
}
closeMenu(): void {
if (this.isVisible && this.isMobile) {
this.isVisible = !this.isVisible;
}
}
windowWidthChange(event: boolean): void {
this.isMobile = event;
if (this.isMobile) {
this.closeMenu();
}
}
}
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { RestMetaDto } from '@modules/rest/rest.meta.dto';
import { UsersRestService } from '@rest/users/users.service';
import { UsersListDto } from '@rest/users/users.list.dto';
import { UsersResponseDto } from '@rest/users/users.response.dto';
import { UsersParams } from '@rest/users/users.params';
@Component({
3
482.ЧДТУ.42243-01 12 01
templateUrl: './list.html',
styleUrls: [ './list.scss' ],
providers: [ UsersRestService ]
})
export class UsersListComponent implements OnInit {
meta: RestMetaDto = new RestMetaDto();
users: UsersListDto = new UsersListDto();
user: UsersResponseDto = null;
usersParams: UsersParams = new UsersParams();
constructor(
private usersRestService: UsersRestService,
private router: Router,
private route: ActivatedRoute
) {}
ngOnInit(): void {
this.usersParams.page = this.route.snapshot.queryParams.page ?
+this.route.snapshot.queryParams.page : null;
this.initUsers();
}
initUsers(): void {
this.usersRestService.getUsers(this.usersParams)
.subscribe(users => {
this.users = users;
this.users.items = users.items.map(user => new UsersResponseDto(user));
this.meta = new RestMetaDto(users.meta);
this.usersParams.page = users.meta.currentPage;
});
}
deleteUser(id: string): void {
this.usersRestService.deleteUser(id)
.subscribe(() => {
this.selectUser(null);
this.initUsers();
},
() => {
4
482.ЧДТУ.42243-01 12 01
this.selectUser(null);
this.initUsers();
});
}
createUser(): void {
this.router.navigateByUrl('users/create');
}
selectUser(user: UsersResponseDto = null): void {
this.user = user;
}
searchUser(searchField: string): void {
this.usersParams.search = searchField;
this.usersParams.page = 1;
this.initUsers();
}
}
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { UsersRestService } from '@rest/users/users.service';
import { UsersRequestDto } from '@rest/users/users.request.dto';
import { UsersResponseDto } from '@rest/users/users.response.dto';
@Component({
selector: 'chdtu-user-form',
templateUrl: './user-form.html',
providers: [ UsersRestService ]
})
export class UserFormComponent implements OnInit {
user: UsersResponseDto = new UsersResponseDto();
userId: string;
selectRole: string[] = [ 'ADMIN', 'USER' ];
selectLocale: string[] = [ 'uk-UA' ];
constructor(
private route: ActivatedRoute,
5
482.ЧДТУ.42243-01 12 01
private userRestService: UsersRestService,
private router: Router
) {}
ngOnInit(): void {
this.route.params.subscribe(data => {
this.userId = data.id;
this.initUser(this.userId);
});
this.user.role = this.user?.role === 'ADMIN' ? 'ADMIN' : 'USER';
}
initUser(id: string) {
return this.userId ? this.userRestService.getUser(id)
.subscribe(user => this.user = new UsersResponseDto(user)) : '';
}
saveChanges(user: UsersResponseDto): void {
if (this.userId) {
this.updateUser(user);
} else {
this.createUser(user);
}
}
private updateUser(userChange: UsersResponseDto) {
this.userRestService.updateUser(this.userId, {
key: userChange.key,
role: userChange.role,
name: userChange.name,
phone: userChange.phone,
token: userChange.token,
email: userChange.email,
locale: userChange.locale
}).subscribe(() => this.router.navigateByUrl('/users'));
}
private createUser(user: UsersResponseDto) {
this.userRestService.createUser({
key: user.key,
role: user.role,
6
482.ЧДТУ.42243-01 12 01
name: user.name,
phone: user.phone,
token: user.token,
email: user.email,
locale: user.locale
}).subscribe(() => this.router.navigateByUrl('/users'));
}
}
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { LocalStorage } from 'ngx-webstorage';
@Component({
selector: 'chdtu-portal-sidebar',
templateUrl: './sidebar.html',
styleUrls: [ './sidebar.scss' ]
})
export class SidebarComponent {
@Input()
notVisible: boolean;
@Output()
buttonStateChange = new EventEmitter();
@LocalStorage()
language;
iconState = false;
isVisible = false;
buttonState(): void {
this.iconState = !this.iconState;
this.buttonStateChange.emit();
}
isVisibleList(): void {
if(this.notVisible) {
this.isVisible = !this.isVisible;
}
7
482.ЧДТУ.42243-01 12 01
}
reloadPage(): void {
window.location.reload();
}
switchLanguage(locale): void {
this.language = locale;
this.reloadPage();
}
}
import { Router } from '@angular/router';
import { Component } from '@angular/core';
import { ParserService } from '@modules/parser/parser.service';
import { AuthorizationService } from '@modules/auth/services/auth.service';
import { LoginRequestDto } from '@rest/login/login.request.dto';
import { LoginRestService } from '@rest/login/login.service';
@Component({
templateUrl: './login.html',
styleUrls: [ './login.scss' ],
providers: [ LoginRestService ]
})
export class LoginComponent {
credential = new LoginRequestDto();
constructor(
private router: Router,
private loginService: LoginRestService,
private parserService: ParserService,
private authorizationService: AuthorizationService
) {}
loginUser(credential: LoginRequestDto): void {
this.loginService.login(credential)
.subscribe(account => {
this.authorizationService.saveAuthorization(account, credential.email);
8
482.ЧДТУ.42243-01 12 01
this.router.navigateByUrl('/');
});
}
}
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { LoginRequestDto } from '@rest/login/login.request.dto';
@Component({
selector: 'chdtu-login-form',
templateUrl: './form.html',
styleUrls: [ './form.scss' ]
})
export class FormComponent {
@Output()
credentialChange = new EventEmitter<LoginRequestDto>();
@Input()
credential = new LoginRequestDto();
}
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { RestMetaDto } from '@modules/rest/rest.meta.dto';
import { RolesParams } from '@rest/roles/roles.params';
import { RolesListDto } from '@rest/roles/roles.list.dto';
import { RolesRestService } from '@rest/roles/roles.service';
import { RolesResponseDto } from '@rest/roles/roles.response.dto';
import { OfficesListDto } from '@rest/offices/offices.list.dto';
import { OfficesParams } from '@rest/offices/offices.params';
import { OfficesResponseDto } from '@rest/offices/offices.response.dto';
import { OfficesRestService } from '@rest/offices/offices.service';
import { UsersListDto } from '@rest/users/users.list.dto';
import { UsersParams } from '@rest/users/users.params';
import { UsersResponseDto } from '@rest/users/users.response.dto';
9
482.ЧДТУ.42243-01 12 01
import { UsersRestService } from '@rest/users/users.service';
@Component({
templateUrl: './list.html',
styleUrls: [ './list.scss' ],
providers: [
RolesRestService,
OfficesRestService,
UsersRestService
]
})
export class RolesListComponent implements OnInit {
roles = new RolesListDto();
role: RolesResponseDto = null;
rolesParams = new RolesParams();
offices = new OfficesListDto();
officesParams = new OfficesParams();
users = new UsersListDto();
usersParams = new UsersParams();
meta = new RestMetaDto();
constructor(
private rolesRestService: RolesRestService,
private officesRestService: OfficesRestService,
private usersRestService: UsersRestService,
private router: Router,
private route: ActivatedRoute
) {}
ngOnInit(): void {
this.rolesParams.page = this.route.snapshot.queryParams.page ?
+this.route.snapshot.queryParams.page : null;
this.initRoles();
this.initOffices();
this.initUsers();
}
10
482.ЧДТУ.42243-01 12 01
createRoles() {
this.router.navigateByUrl(`roles/create`);
}
selectRole(role: RolesResponseDto = null): void {
this.role = role;
}
navigateToRoleInfoPage(id: string) {
this.rolesRestService.getRoleByID(id);
this.router.navigateByUrl(`roles/${id}/information`);
}
deleteRole(id: string): void {
this.rolesRestService.deleteRole(id)
.subscribe(
() => {
this.selectRole(null);
this.initRoles();
},
() => this.selectRole(null)
);
}
initRoles(): void {
this.rolesRestService.getRoles(this.rolesParams)
.subscribe(roles => {
this.roles = roles;
this.roles.items = roles.items.map(role => new RolesResponseDto(role));
this.meta = new RestMetaDto(roles.meta);
this.rolesParams.page = roles.meta.currentPage === 0 ? 1 :
roles.meta.currentPage;
});
}
initOffices(): void {
this.officesParams.limit = 1000;
this.officesRestService.getOffices(this.officesParams)
.subscribe(offices => {
this.offices = offices;
11
482.ЧДТУ.42243-01 12 01
this.offices.items = offices.items.map(office => new
OfficesResponseDto(office));
});
}
initUsers(): void {
this.usersParams.limit = 1000;
this.usersRestService.getUsers(this.usersParams)
.subscribe(users => {
this.users = users;
this.users.items = users.items.map(users => new UsersResponseDto(users));
});
}
rolesSearch(searchField: string): void {
this.rolesParams.search = searchField;
this.rolesParams.page = 1;
this.initRoles();
}
officeIdFilter(searchField: string): void {
this.rolesParams.officeId = searchField;
this.initRoles();
}
usersIdFilter(searchField: string): void {
this.rolesParams.userId = searchField;
this.initRoles();
}
}
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { RoleSettingsRestService } from "@rest/roles/settings/settings.service";
import { RoleSettingsResponseDto } from
"@rest/roles/settings/settings.response.dto";
@Component({
templateUrl: './information.html',
providers: [
12
482.ЧДТУ.42243-01 12 01
RoleSettingsRestService
]
})
export class RoleInformationComponent implements OnInit {
roleId: string;
settings = new RoleSettingsResponseDto();
constructor(
private activatedRoute: ActivatedRoute,
private roleSettingsService: RoleSettingsRestService,
) {}
ngOnInit() {
this.initRoleInformation();
}
private initRoleInformation() {
this.activatedRoute.params.subscribe(params => {
this.roleId = params.id;
this.initRoleSettings();
});
}
private initRoleSettings() {
this.roleSettingsService.getRoleSettings(this.roleId)
.subscribe(settings => this.settings = new RoleSettingsResponseDto(settings));
}
}
ДОДАТОК В
Кросплатформенний додаток управління персоналом компанії
Інструкція користувача
482.ЧДТУ.42243-01 34 01
Листів 3
Розробник: Максим СЛАБОШПИЦЬКИЙ
Черкаси 2024
2
482.ЧДТУ.42243-01 34 01
Розроблена система оптимізована для роботи з використанням Docker.
Це дозволяє нам забезпечити швидку і просту розгортку наших додатків у
будь-якому середовищі, як на локальних серверах, так і в хмарних
інфраструктурах. Docker контейнери ізолюють наші додатки та їх залежності,
що робить розгортку стабільною та надійною. Крім того, вони дозволяють
швидко масштабувати наші системи, враховуючи зростання обсягу роботи. За
допомогою Docker ми забезпечуємо консистентність середовищ від розробки
до виробництва, що спрощує управління і розвиток наших продуктів.
Для запуску додатку через Docker, спочатку переконайтеся, що Docker
встановлено на вашому комп'ютері або сервері. Після цього виконайте
наступні кроки:
Завантажте Docker-контейнер з додатком. Це може бути виконано за
допомогою команди:
docker pull назва_контейнера:тег
Після завантаження контейнера запустіть його, використовуючи
команду:
docker run -p зовнішній_порт:внутрішній_порт назва_контейнера
зовнішній_порт - порт на вашому комп'ютері, через який ви будете
отримувати доступ до додатку.
внутрішній_порт - порт, на якому запущений наш додаток всередині
контейнера.
Після запуску контейнера додаток буде доступний за адресою
localhost:зовнішній_порт у вашому веб-браузері або іншому програмному
засобі з досту
Розроблений додаток інтегрований з базою даних AWS Aurora. Це
надійне та масштабоване рішення для зберігання даних в хмарному
середовищі AWS. Завдяки інтеграції з Aurora, наш додаток отримує доступ до
потужних можливостей реляційної бази даних, таких як надійність, швидкодія
та масштабованість. Крім того, використання AWS Aurora спрощує
3
482.ЧДТУ.42243-01 34 01
управління базою даних, забезпечуючи автоматичне масштабування, резервне
копіювання та високу доступність. Це дозволяє нам зосередитися на розробці
функціональності нашого додатку, маючи впевненість у стабільності та
безпеці зберігання даних.пом до мережі.
Для роботи з AWS Aurora потрібно створити обліковий запис в Amazon
Web Services (AWS). AWS надає інфраструктуру у хмарному середовищі,
включаючи бази даних, такі як Aurora. Створення облікового запису в AWS
дозволить вам отримати доступ до різноманітних сервісів, у тому числі до
AWS Aurora, для зберігання та управління вашими даними в хмарі.
Використання бази даних AWS Aurora може бути замінено на MySQL.
AWS Aurora є розширенням MySQL і забезпечує сумісність з інтерфейсом та
синтаксисом MySQL, тому перехід від AWS Aurora до самостійної MySQL
бази може бути відносно простим.
Однак, важливо врахувати деякі відмінності між цими системами. AWS
Aurora надає додаткові можливості, такі як автоматичне масштабування,
високу доступність та більшу продуктивність порівняно з класичним MySQL.
Перед заміною бази даних AWS Aurora на MySQL, варто ретельно
проаналізувати вимоги вашого додатку і забезпечити, що MySQL зможе
задовольнити всі ці вимоги.
Додаток розроблено за принципом PWA (Прогресивні веб-додатки), що
означає, що він може бути запущеним на будь-якому пристрої, який підтримує
цю технологію. PWA поєднує в собі переваги веб-сайтів і звичайних
мобільних додатків, що дозволяє нашому додатку працювати як настільна, так
і на мобільній платформі.
Завдяки принципам PWA, наш додаток може працювати офлайн або в
умовах обмеженого інтернет-з'єднання, а також відображати попередження
про додаток на головному екрані пристрою, як звичайне мобільне додаток. Це
дозволяє користувачам зручно отримувати доступ до функціональності
нашого додатку незалежно від типу пристрою чи його операційної системи.
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
1. Смірнов А.В. Основи системного аналізу та проектування. Київ:
Видавництво "Центр учбової літератури", 2019. 368 с.
2. Шеремет А.М. Моніторинг стану довкілля: навч. посібник. Харків:
Видавництво НФаУ, 2018. 224 с.
3. Кононов А.О. Кросплатформне програмування на C# для платформ
Android та iOS. Київ: Видавництво "БІНОМ. Лабораторія знань", 2020.
312 с.
4. Ленкевич Т.М. Розробка мобільних додатків на платформі
Xamarin.Forms. Львів: Видавництво "Новий світ-2000", 2019. 256 с.
5. Кузьмін О.В. Методи та засоби розробки кросплатформних мобільних
додатків. Київ: Видавництво "АртЕкс", 2017. 192 с.
6. Іванова Л.М. Методи та засоби веб-програмування. Харків: Видавництво
"Смуга", 2019. 280 с.
7. Петров О.К. Веб-технології та їх застосування у сучасному інтернеті.
Київ: Видавництво "Видавець", 2020. 336 с.
8. Сидорова Н.П. Кросплатформне програмування для мобільних пристроїв:
теорія та практика. Львів: Видавництво "Світанок", 2018. 224 с.
9. Лисенко К.О. Аналіз та проектування інформаційних систем. Київ:
Видавництво "Київський університет", 2017. 412 с.
10. Жуков О.В. Основи аналізу та проектування баз даних. Львів:
Видавництво "Світ", 2020. 288 с.
11. Джексон М. "AWS Lambda in Action". 2019. 352 с.
12. Грей Н. "Розробка мікросервісів на AWS". Львів, Видавництво "Світ",
2021. 224 с.
13. Сміт Дж. "Розробка серверних додатків на AWS". К., Видавництво
Арк.
ЧДТУ.242243.008 ПЗ 79
Змн. Арк. № докум. Підпис Дата
"Київський університет", 2020. 312 с.
14. Адамс Р. "Повністю керований інтерфейс API: AWS API Gateway".
Одеса, Видавництво "Друк", 2018. 180 с.
15. Кларк Д. "AWS: Розробка масштабованих додатків". Харків,
Видавництво "Інтелект", 2019. 248 с.
16. Стівенсон Ен. "Progressive Web Apps: Відновлювана зустріч з нативними
додатками". Львів, Видавництво "Стартап", 2020. 192 с.
17. Гібсон Д. "Розробка веб-додатків з підтримкою PWA". К., Видавництво
"Техніка", 2019. 264 с.
18. Лоу І. "Progressive Web Apps: Майстер-клас для розробників". Одеса,
Видавництво "WebTech", 2018. 320 с.
19. Петров О. "Розробка мобільних додатків з використанням технології
PWA". Харків, Видавництво "Мобільні технології", 2021. 208 с.
20. Сміт М. "PWA: Розробка сучасних веб-додатків". Київ, Видавництво
"Основи програмування", 2019. 176 с.
21. Сідоров О. "Протокол HTTPS: Захист передачі даних в інтернеті".
Харків, Видавництво "Інтернет-Безпека", 2020. 240 с.
22. Іванова Ю. "SSL/TLS: Забезпечення безпеки в мережах". Київ,
Видавництво "Комп'ютерна безпека", 2018. 192 с.
23. Бондаренко М. "Протокол TLS/SSL: Захист інформації в мережі". Львів,
Видавництво "Нова Інформація", 2019. 216 с.
24. Петренко О. "HTTPS: Забезпечення безпеки пересилання даних". Одеса,
Видавництво "Інформаційна безпека", 2021. 184 с.
25. Ковальов А. "Шифрування і захист даних в мережах: Передача
інформації через HTTPS". Київ, Видавництво "Інформаційна безпека",
2017. 160 с.
Арк.
ЧДТУ.242243.008 ПЗ 80
Змн. Арк. № докум. Підпис Дата