ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

2
Publication date:
14 June 2026

UtmnTeam web service: Selecting performers for IT projects based on structured and unstructured data about students

Date of submission article: 16.09.2024
Date after edit article: 13.10.2024
Date of acceptance for publication: 17.10.2024
UDC: 004.89
Group of specialties of the HAC: 1.2.2. Математическое моделирование, численные методы и комплексы программ (физико-математические науки, технические науки)
The article was published in issue no. № 2, 2025 [ pp. 325-336 ]
Abstract:The paper focuses on educational projects aimed at solving tasks set by teachers in terms of student teams. It discusses the development of a web service that will assist in selecting performers for IT projects based on data obtained during students' education. The research involves identifying characteristic aspects of project activities in terms of the educational process and target audience, identifying functionalities, selecting architecture and development technologies, as well as analyzing and processing structured and unstructured data. Students can use the developed UtmnTeam service to view information about projects. Teachers, mentors and administrators who have access to project creation and participant selection can also use it. The solution has a service architecture with modular blocks that enable the main functionalities and interact with the client part and the database via API. The team selection module is based on an algorithm that processes information about students' skills, their academic records and experience in previous projects. Furthermore, it considers the importance of project requirements. A report-processing module based on modern text processing methods provides information about students' skills. Docker containers are used to ensure reliability and scalability, to avoid dependency conflicts of different software development tools. The web service allows the user to select a team of students for a project and to assess how well the participants meet the requirements. The authors plan further development of the service with adding new modules and integrating with external data sources, as well as testing on new data.
Аннотация:Предметом исследования являются образовательные проекты, ориентированные на решение задач, поставленных преподавателями, в рамках студенческих команд. Рассматривается разработка веб-сервиса, который поможет в подборе исполнителей для ИТ-проектов, опираясь на данные, полученные в процессе обучения студентов. Исследование включает выявление характерных аспектов проектной деятельности в рамках образовательного процесса и целевой аудитории, определение функциональных возможностей, выбор архитектуры и технологий разработки, а также анализ и обработку структурированных и неструктурированных данных. Разработанный сервис UtmnTeam могут использовать студенты для просмотра информации о проектах, а также преподаватели, кураторы и администраторы, имеющие доступ к созданию проектов и подбору участников. Решение имеет сервисную архитектуру с модульными блоками, которые отвечают за основные функциональные возможности и взаимодействуют через API с клиентской частью и БД. Модуль подбора команд основан на алгоритме, обрабатывающем информацию о навыках студентов, их академической успеваемости и опыте работы над предыдущими проектами. Кроме того, он учитывает важность требований проекта. Для получения информации о навыках студентов используется модуль обработки отчетных документов, работающий на основе современных методов обработки текста. Для обеспечения надежности и масштабируемости, а также для предотвращения конфликтов зависимостей различных программных инструментов разработки используются docker-контейнеры. Веб-сервис позволяет пользователю подобрать команду для проекта, состоящую из студентов, и оценить, насколько участники соответствуют требованиям. Планируются дальнейшее развитие сервиса с добавлением новых модулей и интеграцией с внешними источниками данных, а также апробация на новых данных.
Authors: Melnikova, A.V. (a.v.melnikova@utmn.ru) - University of Tyumen (Assistant), Tyumen, Russia, , Vorobeva M.S. (m.s.vorobeva@utmn.ru) - University of Tyumen (Associate Professor), Tyumen, Russia, Ph.D, Plotonenko, Yu.A. (y.a.plotonenko@utmn.ru) - University of Tyumen (Associate Professor), Tyumen, Russia, Ph.D
Keywords: team selection, it project, student digital footprint, web service, natural language processing, unstructured data
Page views: 2889
PDF version article

Веб-сервис UtmnTeam: подбор исполнителей для ИТ-проектов на основе структурированных и неструктурированных данных о студентах

DOI: 10.15827/0236-235X.150.325-336

Date of submission article: 16.09.2024

Date after edit article: 13.10.2024

Date of acceptance for publication: 17.10.2024

UDC: 004.89

Group of specialties of the HAC: 1.2.2. Математическое моделирование, численные методы и комплексы программ (физико-математические науки, технические науки)

