Научная статья на тему 'РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ ДЛЯ СОТРУДНИКОВ ЭКСКУРСИОННОГО АГЕНТСТВА'

РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ ДЛЯ СОТРУДНИКОВ ЭКСКУРСИОННОГО АГЕНТСТВА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
239
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КЛИЕНТ-СЕРВЕРНОЕ ПРИЛОЖЕНИЕ / МОБИЛЬНОЕ ПРИЛОЖЕНИЕ / ЭКСКУРСИИ / РЕГИСТРАЦИЯ ТУРИСТОВ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ильин Владимир Николаевич, Бугаков Петр Юрьевич

Каждый год на курорты России приезжает отдыхать большое количество туристов. В статье рассматривается проблема, связанная с увеличением количества желающих посетить экскурсии и увеличением нагрузки на сотрудников экскурсионных агентств. Для решения проблемы предлагается разработать клиент-серверное приложение регистрации туристов. Разработка ведется в инструментальных программных средах Android Studio и Visual Studio. Приложение предназначено для использования на мобильных телефонах с операционной системой Android и компьютерах под управлением операционной системы Windows. Разрабатываемое приложение будет полезно для небольших экскурсионных агентств и индивидуальных предпринимателей, предоставляющих услуги экскурсоводов.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Ильин Владимир Николаевич, Бугаков Петр Юрьевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF INFORMATION SYSTEM FOR EXCURSION AGENCY EMPLOYEES

The tourists visit resorts of Russia every year. The article contains the description of problem regarding an increase of people wishing to visit excursions and the increase of workload of excursion agency employees. A client-server application is offered as a solution for a problem stated above. Development is carried out in IDE's Android Studio and Visual Studio. Application is available for Android phones and Windows PC. It will be beneficial for small excursion agencies and individual entrepreneurs.

Текст научной работы на тему «РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ ДЛЯ СОТРУДНИКОВ ЭКСКУРСИОННОГО АГЕНТСТВА»

УДК 004.4

РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ ДЛЯ СОТРУДНИКОВ ЭКСКУРСИОННОГО АГЕНТСТВА

Владимир Николаевич Ильин

Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, обучающийся, тел. (913)934-39-41, e-mail: upsvladimir@yandex.ru

Пётр Юрьевич Бугаков

Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, кандидат технических наук, доцент кафедры картографии и геоинформатики, тел. (383)343-18-53, e-mail: peter-bugakov@yandex.ru

Каждый год на курорты России приезжает отдыхать большое количество туристов. В статье рассматривается проблема, связанная с увеличением количества желающих посетить экскурсии и увеличением нагрузки на сотрудников экскурсионных агентств. Для решения проблемы предлагается разработать клиент-серверное приложение регистрации туристов. Разработка ведется в инструментальных программных средах Android Studio и Visual Studio. Приложение предназначено для использования на мобильных телефонах с операционной системой Android и компьютерах под управлением операционной системы Windows. Разрабатываемое приложение будет полезно для небольших экскурсионных агентств и индивидуальных предпринимателей, предоставляющих услуги экскурсоводов.

Ключевые слова: клиент-серверное приложение, мобильное приложение, экскурсии, регистрация туристов

DEVELOPMENT OF INFORMATION SYSTEM FOR EXCURSION AGENCY EMPLOYEES

Vladimir N. Ilin

Siberian State University of Geosystems and Technologies, 10, Plakhotnogo St., Novosibirsk, 630108, Russia, Student, phone: (913)934-39-41, e-mail: upsvladimir@yandex.ru

Peter Yu. Bugakov

Siberian State University of Geosystems and Technologies, 10, Plakhotnogo St., Novosibirsk, 630108, Russia, Ph. D., Associate Professor, Department of cartography and Geoinformatics, phone: (383)343-18-53, e-mail: peter-bugakov@yandex.ru

The tourists visit resorts of Russia every year. The article contains the description of problem regarding an increase of people wishing to visit excursions and the increase of workload of excursion agency employees. A client-server application is offered as a solution for a problem stated above. Development is carried out in IDE's Android Studio and Visual Studio. Application is available for Android phones and Windows PC. It will be beneficial for small excursion agencies and individual entrepreneurs.

Keywords: client-server application, mobile application, excursions, tourist registration

Введение

