Информационно-аналитическая система Probit — ПО для определения величин пожарного риска на производственных объектах в режиме онлайн. Систему используют в экспертных организациях, научно-исследовательских и проектных институтах, специализирующихся на пожарной безопасности производственных объектов.
Россия
Промышленность
Разработка ПО
2 Backend-разработчика, Frontend-разработчик, QA-инженер, Проектный менеджер
https://probit.pro
С Probit мы знакомы очень близко — именно наша компания в 2021 году разработала эту систему. Четыре года проект успешно работал, компания покоряла новые рынки и росла. Поэтому клиент вновь обратился к нам: теперь за расширением. Систему нужно было сделать ещё быстрее, внедрить новый функционал и реализовать дополнительные интеграции.
Кроме того у заказчика появился запрос на новые вычислительные мощности. Раньше логика системы работала на frontend части — это ограничивало в детализации проектов
Ускорить работу системы
Разработать новый функционал
Интегрировать систему с внешним источником
Называть внешний источник, с которым клиенту нужна была интеграция, мы не можем, поэтому просто обозначим, что это крупный российский системный интегратор, один из лидеров в сфере моделирования объектов промышленного строительства.
Требования к специалистам
Проект обещал быть сложным не только технически. Probit — уникальная информационно-аналитическая система, которая основана на объёмных математических формулах и алгоритмах. А значит, для работы с этим проектом нужно больше, чем идеальное знание кода и прикладные технические навыки. Именно поэтому в команду мы подобрали людей с углублённым пониманием построения алгоритмов и продвинутым математическим образованием.
Шаг 1. Анализ и разработка требований
Шаг 2. Разработка нового функционала
Что это такое и зачем?
Это инструмент актуальный для любых производств и компаний, которые работают жидкостями разного формата. Пример:
У нас есть завод по переработке нефти. Там находится 4 резервуара для хранения этой нефти. У резервуара есть параметры: толщина, высота, плотность стен, глубина и плотность жидкости, расстояние друг от друга. Есть и внешние параметры: рельеф, состав почвы, обвалование. Наша система позволяет на основании заданных параметров воссоздать объекты в цифровой среде и посмотреть: что произойдёт, если с резервуаром что-то случится. Предположим, произошла утечка нефти. Наша система позволяет увидеть: куда пойдёт жидкость, какие объекты в теории она может затронуть, какой вообще в теории будет площадь растекания.
С этим этапом мы справились быстро: у нас уже был опыт работы над первым модулем программы для расчёта рисков возгорания, поэтому у нас было понимание того, как система должна работать.
Шаг 3. Перенос расчетных модулей в отдельный npm-пакет
Как только мы закончили этот этап работы, мы были уверены, что основной блок работы позади: новый функционал разработан, npm-пакеты написаны, программа работает на бэке. Релиз близко! Осталось только получить данные из внешнего источника и внести их в наши формулы для интеграции систем. На этом этапе к работе подключился внешний источник, который и должен был отправить нам данные для работы системы.
Шаг 4. Получение данных из внешнего источника, интеграция систем
Чтобы объединить две системы нам нужны были данные, на основании которых наша программа могла бы моделировать объекты в автоматическом режиме. Эти данные нам должен был отправить внешний источник. Нужны было получить координаты труб, резервуаров и зданий.
Так в наш проект добавился ещё один блок работы: преобразовать данные внешнего источника, чтобы из хаотичного набора точек сделать последовательность. Как мы решили эту задачу:
Шаг 5. Расчёт рисков
Бэк проекта мы писали на Node.js. В двух словах что это за технология и почему мы выбрали именно её.
Что это значит для клиента?
В итоге у нас получилась сложная, нагруженная система, у которой нет аналогов в мире. В ходе работы мы закрыли все проблемы, с которыми к нам пришёл клиент:
Этим проектом мы действительно гордимся и очень рады, что у нас есть возможность работать над такими нестандартными задачами. Клиент со своей стороны остался на 100% доволен результатами нашей работы. Глубокое погружение в специфику проекта, полная вовлечённость каждого члена команды, оптимальные решения — все это про нас клиент знал ещё из прошлого опыта работы с iMedia. Но он был абсолютно не уверен, что реализовать некоторые идеи в принципе возможно. Зато мы точно знали, что всё получится и всё действительно получилось.