Файл: Телеграммбот построения маршрута с использованием общественного транспорта города Киева.pdf

ВУЗ: Не указан

Категория: Дипломная работа

Дисциплина: Не указана

Добавлен: 12.01.2024

Просмотров: 198

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ УКРАИНЫ
«КИЕВСКИЙ ПОЛИТЕХНИЧЕСКИЙ ИНСТИТУТ
имени ИГОРЯ СИКОРСКОГО»
Факультет информатики и вычислительной техники
Кафедра автоматики и управления в технических системах
«К защите допущено»
Заведующий кафедрой
__________
«___»_____________2019 г.
О.И. Ролик
Дипломный проект
на соискание степени бакалавра
по направлению подготовки 6.050103 «Программная инженерия»
на тему: «Телеграмм-бот построения маршрута с использованием общественного
транспорта города Киева»
Выполнил:
студент
IV
курса, группы ИТ-51
Шородок Владимир Владимирович
__________
Руководитель:
Доцент Писаренко Андрей Владимирович
__________
Рецензент:
__________
Подтверждаю, что в этом дипломном проекте нет заимствований из работ других авторов без соответствующих ссылок.
Студент _____________
Киев – 2019 год
Перевод: украинский - русский - www.onlinedoctranslator.com

Национальный технический университет Украины
«Киевский политехнический институт имени Игоря Сикорского»
Факультет информатики и вычислительной техники
Кафедра автоматики и управления в технических системах
Уровень высшего образования – первое (бакалаврское)
Направление подготовки – 6.050103 «Программная инженерия»
УТВЕРЖДАЮ
Заведующий кафедрой
__________ О.И. Ролик
«___»_____________2019 г.
ЗАДАНИЕ
на дипломный проект студенту
Шородко Владимиру Владимировичу
1.Тема проекта «Телеграмм-бот построения маршрута с использованием общественного транспорта города Киева» руководитель проекта доцент кафедры АУТС Писаренко Андрей
Владимирович, утвержденные приказом по университету от «___»_________ 2019 г. №_____
2. Срок представления студентом проекта ________________________________________
3. Исходные данные к проекту
Операционная система Windows, языки программирования Python и Javascript, среда программирования Microsoft Visual Studio, целевая платформа Telegram, выбранная для разработки технологии – Telebot, CherryPy, Requests, СУБД – MongoDB.
4. Содержание пояснительной записки
1. Введение 2. Проектирование 3. Анализ требований 4. Анализ предметной области 5 Обзор существующих решений 6.Разработка телеграмм-бота. 7. База данных – MongoDB 8.Telegram 9.
Тестирование системы 10. Описание своей реализации. 11. выводы


Приложения:
________________________________________________________________
5. Код программы_
6. Список графического материала
UML Диаграмма вариантов использования, UML Диаграмма активности телеграмм-бота, UML
Диаграмма классов айроки сообщения, UML Диаграмма последовательности обработки пользовательского запроса.
7. Дата выдачи задания ____________________________________________________
Календарный план
Срок исполнение этапов проекта

з/п
Название этапов выполнения дипломного проекта
Примечание
1
Выбор согласование темы дипломного проекта тематического направлении да
22.02.2019 2
Анализ изучение предметной области теоретических материалов да
15.04.2019 3
Разработка технического задания, выбор методов и средств реализации задачи
24.04.2019 4
Обзор существующих решений по тематике работы
27.04.2019 5
Разработка проектирование системы структуры прототипа да
06.05.2019 6
Реализация проекта
20.05.2019 7
Настройка и проверка программы
23.05.2019 8
Оформление пояснительной записки
03.06.2019 9
Предзащита дипломного проекта
04.06.2019 10
Доработка пояснительной записки и подготовка презентации
18.06.2019 11
Защита дипломного проекта
20.06.2019
Студент
Шеродок В.В.
Руководитель проекта
Писаренко А.В.

