Designing and implementing software and information system for ridesharing

Cover Page

Cite item

Full Text

Abstract

The article presents an overview of ridesharing software. The authors consider the main stages of modeling, designing and implementing their own software and information system designed to automate the interaction between the car driver and the travelling companion.

Full Text

Введение. Райдшеринг и карпулинг получили недавнее распространение в России, хотя эти термины пришли к нам с Запада – в семантике и по смыслу они означают «совместные поездки» (англ. ride – поездка, share – делиться, car – машина, pool – объединение) [1].

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

Совершение совместных поездок происходит по следующей схеме:

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

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

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

Анализ информационных систем поиска попутчиков. Согласно сервису «Google» на территории России действует всего три сервиса для поиска автомобильных попутчиков, что несоизмеримо мало по сравнению с количеством подобных сервисов в Европе и США. Также стоит отметить, что на территориях большинства Европейских стран действуют локальные сервисы для поиска автомобильных попутчиков, которые не предназначены для использования по всей стране и рассчитаны только на маленькие города. Среди причин низкой распространенности и малого количества ресурсов для поиска попутчиков в России следует указать банальное незнание об их существовании; отсутствие знаний, необходимых для использования такого вида онлайн-сервисов, а также определенную степень недоверия к ним как со стороны водителя, так и со стороны пассажиров.

Проанализируем существующие решения в сфере сервисов по поиску попутчиков, представленных на территории Российской Федерации.

В первую очередь следует указать «BlaBlaCar», который является крупнейшим в мире международным онлайн-сервисом поиска автомобильных попутчиков, работающим в 21 стране мира [2]. Среди решений российских разработчиков первым стал «BeepCar», разработанный Mail.Ru Group в феврале 2017 [3]. Также существует сервис «Яндекс.Попутка», запущенный в 2018 году, но все еще не вышедший для всеобщего использования.

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

 

Таблица 1

Сравнение функциональности существующих решений

Функциональность

BlaBlaCar

BeepCar

Яндекс.Попутка

Карпул

Веб-сайт

+

+

-

+

Приложение для телефона

+

-

+

-

Свободная регистрация

+

+

-

+

Перевозка грузов

-

-

-

+

Авторизация при помощи социальных сетей

+

-

-

+

Регистрация в качестве водителя или пассажира

+

-

-

+

Регистрация при помощи социальных сетей

+

-

-

+

Авторизация через социальные

сети

+

-

-

+

Добавление информации о себе

+

+

+

+

Добавление фото

+

+

+

+

Добавление аккаунтов социальных сетей

+

+

-

+

Выбора места бронирования в авто

-

-

-

+

Добавление авто с фото и основной информацией

+

+

+

+

Добавление автобусов и газелей

-

-

-

+

Добавление промежуточных городов

+

+

+

+

Сортировка по цене

+

+

+

+

Сортировка по статусу авто

+

+

-

+

Сортировка по стажу водителя

+

+

-

+

Опция курящего салона

+

+

-

+

Опция перевозки животных

-

-

-

+

Опция разговорчивого водителя

+

+

-

+

Увеличения радиуса поиска доступных поездок

+

+

+

+

Новости сервиса

+

+

+

+

Блог сервиса

+

+

-

+

Наличие страницы помощи новым пользователем

+

+

-

+

 

Проектирование программной системы (ПС). На начальном этапе проектирования необходимо определить отношения между основными типами пользователей и функциями, которые предоставляет ПС. Для этого строится диаграмма вариантов использования, описывающая разрабатываемую систему на концептуальном уровне. Так, на рисунке 1 показано, что пользователями ПС являются водитель, попутчик, администратор, причем к основным вариантам использования ПС для водителя является добавление новых поездок, подтверждение и отмена бронирований, для попутчика – поиск поездок и их бронирование, а для администратора – это основные административные функции. Стоит отметить, что изначально каждый пользователь системы является равноправным участником. Иными словами, каждый пользователь, включая администратора может не только создавать поездки, но и искать и бронировать их, т.е. каждый пользователь системы может одновременно быть и попутчиком, и водителем.

 

Рис. 1. Диаграмма вариантов использования.

 

На следующем этапе разработки ПС необходимо перейти от концептуального уровня системы к программному описанию определенных сущностей посредством классов, интерфейсов, структур. Для этой цели служит диаграмма классов, которая определяет типы классов системы и различного рода статические связи, которые существуют между ними. На рисунке 2 показаны все существующие в данной автоматизированной системе связи, представленные в виде, соответствующему стандарту ISO/IEC 19505-1, 19505-2.

 

Рис. 2. Диаграмма классов.

 

