ВВЕДЕНИЕ 5
1 Анализ требований на разработку 7
1.1 Описание объекта исследования 7
1.2 Описание бизнес-процессов управления перевозками 7
1.2.1 Процесс «Создание заявки» 8
1.2.2 Процесс «Контролировать аукцион» 9
1.2.3 Процесс «Контролировать исполнение» 10
1.2.4 Процесс «Участие в аукционе» 10
1.3 Анализ альтернативных решений 11
1.3.1 Анализ «Atlaschain» 12
1.3.2 Анализ «Groozgo» 13
1.3.3 Анализ «Truckerpath» 15
1.3.4 Сводная таблица по анализу альтернативных решений 16
1.4 Бизнес-требования к системе 17
1.4.1 Исходные данные 17
1.4.2 Профили заинтересованных лиц 17
1.4.3 Бизнес-цели 18
1.4.4 Критерии успеха 18
1.4.5 Ограничения и исключения 18
1.5 Пользовательские требования 18
1.6 Функциональные требования 27
1.7 Нефункциональные требования 29
1.7.1 Требования к пользовательским интерфейсам 29
1.7.2 Требования к интерфейсам ПО 30
1.7.3 Требования к коммуникациям 30
1.7.4 Требования к удобству использования 31
1.7.5 Требования к производительности 31
1.7.6 Требования к безопасности 31
1.7.7 Требования к технике безопасности 31
1.7.8 Требования к доступности 31
1.7.9 Требования к надежности 32
1.7.10 Требования к устойчивости 32
1.8 Выводы по главе 32
2 Разработка серверной части 33
2.1 Выбор инструментария 33
2.1.1 Выбор языка программирования 33
2.1.2 Выбор системы управления базой данных 33
2.1.3 Выбор вспомогательных инструментов и технологий 34
2.2 Реализация серверной части 35
2.2.1 Инициализация 35
2.2.2 Разработка моделей для базы данных 36
2.2.3 Создание схемы GraphQL 39
2.3 Выводы по главе 44
3 Разработка клиентской части 45
3.1 Выбор инструментария 45
3.2 Реализация клиентской части приложения 47
3.2.1 Инициализация 47
3.2.2 Организация файловой структуры папки src 49
3.2.3 Разработка react компонентов 50
3.3 Выводы по главе 64
ЗАКЛЮЧЕНИЕ 66
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 67
ПРИЛОЖЕНИЕ А 69
Малотоннажные перевозки в настоящее время пользуются большой популярностью в силу нескольких очевидных плюсов:
- Для многих задач по перевозке грузов может быть быстрее и проще найти малотоннажную машину, наподобие Газели.
- Малотоннажные перевозки не попадают под ограничения грузового транспорта.
Небольшие по грузоподъёмности и вместимости машины удобны в случае перемещения небольшого количества мебели, малых партий продуктов. Маневренность малотоннажных автомобилей позволяет припарковаться им в труднодоступных для фур местах. Поэтому выбирая между доставкой груза сборной партией в полуприцепе еврофуры или выделенным малотоннажным транспортом, рекомендуется отдавать предпочтение последнему варианту.
Проблемы грузовладельца: требуется быстро найти качественного грузоперевозчика, высокий риск потери товара и просрочки доставки.
Проблемы грузоперевозчика: трудоемкость процесса управления перевозками.
Актуальность данной работы обусловлена тем, что данные проблемы могут привести к потере времени и прибыли.
Объектом исследования в данной работе процесс управления малотоннажными перевозками. Предметом исследования является автоматизация процесса управления малотоннажными перевозками.
Целью данного проекта является решение проблем грузовладельца и грузоперевозчика путем создания веб-сервиса. В процессе достижения этой цели потребуется решить следующие задачи:
- анализ рынка малотоннажных перевозок;
- разработать модель бизнес-процессов управления малотоннажными перевозками BPMN;
- провести анализ существующих решений;
- разработать бизнес-требования к системе;
- разработать пользовательские требования;
- разработать функциональные требования;
- разработать нефункциональные требования;
Во время выполнения выпускной квалификационной работы были решены все поставленные задачи. Были выявлены и проанализированы требования на разработку, описаны объект исследования, бизнес-процессы управления грузоперевозками. Так же были рассмотрены существующие решения в отрасли малотоннажных перевозок, такие как «Atlaschain», «Groozgo», «Truckerpath», и проведен их сравнительный анализ. Выявлены функциональные и нефункциональные требования к системе.
Был разработан веб-сервис для поиска исполнителей малотоннажных перевозок, путем создания серверной и клиентской частей. Серверная часть была разработана в виде API с использованием таких JavaScript технологий, как Node.js, express, а так же базы данных MongoDB и языка запросов GraphQL. Клиентская часть так же была реализована при помощи языка JavaScript и нескольких инструментов фронтенд разработки, а именно: препроцессор sass, стандарт ES6 при помощи Babel.js, а так же библиотеки для создания интерфейсов - React.js.