АННОТАЦИЯ
Шеродок В.В. Телеграмм-бот построения маршрута с использованием общественного транспорта города Киева КПИ им. Игоря Сикорского, Киев, 2019.
Объяснительная записка дипломного проекта содержит 15 таблиц, 1 приложение, 12 рисунков и 21 источник – всего 66 страниц.
Объект исследования: чат-бот постройки маршрута с использованием общественного транспорта города Киева.
Цель дипломного проекта: повышение удобства пользования общественным транспортом посредством разработки телеграмм-бота, строящего маршруты с использованием общественного транспорта г. Киева.
КЛЮЧЕВЫЕ СЛОВА: БОТ, ЧАТ-БОТ, РАБОТ, ТЕЛЕГРАМ-БОТ, PYTHON,
МЕССЕНДЖЕР, TELEGRAM, МАРШРУТЫ, ОБЩЕСТВЕННЫЙ ТРАНСПОРТ.

SUMMARY
Shroodok VV Телеграмма по созданию коммуникации с помощью общественного транспорта в городе Киив Игорь Сикорский KPI, Kyiv, 2019.
Explanatory note of the diploma project contains 15 tables, 1 application, 12 figures and
21 sources - a total of 66 pages.
Object of research: chat-bot of construction of route using public transport of city of Kiev.
Существует диплома проект: увеличить способность использования общественного транспорта через развитие телеграмм, которые создают коммуникации с помощью общественного транспорта в
Киеве.
KEYWORDS: BOT, CHAT-BOT, ROBOT, TELEGRAM-BOT, PYTHON,
MESSENGER, TELEGRAM, ROADS, PUBLIC TRANSPORT.

Обозначение
Наименование
Примечание
1 2
3 4
5 6
7 8
9
Документация общая
Вновь разработана
А4
ИТ51.320БАК.002 ПО
объяснительная записка
61
А3
ИТ51.320БАК.003 Д1
Диаграмма активности
1
А3
ИТ51.320БАК.004 Д2
Диаграмма вариантов использование
1 10 11 А3
ИТ51.320БАК.005 Д3
Диаграмма последовательностей
1 12 13 14 15 16 17 18 19 20 21 22
А3
ИТ51.320БАК.006 Д4
Диаграмма классов
1
ИТ51.320БАК.001 ТП
Изм. Арк.
Разработ.
Проверь.
Рецензирование.
Н. Контр.
Утверд.
№ докум.
Шеродок В.В.
Писаренко А.В.
Подпись
Дата
Телеграмм-бот для построения маршрута с использованием общественного транспорта.
Ведомость технического проекта
Лит.
Арк.
1
Акрушев
1
КПИ им. Игоря Сикорского
ФИОТ, гр. ИТ-51
Шинкевич М.К
Номер строки
Формат
Кол. писем
№ экз.


СОДЕРЖАНИЕ
СОДЕРЖАНИЕ ................................................. .................................................. ........................ 2
ВВЕДЕНИЕ ................................................. .................................................. ...................... 4 1 ПРОЕКТИРОВАНИЕ................................................ .................................................. .. 7 2 АНАЛИЗ ТРЕБОВАЛ............................................... .................................................. ..... 8 3 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ ................................................. ........................ 10 4 ОБЗОР СУЩЕСТВУЮЩИХ РЕШЕНИЙ ................................................. ............................... 11 4.1. Приложение Eway................................................ ............................................ 11 4.2. Synbot ................................................. .................................................. ..... 12 5 РАЗРАБОТКА TELEGRAM-БОТА ............................................. .............................. 14 5.1 Регистрация чат-бота для Telegram Bot API ......................................... ..... 14 5.2 Размещение чат-бота на удаленном сервере Heroku ........................... 15 5.3 Среда разработки............................................... ................................ 16 5.4 Язык программирования – Python ............................................. .................... 18 5.4.1 Модуль TeleBot ............................................. ................................ 19 5.4.2 Модуль CherryPy ............................................. ............................. 20 5.4.3 Модуль Requests ............................................. .............................. 21 5.5 REST API, HTTP-запросы, JSON и череда сообщений .......................... 21 5.5.1 REST API............................................. .......................................... 21 5.5.2 HTTP-запросы............................................ ..................................... 22 5.5.3 Формат JSON............................................. ................................... 24 5.5.4 Платформа Heroku ............................................. .......................... 27 5.5.5 Очередь сообщений ............................................. .......................... 28 5.6 Telegram Bot API.............................................. .......................................... 29 6 БАЗА ДАННЫХ – MONGODB............................................. ................................... 46 7 TELEGRAM ................................................ .................................................. .......... 50
ИТ51.320БАК.001 ТП
Изм. Арк.
Разработ.
Проверь.
Рецензирование.
Н. Контр.
Утверд.
№ докум.
Шеродок В.В.
Писаренко А.В.
Подпись
Дата
Телеграмм-бот для построения маршрута с использованием общественного транспорта.
Ведомость технического проекта
Лит.
Арк.
2
Акрушев
61
К
ПИ им. Игоря Сикорского
ФИОТ, гр. ИТ-51
Шинкевич М.К