На завершающей стадии проектирования ПС выполняется разработка диаграммы компонентов. Диаграмма компонентов – статическая структурная диаграмма, показывает разбиение программной системы на структурные компоненты и связи (зависимости) между компонентами. В качестве физических компонентов могут выступать файлы, библиотеки, модули, исполняемые файлы, пакеты и т. п. Разрабатываемая ПС имеет клиент-серверную архитектуру, поэтому было необходимо организовать межкомпонентное взаимодействие как сервера с клиентом, так и программного обеспечения сервера с базовыми средствами операционной системы с помощью различных протоколов и типов связи. Запрос пользователя обрабатывается сервером и в зависимости от его типа могут быть задействованы самые разные компоненты. Так компонент PHP Word выполняет формирование документов по заранее созданным шаблонам для отчетности, а база данных и файловое хранилище предоставляют необходимые данные, будь то изображения, документы или иная информация. Созданная структура взаимосвязи компонентов представлена на рисунке 3.

 

Рис. 3. Общая диаграмма компонентов.

 

Как было отмечено выше, ПС «Карупл» имеет клиент-серверную архитектуру, согласно которой пользователь взаимодействует с сервером системы, на котором в отдельных исполнительных средах хранятся данные и производятся основные вычисления, посредством каналов связи сети Интернет. Эти особенности отражены на рисунке 5 в диаграмме развертывания.

 

Рис. 4. Диаграмма развертывания.

 

Рис. 5. Главная страница.

 

Технологии реализации программной системы. Для реализации ПС использовались следующие технологии и языки программирования:

  • для создания и оформления страниц сайта – HTML, JavaScript, CSS, библиотеки jQuery, Twitter Bootstrap 4, jQuery-Color, Yandex.Maps.API;
  • для работы с сессиями пользователей, взаимодействия с базами данных – язык программирования PHP-7 с применением веб-фреймворка Laravel;
  • в качестве системы управления базами данных – MySQL;
  • в качестве веб-сервера используется Apache с проксирующим Nginx 1.10.

Рассмотрим основные моменты работы с программно-информационной системой. Изначально, когда пользователь попадает на сайт, его нельзя перегружать какой-либо информацией и обилием всевозможного функционала, поэтому в качестве главной страницы было сделано решение реализовать на ней посадочную страницу (так называемый landing page), показанную на рисунке 5.

На сайте реализована возможность регистрации и авторизации как при помощи email, так и при помощи социальной сети ВКонтакте.

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

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

 

Рис. 6. Страница добавления поездки.

 

На странице поиска поездок пользователь может выбрать пункт выезда и приезда, а необходимые опции поиска поездки в случае необходимости (рис. 7).

 

Рис. 7. Страница поиска поездки.

 

Заключение. Сравнение функциональности существующих программных продуктов и ПС «Карпул» представлено выше в таблице 1. Очевидно, что созданная программная система не уступает по функциональности рассмотренным аналогам и, кроме того, сочетает в себе высокую производительность, простоту использования, удобный лаконичный интерфейс. Для повышения конкурентоспособности ПС «Карпул» необходимо провести качественную рекламную компанию, которая привлечет новую аудиторию.

×

About the authors

V. K. Kiselev

Author for correspondence.
Email: ogarevonline@yandex.ru

S. A. Firsova

Email: ogarevonline@yandex.ru

References

  1. Райдшеринг и карпулинг – что это такое? [Электронный ресурс]. – Режим доступа: https://www.rudorogi.ru/articles/advices/ridesharing-carpulling.html (дата обращения: 11.02.2018).
  2. В дорогу с попутчиками без хлопот [Электронный ресурс]. – Режим доступа: https://www.blablacar.ru/ (дата обращения: 11.02.2018).
  3. Бипкар – поиск попутчиков, карпулинг, сервис райдшеринга Beepcar [Электронный ресурс]. – Режим доступа: https://www.beepcar.ru/ (дата обращения: 11.02.2018).
  4. Яндекс.Попутка для водителей – сервис, который ищет попутчиков [Электронный ресурс]. – Режим доступа: https://yandex.ru/promo/poputka (дата обращения: 11.02.2018).
  5. ISO/IEC 19505-1:2012 – Information technology – Object Management Group Unified Modeling Language (OMG UML). – Part 1: Infrastructure [Электронный ресурс]. – Режим доступа: https://www.iso.org/standard/32624.html (дата обращения: 11.02.2018).
  6. ISO/IEC 19505-1:2012 – Information technology – Object Management Group Unified Modeling Language (OMG UML). – Part 2: Superstructure [Электронный ресурс]. – Режим доступа: https://www.iso.org/standard/52854.html (дата обращения: 11.02.2018).

Supplementary files

Supplementary Files
Action
1. JATS XML
2. Fig. 1. Use case diagram.

Download (94KB)
3. Fig. 2. Class diagram.

Download (73KB)
4. Fig. 3. General diagram of components.

Download (10KB)
5. Fig. 4. Deployment diagram.

Download (8KB)
6. Fig. 5. Main page.

Download (26KB)
7. Fig. 6. Add trip page.

Download (27KB)
8. Fig. 7. Trip search page.

Download (29KB)

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

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».