Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

DEVELOPMENT OF THE ARCHITECTURE OF A SOFTWARE AND INFORMATION SYSTEM FOR DETERMINING THE PSYCHOLOGICAL PROFILE OF A PERSON AND PROCESSING THE RESULTS BY METHODS OF MULTIDIMENSIONAL ANALYSIS

Bazarnov D.V. 1 Ryabukhina E.A. 1 Firsova S.A. 1
1 Mordovia State University named after N.P. Ogarev
2261 KB
The article describes the architecture of a prototype of a software and information system designed for testing specialists in the field of software engineering in order to identify their motivational attitudes in their professional activities. The system provides for the implementation of a testing and analyzing module. In the testing module, various tests will be implemented to determine the motivational factors of the respondent. The test results are presented in the form of multidimensional data arrays that the analyzing module processes using statistical methods, in particular, methods of cluster, factor, variance, and correlation analysis. The conclusions generated by the system enable the head of the organization to improve the efficiency of managing the software development team by taking into account the motivation of employees when forming the development team and placing personnel in it. The architecture of the designed system is developed using UML diagrams. The article presents the following types of applied diagrams: a diagram of use cases, activities, sequences, classes, components. The flexible architecture of the system allows you to add both various psychological tests and additional statistical methods. The planned implementation of the presented system in the form of a web application will allow it to be used in various subject areas, the research methods in which are testing and questionnaires, implying the processing of large amounts of information.
software engineering
motivation
psychological personality profile
software and information system
UML diagram
multidimensional data analysis

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

Для успешной реализации крупного программного проекта (ПП) необходимо обеспечение четкой координации действий членов команды разработчиков, имеющих разные профессиональные навыки, квалификацию и мотивацию [1]. По этой причине при формировании команды разработчиков ПП и расстановке кадров в ней, помимо учета профессиональных качеств и уровня подготовки специалиста, следует принимать во внимание психологический профиль предполагаемого члена команды [2].

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

Для тестирования больших групп респондентов и сохранения результатов тестов целесообразно применять специализированное программное обеспечение. В настоящее время для решения этой задачи в организациях различного профиля деятельности в основном используется программное обеспечение, позволяющее определить взаимосвязь мотивации сотрудников с такими показателями, как KPI и КТУ [4, 5]. Данные программы эффективны в отношении уже сложившегося коллектива и позволяют сформировать систему моральных и материальных поощрений по результатам деятельности каждого сотрудника. Вместе с тем они не могут быть использованы при определении мотивационных установок потенциального сотрудника либо при формировании ролевой структуры команды разработчиков программного обеспечения, учитывающей мотивационные профили ее участников. Однако в сети Интернет можно найти многочисленные online-тесты для определения мотивационного профиля личности, например [6–8]. Но такие тесты не предполагают статистическую обработку результатов тестирования для группы респондентов, что не позволяет применить их для эффективного управления командой разработчиков программного обеспечения.

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

Материалы и методы исследования

Методы исследования: для представления архитектуры программной системы используется унифицированный язык моделирования (Unified Modeling Language, UML); для определения мотивационного профиля респондента применяется тестирование по методикам, разработанным Ш. Ричи, П. Мартином, Д. Макклелландом, В.И. Герчиковым, Т. Элерсом, А. Реаном; для математической обработки полученных при тестировании данных – методы кластерного, дисперсионного, корреляционного анализа.

Базой для организации исследования стал факультет математики и информационных технологий Мордовского государственного университета им. Н.П. Огарева, а в качестве респондентов выступили студенты, обучающиеся по направлению подготовки «Программная инженерия» (бакалавриат и магистратура).

Результаты исследования и их обсуждение

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

