ООО «Делонги»
600 000
Торговля
Россия, Санкт-Петербург
Апрель 2019
Дистрибьютеры заказчика присылали ежедневно отчеты по продажам и остаткам. К сожалению, все эти отчеты были в разных форматах. Их обработка и приведение к одному виду занимали полный рабочий день аналитика.
Заказчик ввел единую форму отчетности для дистрибьюторов, но согласились на это только крупные компании, которые были готовы доработать свои внутренние системы. А дистрибьютеры поменьше такими ресурсами не обладали.
Таким образом задача сводилась к следующему: Обрабатывать десятки отчетов по продажам и остаткам в день не регламентированных форматов. Инструмент должен быть интегрирован, в существующую ERP систему разработанную на PHP.
"Конструктор", который бы позволил задавать правила обработки файлов, и приводил бы отчет к требуемому виду. Для этого нам потребовалось:
1) проанализировать отчеты, которые поступали от клиентов (здесь нам очень помог Бизнес Аналитик со стороны заказчика).
2) разработать ТЗ и мокапы инструмента для обработки отчетов
3) продумать архитектуру "конструктора" и реализовать4) протестировать работу на существующих отчетах и оптимизировать производительность
5) доставить инструмент на сервер заказчика и мониторить его работу в течении 1го месяца, оказывая консультации при необходимости
Каждый из этапов опишем ниже.
Каждый клиент присылал отчеты в совершенно разных форматах, кто-то составлял отчеты вручную, у кого-то отчеты генерировали скрипты. Мы поняли, что:
1) потребуется интерфейс, в котором аналитик на стороне заказчика сможет указать как инструмент должен обрабатывать файл, откуда брать товары, торговые точки, продажи и остатки.
2) самым удобным способом получения отчетов оказалась почта. Туда клиенты уже присылали письма и инструменты же останется подключить к почте и скачать требуемые письма, которые удовлетворяют правилам.
3) потребуется инструмент для создания правил обработки писем. Чтобы каждому письму можно было бы назначить свои правила обработки.
4) Определили технологии, которые потребуется использовать на проекте. Т.к. базовая ERP система была написана на PHP + CMF Drupal, то язык был предопределен как и фреймворк.
Т.о. проект состоял из:
- "почтового обработчика", который получал письма,
- "обработчика правил", который применял к каждому письму требуемый "скрипт"
- "конструктора скриптов", интерфейс для указания как собирать данные в файле клиента.
1) Сделали 2 наброска интерфейса инструмента по обработке отчетов и согласовали с заказчиком.
2) Описали алгоритм настройки инструмента
3) Описали алгоритм работы "обработчика" отчетов, получения файлов для обработки
4) Согласовали единый формат выходного файла
5) Описали критерии приемки (то как будет принята работа и они же основные сценарии для тестировщика)
6) Оценили стоимость разработки
На выходе получили ТЗ со следующими разделами:
На основе ТЗ, продумали гибкую архитектуру, которая бы позволила добавлять новые расширения и возможности для инструмента. Продумали разделение логики по классам и диаграмму последовательности:
Поняли, что можем столкнутся с ограничением на размер файлов, и сразу выполнили проверки для определения максимального размера отчета.
Использовали отчеты по продажам, которые клиенты присылали ранее. Тестировщики настроили инструмент для 15 разных отчетов и проверили производительность и работоспособность.
После доставки инструмента в течении месяца мы проводили консультации и обучение по использованию инструмент, а также вносили исправления в наш инструмент. Убедились в том, что инструмент подходит для задач заказчика.
Happy End. =)
На данный момент аналитики Делонги создали в разработанном инструменте 250 правил, в день приходит в среднем по 30 отчетов, на каждый из которых ранее уходило ~2 часа.
Таким образом мы смогли высвободить ~1000 чаcов работы аналитиков.
Омкод с удовольствием обсудит вашу задачу