The article was published in issue no. № 2, 2025. [ pp. 325-336 ]

The paper focuses on educational projects aimed at solving tasks set by teachers in terms of student teams. It discusses the development of a web service that will assist in selecting performers for IT projects based on data obtained during students' education. The research involves identifying characteristic aspects of project activities in terms of the educational process and target audience, identifying functionalities, selecting architecture and development technologies, as well as analyzing and processing structured and unstructured data. Students can use the developed UtmnTeam service to view information about projects. Teachers, mentors and administrators who have access to project creation and participant selection can also use it. The solution has a service architecture with modular blocks that enable the main functionalities and interact with the client part and the database via API. The team selection module is based on an algorithm that processes information about students' skills, their academic records and experience in previous projects. Furthermore, it considers the importance of project requirements. A report-processing module based on modern text processing methods provides information about students' skills. Docker containers are used to ensure reliability and scalability, to avoid dependency conflicts of different software development tools. The web service allows the user to select a team of students for a project and to assess how well the participants meet the requirements. The authors plan further development of the service with adding new modules and integrating with external data sources, as well as testing on new data.
Melnikova, A.V. (a.v.melnikova@utmn.ru) - University of Tyumen (Assistant), Tyumen, Russia, , Vorobeva M.S. (m.s.vorobeva@utmn.ru) - University of Tyumen (Associate Professor), Tyumen, Russia, Ph.D, Plotonenko, Yu.A. (y.a.plotonenko@utmn.ru) - University of Tyumen (Associate Professor), Tyumen, Russia, Ph.D
Keywords: team selection, it project, student digital footprint, web service, natural language processing, unstructured data
Font size:
      Font:
Ссылка скопирована!

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

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

В статье [1] авторы отмечают, что руководители, принимающие решения при формировании команд, сталкиваются с большим неопределенным количеством критериев задачи оптимизации, поэтому для решения данной проблемы был разработан генетический алгоритм с использованием нечетких концепций теории множеств, которые позволяют удобно моделировать различные предпочтения, стремления и ограничения для конкретной задачи. Существуют исследования, направленные на решение задачи подбора команд для нескольких проектов. В работе [2] представлено решение, направленное на минимизацию общей стоимости коммуникации команд и отдельных участников с помощью эвристики relax-and-fix и модели смешанного целочисленного программирования. В исследовании [3] рассматриваются методы, основанные на модульности, спектральной кластеризации, вероятностном моделировании и глубоком обучении, для обнаружения сообществ в графах. Авторы также предлагают свое решение, включающее концепцию метода кластеризации KNN для построения матрицы расстояний в социальной сети, и расширяют метод Medoid-Shift, способный уменьшить шум в данных. Большинство подходов, связанных с графовым представлением сетей сотрудничества, имеют ограничения: большое количество вычислений, неоптимальные результаты из-за использования эвристик, разреженность данных, поэтому авторы [4] предлагают архитектуру вариационной байесовской нейронной сети, демонстрирующую высокую производительность и качество формируемых команд.

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

