Информационная

Программа расчета водяных и теплых полов

Наша компания уже не первый год сотрудничает с компанией «ССТ», одним из крупнейших в мире производителей нагревательных кабелей и систем электрообогрева промышленного и бытового назначения. Недавно мы запланировали с ними корпоративный проект предварительного расчета установки оборудования “NeptunIWS Pro” для менеджеров организации.

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

Мы исправили недостатки и доработали функционал приложения.

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

  • площадь;
  • высота;
  • особенности соседних помещений;
  • виды терморегуляторов;
  • тип трубы;
  • шаг укладки трубы;
  • длина проводящей трубы;
  • тип финишного покрытия и т.д.

Также нами были оптимизированы алгоритмы расчета необходимого количества бухт с трубами по исходным данным — количеству и длинам отрезков. Для этого были проанализированы несколько “жадных” алгоритмов и способов решения задач на оптимизацию, их фактическое поведение на реальных примерах и влияние на производительность ПО. Среди рассмотренных алгоритмов был выделен метод ветвей и границ. В отличие от метода полного перебора каждый предмет может быть добавлен или пропущен — каждая ситуация дает отдельный узел в дереве решения. На рисунке ниже показано дерево решения, где красным цветом выделены дуги, отвечающие за пропуск узла, а черным — за его добавление.

В приложение добавлены ряд возможностей:

  • автообновление приложения без прерывания работы;
  • откат программы к предыдущей версии;
  • автообновление БД спецификаций материалов;
  • установка приложения без прав администратора;
  • автообновление прайса с сервера;
  • возможность автоматического тестирования ПО;

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

В данном проекте мы использовали следующие технологии и программные средства:

  • Visual Studio 2017
  • С# WPF
  • Entity Framework
  • MVVM (Model — View — ViewModel)
  • SQLite

Кроме того, при создании приложения мы использовали механизм автоматической сборки и тестирования ПО на основе Jenkins CI и NUnit. Данный механизм используется для повышения качества ПО:

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

Проект “NeptunIWS Pro” помог заказчику:

  1. оптимизировать процесс определения объемно-планировочных решений (количество труб, кранов, утеплителя для любого типа помещения).
  2. автоматически рассчитать стоимость материалов и работ, что позволяет обслуживать большее клиентов за меньшее время.
  3. ускорить процесс создания и  выгрузки технического расчета и спецификации.
Нет комментариев.