1   2   3   4   5   6
Ім'я файлу: ФККПІ_123_2020_Грушак С.С..pdf
Розширення: pdf
Розмір: 4454кб.
Дата: 04.06.2023
скачати
Пов'язані файли:
АВТОРИЗАЦІЯ.pdf

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ КІБЕРБЕЗПЕКИ, КОМП’ЮТЕРНОЇ
ТА ПРОГРАМНОЇ ІНЖЕНЕРІЇ
КАФЕДРА КОМП’ЮТЕРНИХ СИСТЕМ ТА МЕРЕЖ
ДОПУСТИТИ ДО ЗАХИСТУ
Завідувач випускової кафедри
І.А. Жуков
(підпис)
« » 2020 р.
ДИПЛОМНА РОБОТА
(ПОЯСНЮВАЛЬНА ЗАПИСКА)
ВИПУСКНИКА ОСВІТНЬОГО СТУПЕНЯ МАГІСТР
ЗА СПЕЦІАЛЬНІСТЮ 123 «КОМП’ЮТЕРНА ІНЖЕНЕРІЯ»
Тема: « Система керування чат-ботом на базі технології
React
»
Виконавець: студент, КС-231(М), Грушак Сергій Сергійович
(студент, група, прізвище, ім’я, по батькові)
Керівник: к.т.н., доцент, Гузій Микола Миколайович
(наукова ступінь, вчене звання, прізвище, ім’я, по батькові)
Нормоконтролер:
Малярчук В.О.
(підпис)
(ПІБ)
Засвідчую, що у дипломній роботі
немає
запозичень праць інших авторів без відповідних посилань
Студент
Грушак С.С.
(підпис)
(ПІБ)
Київ 2020

НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ
Факультет кібербезпеки, комп’ютерної та програмної інженерії
Кафедра комп’ютерних систем та мереж
Спеціальність 123 «
Комп’ютерна інженерія
»
ЗАТВЕРДЖУЮ
Завідувач кафедри
І.А. Жуков
(підпис)
« » 2020 р.
ЗАВДАННЯ
на виконання дипломної роботи
Грушака Сергія Сергійовича
(прізвище, ім'я, по батькові)
1. Тема роботи: Система керування чат-ботом на базі технології
React
затверджена наказом ректора від « 25 » вересня 2020 року № 1793/ст
.
2.Термін виконання роботи: з 05
. 10.2020 р. по 30
. 12
. 2020 р.
3.Вихідні дані до роботи: вимоги до системи керування чат-ботом
4.Зміст пояснювальної записки (перелік питань, що підлягають розробці):
Вступ, порівняльний аналіз платформ чат-ботів, аналіз та вибір технологій для розробки системи керування чат-ботом, розробка серверної частини системи керування чат-ботом, розробка клієнтської частини системи керування чат-ботом,
висновки, додатки
5.Перелік обов’язкового графічного матеріалу:
Презентація
PowerPoint
2

6. Календарний план-графік

з/п
Завдання
Термін виконання
Підпис керівника
1
Отримати перелік питань та завдання для дослідження на виконання дипломної
роботи
05.10.2020 2
Скласти план дипломної роботи
06.10.2020 3
Ознайомитись з літературними джерелами 07.10.2020 4
Провести дослідження технологій чат- ботів
14.10.2020 5
Написати перший розділ
19.10.2020 6
Ознайомитись з літературними джерелами 26.10.2020 7
Написати другий розділ
02.11.2020 8
Ознайомитись з літературними джерелами 09.11.2020 9
Спроектувати архітектуру системи
16.11.2020 10
Написати третій розділ
19.11.2020 11
Спроектувати UI системи
26.11.2020 12
Написати четвертий розділ
30.11.2020 13
Зробити висновки по роботі
07.11.2020 7. Дата видачі завдання: « 05 » жовтня 2020 р.
Керівник дипломної роботи:
Гузій М.М.
(підпис)
(П.І.Б)
Завдання прийняв до виконання:
Грушак С.С.
(підпис випускника)
(П.І.Б)
3

РЕФЕРАТ
Пояснювальна записка до дипломної роботи “Система керування чат-ботом на базі технології React”: 84 ст., 42 рисунків, 14 таблиць, 30 використаних джерел, 3
додатки.
ЧАТ-БОТ, МЕСЕНДЖЕР, API ПЛАТФОРМИ ЧАТ-БОТА, TELEGRAM,
АРХІТЕКТУРА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ, NODE.JS, JAVASCRIPT,
SQLITE, REACT.JS, МІКРОСЕРВІСНА АРХІТЕКТУРА, ПРОЕКТУВАННЯ UI.
Мета дипломної роботи – провести дослідження сучасних платформ для чат- ботів, проаналізувати та обґрунтувати вибір технологій для розробки веб-додатків та на їх основі створити систему керування чат-ботом.
Об’єкт дослідження: технології чат-ботів.
Предмет дослідження: система керування чат-ботом.
Методи дослідження: системний аналіз, евристичний аналіз, методи програмної інженерії, компонентне проектування, клієнт-серверна архітектура,
архітектура MVC, UML-проектування.
Отримані результати та наукова новизна: відображена значущість чат-ботів у інформаційному просторі, проведений розширений аналіз технологій для створення веб-додатків, запропоновані нові механізми обміну даними у веб- додатках, набули подальшого розвитку концепції розгортання додатків з мікросервісною архітектурою, створена система керування чат-ботом.
Рекомендації щодо використання результатів: реалізація запропонованих механізмів обміну даними при розробці веб-додатків, впровадження концепцій розгортання додатків з мікросервісною архітектурою, використання системи керування чат-ботом за призначенням.
4

ЗМІСТ
ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СКОРОЧЕНЬ, ТЕРМІНІВ..................................7
ВСТУП..................................................................................................................................8
РОЗДІЛ 1 ПОРІВНЯЛЬНИЙ АНАЛІЗ ПЛАТФОРМ ЧАТ-БОТІВ..............................13 1.1. Класифікація чат-ботів...................................................................................13 1.2. Порівняльний аналіз месенджерів з платформою чат-ботів.......................17 1.3. Чат-бот у контексті Telegram.........................................................................19
Висновки за розділом..............................................................................................28
РОЗДІЛ 2 АНАЛІЗ ТА ВИБІР ТЕХНОЛОГІЙ ДЛЯ РОЗРОБКИ СИСТЕМИ
КЕРУВАННЯ ЧАТ-БОТОМ.............................................................................................30 2.1. Формування функціональних вимог.............................................................30 2.2. Аналіз та вибір архітектури...........................................................................32 2.3. Вибір мови програмування.............................................................................36 2.3.1. Платформа Node.js..................................................................................37 2.3.2. Фреймворки Express.js та Socket.io........................................................38 2.4. Вибір бази даних. SQLite................................................................................39 2.5. Технологія React.js..........................................................................................40
Висновки за розділом..............................................................................................42
РОЗДІЛ 3 РОЗРОБКА СЕРВЕРНОЇ ЧАСТИНИ СИСТЕМИ КЕРУВАННЯ ЧАТ-
БОТОМ...............................................................................................................................44 3.1. Декомпозиція системи на мікросервіси........................................................44 3.2. Опис API та БД мікросервісів........................................................................45 3.3. Механізми обміну даними..............................................................................56 3.4. Розгортання мікросервісів..............................................................................60
Висновки за розділом..............................................................................................61 5

РОЗДІЛ 4 РОЗРОБКА КЛІЄНТСЬКОЇ ЧАСТИНИ СИСТЕМИ КЕРУВАННЯ ЧАТ-
БОТОМ...............................................................................................................................63 4.1. Методологія проектування UI........................................................................63 4.2. Порівняльний аналіз SPA та SSR....................................................................64 4.3. Структура проекту..........................................................................................66 4.4. Опис компонентів............................................................................................68
Висновки за розділом..............................................................................................76
ВИСНОВКИ.......................................................................................................................78
СПИСОК БІБЛІОГРАФІЧНИХ ПОСИЛАНЬ ВИКОРИСТАНИХ ДЖЕРЕЛ.............82
Додаток А...........................................................................................................................85
Додаток Б............................................................................................................................86
Додаток В...........................................................................................................................87 6

ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СКОРОЧЕНЬ, ТЕРМІНІВ
ACID
Atomicity, Consistency, Isolation, Durability
AJAX
Asynchronous Javascript and XML
CORS
Cross-Origin Resource Sharing (перехресний обмін ресурсами)
DNS
Domain Name System
gRPC
Google Remote Procedure Calls
IDE
Integrated Development Environment
JSON
JavaScript Object Notation
MFD
Mobile First Development
MVC
Model-View-Controller (модель-вид-контролер)
RPI
Remote Procedure Invocation (віддалений виклик процедур)
RWD
Responsive Web Design
SSL
Secure Sockets Layer
TCP
Transmission Control Protocol
TLS
Transport Layer Security
7

ВСТУП
Чат-бот – це комп’ютерна програма, основним призначенням якої є обмін
інформацією з користувачем (людиною) за попередньо визначеним алгоритмом та/або за допомогою елементів штучного інтелекту.
Стрімкий розвиток та поширення чат-ботів зумовлюється втратою популярності звичайних додатків при умові існування чат-ботів з аналогічною функціональністю, а також з масовим переходом на різноманітні служби повідомлень (месенджери). Таким чином, замість встановлення чергового додатку на свій пристрій у користувача з’являється аналог – сервіс всередині звичайного йому месенджеру.
На сьогодні існує ціла низка світових компаній, які так чи інакше вбудували функціонал чат-ботів у свої продукти. Для прикладу, Facebook (Facebook
Messenger), Microsoft (Skype), Viber Media, Inc (Viber), Telegram FZ-LLC (Telegram).
Надалі, у контексті цієї роботи, продукти вищезазначених компаній є платформами
для чат-ботів або просто – платформи.
Функціональні можливості чат-ботів та стрімкий розвиток даної галузі
зробило її привабливою з точки зору як звичайних користувачів, так і компаній.
Одна з перших комерціалізацій чат-ботів відбулася шляхом їх вбудовування у веб- сайти для допомоги користувачам у знаходженні відповідей на їх питання та оповіщення про події. З подальшим розвитком чат-боти ставали розумнішими,
розвиток галузі штучних нейронних мереж та механізмів обробки природньої мови цьому активно сприяли. Вміло запрограмовані чат-боти стали частково розуміти контекст розмови та почали надавати свої пропозиції у відповідь на неточні питання користувачів. З’явилося поняття “сервіс всередині чат-бота”, створилися нові
платформи, чат-боти стали невід’ємною складовою багатьох державних та приватних бізнесів, наприклад RailwayBot Укрзалізниці, NovaPoshtaBot Нової
Пошти тощо.
Розробка додатків для зв’язку з чат-ботом та його керуванням вимагає чіткого розуміння принципів роботи протоколів передачі даних, навичок та досвіду
8
програмування серверних додатків, вивчення API конкретної платформи, а також при необхідності: знань з програмування веб-додатків (HTML, CSS, JS), протоколів
HTTP та HTTPS, інтерфейсів веб APIs, а також вузькоспеціалізованих знань в області web-security. До того ж, в рамках виконання дипломної роботи, необхідними
є знання фреймворку React для розробки клієнтського веб-додатку.
Отже, обрана тема дипломної роботи є актуальною з точки зору сучасних тенденцій, а також потребує значних інженерних знань по проектуванню та створенню програмного забезпечення.
Проблематика та напрямки роботи чат-ботів:
1. Оптимізація повторюваних завдань або процесів.
2. Цілодобовий зворотній зв'язок з користувачем.
3. Продажі, реклама та комерція.
4. Інтеграція з різноманітними інформаційними системами.
5. Використання алгоритмів штучного інтелекту для комунікації з користувачем.
Чат-боти можуть використовуватись в будь-якій сфері, де вирішення певної
проблеми описується чітким алгоритмом.
Наприклад, чат-боти використовуються в різних сферах бізнесу (банки,
оператори зв’язку, комерція, служби технічної підтримки тощо) в тих ситуаціях,
коли у клієнта компанії є типове питання. Клієнт має змогу звернутись до чат-бота та отримати оперативну відповідь на своє запитання з переліку заздалегідь підготовлених варіантів відповідей. Якщо в сценарії бота немає потрібної відповіді,
то клієнт перемикається на чергового оператора.
Завдяки тому, що при використанні чат-ботів створюється ефект
“індивідуалізації”, їх розповсюджено використовують для процесів навчання.
Результатами використання ботів для корпоративного навчання є: створення аналогу тренера (швидкі відповіді на запитання); планування навчання; процес навчання та доступу до навчальних матеріалів відбувається аналогічно до систем дистанційного навчання; виникнення почуття персоналізованого та ефективного навчання.
9

Ще одна активна сфера використання чат-ботів – комерція. За останні роки активно збільшується попит на розробку чат-ботів для вирішення завдань з підбору,
опису та продажу товарів. При цьому для залучення та роботи з клієнтами активно використовуються такі можливості чат-ботів як: масові розсилки інформаційних листів, проведення анонімних та публічних опитувань, інтеграція з платіжними системами, інтеграція з інформаційними системами тощо.
Також до основної проблематики дипломної роботи можна віднести необхідність проектування архітектури системи керування чат-ботом, вибір технологій та підходів для її розробки, дослідженні обмежень та можливостей обраної платформи чат-ботів, створенні серверної та клієнтської частини з відповідною їх взаємодією у режимі реального часу, оптимізації швидкодії системи.
Метою дипломної роботи є проведення дослідження сучасних платформ для чат-ботів, аналіз та обґрунтування вибору технологій для розробки веб-додатків та на основі отриманих даних створення системи для керування чат-ботом з її
подальшою оптимізацією та тестуванням.
Завдання дипломної роботи полягає у дослідженні технологій роботи з чат- ботами та створенні єдиної інформаційної системи, за допомогою якої користувач зможе отримувати, передавати, зберігати, проглядати та керувати даними, що стосуються безпосередньої роботи чат-бота на базі обраної платформи.
Об’єктом дослідження є технології чат-ботів.
Предметом дослідження є система керування чат-ботом: компонентний склад, механізми обміну даними, взаємозв’язки між компонентами, захист даних,
відображення та керування даними системи.
У ході виконання дипломної роботи були використані наступні методи:
системний аналіз, евристичний аналіз, методи програмної інженерії, мікросервісна архітектура, клієнт-серверна архітектура, архітектура MVC, UML-проектування.
Використання вищезазначених методів обумовлюється необхідністю у проведенні дослідження по технологіям чат-ботів, аналізу технологій передачі
даних у інформаційних системах, проектуванню та створенню системи керування чат-ботом.
10

Наукова новизна отриманих результатів:
1. Узагальнене та розширене поняття чат-бот: проведене поєднання функціональних можливостей чат-ботів у єдиній системі на прикладі месенджеру
Telegram.
2. Проведений аналіз популярних месенджерів з платформами для чат-ботів:
функціональних можливостей, API, обмежень.
3. Запропоноване використання механізму для синхронізації даних між клієнтом (браузером) та веб-сервером у сучасних веб-додатках на основі технологій:
WebSockets та WebWorkers.
4. На основі запропонованого механізму розширено функціонал веб-додатків,
який передбачає ітеративне зменшення використовуваного трафіку, збільшення швидкості роботи, можливість використання веб-додатків у офлайн режимі.
5. Створена система керування чат-ботом, яка розширює функціональні
можливості платформи чат-ботів месенджеру Telegram, об’єднує передові практики по розробці ПЗ та створює унікальний веб-інтерфейс користувача на основі
технології React.
6. Уточнені переваги та недоліки механізмів розгортання розподілених мікросервісів: порівняні підходи з використанням єдиного домену та субдоменів.
Виходячи з мети дипломної роботи необхідно вирішити наступні задачі:
1. Розкрити проблематику створення та використання чат-ботів у контексті
потреб сучасної Інтернет-спільноти.
2. Провести аналіз сучасних сервісів для створення чат-ботів та обрати один для подальшого опрацювання.
3. Сформувати основні функціональні вимоги до створюваної системи.
4. Провести аналіз сучасних технологій та підходів до розробки веб-серверів та веб-додатків. Детально розглянути технологію React.
5. Описати процеси передачі інформації в створеній системі.
11

6. Спроектувати базу даних та обрати архітектурні підходи до розроблюваного
ПЗ.
7. Розробити серверну частину системи.
8. Розробити клієнтську частину системи на базі технології React.
9. Надати рекомендації щодо процесу розгортання системи.
Практичне значення отриманих результатів полягає у проведеному дослідженні технологій використання чат-ботів та створеній системі для керування чат-ботом на базі платформи Telegram.
12

РОЗДІЛ 1
ПОРІВНЯЛЬНИЙ АНАЛІЗ ПЛАТФОРМ ЧАТ-БОТІВ

  1   2   3   4   5   6

скачати

© Усі права захищені
написати до нас