8 ТЕСТИРОВАНИЕ СИСТЕМЫ............................................... .................................... 52 9 ОПИСАНИЕ СОБСТВЕННОЙ РЕАЛИЗАЦИИ.............................................. ............................... 57
ВЫВОДЫ................................................. .................................................. ............ 59
Письмо
ИТ51.320БАК.002 ПО
3
Изм.
Письмо
№ докум.
Подпись
Дата

ВВЕДЕНИЕ
Поскольку современный мир не стоит на месте, технологии стремительно развиваются и каждый день появляются новые тренды и идеи, многие имеют возможность повлиять на ИТ отрасль, которая в свою очередь влияет на другие отрасли, что в дальнейшем будет влиять на нашу повседневную жизнь. Если до недавнего времени популярны были приложения или компьютерные программы, то на данный момент лидерство занимают чат-боты, имеющие большие перспективы в разных сферах нашей жизни.
Для начала нужно определить, что представляет собой чат-бот. Чат-бот – это специализированное приложение, позволяющее пользователям взаимодействовать со сторонними сервисами, если существует такая необходимость и все это выполнено через известный интерфейс чата.
Чат-бот – это некоторый помощник, который общается с пользователями через сообщения и имеет множество определенных функций. То есть можно получить определенную информацию, написав чат-боту специальную команду, которую в свою очередь последний интерпретирует определенным образом. Так можно быстро переводить, комментировать, находить, тестировать, искать, обучать, транслировать, встраиваться в другие сервисы и платформы, взаимодействовать с датчиками и вещами, подключенными к Интернету.
AI (Artificial intelligence) в общем используется для сокращения издержек и повышения качества услуг. Наиболее популярными направлениями развития AI являются распознавание голоса и текстовое общение с помощью разных поисковых роботов. К примеру можно упомянуть обо всем известных всплывающих окошках "консультантов" на многих сайтах. Однако о качестве таких консультаций можно поспорить, но тенденция очевидна и от нее не собираются отступать. Ярким примером автоматизации можно назвать множество ботов для приема заявок на доставку еды, бронирование столиков в ресторанах, рассылки рекламы и многое другое.
Письмо
ИТ51.320БАК.002 ПО
4
Изм.
Письмо
№ докум.
Подпись
Дата


Такие боты позволяют увеличить прибыль компаний, поскольку бот может обрабатывать заявки с большей скоростью, чем человек, и снизить нагрузку на рабочий персонал.
Каждый день миллионы людей пользуются общественным транспортом города Киева, часто возникает необходимость быстро узнать о ближайших остановках, какой транспорт останавливается на них, когда прибудет на остановку и построить оптимальные маршруты.
Также в Киеве, отрасль общественного транспорта развивается, на большинстве маршруток, трамваев и троллейбусов уже установлены GPS – маячки, которые дают возможность отслеживать местонахождение транспорта и рассчитывать время прибытия на ту или иную остановку.
Поэтому, для решения определенных потребностей, приведенных ранее, чтобы сохранить время людей и сделать планирование маршрута легким делом, было решено создать телеграмм-бот построения маршрутов с использованием общественного транспорта в Киеве на платформе Telegram.
Telegram – это приложение, разработанное на языке программирования C++, позволяющее обмениваться сообщениями и файлами большинства форматов.
Мессенджер использует специально разработанную серверную часть с закрытым кодом, работающих на серверах Германии и США. Telegram имеет ряд преимуществ:
а) конфиденциальность – все чаты зашифровываются, а сообщения уничтожаются через указанное время;
б) скорость – скорость доставки сообщений выше, чем у аналогов; в) оптимизация – серверы Telegram расположены по всему миру, что повышает надежность;
г) открытость – использование открытого протокола; д) отсутствие подписок и рекламы;
е) отсутствие ограничений на размер сообщений и вложенных файлов.
Письмо
ИТ51.320БАК.002 ПО
5
Изм.
Письмо
№ докум.
Подпись
Дата