Каждый год на курорты России приезжает отдыхать большое количество туристов [1, 2]. Многие туристы заказывают экскурсии, чтобы посмотреть достопримечательности и узнать что-то новое. С увеличением количества отдыхающих увеличивается количество желающих посетить экскурсии. Наплыв экскурсантов создает определенные проблемы для менеджеров экскурсионных агентств. Без соответствующей информационной системы сотрудникам приходится вручную записывать каждого человека в список участвующих в экскурсии, причем для каждой экскурсии нужен свой список, а экскурсий могут исчисляться десятками.

Для решения данных проблем предлагается комплексное клиент-серверное приложение ЕхСигее. Целью работы является разработка системы для поддержки работы сотрудников экскурсионного агентства. Для достижения поставленной цели сформулированы следующие задачи: выбор языков программирования; выбор среды разработки; выбор модулей и библиотек для разработки приложения; написание исходного кода приложения; тестирование и отладка.

Аналогом разрабатываемого приложения можно назвать продукцию компании шТпр [3]. шТпр предоставляет мобильное приложение, которое позволяет взаимодействовать с клиентами после бронирования, во время отлета и в пункте назначения. Однако приложение шТпр нацелено на самих туристов, и не позволяет менеджерам записывать клиентов на экскурсии.

Другая альтернатива - САМО тургид [4]. Это комплексное решение предназначено для автоматизации турфирм, экскурсионных бюро, электронных магазинов, которые разрабатывают и реализуют разнообразные экскурсионные маршруты, продают билеты, организуют всевозможные мероприятия, а также оказывают дополнительные сопутствующие услуги туристам. Недостаток - отсутствие мобильного приложения и высокая стоимость. При этом не всем нужен такой функционал.

Разрабатываемая система позволяет просматривать список экскурсий на определенный день с указанием количества свободных мест, регистрировать туристов на экскурсии, а также строить маршрут экскурсий. Менеджеры могут быстро регистрировать клиентов, определение маршрута экскурсий поможет водителям экскурсионных автобусов. Данная информационная система может оптимизировать работу агентства.

Методы и материалы

Приложение состоит из 4 частей:

- Лпёго1ё-клиента, с которым работают менеджеры и водители;

- Windows-клиента, с помощью которого ведется администрирование системы;

- сервера, который ведет обработку запросов клиентов и взаимодействует с базой данных;

- базы данных, хранящей информацию системы. База данных хранится на локальном сервере баз данных MySQL.

Написание административного приложения и серверного приложения осуществляется на языке программирования C# [5, 6] в среде разработки Microsoft Visual Studio. Эта интегрированная среда разработки способна создавать все типы программ, начиная от веб-приложений и заканчивая видеоиграми [7]. Для подключения к базе данных применяется библиотека MySQL Connector/NET [8], а для построения запросов к базе данных - библиотека SqlKata [9].

Мобильное приложение разрабатывается на языке Java [10] в среде разработки Android Studio. Android Studio - официальная среда разработки компании Google для разработки приложений для мобильных устройств [11]. Android Studio поддерживает Gradle [12], что позволяет быстро подключать все необходимые для приложения библиотеки. Одной из таких библиотек является SundeepK Compact Calendar View [13], добавляющая календарь с возможностью цветовой пометки дней. Кроме того, для отображения карты и построения маршрутов применяется Maps SDK for Android и Directions API [14, 15] соответственно.

Для связи между клиентом и сервером используется система удаленного вызова процедур gRPC или Google Remote Procedure Call [16]. Данная система имеет собственный формат передачи Protocol Buffers, позволяет работать с различными языками программирования и автоматически генерирует исходный код сообщений для этих языков на основе proto-файлов.

Алгоритм работы с приложением следующий. Сотрудник агентства, запустив клиентское приложение, видит окно ввода логина/пароля и вводит свои персональные данные. Введенный пароль преобразуется, а затем данные о пользователе отправляются на сервер. Серверная часть приложения ищет пользователя с указанным логином, и, для найденного сотрудника, выполняет сверку введенного пароля с тем, что записан в базе данных. Если пароль совпал, то пользователю предоставляется доступ к системе согласно его роли.

Для преобразования пароля используется однонаправленные хеш-функции. Данные функции преобразуют исходную строку-прообраз в строку фиксированной длины, причем обратное преобразование практически невозможно [17]. Суть функции заключается в подтверждении подлинности исходной строки без проверки самой строки. В приложении используются алгоритмы SHA-256 [17] и BCrypt [18].

