'
Научный журнал «Вестник науки»

Режим работы с 09:00 по 23:00

zhurnal@vestnik-nauki.com

Информационное письмо

  1. Главная
  2. Архив
  3. Вестник науки №8 (65) том 1
  4. Научная статья № 20

Просмотры  39 просмотров

Горев Я.Н.

  


ВЫБОР СРЕДСТВ РАЗРАБОТКИ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ УЧЁТА ОБОРУДОВАНИЯ И РАСХОДНЫХ МАТЕРИАЛОВ НАУЧНО-ПРОИЗВОДСТВЕННОГО ПРЕДПРИЯТИЯ *

  


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

Ключевые слова:
автоматизация, складской учёт, эффективность, производство, система   


УДК 658.512:005

Горев Я.Н.

магистр, инженер

ООО «Айвок»

(г. Москва, г. Зеленоград, Россия)

 

ВЫБОР СРЕДСТВ РАЗРАБОТКИ АВТОМАТИЗИРОВАННОЙ

СИСТЕМЫ УЧЁТА ОБОРУДОВАНИЯ И РАСХОДНЫХ

МАТЕРИАЛОВ НАУЧНО-ПРОИЗВОДСТВЕННОГО ПРЕДПРИЯТИЯ

 

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

 

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

 

Обоснование необходимости

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

 

Определение требований

После принятия решения и определения требований к системе требуется выбрать средства разработки. Выбирать средства необходимо с учётом всех предполагающихся функций. Ниже приведены функциональные и нефункциональные требования.

Функциональные требования

  1. Регистрация аккаунта в системе.
  2. Удалённая работа с программой.
  3. Уведомления о малом и критически малом количестве ресурсов.
  4. Настройки автоматической закупки ресурсов.
  5. Синхронизация баз в режиме реального времени.
  6. Создание и редактирование категорий и подкатегорий ресурсов.
  7. Генерация топологии склада.

Нефункциональные требования

  1. Сервер должен работать на QNAP NAS. Операционная система (ОС) Linux.
  2. Сервер должен иметь возможность запускаться на ОС Windows.
  3. Важное: Доступ к АСУОР должен осуществляться с любой ОС: Linux, macOS, Windows, Android, iOS.
  4. Сервер должен обрабатывать одновременно несколько подключений.
  5. Должна быть возможность доработки функционала системы.

 

Выбор языка программирования 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: JavaScript является наиболее широко используемым языком программирования для веб-браузеров. Он предоставляет возможность создания динамических и интерактивных веб-страниц [9].
  • HTML: HTML (HyperText Markup Language) является основным языком разметки, используемым для создания структуры и содержимого веб-страниц. Хотя HTML сам по себе не является языком программирования, он необходим для создания основных элементов веб-страницы.
  • CSS: CSS (Cascading Style Sheets) используется для определения внешнего вида и стиля веб-страниц. Он позволяет управлять оформлением элементов HTML, включая цвета, шрифты, макеты и другие аспекты визуального представления.

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]:

  • MySQL
  • PostgreSQL
  • Oracle Database
  • Microsoft SQL Server

Сравнительный анализ реляционных баз данных 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, а также предоставлять доступ к данным через веб-интерфейс без дополнительного программного обеспечения на клиентской стороне.

 

Выбор способа развёртки

Существует множество средств развертки, основанных на виртуализации.

Ниже приведены основные средства развертки:

  • VMware vSphere [15].
  • Microsoft Hyper-V [16].
  • Oracle VirtualBox [17].
  • Docker [18].
  • Kubernetes [19].

Сравнение средств развёртки, основанных на виртуализации представлено в таблице 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.

 

