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

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 28.01.2019
Размер файла 239,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Иркутский национальный исследовательский технический университет

РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ РАСПРЕДЕЛЕНИЯ СТУДЕНТОВ ПО КОМНАТАМ ОБЩЕЖИТИЯ НА ОСНОВЕ ДИАГНОСТИКИ МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЙ

Д.А. Стадников

Аннотация

общежитие конфликт система расселение

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

Ключевые слова: информационная система; Grails; Java; MVC.

Annotation

INFORMATION SYSTEM DEVELOPMENT FOR SETTLING STUDENTS IN DORMITORIES BASED ON DIAGNOSTICS OF INTERPERSONAL RELATIONS

D. Stadnikov

Irkutsk National Research Technical University,

This article deals with the problem of conflicts between people living in a dorm, as well it proposes a solution to this problem by means of diagnosis of human sociotype and compilation of lists for resettlement. It describes the functionality developed information system. The article presents a brief overview of the technology through which the system was implemented and it describes the implementation of key components.

Keywords: information system; Grails; Java; MVC.

Основная часть

Каждый год в общежития учебных заведений заселяется множество первокурсников. И каждый год происходит довольно много конфликтов между соседями.

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

В июне 2015 года был проведен опрос среди студентов, проживающих в общежитиях Педагогического института Иркутского государственного университета (ПИ ИГУ). В опросе приняло участие 68 человек. Из них только 37 студентов (54 %) оказались довольны своими соседями по комнате.

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

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

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

Методика диагностики межличностных отношений

На данный момент существует множество методик определения психологической совместимости людей. В настоящей работе использовался тест Тимоти Лири [1].

Данная методика создана Т. Лири, Г. Лефоржем и Р. Сазеком в 1954 г. Она предназначена для исследования представлений субъекта о себе и об идеальном «я», а также для изучения взаимоотношений в малых группах. С помощью данной методики выявляется преобладающий тип отношений к людям в самооценке и взаимооценке.

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

Таким образом, методика Т. Лири включает в себя 8 социотипов:

1. Авторитарный - диктаторский, энергичный и деспотический характер, уверенный в себе человек, упорный и настойчивый.

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

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

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

5. Подчиняемый - покорный, склонный уступать, застенчивый, скромный, робкий, эмоционально сдержанный.

6. Зависимый - неуверенный в себе, зависит от чужого мнения, послушный, не умеет проявить сопротивление, ожидает помощи и советов, доверчивый, вежливый.

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

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

Позже в работах Л.Н. Собчик [2] были проведены исследования на тему психологической совместимости социотипов, определенных по методике Т. Лири. Результаты этих исследований можно кратко представить в виде диаграммы (рис. 1). Сплошная линия на диаграмме означает, что данный случай является оптимальным, пунктирная - допустимым.

Рис. 1 Психологическая совместимость социотипов

Требования к системе

Разработанная информационная система имеет 2 бизнес-роли:

· Студент - обучающийся, проживающий в общежитии.

· Администратор - сотрудник учебного заведения, занимающийся распределением студентов по комнатам общежитий.

Были определенны следующие требования к системе:

· Анкетирование - возможность пройти тест на определение социотипа и сохранить результат.

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

· Просмотр пользователей, не прошедших тест, - формирование списков пользователей, которые не участвовали в анкетировании, для роли администратора.

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

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

· Редактирование информации - позволяет изменить данные о распределении по комнатам так, как этого желает администратор.

На рис. 2 представлена диаграмма прецедентов разработанной информационной системы.

Рис. 2 Диаграмма прецедентов информационной системы

Объектная модель данных

Для реализации информационной системы была спроектирована объектная модель данных, диаграмма классов системы представлена на рис. 3.

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

Для реализации информационной системы были созданы следующие модели:

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

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

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

· Faculty - данная модель используется для хранения информации о факультетах, которая нужна для создания учетной записи пользователя и формирования списка комнат, так как каждая комната принадлежит определенному факультету.

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

· TestInfo - модель для хранения результатов анкетирования. Для подбора соседей нужно знать социотип. Согласно методике Т. Лири каждый социотип обладает восемью параметрами. Каждый параметр выражается больше или меньше в зависимости от личности.

· Hostel - модель для хранения информации об общежитиях. Необходима для создания списка комнат. Также данная таблица используется для формирования информации о заселении конкретного пользователя.

· Room - модель комнаты.

· UserRoom - модель для хранения информации о заселившихся. После того, как социотип пользователя определен и для него найдена оптимальная комната, необходимо заселить пользователя.

Технологии разработки информационной систем

Язык программирования Groovy - гибкий и динамичный язык для виртуальной машины Java, он расширяет язык Java дополнительными возможностями, взятыми из таких языков программирования, как Python, Ruby и Smalltalk.

Groovy можно использовать как скриптовый язык, или же его можно рассматривать как объектно-ориентированный язык либо как надмножество Java.

Синтаксис Groove можно легко перекомпилировать в кодовую базу Java и обратно.

Фреймворк Grails [3] - платформа следующего поколения разработки веб-приложений на языке Java, которая увеличивает производительность разработчика благодаря совместному использованию динамического языка программирования, философии преимущества соглашений перед настройками (Convention over Configuration), мощных практичных инструментов и гибких методик, заимствованных из лучших парадигм веб-разработки.

Grails, возникшая в 2006 году, использует многие из нововведений, впервые появившихся в платформе Rails. Получив все преимущества динамического языка программирования Groovy, платформа Grails сделала возможными создание объекта и обращение к нему с помощью динамических методов, таких как.findBy...() или.findAllBy...And...(), несмотря на то, что в действительности объект не обладал ни одним из этих методов. Платформа позволила обращаться к любому программному коду и к уже существующим библиотекам на языке Java.

Фреймворк Grails поддерживает парадигму программирования MVC.

MVC (Model-View-Controller, модель - представление - контроллер) - это конструкционный шаблон, который описывает способ построения структуры приложения, сферы ответственности и взаимодействие каждой из частей в данной структуре. Приложение разделяется на три основных компонента, каждый из которых отвечает за различные задачи. На рис. 4 представлен принцип работы паттерна MVC.

Рис. 4 Принцип работы паттерна MVC

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

Модель управляет данными и содержит логику приложения.

Вид представляет данные пользователя в любом удобном формате.

Система управления базами данных H2 - компактная, быстрая, высокофункциональная, встраиваемая реляционная система управления базами данных (СУБД), написанная полностью на языке Java.

Фреймворк Twitter Bootstrap - это самый популярный на сегодняшний день CSS/HTML фреймворк.

Реализация распределения пользователей по комнатам

Для распределения пользователей по комнатам был написан сервис RoomService, который содержит только одну функцию strategy(). Данная функция вызывается сразу после заполнения анкеты пользователем, отправки данных на сервер и их обработки.

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

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

Возможны 3 варианта:

1. Оценка совместимости cоциотипов пользователя и проживающих в комнате не оптимальна и недопустима, тогда мы продолжаем перебор.

2. Оценка социотипов пользователя и проживающих в комнате оптимальна, тогда селим туда пользователя и завершаем перебор.

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

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

Возможен исключительный случай, когда пользователь не заселен и список с id комнат пуст; тогда такой пользователь сохраняется в отдельный список и распределяется вручную администратором.

Блок-схема алгоритма изображена на рис. 5

Организация уровней доступа

Для реализации авторизации и уровней доступа использовался плагин Spring Security.

Чтобы на страницу мог зайти только пользователь с ролью администратора, достаточно в контроллере добавить аннотацию Secured. Так как в системе предусмотрено две роли (администратор и студент), то были использованы следующие аннотации:

1. @Secured(['IS_AUTHENTICATED_FULLY']) - запрещает неавторизованным пользователям зайти на страницу.

2. @Secured(['ROLE_COMMON']) - позволяет посетить страницу только пользователям c ролью студента.

3. @Secured(['ROLE_ROYALTY']) - позволяет зайти на страницу только пользователям с ролью администратора.

Реализация панели администратора

Администратор имеет некоторые дополнительные возможности, которые не доступны пользователям с ролью студент.

Рис. 5 Блок-схема алгоритма распределения студентов по комнатам общежития

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

Заключение

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

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

Дальнейшая работа может осуществляться в направлении улучшения алгоритма подбора соседей, а также поиска более удачного варианта тестирования для распределения студентов.

Библиографический список

1. Методика диагностики межличностных отношений Т. Лири [Электронный ресурс]. 2016. URL: http://bodysays.ru/tests-on-the-interpersonal-relationships-in-a-team/methods-of-diagnosis-of-interpersonal-relations-t-liri.html (13.07.2016).

2. Собчик Л.Н. Психология индивидуальности. Теория и практика психодиагностики. СПб.: Издательство «Речь», 2005. 624 с.

3. Глен С. Grails. Гибкость Groovy и надежность Java. СПб.: Издательский центр «Символ-Плюс», 2010. 656 с.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.