ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ 3
ВВЕДЕНИЕ 5
1 Теоретическая часть 8
1.1 Анализ аналогов 8
1.2 Модель предметной области 9
1.3 Выбор средств разработки 11
2 Проектирование 26
2.1 Функциональные требования 26
2.2 Нефункциональные требования 27
2.3 Проектирование интерфейса 27
2.4 Варианты использования 29
2.5 Проектирование архитектуры 31
3 Разработка и реализация 34
3.2 Разработка интерфейса 35
3.3 Обработка действий пользователя 35
3.4 Обработка текста 36
3.5 Запросы к API 38
3.6 «Кластеризация» маркеров 38
3.7 Раскраска точек 39
3.8 Формирование интерактивной карты 39
ЗАКЛЮЧЕНИЕ 41
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 42
ПРИЛОЖЕНИЕ А 45
Сценарии вариантов использования 45
Инструкция пользователя 47
Программа R_Keeper была разработана в 1992 году компанией UCS[4]. Она стала первой российской системой автоматизации работы ресторанов. Сегодня R_Keeper по-прежнему используется многими игроками ресторанного бизнеса. В 2019 году журнал Forbes опубликовал рейтинг 30 лучших ресторанов Москвы. И работа 23 заведений из этого списка была автоматизирована с помощью R_Keeper.
R_Keeper Delivery - это одно из программных решений UCS, предназначенное для автоматизации услуг доставки, а также для осуществления контроля всего процесса выполнения заказа - от поступления до доставки гостю. Многие кафе и рестораны используют данный программный пакет для собственных служб доставки. Прежде всего данный модуль используется для принятия заказов от клиентов, формирования заявок на производство, отслеживания статуса выполнения заказа. В нем фиксируется вся информация о заказе и его выполнении. Все эта информация синхронизируются с общей базой R_Keeper, доступ к которой возможен через приложение «бэк-офиса», который позволят формировать разнообразные отчеты по работе ресторана, в том числе службы доставки.
В программе реализовано большое разнообразие отчетов, но для принятия некоторых управленческих решений часто этого не хватает. Основные причины две:
1. Отсутствие отчета, который предоставлял бы данные в нужном формате;
2. Некорректная работа существующих отчетов.
В частности, отсутствуют корректные отчеты по визуализации адресов заказов на доставку и распределению заказов зонам доставки. А данные отчеты очень важны для выстраивания маркетинговой стратегии развития службы доставки, а также для анализа эффективности отдельных решений, в том числе рекламных и логистических.
Например, директору по доставке важно понимать из каких районов поступает много заказов, а из каких отсутствует достаточный поток. По каждому району, где потенциально можно увеличить количество заказов, можно проводить локальные стимулирующие мероприятия. Это могут быть как классические «оффлайн» мероприятия (листовки в почтовые ящики, расклейка на стендах, баннер), так и использование современных «онлайн» инструментов (геотаргетированная реклама).
В обоих случаях стоимость маркетинговых мероприятий будет напрямую зависеть от размера района, который необходимо покрыть. Поэтому важно как можно точнее определить границы района, в рамках которого будет проводиться рекламная компания.
С другой стороны, важно не только само наличие или отсутствие заказов в различных районах зоны доставки, но и их характеристики - сумма заказа, время доставки и другие. Так как маркетинговые и логистические решения могут быть направлены на увеличение чека в отдельных районах или уменьшению доли долгих доставок (опозданий)
Самым удобным инструментом для решения вышеуказанных задач является визуализация распределения заказов за определенный период с отображением заданных характеристик заказа. При этом стандартные отчеты R_Keeper представляют собой многомерные таблицы, которые для решения таких задач требуют значительного времени на обработку или вообще не пригодны. Так как данные о заказах привязаны к адресам клиентов, целесообразным было бы обеспечить визуализацию данных о географическом распределении заказов и других показателях с помощью некого картографического интерфейса, что позволило бы в значительной степени оптимизировать логистические и маркетинговые направления планирования для ресторанного бизнеса, использующего R_Keeper.
Поэтому разработке и реализации такого инструмента визуализации распределения заказов будет посвящена данная работа.
Заметим, что код семейства программ R_Keeper компании UCS является закрытым, поэтому вносить правки в него для получения корректной информации в отчетах не представляется возможным. Так же невозможно написание внутренних новых необходимых отчетов. Для решения этой проблемы предлагается разрабатывать собственные отчеты на основании данных из стандартных отчетов программ R_Keeper. Это позволит формировать удобные и функциональные решения, которые отсутствуют (или работают некорректно).
Вышеуказанная постановка проблемы была предложена руководством сети пиццерий Pizza.ru, которая осуществляет доставку с трех торговых точек в Томске и Северске и использует систему автоматизации семейства R_Keeper.
Цель работы:
- Разработать приложение для визуализации данных заказов службы доставки ресторана/кафе на основании данных из стандартных отчетов R_Keeper Delivery при помощи картографического интерфейса
Задачи:
1. Изучить предметную область и существующие аналоги;
2. Изучить и выбрать средства разработки;
3. Сформировать требования к системе;
4. Реализовать и опубликовать приложение.
В результате выполнения курсовой работы было разработано веб - приложение для визуализации данных о географическом распределении заказов из стандартных отчётов R_Keeper Delivery с помощью картографического интерфейса. . В процессе работы были выполнены следующие задачи:
1. Проведен обзор существующих аналогичных приложений и анализ их особенностей. Это позволило определить требования и предпочтения целевой аудитории и выделить основные элементы, которыми необходимо дополнить приложение
2. К приложению составлен список функциональных и нефункциональных требований, что позволило ускорить его дальнейшее проектирование
3. Разработана архитектура приложения, включая два основных модуля и графический интерфейс пользователя. Были определены основные функции и особенности каждого из компонентов и приложения в целом;
4. Проведён обзор программных средств разработки, и на его основе был выбран подходящий для достижения поставленной цели стек технологий.
5. На основе проектной архитектуры было реализовано Веб¬
приложение, написанное на языке Python с использованием фреймворка Flask.
6. Окончательная версия приложения была опубликована при помощи веб-сервера.
Результатом работы является готовое веб-приложение для визуализации данных из стандартных отчётов R_Keeper Delivery при помощи картографического интерфейса. Которым можно воспользоваться, перейдя по ссылке http://danilalapatin.pythonanywhere.com/