Исследователи и разработчики крупных IТ-компаний создают специальные платформы, приложения, библиотеки и сервисы для выполнения задач, связанных с проектным менеджментом. Сервис Effective Technologies предлагает решение TaaS («Команда как сервис») (https://www.effective-group.ru/solutions/TAAS. html), где из реестра сформированных коллективов специалистов выбирается наиболее подходящий. Это решение позволяет выбирать команду под конкретный проект, обеспечивая производительность и минимизируя риски. Схема взаимодействия TaaS включает в себя контроль качества и управление коммуникациями, что упрощает работу HR-отдела и руководителей проектов, однако в нем отсутствует автоматизация подбора отдельных участников команд с требуемыми навыками под конкретные задачи. В исследовательском сообществе часто прибегают к платформам, которые проводят анализ публикаций и на его основе вы- страивают рекомендации по сотрудничеству  в определенной области науки. Среди таких платформ можно выделить ResearchGate и Academia.edu. Кроме того, существуют различные приложения, позволяющие выполнять задачи руководства проектом: собирать команды для проектов, назначать задачи, отслеживать выполнение (например, Trello, WEEEK, YouGile, Kaiten, Битрикс24). Однако такие инструменты не имеют возможности автоматического подбора участников по заданным критериям.

Разработчики предлагают инструменты для подбора команд в формате библиотек, которые можно интегрировать в собственные проекты. Так, библиотека OpeNTF [5] предназначена для исследований в области формирования команд, где имеется проблема огромного количества подходящих под требования кандидатов с различными навыками. Библиотека включает в себя множество канонических нейронных сетей и легко адаптируется к новым моделям. Многие исследования в области формирования команд представляют модели, учитывающие требуемые для проекта навыки. В работе [6] представлен обзор библиотеки PyTFL в Python, которая является набором инструментов, включающим различные основанные на нейронных сетях подходы для подбора проектной группы по заданным требованиями, а также поддерживает такие подзадачи, как подготовка графа сотрудничества, обучение моделей, оценка метрик команды. Несмотря на свою функциональность, эта библиотека имеет недостаток – отсутствие подробной документации, что затрудняет использование.

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

При формировании студенческих команд для проектов в рамках учебного процесса имеются свои особенности. Студенты выполняют индивидуальные и групповые задания, практические работы, оформляют отчетные документы по итогам учебных и производственных практик, тем самым формируя свой цифровой след, который, как правило, состоит из множества различных структурированных и неструк- турированных документов (текстовых, табличных, графических и прочих), требующих особого способа обработки. Работа с текстовыми данными сопряжена с определенными трудностями. Словари, таксономии и онтологии могут быть эффективно использованы только в том случае, если искомые сущности (навыки, знания, компетенции и т.п.) представлены в виде последовательно расположенных слов. Для решения проблемы предлагаются актуальные методы обработки текстовых данных со сложной структурой. К ним относятся модели извлечения нужных терминов или именованных сущностей на основе нейронных сетей, которые можно дообучать на текстах из конкретной предметной области. Также используются синтаксические анализаторы и анализаторы, работающие на основе контекстно-свободных грамматик. В статье [8] предложен метод извлечения сущностей путем перехода от сложных предложений к набору простых комбинаций слов с использованием нейросетевой модели BERT и представлены результаты апробации на текстах вакансий, показывающие высокий процент извлечения. На основе цифрового следа студентов рассматриваются и решаются различные вопросы, направленные на управление образовательным процессом, в том числе проектной деятельностью, однако для получения заслуживающих доверия результатов необходимо иметь большой объем данных [9].

Требования к профессиональным навыкам исполнителей задач, такие как знания и умения в определенной предметной области, часто до- полняются когнитивными, социальными, управ- ленческими аспектами, связанными с межлич- ностными отношениями. В исследовании [10] показано, что гибкие навыки являются важными факторами, влияющими на успешность проекта. Однако в [11] на примере вакансий в энергетическом секторе продемонстрировано, что надпрофессиональные аспекты не всегда способствуют повышению производительности труда. Для учета требованиий по гибким навыкам необходимы данные, которые можно получить в ходе оценки участников команд специалистами, но не всегда есть такая возможность, в том числе в сфере образования.

Специфика образовательных проектов заключается в том, что они выполняются в рамках учебных групп и в определенный период времени (учебные неделя, семестр, триместр, год), что отражается на количестве данных (по сравнению с крупными организациями их значительно меньше). Работу по сбору отчетных материалов, как правило, выполняет один сотрудник – куратор дисциплины. Таким образом, появляется необходимость в разработке решения, которое позволит подбирать коман- ды для проектов из числа студентов на основе их цифрового следа.

В данной статье описывается разработка веб-сервиса UtmnTeam для подбора исполнителей ИТ-проектов. Сервис позволяет обрабатывать данные о завершенных студенческих работах, проводя анализ поступающих документов с помощью технологий обработки текстовой информации, и использовать их для определения подходящих участников для реализации будущего проекта. При этом поставлено ограничение на извлечение и использование только профессиональных навыков, связанных с информационными технологиями. 

Проектирование архитектуры программных продуктов включает важный аспект – выбор подходящей концепции (монолитная, сервисная, модульная, бессерверная, N-уровневая или более специфичная). Сервисный подход предполагает разделение сложной структуры приложения на отдельные сервисы, каждый из  которых выполняет определенную функцию. Например, при анализе цифрового следа могут возникать новые задачи при обработке данных, которые следует решать посредством добавления новых функциональных возможностей [12]. Сервисы взаимодействуют друг с другом через API, обеспечивая гибкость. При необходимости программный продукт можно масштабировать, добавляя новые сервисы. Модульный подход к разработке приложений предполагает разбиение функционала на независимые модули, каждый из которых выполняет определенную задачу. Модули могут быть разработаны и изменены независимо друг от друга, что упрощает процесс поддержки ПО.

Для обеспечения стабильности среды выполнения и быстрой развертываемости приложения применяется подход, основанный на принципе контейнеризации, который позволяет изолировать и упаковывать части приложения и их зависимости в компактные образы-контейнеры с использованием программной платформы – докера. Это особенно полезно для микросервисных архитектур [13].

Функциональная схема сервиса

При проектировании и разработке програм- много решения были приняты во внимание аспекты, характерные для образовательного про- цесса Школы компьютерных наук Тюменского государственного университета.

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

·       Для подбора команды для проекта с  заданными требованиями учитываются студенческие данные, полученные в ходе образовательного процесса (текстовые отчетные документы, аттестационные ведомости по дисципли- нам и др.). Такая информация обрабатывается и хранится для дальнейшего использования  в различных образовательных и проектных задачах.

·      Текстовые отчетные документы имеют утвержденную внутренними положениями, правилами и регламентами структуру, однако для задачи формирования команды необходима информация о навыках, которая в тексте не выделена особым образом. Навыками в тексте являются текстовые теги, представляющие используемые или изучаемые студентом технологии, языки программирования, библио- теки, фреймворки, СУБД, операционные системы, среды разработки и др.

Основной процесс, который поддерживается сервисом, – это подбор студенческих команд для заданных ИТ-проектов на основе структурированных и неструктурированных данных образовательного процесса (рис. 1).

Рассмотрим формальную постановку задачи формирования команды v для заданного проекта P. Даны: множество элементов предметной области T = {ti} (1 ≤ i ≤ N, где N – количество элементов); база знаний об объектах  B = , где S – множество объектов, sj = {tk}j (1 ≤ j ≤ M, где M – количество объектов, 1 ≤ k ≤ Kj, Kj – количество элементов предметной области j-го объекта), CS – множество пар взаимосвязей между объектами S × S, WCS – множество весов элементов объектов {wk}j.

Для проекта P = определены требования к объектам R = {(t, r)l} (1 ≤ l ≤ L, L – количество требований), а также минимальное и максимальное количество объектов в проектах Qmin и Qmax соответственно. Необходимо найти команду  состоящую из q объектов множества объектов S, которая максимально соответствовала бы заданным требованиям проекта P.

Такую команду можно построить, используя различные подходы, например, обработку социальных графов взаимодействия кандидатов в предыдущих работах, решение оптимизационных задач, методы машинного обучения  и др. Авторами был использован разработанный алгоритм, описанный в [14], который сконцентрирован на анализе опыта предыдущих проектов и учитывает специфику данных цифрового следа студентов ИТ-направления для определения соответствия требованиям проекта. Представленный алгоритм удовлетворяет особенностям разрабатываемого сервиса, поэтому используется при подборе участников для выполнения ИТ-проектов.

В функциональной диаграмме определены следующие роли: студенты, преподаватели, кураторы и администраторы (рис. 2).

Студенты могут просматривать загруженную информацию о себе, других студентах и об имеющихся ИТ-проектах.

Преподаватели работают только со своими проектами (создают их и подбирают участников команды из студентов, не занятых в других проектах), загружают отчетные документы студентов для обработки.

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

Администраторы работают с сервисом, решая задачи реализации и поддержки, имеют полный доступ к работе с загруженной информацией (добавление, изменение, удаление).

Максимальный уровень доступа предоставляется только администратору сервиса, в то время как у студентов он наименьший (http://www. swsys.ru/uploaded/image/2025-2/9.jpg). Обучающиеся не имеют возможности загружать файлы отчетов, поскольку сначала необходимо пройти аттестацию и согласовать отчетные документы с преподавателями и кураторами дисциплин. Для использования разрабатываемого сервиса, как и других информационных систем университета, необходимо пройти авторизацию через корпоративную учетную запись, что помогает предотвратить несанкционированный доступ.

Архитектура веб-сервиса

Архитектура разрабатываемого веб-сервиса UtmnTeam состоит из серверной и клиентской частей (рис. 3).

Серверная часть веб-сервиса включает два компонента. Первый содержит обработчики статических и динамических маршрутов, представляющих собой URL-адреса. По ним пользователи обращаются к различным разделам сервиса, таким как страница входа в аккаунт, добавление и просмотр ИТ-проектов, подбор команды, просмотр информации о студентах. Помимо этого, компонент выполняет операции чтения и записи в БД и получает ответ в формате JSON. Во второй компонент входят функциональные модули, включая основные – модуль подбора студенческих команд и модуль обработки отчетов.

Для взаимодействия серверной и клиентской частей сервиса предназначен API на основе фреймворка Django и его расширений. Компонент контроллеров, входящий в состав программного интерфейса, обрабатывает входящие HTTPS-запросы, что позволяет реализовать различные функциональные возможности, такие как авторизация пользователей, формыдля ввода данных. API также предназначен для взаимодействия с функциональными модулями, написанными на языке Python: для подбора команды передаются соответствующие записи о студентах и проекте из БД, выходит информация о сформированных командах для этого проекта; для обработки отчетных документов отправляются текстовые файлы, а выходят данные для хранения в БД.

Клиентская часть, реализованная с помощью таких компонентов, как React, JS, CSS, HTML, отвечает за HTTPS-запросы по определенным маршрутам и получает ответы в виде соответствующих разделов сервиса, которые реализуют функциональные возможности.

Так, БД проекта представляет собой отдельный контейнер, в котором хранятся метаданные о студентах и проектах, а также данные, извлеченные из документов, загружаемых преподавателями и кураторами. Для управления БД используется объектно-реляционная система управления БД PostgreSQL.

Источники данных и структура БД

Исходными материалами, которыми оперируют преподаватели и кураторы, выступают структурированные и неструктурированные дан- ные цифрового следа студентов, собранные в течение всего срока обучения в контрольных точках согласно графику учебного процесса (завершение проектов, промежуточная аттестация по дисциплинам, практическая подготовка). Список источников данных студентов направления «Математическое обеспечение и администрирование информационных систем» представлен в таблице. Описанные виды данных проходят проверку экспертами – преподавателями и кураторами дисциплин.

Согласно внутренним требованиям университета студенческие отчетные документы имеют утвержденную структуру, однако из представленных текстовых данных необходимо извлечь используемые теги, при этом следует выполнить предобработку текста (очистку от стоп- слов, пунктуации, специальных символов) и извлечение текстовых тегов навыков с помощью методов обработки естественного языка. Использование методов работы с текстом име- ет свои недостатки, например, результаты могут быть сложными для интерпретации, требуется большой объем обучающих данных, а процесс обучения и прогнозирования может быть вычислительно сложным. После обработки извлеченная информация отправляется в БД, где будет использоваться при подборе команд для проектов.

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

Функциональные модули сервиса

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

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

Для выделения тегов используется генеративная языковая модель YandexGPT 3.0 или мо- дель извлечения именованных сущностей flair-ner-skill из программного инструмента Hugging Face в качестве альтернативы. Генеративная языковая модель получает промпт-инструкцию, которая содержит текст и задачу по обработке этого текста. Для работы с моделью flair-ner-skill требуется предварительная обработка входящих данных, а именно перевод текста на английский язык, который затем отправляется в Hugging Face для обработки моделью. В результате формируются списки выделенных из текста тегов.

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

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

Развертывание веб-сервиса на сервере

Веб-сервис запускается в изолированных средах docker-контейнеров на устройстве, управляемом операционной системой Linux. Изоляция контейнера необходима для предотвращения конфликтов зависимостей, таких как несовместимые библиотеки или различные вер- сии ПО.

В разработанной архитектуре веб-сервиса используются два собираемых образа – веб-фреймворк Django и интерфейс на React. Для создания контейнера Python c использованием Django в корневую директорию добавлен файл конфигурации, который определяет параметры создания образа, включая язык программирования, корневую папку приложения, инструкции по установке библиотек из файла require- ments.txt. Для создания контейнера Node.js используется библиотека React для сборки приложения с помощью Alpine DOI в качестве базового образа. Затем устанавливается рабочая директория, копируется файл package.json и определяются зависимости. Работа завершается сборкой проекта. Запуск нескольких взаимодействующих между собой контейнеров осуществляется с помощью инструмента docker-compose. Для настройки postgres применен официальный образ, который использует переменные окружения для создания пользователей и БД.

Для тестирования проверки функциональности сервиса docker-контейнер был запущен на локальной машине (рис. 4). После проведения нескольких этапов тестирования сервис был развернут в информационном пространстве Тю- менского государственного университета, осна- щенном четырьмя виртуальными ядрами Intel X5670, 10 ГБ оперативной памяти и 50 ГБ жесткого диска. За счет использования docker-образа повысились надежность и масштабируемость всего процесса сбора сервиса.

Взаимодействие между компонентами происходит в несколько этапов:

– веб-сервер nginx принимает HTTPS-зап- росы от пользователей и перенаправляет их соответствующим сервисам;

– фронтенд Node.js взаимодействует с бэкендом Python через HTTPS-запросы для получения данных;

– бэкенд Python взаимодействует с Post- greSQL, используемой в качестве БД, чтобы хранить и извлекать необходимую информацию для обработки запросов от frontend.

Доступ к сетевым ресурсам сервиса осуществляется через публичный IP-адрес для охвата потенциальных пользователей системы.

Интерфейс веб-сервиса

Интерфейс разработанного сервиса UtmnTe- am включает следующие разделы: Личный кабинет, Проекты, Студенты, Успеваемость.

В разделе Личный кабинет отображается информация об авторизованном пользователе. Студенты видят данные о себе и проекты, в которых они участвовали или участвуют. Преподаватели и кураторы могут просматривать созданные ими проекты, как завершенные, так  и текущие. В разделах Проекты и Студенты демонстрируется детальная информация о проектах и студентах, которую при необходимости можно отфильтровать по различным параметрам. Информация на страницах о каждом студенте доступна к просмотру только авторизованным пользователям – тем, кто имеет учетную корпоративную запись университета. В разделе Проекты для студентов появляется возможность Подать заявку, в результате которой проект появится в списке Избранные проекты  в Личном кабинете студента. Преподаватели и кураторы, в свою очередь, могут использовать раздел Создать проект. При создании проекта необходимо заполнить все обязательные поля, информация из которых будет использована для формирования команды. Раздел Успеваемость предназначен для загрузки отчетов студентов и ведомостей по дисциплинам.

Рассмотрим интерфейс веб-сервиса со стороны пользователя-преподавателя или куратора. После выбора пользователем существующего проекта предлагается возможность сформировать студенческую команду (http://www. swsys.ru/uploaded/image/2025-2/10.jpg). На выбор будут представлены несколько вариантов сформированных команд в слайдер-панели,  о каждой из которых предоставляется информация в виде диаграммы радара о том, насколько участники соответствуют требованиям проекта (рис. 5). Команда с наивысшим значением рас- считанного по алгоритму показателя отображается первой в списке. Пользователь по своему усмотрению может выбрать один из вариантов, который сохраняется в хранилище данных.

Заключение

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

Разработанный веб-сервис UtmnTeam автоматизирует процесс создания команд для  ИТ-проектов на основе структурированных (например, таблицы с информацией об успеваемости) и неструктурированных (отчетные документы и файлы документации, написанные  в рамках образовательного процесса) данных  о студентах за весь период обучения. Использование современных методов обработки естественного языка позволяет извлекать информацию из отчетных материалов студентов, что влияет на точность и время формирования  команды для проекта. Простой и понятный интерфейс сервиса включает только необходимые компоненты, что упрощает процесс загрузки данных, создания проектов и подбора команд.

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

Веб-сервис прошел апробацию на разных этапах обучения студентов. В частности, в рам- ках Большой математической мастерской студентами 1–3-го курсов, изучающими информационные технологии, было реализовано 27 проектов для заказчиков (представителей организаций). Студенты направления «Математическое обеспечение и администрирование информационных систем» реализовали разработки в рамках проектных дисциплин – 39 проектов, в рамках практической подготовки –  5 проектов, в рамках выпускных квалификационных работ – 23 проекта, по инициативным тематикам – 15 проектов. Участники половины сформированных команд для проектов, которые будут выполняться во время подготовки квалификационной работы, согласились с распределением. Применение предложенного решения  в работе преподавателей и кураторов упростило задачу формирования команд, что стало возможным благодаря автоматизации процесса обработки данных цифрового следа студентов  и использованию готового алгоритма подбора.

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

Список литературы

1. Mutingi M., Mbohwa C. Multi-criterion team formation using fuzzy grouping genetic algorithm approach. In: Grouping Genetic Algorithms. SCI, 2023, vol. 666, pp. 89–105. doi: 10.1007/978-3-319-44394-2_5.

2. Wang S., Li H., Chu F. A relax-and-fix heuristic for multiple team formation problem. Proc. ICNSC, 2023, pp. 1–6. doi: 10.1109/ICNSC58704.2023.10319045.

3. Zhao X., Liang J., Wan J. A community detection algorithm based on graph compression for large-scale social networks. IS, 2021, vol. 551, pp. 358–372. doi: 10.1016/j.ins.2020.10.057.

4. Rad R.H., Fani H., Bagheri E., Kargar M., Srivastava D., Szlichta J. A variational neural architecture for skill-based team formation. ACM TOIS, 2024, vol. 42, no. 1, art. 7, pp. 1–28. doi: 10.1145/3589762.

5.  Dshti A., Saxena K., Patel D., Fani H. OpeNTF: A benchmark library for neural team formation. Proc. Int. Conf. CIKM, 2022, pp. 3913–3917. doi: 10.1145/3511808.3557526.

6. Rad R.H., Mitha A., Fani H., Kargar M., Szlichta J., Bagheri E. PyTFL: A Python-based neural team formation toolkit. Proc. Int. Conf. CIKM, 2021, pp. 4716–4720. doi: 10.1145/3459637.3481992.

7. García-Vélez R., Moreno B.V., Ruiz-Ichazu A., Rivera D.M., Rosero-Perez E. Automating the generation of study teams through genetic algorithms based on learning styles in higher education. In: AISC. Proc. AHFE, 2021, vol. 1213, pp. 270–277. doi: 10.1007/978-3-030-51328-3_38.

8. Николаев И.Е. Метод извлечения знаний и навыков/компетенций из текстов требований вакансий // Онтология проектирования. 2023. Т. 13. № 2. С. 282–293. doi: 10.18287/2223-9537-2023-13-2-282-293.

9. Захарова И.Г. Анализ данных цифрового следа студента: цели, задачи и методы интерпретации // Методы и технологии обучения в вузе в условиях цифровой трансформации образования: сб. ст. по матер. Всерос. (с междунар. участием) науч.-методич. конф. 2023. С. 711–715.

10. Oh M., Choi S. The competence of project team members and success factors with open innovation. JOItmC, 2020, vol. 6, no. 3, art. 51. doi: 10.3390/joitmc6030051.

11. Wenjing L., Jin L. Soft skills, hard skills: What matters most? Evidence from job postings. Applied Energy, 2021, vol. 300, art. 117307. doi: 10.1016/j.apenergy.2021.117307.

12. Боганюк Ю.В., Воробьева М.С., Захарова И.Г. Разработка системы для управления профессиональным развитием студента на основе его цифрового следа // Программные продукты и системы. 2022. Т. 35. № 3. С. 518–526. doi: 10.15827/0236-235X.139.518-526.

13. Sharma V., Saxena H.K., Singh A.K. Docker for multi-containers web application. Proc. ICIMIA, 2020, pp. 589–592. doi: 10.1109/ICIMIA48430.2020.9074925.

14. Мельникова А.В., Воробьева М.С., Егорова Е.В., Чеканова Е.Д. Разработка алгоритма формирования команд ИТ-проектов на основе данных цифрового следа студентов // Тр. ИСП РАН. 2024. Т. 36. № 3. C. 213–224. doi: 10.15514/ISPRAS-2024-36(3)-15.

References

1. Mutingi, M., Mbohwa, C. (2017). ‘Multi-criterion team formation using fuzzy grouping genetic algorithm approac’, in Grouping Genetic Algorithms. SCI, 666, pp. 89–105. doi: 10.1007/978-3-319-44394-2_5.

2. Wang, S., Li, H., Chu, F. (2023) ‘A relax-and-fix heuristic for multiple team formation problem’, Proc. ICNSC, pp. 1–6. doi: 10.1109/ICNSC58704.2023.10319045.

3. Zhao, X., Liang, J., Wan, J. (2021) ‘A community detection algorithm based on graph compression for large-scale social networks’, IS, 551, pp. 358–372. doi: 10.1016/j.ins.2020.10.057.

4. Rad, R.H., Fani, H., Bagheri, E., Kargar, M., Srivastava, D., Szlichta, J. (2024) ‘A variational neural architecture for skill-based team formation’, ACM TOIS, 42(1), art. 7, pp. 1–28. doi: 10.1145/3589762.

5. Dashti, A., Saxena, K., Patel, D., Fani, H. (2022) ‘OpeNTF: A benchmark library for neural team formation’, Proc. Int. Conf. CIKM, pp. 3913–3917. doi: 10.1145/3511808.3557526.

6. Rad, R.H., Mitha, A., Fani, H., Kargar, M., Szlichta, J., Bagheri, E. (2021) ‘PyTFL: A Python-based neural team formation toolkit’, Proc. Int. Conf. CIKM, pp. 4716–4720. doi: 10.1145/3459637.3481992.

7. García-Vélez, R., Moreno, B.V., Ruiz-Ichazu, A., Rivera, D.M., Rosero-Perez, E. (2021) ‘Automating the generation of study teams through genetic algorithms based on learning styles in higher education’, in AISC. Proc. AHFE, 1213, pp. 270–277. doi: 10.1007/978-3-030-51328-3_38.

8. Nikolaev, I.E. (2023) ‘Knowledge and skills extraction from the job requirements texts’, Ontology of Designing, 13(2), pp. 282–293 (in Russ.). doi: 10.18287/2223-9537-2023-13-2-282-293.

9. Zakharova, I.G. (2023) ‘Student's digital footprint data analysis: Goals, objectives and interpretation methods’, Proc. Conf. Methods and Tech. of Higher Education under Digital Transformation, pp. 711–715 (in Russ.).

10. Oh, M., Choi, S. (2020) ‘The competence of project team members and success factors with open innovation’, JOItmC, 6(3), art. 51. doi: 10.3390/joitmc6030051.

11. Wenjing, L., Jin, L. (2021) ‘Soft skills, hard skills: What matters most? Evidence from job postings’, Applied Energy, 300, art. 117307. doi: 10.1016/j.apenergy.2021.117307.

12. Boganyuk, Yu.V., Vorobeva, M.S., Zakharova, I.G. (2022) ‘Developing a system for managing student’s professional development based on his digital footprint’, Software & Systems, 35(3), pp. 518–526 (in Russ.). doi: 10.15827/0236-235X.139.518-526.

13. Sharma, V., Saxena, H.K., Singh, A.K. (2020) ‘Docker for multi-containers web application’, Proc. ICIMIA, pp. 589–592. doi: 10.1109/ICIMIA48430.2020.9074925.

14. Melnikova, A.V., Vorobeva, M.S., Egorova, E.V., Chekanova, E.D. (2024) ‘Development of an algorithm of the formation of IT project teams based on data from the digital footprint of students’, Proc. of ISP RAS, 36(3), pp. 213–224 (in Russ.). doi: 10.15514/ISPRAS-2024-36(3)-15.


Permanent link:
http://swsys.ru/index.php?page=article&id=5170&lang=en
Print version
The article was published in issue no. № 2, 2025 [ pp. 325-336 ]

The article was published in issue no. № 2, 2025. [ pp. 325-336 ]

Perhaps, you might be interested in the following articles of similar topics:

Perhaps, you might be interested in the following articles of similar topics: