Рубрика: Управление в социальных и экономических системах
УДК: 004.415.2
Разработка системы управления заказами 
ремонтно-строительной компании ООО «Алми»
Аникеева Алиса Сергеевна,
бакалавр
Васильченко Никита Юрьевич
бакалавр
Кийкова Елена Валерьевна,
преподаватель
Владивостокский государственный университет экономики и сервиса
Россия. Владивосток
E-mail: alice@anikeeva.online; тел.: +79147392262
ул. Гогогля, 41, г. Владивосток, Приморский край, Россия, 690014

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

Development of order management system
for renovation and construction company “Almy” Ltd.
Information system for order management simplifies managers’ everyday work and automates some business processes. The article focuses on the analysis of requirements for such system, its design and development.
Keywords: information system, orders management, accounting, planning, control, client database.
Компания «Алми» предоставляет услуги по ремонту и строительству помещений различного назначения. В связи с расширением спектра услуг за последние полгода у сотрудников начались сложности с учетом и контролем заказов. Единственной системой автоматизации работы с клиентами была «1С:Торговля», не покрывающая нужд в сфере планирования работ, контроля качества и своевременности их выполнения. В связи с перечисленными проблемами было принято решение о смене информационной системы на более подходящую.
Цель — разработка информационной системы для управления заказами компании. Достижение этой цели возможно путем последовательного решения следующих задач:
1) изучение бизнес-процессов компании, детальный анализ процессов, поддающихся автоматизации;
2) сбор требований сотрудников к информационной системе;
3) проектирование информационной системы, выбор архитектуры, дизайн интерфейсов и выбор технологий для разработки;
4) непосредственная разработка и тестирование системы.
Одним из основных бизнес-процессов компании, который требует автоматизации и информатизации, является процесс предоставления услуги. На рисунке 1 представлена декомпозиция этого процесса в нотации IDEF0.

Рис.1. Процесс предоставления услуги
Процесс работы с заказчиком является важнейшим в этой цепочке, так как от качества его выполнения и полноты полученной информации зависит скорость и успех остальных процессов в цепочке. Клиентская база ведется в информационной системе «1С:Торговля», а детали каждого заказа записываются в блокнот, опираясь на который менеджер в дальнейшем делает проекты и планирует работу. Наглядного отображения занятости сотрудников в компании нет, в связи с чем процесс планирования затягивается, так как необходимо вступить в коммуникацию с клиентом и каждым потенциальным исполнителем, чтобы выбрать время, на которое назначить работы.
Очевидно, что при таком способе учета и планирования невозможно быстро получить доступ к нужной информации. Все детали заказа, обсуждаемые с клиентом, должны быть отражены в системе и доступны всем участникам работ над проектом.
Для определения функционала системы среди сотрудников было проведено интервьюирование. На основании его результатов была построена диаграмма вариантов использования (рисунок 2).
Под специалистом на диаграмме понимается любой сотрудник компании, непосредственно выполняющий какие-либо работы на объекте: сантехник, электрик, мебельщик, монтажник. Агент не является сотрудником организации, но привлекает туда клиентов на взаимовыгодных условиях. Менеджер и руководитель обеспечивают организацию работ и контролируют ход их выполнения.

Рис.2. Варианты использования
На этапе проектирования каждый вариант использования был детализирован и представлен на диаграмме последовательностей с указанием используемых форм и данных. На рисунке 3 приведен пример диаграммы последовательностей для просмотра списка текущих заказов.

Рис.3. Диаграмма последовательностей
Для каждой формы был спроектирован интерфейс (рисунок 4). По проектам, выполненным на данном этапе, описывались интерфейсы при разработке.

Рис.4. Проекты интерфейсов

Система имеет трехуровневую архитектуру — представление, бизнес-логика и данные.
Для разработки программной части мобильного приложения в среде Android Studio был выбран язык программирования java, поскольку он официально поддерживается и при разработке для данной ОС пользуется наибольшей популярностью.
Для разметки интерфейсов использован язык разметки XML, так как все графические интерфейсы создаются только с помощью него.
Для передачи обмена данных с сервером выбран протокол HTTPS, поскольку данный протокол шифрует весь трафик, а также имеет большой круг применения и прост в реализации. Для работы с этим протоколом использовалась библиотека retrofit.
В качестве формата данных передаваемых по сети был выбран JSON, в рамках реализации и применения RESTful API. Стандарт подразумевает использование XML или JSON, но был выбран именно JSON, поскольку он более емкий и современный. Для сериализации/десериализации данных в мобильном приложении используется библиотека GSON.
Для отображения уведомлений пользователям используется библиотека Firebase, в частности ее подсистема — Firebase Cloud Messaging (FCM). FCM берет на себя ответственность за своевременность и надежность доставки push-уведомлений и сообщений пользователям, а также позволяет делать массовые рассылки.
При разработке серверной части был выбран язык программирования Python версии 3.6.1, потому что он содержит большое количество подключаемых библиотек и имеет большое сообщество разработчиков, что позволяет оперативно получить справку и поддержку.
В качестве фреймворка испольуется Dajngo и Django-rest-framework. Они позволяют описать работу с данными быстро и структурированно. Итогом серверной части является REST API сервис, с помощью которого приложение и сайт получают и обрабатывают данные. 
В качестве аппаратной среды выступает сервер ProLiant DL380 G5 c двумя процессорами Intel Xeon E5335 и 16 Гб ОЗУ.
Чтобы обеспечить надежное хранение и быстрый доступ к информации было решено использовать базу данных. Проект системы предполагает хранение специфичных данных, таких как массивы, множества и JSON данные. Из рассматриваемых СУБД (MySQL, PostgreSQL, Oracle PL/SQL) наиболее подходящей оказалась именно PostgreSQL. 
Также PostgreSQL может быть расширен пользователем для собственных нужд практически в любом аспекте. Есть возможность добавлять собственные:
•	преобразования типов;
•	типы данных;
•	домены (пользовательские типы с изначально наложенными ограничениями);
•	функции (включая агрегатные);
•	индексы;
•	операторы (включая переопределение уже существующих);
•	процедурные языки.
Помимо всего этого PostgreSQL содержит хороший механизм транзакций, поддерживает репликацию и встроенный полнотекстовый поиск
В первую очередь была реализована серверная часть. При этом на основе классов, описывающих сущности данных, django сформировал миграции — прием формирования SQL запросов на создание/изменения структуры базы данных. 
После завершения разработки база данных была протестирована и наполнена данными справочников и тестовыми наборами. 
Так как организация находится в процессе ребрендинга, окончательный дизайн приложения еще не произведен. При этом с точки зрения функционала система готова к использованию.
_____________________________
 1.	Вигерс К.И. Разработка требований к программному обеспечению / Вигерс К.И — Русская редакция, 2004. — 554 с.
2.	Сравнение MySQL и PostgreSQL [Электронный ресурс]. – Режим доступа: https://losst.ru/sravnenie-mysql-i-postgresql
3.	PostgreSQL [Электронный ресурс] // Свободная энциклопедия Википедия — Режим доступа: https://ru.wikipedia.org/wiki/PostgreSQL