Kalashnikov Izhevsk State Technical University (Department "Water supply and water treatment", Kalashnikov Izhevsk State Technical University., assistant professor)
Izhevsk, Izhevsk, Russian Federation
UDK 004.043 на структуру данных
The article considers the development of information management systems, decision support and modelling for production processes in penitentiary institutions. The work outlines the problem of insufficient study of production and labour sector data both from a scientific viewpoint and from the standpoint of developing new software and practical application. It is found that the first steps to solve the above-mentioned problems will be proper data structuring and identifying key performance parameters. Presenting data as sets and studying the interaction between them can be a good solution to the problems posed. Thus, the work formulates the task of determining the key performance parameters of the labour sector of the penitentiary system, and considers the principles of set theory as tools for solving this problem. In addition, the authors use previously created developments such as an indexing system and a software package for collecting statistical data to settle this issue. As a result of the study, rules are determined, as well as relationships that can be applied to detect the key performance parameters and develop an information system, as well as to create databases with improved structuring that are more practically oriented.
key performance indicators, labour sector, penitentiary system, set theory
Введение
На данный момент для мониторинга в организации производств и управления трудовой деятельностью спецконтингента в уголовно-исполнительной системе Российской Федерации разработан набор утвержденных статистических отчетов. Они позволяют в долгосрочной перспективе вести учет важных параметров и показателей для предприятий и трудовых ресурсов [1]. За многолетний период в учреждениях пенитенциарной системы накоплены достаточно объемные статистические базы данных. Однако, существует ряд проблем.
Во-первых, учтенные данные малоизучены с позиций разработки статистических прогнозов, а также создания и применения систем поддержки принятия решений и управления. Во-вторых, существующие базы данных нередко не связаны между собой, несмотря на наличие сопоставимых параметров [2]. Одной из первых ступеней в решении поставленных проблем будет грамотное структурирование данных: разбиение данных на группы (классы), изучение взаимодействие между группами и выделение ключевых параметров, которые влияют на эффективность производства [3], [4] – что является основой в разработке практически любой системы управления. Применение принципов объектно-ориентированного подхода [5], а также реляционной теории [6] и теории множеств [7] – может явиться хорошим решением для проблемы классификации и сопоставления данных. Таким образом, в качестве цели исследования выступало исследование возможностей применения основ теории множеств для разработки ключевых параметров эффективности трудового сектора пенитенциарной системы.
1. Методы сбора информации, формирование данных для исследования. В работе, для решения представленной задачи, были собраны статистические данные при помощи разработанного ранее программного комплекса «Стат.Оператор» [8], применена разработанная ранее система индексации данных [9], сбор дополнительной актуальной информации проводился на основе программных комплексов «Стат.Проект» и «Стат.Аналитик» [10], [11]. Были рассмотрены актуальные и общепринятые подходы на основе теории множеств [7] и реляционной теории [6], исходя из возможности дальнейшего применения в разработке баз данных и реализации на языках программирования [12]. Формирование множеств также проводилось исходя из существующих приказов: Приказ ФСИН России №754 от 30.08.2019, Приказ ФСИН России №1033 от 12.11.2019, Приказ ФСИН России №661 от 15.09.2020, Приказ ФСИН России от 01.08.2014 № 398.
Исходя из представленной ранее системы индексации данных [9], а также имеющейся статистической информации, все исследуемые параметры для трудового сектора можно представить в виде множеств:
где: m=1 – отчет о трудовой адаптации осужденных, m=3 – отчет о производственной и экономической деятельности, связанной с привлечением осужденных к труду, m=4 – сведения о социально-значимых заболеваниях, m=5 – отчет о среднем профессиональном образовании и профессиональном обучении, p - номер раздела в представленных формах учета (в зависимости от m), o – номер исследуемого параметра.
В зависимости от выбора m будут меняться и значения p, o. Для каждого параметра X возможно сделать срезы Y. Согласно приведенной системе индексации данных [9], для (1) будут справедливы срезы Yu,v (2-5):
где: u=1 – срез по учреждениям в рамках производственной и экономической деятельности пенитенциарной системы; u=3 – срез по учреждениям, исполняющим уголовные наказания в виде лишения свободы, СИЗО и характеристике содержащихся в них лиц; u=4 – срез для учреждений исходя из анализа социально-значимых заболеваний; u=5 – разрез для учреждений исходя из данных о среднем профессиональном образовании.
Далее, рассмотрим разделение данных (1) на классы. Здесь, наиболее рациональным могло быть разделение на классы по m, однако, исследуя имеющуюся информацию – это решение оказывается не совсем верным, так как для одного определенного m можно обозначить сразу несколько классов исходя из p. Рассмотрим далее данный вопрос более подробно, а также рассмотрим сами классы.
2. Распределение данных по классам. Согласно имеющимся данным (1-5) здесь можно выделить классы: «Характеристика трудовых ресурсов», «Уровень заработной платы и нормирования труда», «Общая характеристика спецконтингента», «Здоровье и медицинское обеспечение».
Класс «Характеристика трудовых ресурсов». Сюда можно отнести (6):
возможность сделать срезы по
Класс «Уровень заработной платы и нормирования труда». Здесь можно выделить (9):
присутствует лишь один возможный срез –
Класс «Общая характеристика спецконтингента». Характеризуется (11):
и возможность сделать срезы в рамках (12):
Класс «Здоровье и медицинское обеспечение». Здесь можно выделить (13):
для которого возможно сделать срезы (14):
В данном классе, в отличии от предыдущих, отсутствует суммирующее значение. Поэтому, был введен дополнительный индекс Yu=4,v=9, для которого справедливо (15) (это было сделано, для того чтоб можно было сопоставить данный класс с другими более полноценно):
поэтому, одно из определенных ранее условий (4) теперь изменилось (16):
и соответственно уже будет справедливо (17):
далее рассмотрим класс, который характерен для параметров, которые отражают статистические данные по численности лиц, получающих среднее профессиональное образование и профессиональное обучение.
Класс «Профессиональное образование и обучение». Характеризуется следующим множеством (18):
здесь присутствует разрез только для учреждений (19):
Таким образом, представленные данные можно разделить и структурировать на классы, создать правила по проведению срезов Y. Данные правила – являются важной ступенью в разработке информационной системы. Здесь, следует отметить, что можно также создавать и временные срезы (например, за определенный месяц в течении несколько лет), однако, этот раздел исследования следует рассматривать отдельно [13].
Существует также возможность исследовать и другие данные и рассмотреть большее количество классов. Однако, это будет выходить за рамки поставленной ранее задачи исследования. При разработке информационных систем управления производственного и трудового сектора пенитенциарной системы в первую очередь следует рассмотреть класс «Трудовые ресурсы», другие же классы (в этом конкретном случае) будут являться второстепенными. Однако, при этом, будут оказывать непосредственное влияние на качество трудовых ресурсов. А значит, UML-диаграмму классов можно построить следующим образом (рисунок 1).
Также можно выделить неявный класс, использование которого позволит более достоверно исследовать информацию по спецконтингенту: другими словами, вести расчеты не в фактических значениях, а в относительных. Таким образом, можно выделить класс «Общая (среднесписочная) численность спецконтингента». Данный класс характеризуется среднесписочными или общими значениями по численности спецконтингента для любого из рассматриваемых
Рис. 1. UML-диаграмма классов трудового сектора
Fig. 1. UML class diagram of the labor sector
В зависимости от m здесь могут быть использованы разные среднесписочные характеристики спецконтингента. Так, для m=1 будет справедливо использовать
Рис. 2. Влияние класса «Общая (среднесписочная) численность» на рассмотренные ранее классы
Fig. 2. The influence of the class "Total (average) number" on the classes considered earlier
Таким образом, у нас выделен ряд параметров, которые влияют (прямо или косвенно) на остальные. И для которых имеется связь «один ко многим». Благодаря данному классу можно разработать ключевые параметры эффективности (KPI), использование которых позволит более достоверно оценивать и принимать дальнейшие решении при управлении производственным сектором пенитенциарной системы.
3. Разработка KPI на основе классов. KPI (key performance parameters) – ключевые параметры эффективности [3], [4]. KPI могут быть сформированы исходя из структуры данных и взаимодействия параметров между собой. В первую очередь, для разработки KPI, был определен ряд параметров, которые напрямую влияют на остальные. Ими являются параметры класса «Общая (среднесписочная) численность». Например: если рассматриваем
1. Доля не привлекаемых к труду по особым причинам, уклонение от работы (work avoidance (WA)):
если рассматривать с позиции возмещения причиненного ущерба (compensation for damage (CFD)), то (20):
если рассматриваем данные непосредственно по составу трудовых ресурсов (что будет более интересно для поставленных задач) (21):
в целом, формирование общего фактического значения не привлечения к труду будет (22):
здесь также можно выделить разные виды отклонения от работы, например:
по состоянию здоровья (23):
необоснованный отказ от работы (24):
и другие (рассчитываются аналогичным путем).
Также следует рассматривать среднюю долю привлеченных к труду от общей среднесписочной численности проходящих трудовую адаптацию (т.е. количество реально трудящихся на данный момент (current employees (CE))) (25):
а также долю проходящих трудовую адаптацию в целом от среднесписочного числа спецконтингента (workers labor adaptation(WLA)):
Немаловажным KPI для производственного процесса является выработка (количество продукции на одного работника) [3]. Расчет на одного человека (productivity per person(PVP)) можно представить следующим образом (27):
также будет значимой и выработка в расчете на проходящих трудовую адаптацию в целом (28):
а также можно сделать расчет по времени:
если рассматриваем человеко-дни (productivity per time (days) (PPT(D))) за рассматриваемы период то (29):
если рассматриваем человеко-часы (productivity per time (hours) (PPT(H))):
Следует также рассмотреть специфику спецконтингента. Здесь можно отметить следующие KPI (при этом разделение на мужчин и женщин среди спецконтингента при этом не рассматривалось):
наиболее вероятная судимость (статья) (criminal record(CR)):
наиболее вероятный возраст (32):
наиболее вероятный срок лишения свободы (term of imprisonment(TOI)) (33):
тяжесть преступления (gravity of the crime (GC)) (34):
доля лиц осужденных при особо опасном рецидиве (Relapse (Rel)) (35):
Для параметров, которые связаны с состоянием здоровья, следует вести расчет по общему среднесписочному значению (а не только по трудоустроенным т.к. распространение заболеваний касается абсолютно всего спецконтингента), в итоге:
заболеваемость в целом (morbidity (morb)) (36):
при этом следует рассмотреть отдельные социально-значимые заболевания:
доля наркозависимых будет определяться по формуле (drug dependent (DD)) (37):
доля лиц с алкогольной зависимостью (alcohol dependent (AD)) (38):
доля лиц с диагнозом «ВИЧ» (HIV) (39):
доля лиц с гепатитами B,C (HBC):
при этом могут быть случаи когда (41):
а также следует учитывать другие немаловажные параметры, например такие как количество случаев суицида (suicide cases (SC)) (42):
несчастные случаи на производстве с летальным исходом (industrial accident (IA)) (43):
и в целом смертность (mort) (44):
Таким образом, были определены некоторые KPI, которые могут оказывать существенное влияние на производственные процессы. В качестве дальнейшего продолжения приведенного исследования может явиться непосредственно разработка базы данных и информационной системы по учету, анализу и прогнозированию KPI. На сегодняшний день, существует достаточно большое количество инструментов для их реализации.
4. Дальнейшая реализация: использование баз данных и ORM
Использование баз данных является неотъемлемой частью в разработке практически любой информационной системы. Рассмотрим наиболее популярные решения, которые существуют и которые применимы к существующей задаче на сегодняшний день [14].
MySQL [15] и PostgreSQL [16] – это две популярные реляционные базы данных с открытым исходным кодом, которые часто используются веб-разработчиками и предприятиями для хранения, управления и доступа к данным. Обе системы предлагают широкий набор функций, но имеют различия в производительности, масштабируемости и функциональности.
Рассмотрим более подробно использование MySQL [15].
1. Веб-приложения: MySQL широко используется веб-разработчиками для хранения данных веб-приложений, таких как блоги, интернет-магазины, форумы и другие.
2. Небольшие и средние проекты: MySQL обеспечивает хорошую производительность для небольших и средних проектов, особенно при ограниченных ресурсах.
3. Простые приложения с небольшой нагрузкой: MySQL хорошо подходит для приложений с небольшой нагрузкой, где требуется простая структура базы данных и относительно небольшое количество одновременных запросов.
Особенности использования PostgreSQL [16].
1. Большие и сложные проекты: PostgreSQL обладает богатым набором функциональных возможностей, поддерживает сложные типы данных и обработку больших объемов данных, что делает его хорошим выбором для крупных и сложных проектов.
2. Безопасность и целостность данных: PostgreSQL предлагает более расширенные механизмы безопасности и контроля целостности данных, что делает его предпочтительным выбором для приложений, где важны надежность и безопасность данных.
3. Геоинформационные системы (GIS): PostgreSQL имеет встроенную поддержку для геоинформационных данных и предоставляет возможности для работы с пространственными объектами и запросами.
4. Аналитика и обработка данных: Благодаря возможностям работы с большими объемами данных и поддержке расширений для аналитики и обработки данных, PostgreSQL широко используется в аналитических системах и хранилищах данных.
В целом, выбор между MySQL и PostgreSQL зависит от конкретных требований проекта, включая его масштаб, требования к производительности, безопасности данных и функциональности.
Еще одной популярной базой данных является SQLite [17]. SQLite – это компактная и самодостаточная реляционная база данных, которая не требует сервера и обычно сохраняет всю свою базу данных в единственном файле на диске. Она часто используется в мобильных приложениях, настольных приложениях, встроенных системах и других сценариях, где требуется небольшой объем данных или нет необходимости в масштабируемости и многопользовательской поддержке. Вот несколько случаев использования SQLite [17]:
1. Мобильные приложения: SQLite широко используется в мобильных приложениях для хранения локальных данных, таких как пользовательские настройки, кэшированные данные, журналы действий и т.д.
2. Встроенные системы и устройства: SQLite часто используется во встроенных системах и устройствах, где требуется небольшой размер, простота использования и отсутствие необходимости в сервере базы данных.
3. Настольные приложения: SQLite может быть использован в настольных приложениях для хранения данных, таких как офлайн-записные книжки, менеджеры паролей, учетные записи клиентов и т.д.
4. Прототипирование и тестирование: SQLite может быть полезен для создания прототипов и тестирования приложений, поскольку не требует установки и настройки сервера базы данных.
5. Веб-разработка: в некоторых случаях SQLite может быть полезным для разработки веб-приложений, особенно на ранних стадиях разработки или для небольших проектов с ограниченной нагрузкой.
SQLite обеспечивает простой и быстрый способ управления небольшими объемами данных без необходимости в настройке и управлении сервером базы данных. Однако он не подходит для проектов, требующих масштабируемости, высокой производительности или многопользовательской поддержки, поскольку он не предоставляет некоторых функций, которые предлагают серверные базы данных, такие как PostgreSQL или MySQL.
Одной из популярных технологий для реализации систем управления базами данных является ORM (Object-Relational Mapping) [18]. ORM – это техника программирования, которая позволяет разработчикам работать с базами данных с использованием объектно-ориентированного подхода. Она устраняет необходимость написания прямых SQL-запросов, а вместо этого позволяет взаимодействовать с базой данных через объекты программного кода. Некоторые преимущества и особенности использования ORM [18]:
1. Абстракция базы данных: ORM предоставляет абстракцию базы данных, скрывая детали реализации и позволяя разработчикам работать с базой данных на уровне объектов.
2. Уменьшение дублирования кода: ORM упрощает доступ к данным и сокращает объем кода, который разработчики должны написать для взаимодействия с базой данных.
3. Повышение производительности: ORM-фреймворки обычно предоставляют механизмы для оптимизации запросов к базе данных, что может повысить производительность приложения.
4. Поддержка различных баз данных: Многие ORM-фреймворки позволяют разработчикам использовать один и тот же код для работы с различными типами баз данных.
5. Объектно-ориентированный подход: ORM позволяет использовать объектно-ориентированный подход к проектированию приложений, что делает код более понятным и поддерживаемым.
6. Уменьшение уязвимостей безопасности: ORM может помочь в предотвращении инъекций SQL и других уязвимостей безопасности, так как он обычно предоставляет механизмы для безопасного выполнения запросов к базе данных.
Некоторые известные ORM-фреймворки в мире программирования включают [18] Django ORM для языка Python, Hibernate для языка Java, Entity Framework для языка C#, SQLAlchemy для языка Python, Sequelize для языка JavaScript (Node.js) и многие другие.
Однако использование ORM может иметь и некоторые недостатки, такие как потеря производительности из-за дополнительных слоев абстракции и более сложное управление запросами к базе данных. Всегда важно выбирать подходящий инструмент в зависимости от требований вашего проекта и опыта команды разработчиков. В целом полученные данные подтверждают мнение о том, что для анализа эффективности отдельных структур пенитенциарной системы эффективно применение теории множеств и объектно-ориентированного подхода [19].
Заключение. В приведенной работе представлены возможные пути решения некоторых проблем, которые связаны с разработкой информационных систем для производственного сектора пенитенциарной системы. Было установлено, что исследование статистической информации, которая ведется в пенитенциарной системе, с позиции основ теории множеств и реляционной теории позволит лучше структурировать данные, выделить наиболее значимые параметры.
Исходя из проведенного анализа, были определены ограничивающие условия для срезов данных, а также выделено шесть классов. Было определено, что использование фактических значений (учет которых ведется на сегодняшний день) – является не совсем верным решением для проведения аналитических расчетов в долгосрочной перспективе. Более приемлемым вариантом будет исследование интересующих параметров исходя из общей (среднесписочной численности). Так, для классов «Трудовые ресурсы» (
Одной из важных частей в разработке информационной системы является грамотная структуризация данных. Теория множеств и основы реляционной теории, как показано в приведенном исследовании – являются замечательным инструментом для этого. Представленное классовое распределение данных может быть положено в основу разработки KPI, а также может быть использовано при объектно-ориентированном подходе в разработке информационной системы.
1. Ponomarev D.S., Gorokhov M.M., Ponomarev S.B. Processing Statistical Reporting Forms of the Federal Service of Punishment Based on Exploration Data Analysis Methods Python and R Language Libraries. Proceedings of Voronezh Institute of the Russian Federal Penitentiary Service. 2023;2:106-112.
2. Ponomarev D.S., Gorokhov M.M., Ponomarev S.B. Medical and Social Adaptation as a Factor in Improving the Quality of Industrial and Labour Activity of Convicts. Research Report. Federal State Institution Research Institute of the Federal Penitentiary Service of Russia. 2023:5-40.
3. Marr B. Key Performance Indicators (KPI): The 75 Measures Every Manager Needs to Know Financial Times Press; 2012. 347 p.
4. Peterson E.T. The Big Book of Key Performance Indicators. Wiley; 2006. 109 p.
5. Althoff C. The Self-Taught Computer Scientist: The Beginner’s Guide to Data Structures & Algorithms. 1st ed. Wiley; 2021. 224 p.
6. Date C.J. SQL and Relational Theory. O’Reilly; 2010. 474 p.
7. Robert R.S. Set Theory and Logic. Revised ed. Dover Publications; 1979. 512 p.
8. The Certificate on Official Registration of the Computer Program in Russia, no. 2015612855. Federal State Institution Research Institute of Information Technology of the Federal Penitentiary Service of Russia; 2015 Feb 26.
9. Ponomarev D.S. Development of a Data Indexing System for the Production, Economic and labour sectors of the Penitentiary System. Engineering Journal of Don. 2024;3:100-108.
10. The Certificate on Official Registration of the Computer Program in Russia, no. 2015612075. Federal State Institution Research Institute of Information Technology of the Federal Penitentiary Service of Russia; 2015 Feb 11.
11. The Certificate on Official Registration of the Computer Program in Russia, no. 2015612427. Federal State Institution Research Institute of Information Technology of the Federal Penitentiary Service of Russia; 2015 Feb 18.
12. Lutz M. Learning Python. 5th ed. O’Reilly; 2019, vol. 1. 832 p.
13. Ponomarev D.S. Development of Algorithms for Processing Time Series When Working with Statistical Reporting Forms of the Production Sector of the Penitentiary System. Engineering Journal of Don. 2024;2(110):184-191.
14. Walter Sh. SQL Quick Start Guide. Clyde Bank Technology; 2022. 223 p.
15. Nichter D. Efficient MySQL Performance: Best Practices and Techniques. 1st ed. O'Reilly Media; 2022. 335 p.
16. Obe R., Hsu L. PostgreSQL: Up and Running: A Practical Guide to the Advanced Open Source Database. 3rd ed. O’Reilly Media; 2017. 312 p.
17. Kreibich J. Using SQLite: Small. Fast. Reliable. Choose Any Three. 1st ed. O’Reilly Media; 2010. 526 p.
18. Halpin T. Object-Role Modelling Fundamentals: A Practical Guide to Data Modelling with ORM. 1-st ed. Wiley; 2015. 192 p.
19. Blagodatsky G.A., Gorokhov M.M., Ponomarev S.B. Systems Analysis of the Organizational Structure of the Medical Service of the Penal System and Management of Its Reform. Izhevsk: Publishing House of Kalashnikov Izhevsk State Technical University; 2017. 104 p.