Тестирующий модуль содержит набор психологических тестов, позволяющих определить мотивацию сотрудников в профессиональной деятельности. Например, мотивационный тест, предложенный Ш. Ричи и П. Мартином, определяет соотношение 12 мотивационных факторов, отражающих основные потребности сотрудника. Индивидуальное сочетание наиболее важных и наименее важных потребностей разработчики теста назвали мотивационным профилем. Методика тестирования заключается в том, что респонденту предлагается анкета, состоящая из 33 утверждений [9, с. 18–23]. Каждое утверждение содержит в себе 4 варианта ответа. Тестируемый должен распределить 11 баллов между предложенными вариантами. После анкетирования согласно ключу к тесту [9, с. 23–26] определяется мотивационный профиль личности респондента, в котором отражается в баллах отношение респондента к таким аспектам профессиональной деятельности, как потребность в высокой заработной плате, в комфортных условиях работы, в социальных контактах, в завоевании признания со стороны других людей, в стремлении руководить другими, в развитии как личности и т.д.

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

Гибкая архитектура программной системы позволяет подключать в тестирующий модуль разнообразные тесты на мотивацию, например тест Макклелланда, тест Герчикова, опросники Элерса и Реана и др.

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

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

Архитектуру проектируемой системы удобнее всего представить с помощью UML-диаграмм. В данной статье рассматриваются следующие типы UML-диаграмм: вариантов использования, деятельности, последовательности, классов, компонентов.

Диаграмма вариантов использования, отражающая отношения между пользователями и последовательностями их действий, представлена на рис. 1.

missing image file

Рис. 1. Диаграмма вариантов использования

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

Диаграмма классов определяет типы классов системы и различного рода статические связи, которые существуют между ними. На диаграммах классов изображаются также атрибуты классов, операции классов и ограничения, которые накладываются на связи между классами [12].

В разрабатываемой программной системе классы разделены по функциональности на 3 пакета: «Пользователь», «Тестирование», «Анализ данных».

Пакет «Тестирование» включает два класса: «Тест», реализующий конкретный мотивационный тест, и «Тестирование», отвечающий за процесс тестирования. Пакет «Пользователь» содержит классы «Респондент», «Группа респондентов», «Управляющий», «Сопроводитель системы». Функциональность данных классов соответствует прецедентам перечисленных пользователей в диаграмме вариантов использования. Выделение класса «Группа респондентов» обусловлено тем, что применение статистического анализа данных подразумевает обработку результатов исследования совокупности респондентов. Пакет «Анализ данных» включает классы «Метод», «Таблица», «Визуализатор», при этом класс «Метод» предназначен для реализации конкретного статистического метода, а классы «Таблица» и «Визуализатор» позволяют отобразить результаты применения метода в желаемом представлении. Связи между классами представлены на рис. 2.

missing image file

Рис. 2. Диаграмма классов

В качестве примера диаграммы деятельности на рис. 3 показан процесс тестирования.

missing image file

Рис. 3. Диаграмма деятельности для процесса тестирования

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

missing image file

Рис. 4. Диаграмма последовательности для процесса анализа результатов тестирования

missing image file

Рис. 5. Диаграмма последовательности для процесса визуализации результатов тестирования

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

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

missing image file

Рис. 6. Диаграмма компонентов

Также база данных является связующим компонентом между тестирующим и анализирующим модулями программной системы.

В данной статье представлены все типы UML-диаграмм: структурные – диаграмма классов и диаграмма компонентов; поведенческие – диаграммы деятельности и диаграмма вариантов использования; диаграммы взаимодействия – диаграммы последовательности. Помимо перечисленных, при разработке архитектуры программно-информационной системы также были построены диаграммы объектов, пакетов, профилей, составной структуры, развертывания, состояния, кооперации, синхронизации и др.

Выводы

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

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

Мотивационный профиль студента существенно изменяется за время обучения, в частности факторы «Потребность в социальных контактах», «Потребность в завоевании признания со стороны других людей» становятся менее значимыми к концу обучения, а совокупность факторов материального характера и факторов личностного роста, напротив, приобретает большее значение [11].

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

Программная система может быть использована при изучении магистерской дисциплины «Управление командой разработчиков программного обеспечения» в модуле «Психодиагностика» с целью автоматизации проведения и обработки результатов тестирования.

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

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