Дальнейшее работа зависит от роли пользователя. Менеджеру предоставляется календарь, в котором отмечены дни с экскурсиями. При этом дни, когда свободных мест нет, отмечаются отдельным цветом. Нажимая на определенный день, сотрудник получает список экскурсий и может регистрировать туристов после нажатия на определенную экскурсию. Водители экскурсионных автобусов видят карту с маршрутом экскурсии, время начала экскурсии, и могут отслеживать свое местоположение на карте. Администраторы системы могут отслеживать пользователей онлайн и редактировать списки пользователей, автобусов и экскурсий.

При завершении работы, если сотрудник не вышел из системы, приложение сохраняет данные о сессии - идентификатор пользователя и случайно сгенерированную комбинацию символов (токен), получаемую от сервера. При последующем входе в систему проверяются сохраненные данные, и если они действительны, то процесс авторизации проходит без ввода пароля.

Результаты

В результате работы были созданы следующие приложения:

- мобильное приложение, позволяющее записывать туристов на экскурсии и отслеживать маршрут движения автобусов;

- десктопное приложение для отслеживания активных пользователей системы и регистрации автобусов, пользователей и видов экскурсий в системе;

- серверное консольное приложение для обработки запросов клиентов.

Внешний вид мобильного приложения при входе в систему менеджера показан ниже (рис. 1).

16:25 55%Л 16:26 В II

Регистрация клиентов О Э Данные о клиенте О

Рис. 1. Интерфейс менеджера

Внешний вид мобильного приложения при входе в систему водителя (рис. 2).

20:59 а 4} 9 100%1 17:15 А 91%*

Экскурсии о а Экскурсии О Е)

Рис. 2. Интерфейс водителя

Десктопное приложение для администраторов системы выглядит следующим образом (рис. 3).

Администрирование - п

Настойки Выход

Сотрудники онлайн:

Фамилия Имя Отчество Эл почта Телефон Должность | Сотрудники.,. | Автобусы-

Уваров Евгений Константинович ас!ггпп@ас1тгп.... +7(918)221-09-46 Администратор

Экскурсии...

Е ■ш Работники _ П

1

Фамилия а. Имя Отчество Эл почта Телефон Должность л

Верандин Николай Сергеевич Ьа1сопу@дтаМ... +7(928)119-09-87 Водитель

Емеля Святослав Александрович driver10@mail.ru +7(999)046-83-48 Водитель Новый работник

Ивлев Петр Борисович driver9@mail.ru +7(998)103-85-70 Водитель Редактировать работника

Ильин Владимир Николаевич ир5У^1ггиг@у.,. +7(911)222-33-11 Менеджер Удалить работника

Литвин Виталий Ульянович И1оуес@уаг^ех... +7(928)790-00-99 Водитель

Львов Федор Анатольевич driver5@marl.ru +7(888)274-64-99 Водитель

Овчаров Олег Николаевич driver6@mail.ru +7(987)263-57-89 Водитель

Орехова Ирина Михайловна driver7@mail.ru +7(983)791-08-87 Водитель

Персиков Геннадий Михайлович рег5уаск50п@у,.. +7(913)222-33-44 Менеджер

Петров Василий Дмитриевич driver4@mail.ru +7(941)123-33-44 Водитель

Салинин Всеволод Сергеевич driver8@mail.ru +7(909)868-10-97 Водитель V

Рис. 3. Интерфейс администратора 62

Обсуждение

Для проверки корректности работы программной системы был выполнен ряд тестов. При нажатии на определенный день календаря выводится полный список экскурсий, а для экскурсий, не требующих автобуса, делается соответствующая пометка в списке. Регистрация туристов проходит успешно. Также корректно строится маршрут экскурсии и определяется местоположение телефона.

Десктопное приложение правильно отображает список сотрудников онлайн, позволяет редактировать списки сотрудников, автобусов и видов экскурсий. Список сотрудников онлайн и список экскурсий обновляются в режиме реального времени.

В целом, разработанное клиент-серверное приложение адекватно реагирует на действия пользователя и выводит достоверную информацию. Приложение будет полезно для небольших экскурсионных агентств и индивидуальных предпринимателей, предоставляющих услуги экскурсоводов.

Выявлены и сформулированы возможные улучшения:

- возможность резервирования нескольких мест за 1 человеком;

- возможность добавлять разовые экскурсии из мобильного приложения;

- добавление алгоритма распределения автобусов на основе времени бездействия;

- реализация серверного приложения в виде службы или фонового процесса.

Заключение

В результате разработки были решены следующие задачи: выбраны языки программирования и среды разработки; определены модули и библиотеки для разработки приложения; написан исходный код приложения; приложение было протестировано и отлажено.

Полученное в процессе разработки клиент-серверное приложение позволяет просматривать список экскурсий на определенный день с указанием количества свободных мест, регистрировать туристов на экскурсии и строить маршруты экскурсий. Приложение может применяться небольшими экскурсионными агентствами и индивидуальными предпринимателями, которые предоставляют услуги экскурсоводов.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. С начала лета Кубань посетили 2,3 млн туристов [Электронный ресурс] // Юга.ру -портал Южного региона. - Режим доступа: https://www.yuga.ru/news/452189/ (дата обращения: 24.04.2021).

2. 12,5 млн туристов посетили Краснодарский край с начала года [Электронный ресурс] // Новости Краснодара и Кубани (Краснодарского края) - KrasnodarMedia. - Режим доступа: https://krasnodarmedia.su/news/529406/ (дата обращения: 24.04.2021).

3. mTrip: сайт программного продукта [Электронный ресурс]. - Режим доступа: https://www.mtrip.com/ru/ (дата обращения: 24.04.2021).

4. САМО тургид: сайт программного продукта [Электронный ресурс]. - Режим доступа: https://samo.ru/excursion.html (дата обращения: 24.04.2021).

5. Албахари, Дж. C# 7.0. Справочник. Полное описание языка / Дж. Албахари, Б. Алба-хари. - Москва : Вильямс, 2018. - 1024 с.

6. Документация по C# [Электронный ресурс] // Microsoft Docs. - Режим доступа: https://docs.microsoft.com/ru-ru/dotnet/csharp/ (дата обращения: 26.04.2021).

7. Microsoft Visual Studio 2010 для профессионалов / Рендольф Ник, Гарднер Дэвид [и др.]. - М. : Диалектика, 2011. - 1184 c. - ISBN 978-5-8459-1683-9.

8. MySQL Connector/NET Developer Guide [Электронный ресурс] // MySQL :: Developer Zone. - Режим доступа: https://dev.mysql.com/doc/connector-net/en/ (дата обращения: 26.04.2021).

9. SqlKata [Электронный ресурс] // SqlKata the dotnet SQL query builder. - Режим доступа: https://sqlkata.com/docs (дата обращения: 26.04.2021).

10. Хорстманн, К. С. Java. Библиотека профессионала / К. С. Хорстманн. - Москва : Вильямс, 2018. - 864 c.

11. Meet Android Studio [Электронный ресурс] // Android Developers. - Режим доступа: https://developer.android.com/studio/intro (дата обращения: 26.04.2021).

12. What is Gradle? [Электронный ресурс] // Gradle User Manual. - Режим доступа: https://docs.gradle.org/current/userguide/what_is_gradle.html (дата обращения: 26.04.2021).

13. SundeepK/CompactCalendarView [Электронный ресурс] // GitHub: Where the world builds software. - Режим доступа: https://github.com/SundeepK/CompactCalendarView (дата обращения: 26.04.2021).

14. Maps SDK for Android [Электронный ресурс] // Google Developers. - Режим доступа: https://developers.google.com/maps/documentation/android-sdk/overview?hl=ru (дата обращения: 26.04.2021).

15. The Directions API overview [Электронный ресурс] // Google Developers. - Режим доступа: https://developers.google.com/maps/documentation/directions/overview (дата обращения: 26.04.2021).

16. Introduction to gRPC [Электронный ресурс] // gRPC. - Режим доступа: https://grpc.io/docs/what-is-grpc/introduction/ (дата обращения: 26.04.2021).

17. Шнайер, Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си / Б. Шнайер. - 2-е изд. - М. : Вильямс, 2016. - 1024 c.

18. Provos, Niels; Mazieres, David. A Future-Adaptable Password Scheme // Proceedings of 1999 USENIX Annual Technical Conference. - 1999. - С. 81-92.

© В. Н. Ильин, П. Ю. Бугаков, 2021

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.