Designing and implementing software and information system for ridesharing
- Authors: Kiselev V.K., Firsova S.A.
- Issue: Vol 7, No 10 (2019)
- Section: Статьи
- Submitted: 27.01.2025
- Accepted: 27.01.2025
- URL: https://ogarev-online.ru/2311-2468/article/view/278205
- ID: 278205
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
- Райдшеринг и карпулинг – что это такое? [Электронный ресурс]. – Режим доступа: https://www.rudorogi.ru/articles/advices/ridesharing-carpulling.html (дата обращения: 11.02.2018).
- В дорогу с попутчиками без хлопот [Электронный ресурс]. – Режим доступа: https://www.blablacar.ru/ (дата обращения: 11.02.2018).
- Бипкар – поиск попутчиков, карпулинг, сервис райдшеринга Beepcar [Электронный ресурс]. – Режим доступа: https://www.beepcar.ru/ (дата обращения: 11.02.2018).
- Яндекс.Попутка для водителей – сервис, который ищет попутчиков [Электронный ресурс]. – Режим доступа: https://yandex.ru/promo/poputka (дата обращения: 11.02.2018).
- 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).
- 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