СПИСОК ЛИТЕРАТУРЫ:

 

  1. Коровин И.В., Пулькин И.А., Веранян А.С. Исследование скоростей выполнения базовых математических задач популярных языков программирования // Экономика и качество систем связи. Санкт-Петербург. 2019. С. 63-68.
  2. Рейтинг языков программирования 2022. C# обошел Java, TypeScript сравнялся с PHP, а Dart – наиболее комфортный язык [Электронный ресурс]. – Режим доступа: https://habr.com/ru/articles/651585/, свободный. – (дата обращения: 25.02.2023).
  3. Дауни А.Б. Основы Python: Научитесь думать как программист / O’Reilly. С. 302.
  4. Страуструп Б. Программирование. Принципы и практика использования C++ / Издательский дом «Вильямс». С. 1225.
  5. Черномордов С.В. PHP или Java - какой язык подходит для вашего проекта? // Современные технологии в мировом научном пространстве. Пермь. 2017. С. 196-198.
  6. Detection of phishing website using machine learning algorithms and deployment using fastapi / Ismail P. [et al.]// I-Manager's Journal on Computer Science. 2021. Vol.8 №4, P. 19-24.
  7. Grinberg M. Flask Web Development // O’Reilly Media, Inc. 2018. P. 7-17.
  8. Dauzon S., Bendoraitis A., Ravindran A. Django: Web development with Python: Learning Path / Packt Publishing Ltd. Birmingham. 2016. P. 9-138.
  9. Duckett J. Beginning HTML, XHTML, CSS, and JavaScript / Wiley Publishing, Inc. Indiana. 2010. P. 421-585.
  10. Gackenheimer C. Introduction to React / Apress. New York. 2015. P. 1-42.
  11. E. JavaScript frameworks: Angular vs React vs Vue / Bachelor’s Thesis. 2019. P. 8-15.
  12. Vatika S., Meenu D. SQL and NoSQL Databases // International Journal of Advanced Research in Computer Science and Software Engineering. 2012. Vol. 2. №8. P. 20-27.
  13. Truica C.-O., Boicea A., Radulescu F. Asynchronous Replication in Microsoft SQL Server, PostgreSQL and MySQL // International Conference on Cyber Science and Engineering. 2013. P. 50-55.
  14. СУБД PostgreSQL. Особенности и архитектура Postgres [Электронный ресурс]. – Режим доступа: https://otus.ru/nest/post/1584/, свободный. – (дата обращения: 24.05.2023).
  15. Guthrie F., Lowe S., Kendrick. VMware vSphere Design: Second Edition / John Wiley & Sons, Inc. Indiana. 2013. P. 59-94.
  16. Leinenbach D., Santen T. Verifying the Microsoft Hyper-V Hypervisor with VCC // International Symposium on Formal Methods. 2009. P. 806-809.
  17. Oracle VM VirtualBox [Электронный ресурс]. – Режим доступа: https://www.oracle.com/cis/virtualization/virtualbox/, свободный. – (дата обращения: 11.04.2023).
  18. Combe T., Martin A., Di Pietro R. To Docker or Not to Docker: A Security Perspective // IEEE Cloud Computing Vol. 3, №5. 2016. 54-62.
  19. Sayfan G. Mastering Kubernetes / Large scale container deployment and management. Birmingham-Mumbai. 2017. P. 65-90. 
  


Полная версия статьи PDF

Номер журнала Вестник науки №8 (65) том 1

  


Ссылка для цитирования:

Горев Я.Н. ВЫБОР СРЕДСТВ РАЗРАБОТКИ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ УЧЁТА ОБОРУДОВАНИЯ И РАСХОДНЫХ МАТЕРИАЛОВ НАУЧНО-ПРОИЗВОДСТВЕННОГО ПРЕДПРИЯТИЯ // Вестник науки №8 (65) том 1. С. 116 - 129. 2023 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/9704 (дата обращения: 17.05.2024 г.)


Альтернативная ссылка латинскими символами: vestnik-nauki.com/article/9704



Нашли грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики) ?
- напишите письмо в редакцию журнала: zhurnal@vestnik-nauki.com


Вестник науки СМИ ЭЛ № ФС 77 - 84401 © 2023.    16+




* В выпусках журнала могут упоминаться организации (Meta, Facebook, Instagram) в отношении которых судом принято вступившее в законную силу решение о ликвидации или запрете деятельности по основаниям, предусмотренным Федеральным законом от 25 июля 2002 года № 114-ФЗ 'О противодействии экстремистской деятельности' (далее - Федеральный закон 'О противодействии экстремистской деятельности'), или об организации, включенной в опубликованный единый федеральный список организаций, в том числе иностранных и международных организаций, признанных в соответствии с законодательством Российской Федерации террористическими, без указания на то, что соответствующее общественное объединение или иная организация ликвидированы или их деятельность запрещена.