'
Горев Я.Н.
ВЫБОР СРЕДСТВ РАЗРАБОТКИ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ УЧЁТА ОБОРУДОВАНИЯ И РАСХОДНЫХ МАТЕРИАЛОВ НАУЧНО-ПРОИЗВОДСТВЕННОГО ПРЕДПРИЯТИЯ *
Аннотация:
в статье рассматриваются средства для разработки автоматизированной системы учёта оборудования и расходных материалов. К каждой разрабатываемой системе предъявляются уникальные требования в зависимости от цели и области её применения. Для того, чтобы удовлетворить предъявляемые требования необходимо выбрать правильные средства разработки. Предлагаемые в статье средства разработки способствуют реализации автоматизированной системы складского учёта для удовлетворения требований научно-производственного предприятия малых масштабов с сильно ограниченным бюджетом
Ключевые слова:
автоматизация, складской учёт, эффективность, производство, система
УДК 658.512:005
Горев Я.Н.
магистр, инженер
ООО «Айвок»
(г. Москва, г. Зеленоград, Россия)
ВЫБОР СРЕДСТВ РАЗРАБОТКИ АВТОМАТИЗИРОВАННОЙ
СИСТЕМЫ УЧЁТА ОБОРУДОВАНИЯ И РАСХОДНЫХ
МАТЕРИАЛОВ НАУЧНО-ПРОИЗВОДСТВЕННОГО ПРЕДПРИЯТИЯ
Аннотация: в статье рассматриваются средства для разработки автоматизированной системы учёта оборудования и расходных материалов. К каждой разрабатываемой системе предъявляются уникальные требования в зависимости от цели и области её применения. Для того, чтобы удовлетворить предъявляемые требования необходимо выбрать правильные средства разработки. Предлагаемые в статье средства разработки способствуют реализации автоматизированной системы складского учёта для удовлетворения требований научно-производственного предприятия малых масштабов с сильно ограниченным бюджетом.
Ключевые слова: автоматизация, складской учёт, эффективность, производство, система.
Обоснование необходимости
Как правило целью предприятий в общем смысле является достижение прибыли и удовлетворение потребностей своих клиентов. Предприятия стремятся создавать товары и услуги, которые будут востребованы на рынке, привлекать и удерживать клиентов, обеспечивать качество продукции и эффективное функционирование бизнеса, а также получать прибыль для обеспечения роста и развития компании. На эффективном функционировании бизнеса необходимо заострить внимание. Это процесс, который нуждается в повышении эффективности на предприятии ООО «Айвок». На данный момент компания малых размеров, но уже существенно сказывается нехватка автоматизированной системы складского учёта. Поиск какого-либо ресурса занимает большое количество времени. С увеличением масштабов компании, процесс учёта ресурсов будет становится всё более узким местом и будет сильнее снижать эффективность всего производственного процесса. Поэтому внедрение автоматизированной системы учёта оборудования и расходных материалов является важной и актуальной задачей для инжиниринговой компании.
Определение требований
После принятия решения и определения требований к системе требуется выбрать средства разработки. Выбирать средства необходимо с учётом всех предполагающихся функций. Ниже приведены функциональные и нефункциональные требования.
Функциональные требования
Нефункциональные требования
Выбор языка программирования Backend
Для выбора языка программирования были важны 3 критерия:
Вес этого критерия = 0,3.
Была поставлена одинаковая задача для программ, написанных на сравниваемых языках программирования. Результаты исследования, проводившегося в Санкт-Петербургском университете телекоммуникаций им. проф. Бонч-Бруева [1], представлены на рис. 1.
Рис. 1. Сравнение скорости работы языков
Вес этого критерия = 0,1.
Данные о популярности языка в 2022 году представлены на рис. 2.
Рис. 2. Статистика использования языка [2]
Вес этого критерия = 0,6.
Для сравнения были выбраны наиболее подходящие для поставленной задачи языки: Python [3], C++ [4], Java, PHP [5].
Сравнение языков программирования и результаты представлены в таблице 1.
Таблица 1. Сравнение языков программирования
Язык программирования
Критерий |
Python |
C++ |
Java |
PHP |
Вес параметра: |
Скорость работы |
0,02078 |
0,00960 |
0,01898 |
0,02318 |
0,3 |
Сообщество |
11,2 |
3,3 |
14,3 |
10,6 |
0,1 |
Навык работы |
9 |
4 |
3 |
1 |
0,6 |
Общая оценка |
10 |
9 |
5 |
2 |
|
Расчёты общей оценки для каждого языка программирования проводились по формуле:
Общая оценка «язык программирования» = (((Сообщество «язык программирования» * 0,1) + (Навык работы с «язык программирования» * 0,6)) / (Скорость работы «язык программирования» * 0,3)) / 100
Выбор фреймворка Backend
FastAPI — это современный фреймворк для разработки веб-приложений на языке Python. Он предлагает ряд преимуществ, которые делают его привлекательным выбором для многих разработчиков.
Аналогами являются Flask и Django.
Сравнение фреймворков для Backend и результаты представлены в таблице 2.
Таблица 2. Сравнение фреймворков
Фреймворк
Функция |
FastAPI [6] |
Flask [7] |
Django [8] |
Производительность |
Высокая |
Средняя |
Средняя |
Асинхронность |
Полная поддержка |
Нет нативной поддержки |
Нет нативной поддержки |
Автоматическая документация |
Да (с использованием OpenAPI и Swagger UI) |
Нет (требует дополнительной настройки) |
Нет (требует дополнительной настройки) |
Валидация данных |
Встроенная поддержка с использованием Pydantic |
Ручная настройка |
Ручная настройка |
Поддержка типизации |
Полная поддержка аннотаций типов Python |
Ограниченная поддержка |
Ограниченная поддержка |
Функциональность |
Простой, но с хорошей функциональностью |
Гибкий и легковесный |
Полнофункциональный |
Административный интерфейс |
Нет встроенного |
Нет встроенного |
Встроенный, полноценный |
Сообщество |
Растущее |
Большое |
Большое |
По итогам сравнительного анализа можно сделать вывод, что FastAPI обладает рядом преимуществ, которые важны для выполнения поставленной задачи, по сравнению с аналогами, а именно: поддержка асинхронности, автоматическая документация и поддержка типов Python.
Выбор языка программирования веб-приложения Frontend
Для разработки веб-приложений существует множество языков программирования. Но основными являются:
JavaScript является самым лучшим и полным решением. Аналогов на сегодняшний день не существует. Конечно, не обойтись без использования HTML и CSS.
Выбор библиотеки
React — это JavaScript библиотека для создания пользовательских интерфейсов. Она стала популярной из-за своей эффективности, гибкости и простоты в использовании [10].
Из аналогичных решений можно выделить Angular, Vue.js [11].
Сравнение библиотек для веб-приложения (frontend) и результаты представлены в таблице 3.
Таблица 3. Сравнение библиотек
Библиотека
Функция |
React |
Angular |
Vue.js |
Изучение |
Легко освоить |
Более сложно освоить |
Легко освоить |
Размер библиотеки |
Небольшой |
Большой |
Небольшой |
Производительность |
Высокая |
Высокая |
Высокая |
Сообщество |
Большое |
Большое |
Растущее |
Гибкость |
Отличная гибкость и настраиваемость |
Менее гибкий и более ограниченный |
Гибкий и настраиваемый |
Рендеринг на сервере |
Поддержка SSR (Server-Side Rendering) |
Поддержка SSR (Server-Side Rendering) |
Поддержка SSR (Server-Side Rendering) |
Отрисовка |
Виртуальная отрисовка |
Обычная отрисовка |
Виртуальная отрисовка |
Управление состоянием |
Однонаправленный поток данных |
Однонаправленный поток данных |
Однонаправленный поток данных |
React выделяется самой лучшей гибкостью, то есть способностью адаптироваться к различным требованиям и изменениям проекта. Так как проект планируется дорабатывать и изменять, то React станет лучшим выбором.
Выбор SQL или NoSQL
Существует два основных подхода к организации и управлению данными: SQL и NoSQL (Not Only SQL).
Оба подхода имеют свои преимущества и недостатки, и выбор между SQL и NoSQL зависит от конкретных требований проекта. Если важна схема данных, сложные запросы и согласованность, SQL база данных может быть предпочтительной. В то же время, если требуется гибкость, масштабируемость и обработка больших объемов неструктурированных данных, NoSQL база данных может быть более подходящим решением [12].
В поставленной задаче будет реализован алгоритм взятия и возврата ресурса. То есть потребуется использовать связи. Таким образом необходимо выбрать SQL.
Выбор базы данных на языке SQL
Существует множество решений SQL, которые предоставляют возможности управления и обработки данных с использованием языка SQL.
Наиболее популярными решениями SQL являются [13]:
Сравнительный анализ реляционных баз данных SQL приведён в таблице 4.
Таблица 4. Сравнение баз данных
База данных
Характеристики |
MySQL |
PostgreSQL |
Oracle Database |
Microsoft SQL Server |
Лицензия |
Открытая |
Открытая |
Коммерческая |
Коммерческая |
Масштабируемость |
Вертикальная |
Горизонтальная |
Вертикальная |
Вертикальная |
Расширяемость |
Да |
Да |
Да |
Да |
Поддержка репликации |
Да |
Да |
Да |
Да |
Поддержка транзакций |
Да |
Да |
Да |
Да |
Географическая информация |
Ограниченная |
Да |
Да |
Да |
Полнотекстовый поиск |
Ограниченная |
Да |
Да |
Да |
Интеграция с другими продуктами |
Ограниченная |
Да |
Да |
Да |
Поддержка кластеризации |
Ограниченная |
Да |
Да |
Да |
Иерархичность |
Нет |
Да |
Да |
Нет |
Oracle Database и Microsoft SQL Server не могут рассматриваться из-за платной лицензии и недоступности в Российской Федерации.
Для разработки АСУОР с категориями и подкатегориями требуется иерархичность данных. Из оставшихся решений этим обладает только PostgreSQL [14].
Рис. 3. Архитектура СУБД PostgreSQL
СУБД PostgreSQL использует клиент-серверную архитектуру, где несколько клиентов подключаются к серверу по протоколу TCP/IP. Операции с данными выполняются на сервере, что обеспечивает целостность данных при одновременном доступе множества пользователей. Клиенты могут использовать стандартные интерфейсы, такие как ODBC/JDBC, а также разрабатывать графические приложения. PostgreSQL может быть использована в различных приложениях, включая Microsoft Office, а также предоставлять доступ к данным через веб-интерфейс без дополнительного программного обеспечения на клиентской стороне.
Выбор способа развёртки
Существует множество средств развертки, основанных на виртуализации.
Ниже приведены основные средства развертки:
Сравнение средств развёртки, основанных на виртуализации представлено в таблице 5.
Таблица 5. Сравнение средств развёртки, основанных на виртуализации
Виртуальная машина
Критерии |
VMware vSphere |
Microsoft Hyper-V |
Oracle VirtualBox |
Docker |
Kubernetes |
Поддержка операционных систем |
Windows, Linux, macOS и другие |
Windows и некоторые дистрибутивы Linux |
Windows, Linux, macOS и другие |
Windows, Linux и macOS |
Windows, Linux, macOS и другие |
Инструменты управления |
Богатый набор |
Инструменты Hyper-V |
Интуитивный |
Отдельные инструменты |
Kubernetes API |
Масштабируемость |
Высокая |
Средняя |
Средняя |
Средняя |
Высокая |
Сложность использования |
Средняя |
Средняя |
Низкая |
Низкая |
Высокая |
Гибкость настройки |
Высокая |
Средняя |
Высокая |
Средняя |
Высокая |
Совместимость |
Высокая |
Высокая |
Высокая |
Средняя |
Средняя |
Требования к ресурсам аппаратной части |
Высокие |
Средние |
Средние |
Низкие |
Средние |
Стоимость |
Коммерческое решение |
Коммерческое решение |
Бесплатно |
Бесплатно |
Бесплатно |
Средством развёртывания, основанным на виртуализации выбрано Docker, так как это бесплатное ПО с открытым исходным кодом, имеет низкие требования к ресурсам аппаратной части. Возможно использовать на Linux и Windows.
Заключение
Основываясь на сравнительном анализе, выбраны средства разработки АСУОР. Для разработки Backend части, благодаря своей простоте и функциональности, выбран язык программирования Python с использованием фреймворка FastAPI. Для Frontend части выбран язык программирования JavaScript, не имеющий аналогов; в качестве библиотеки к нему будет использоваться React, которая имеет отличную гибкость и настраиваемость по сравнению с конкурентами, что будет важно для последующих изменений и доработок, которые планируются. В качестве базы данных послужит PostgreSQL с открытым исходным кодом, которая имеет тип данных LTree, что позволяет создавать вложенные категории. В качестве способа развёртки выбран Docker, который предоставляет возможность запустить АСУОР на машине как с Linux, так и с Windows.
СПИСОК ЛИТЕРАТУРЫ:
Номер журнала Вестник науки №8 (65) том 1
Ссылка для цитирования:
Горев Я.Н. ВЫБОР СРЕДСТВ РАЗРАБОТКИ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ УЧЁТА ОБОРУДОВАНИЯ И РАСХОДНЫХ МАТЕРИАЛОВ НАУЧНО-ПРОИЗВОДСТВЕННОГО ПРЕДПРИЯТИЯ // Вестник науки №8 (65) том 1. С. 116 - 129. 2023 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/9704 (дата обращения: 17.05.2024 г.)
Вестник науки СМИ ЭЛ № ФС 77 - 84401 © 2023. 16+
*