Главная/Портфолио/Разработка EAM-системы для отслеживания состояния оборудования на заводах

Разработка EAM-системы для отслеживания состояния оборудования на заводах

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

Ценность создаваемого решения:
• для компании клиента — своевременно получать информацию об интенсивности эксплуатации оборудования его заказчиками, чтобы точнее планировать поставки;
• для заказчиков компании (заводов) — точно прогнозировать даты обслуживания оборудования, сокращать простои и избегать затоваривания складов.

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

О том, с какими вызовами столкнулась наша команда и почему проект стал одним из самых увлекательных для нас, рассказываем в кейсе.

Отрасльпромышленность, производство
Типовое решениепрограммный комплекс, состоящий из веб- и мобильного приложения
Услугипроектирование архитектуры, UI/UX-дизайн, backend-разработка, frontend-разработка, тестирование, интеграции с 1С, интеграции с оборудованием
Технологический стекJava, Postgres, React, MobX, Spring Boot 3, TypeScript, Next.js, React Native
диаграммы диаграммы

Клиент

Крупный производитель и поставщик запчастей для промышленного оборудования по всей России. Название компании под NDA.

Задачи

Разработать систему управления физическими активами (EAM, Enterprise Asset Management), которая позволит:

  • Отслеживать состояние запчастей, анализировать их надёжность и точно измерять сроки службы.
  • Прогнозировать объёмы и номенклатуру заказа запчастей.
  • Предсказывать, какие запчасти потребуют замены в ближайшее время.

Разработать мобильное приложение, которое позволит заказчикам компании клиента:

  • Сканировать штрихкоды и вести учет запчастей «в полях».
  • Синхронизироваться с центральным сервером компании.

Обеспечить удобное взаимодействие пользователей как внутри компании, так и с её клиентами (заводами). Это достигается за счёт:

  • Развёртывания серверов на каждом заводе для взаимодействия операторов завода (создание заявок на производство запчастей, списание и т. д.).
  • Синхронизации серверов заводов с центральным сервером через Интернет или файлы.

Вызовы проекта

Требования к ПО менялись и дополнялись в ходе проведения работ

В планировании и выполнении работ требования дополнялись регулярно. С нашей стороны это требовало гибкого подхода к разработке: когда все поступающие задачи приоритезируем, реализуем и демонстрируем клиенту. Итеративно уточняем требования. Затем сразу получаем обратную связь и дорабатываем функционал ПО.

Забегая вперёд, именно этот подход помог нам с клиентом добиться впечатляющих результатов уже при завершении первого этапа проекта.

Мы применяем Agile в большинстве проектов по разработке программного обеспечения, и проект клиента — яркий пример, как это проявляется на практике: когда изначально требования к продукту фиксированы верхнеуровнево, а в ходе работы формируется более точное видение.

Доступ к оборудованию, в связке с которым должно работать новое ПО, получили не сразу

В проекте была заложена интеграция с различными лазерными маркираторами, однако некоторые из них находятся у конечных заказчиков нашего клиента. Доступ к этим маркираторам получить сложно.

ПО предполагает многоуровневый процесс тестирования

На первом же этапе проекта мы поняли, что тестирование связки мобильное приложение + десктопное ПО + оборудование, ещё и предполагающее несколько ролей пользователей, потребует внушительных ресурсов. Поэтому мы решили усилить команду тестирования. А часть тест-кейсов — автоматизировать для сокращения времени и трудёмкости регрессионного тестирования.

Наши решения

1. Разработали систему EAM: веб- и мобильное приложение

Мы создали с нуля систему, которая обеспечивает удобное взаимодействие пользователей как внутри компании, так и между компанией и её заказчиками (заводами). На каждом заводе развернут свой сервер, с которым взаимодействуют операторы.

Взаимодействие внутри системы выглядит так:

Принцип работы EAM Принцип работы EAM
  • Веб-приложение включает в себя функционал, позволяющий измерять сроки ходимости различных запчастей, прогнозировать объёмы и номенклатуру заказа запчастей, предсказывать, какие запчасти потребуют замены в ближайшее время.
  • Мобильное приложение позволяет сканировать штрихкоды и вести учет запчастей «в полях». Синхронизируется с центральным сервером компании нашего клиента.

Продемонстрируем, как это работает для разных пользователей.

Приложение рассчитано на три роли:

  • администратор со стороны компании клиента,
  • оператор со стороны завода (заказчика компании клиента),
  • механик.

Для каждой из ролей разработан свой функционал.

Администратор со стороны компании нашего клиента работает через веб-версию приложения. Он:

  • создаёт и заполняет справочники оборудования,
  • настраивает карту оборудования,
  • заводит новых пользователей со стороны заказчиков компании,
  • производит обмен штрих-кодов между изделиями (необходимо, если на стороне заказчика оператором была допущена ошибка при заполнении штрих-кода).

Так выглядит заполненная карта оборудования по конкретной запчасти:

Оператор со стороны заказчика компании нашего клиента работает и через веб-, и через мобильную версию приложения:

  • получает заявки от механиков, когда им не хватает запчастей,
  • создаёт заявки на производство запчастей,
  • ведет учёт изделий.

Также в веб-версии можно просматривать отчётность, в которой предусмотрено множество параметров для отслеживания надёжности запчастей:

Механик использует мобильное приложение. Он устанавливает и изымает запчасти, создаёт заявки на их производство.

Для установки запчастей сканирует промаркированное изделие или вводит код вручную.

Далее открывается карточка изделия, и механик подтверждает установку.

Для снятия детали он сканирует установленное изделие или вводит код вручную:

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

Внутри заявки отображается список деталей: механик формирует его, а оператор — получает (тоже через мобильное приложение).

2. Провели комплексное тестирование

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

На этапах создания и отладки решения самой непростой задачей стала синхронизация данных.

На входе — 20+ заводов, тысячи единиц техники, локальные и центральный сервера. Обмен данными между всем вышеперечисленным идёт постоянно, и ошибки в ходе процесса лишили бы продукт смысла. Кроме того, важна скорость обмена данными. 

Мы спроектировали оптимальную для продукта архитектуру, провели сотни тестов, проиграли все возможные сценарии поведения пользователя и убедились в соответствии ПО требованиям: система работает бесперебойно.

 

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

Мы выбрали стратегию, когда проект отлаживался на одном типе маркиратора, а адаптацию к другим типам выполняем на этапе пресейла у конкретного заказчика.

 

Состав работ

Основные услуги, которые мы предоставили клиенту:

  • Проектирование архитектуры: разработали структуру системы, которая обеспечивает надёжную и эффективную работу.
  • Разработка серверной и клиентской части (frontend и backend) программного обеспечения: создали решение, которое работает как на серверах, так и на устройствах заказчиков компании-клиента.
  • Тестирование: в него вошли ручные и автотесты, написанные под клиента.
  • Интеграция с 1С: обеспечили совместимость системы с существующими решениями клиента.
  • Мобильная разработка: создали мобильное приложение для удобного использования в полевых условиях.
  • UI/UX дизайн: разработали интуитивно понятный и удобный интерфейса для всей системы.

 

Результаты 

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