Актуальность бакалаврской работы обусловлена высокой популярностью мессенджеров и средств автоматизации как чат-боты среди пользователей сети
Интернет. Чат-боты позволяют упростить ежедневные рутинные задачи, такие как получение информации о погоде, пробках, последних новостях и другие. Главным достоинством классических приложений является возможность замещения всех возможностей на платформе одного мессенджера.
Была поставлена цель: создать телеграмм-бота, который сможет в соответствии с местонахождением пользователей, предоставить ему необходимую информацию о ближайших остановках, какой именно общественный транспорт останавливается на полученных остановках, при необходимости сообщать когда прибудет на остановку необходимый транспорт, строить оптимальные маршруты в соответствии с запросом пользователя .
Исходя из поставленных целей, были поставлены следующие задачи: а) анализ выбранной предметной области;
б) сравнение имеющихся аналогов чат-ботов; в) выбор технологий и среды разработки; г) разработка чат-бота на платформе Telegram.
Письмо
ИТ51.320БАК.002 ПО
6
Изм.
Письмо
№ докум.
Подпись
Дата


1 ПРОЕКТИРОВАНИЕ
Проектирование является неотъемлемой частью разработки любой программной системы. Условно этот процесс можно разделить на несколько последовательных, связанных друг с другом этапов: формулирование целей (сбор требований), анализ предметной области и создание прототипа системы. Анализ предметной области подразумевает более глубокое изучение требований, предъявляемых к функционалу проектируемой системы, проработку сценариев взаимодействия с системой и алгоритмов в бизнес-логике.
Четко сформулированные цели и задачи, тщательно проведенный анализ требований, проработка сценариев взаимодействия с системой и проектирование бизнес-логики – все это ключ успеха в достижении необходимого результата. Таким образом, проектирование увеличивает шансы успешного составления проекта, а также экономит время и деньги, ведь внесение изменений на начальном этапе разработки не так критично, как, например, на этапе отладки уже разработанной системы.
Письмо
ИТ51.320БАК.002 ПО
7
Изм.
Письмо
№ докум.
Подпись
Дата

2 АНАЛИЗ ТРЕБОВАНИЙ
Задачей дипломного проекта было определено создание телеграмбота для построения маршрутов с использованием общественного транспорта города
Киева.
Перед началом проектирования и разработки телеграмма бота нужно определить основные требования и описать их. Кроме того, необходимо проанализировать предметную область и рассмотреть существующие решения, чтобы убедиться в целесообразности разработки. Поскольку разрабатываемая система планируется внедрять в уже существующий программный комплекс, это накладывает определенные ограничения на архитектуру и технологии, которые можно будет использовать.
Исходя из поставленных целей, требуется разработка телеграмм бота, который: а) будет знать обо всех возможных остановках общественного транспорта и типе останавливаемого на них общественного транспорта;
б) будет хранить полученные данные в специальной базе данных, оптимизированной для хранения метрик и временных данных;
в) будет определенным образом сохранять маршруты и график работы общественного транспорта;
г) позволит отслеживать текущее местонахождение пользователя и общественного транспорта;
д) позволит получать информацию о прибытии общественного транспорта на остановку;
е) позволит строить оптимальные маршруты движения с использованием общественного транспорта;
ж) позволит находить ближайшие к местонахождению пользователя остановки общественного транспорта.
А теперь подробно опишем каждый из пунктов. Пользователю нужно будет знать все возможные остановки общественного транспорта в соответствии с указанным адресом.
Письмо
ИТ51.320БАК.002 ПО
8
Изм.
Письмо
№ докум.
Подпись
Дата