Разработка информационной системы распределения студентов по комнатам общежития на основе диагностики межличностных отношений
Рассмотрение проблемы конфликтов между людьми, проживающими в общежитии, пути ее решения средствами диагностики социотипа человека и формированием списков для расселения. Алгоритм распределения студентов по комнатам, формирование требований к системе.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 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
Подобные документы
Формирование требований к системе учета успеваемости студентов на основе рейтинговой системы. Концептуальное и логическое проектирование структуры информационного обеспечения. Реализация информационного обеспечения и тестирование программного средства.
курсовая работа [3,1 M], добавлен 28.08.2012Анализ предметной области. Разработка генетического алгоритма для оптимизации инвестиций. Спецификация требований и прецедентов. Проектирование пользовательского интерфейса информационной системы. Модели данных, используемые в системе и их взаимодействие.
дипломная работа [2,1 M], добавлен 24.08.2017Цель, критерии и ограничения создания автоматизированной системы. Разработка элементов информационного обеспечения информационной системы общежития. Рекомендации по выбору комплекса технических средств для автоматизации задачи учета реализации товара.
курсовая работа [920,8 K], добавлен 11.11.2022Разработка программной реализации для решения задач бесприоритетного и приоритетного распределений. Контрольный пример решения задачи бесприоритетного распределения со структурой иерархии 5-4-2. Алгоритм расчета задачи одноресурсного распределения.
курсовая работа [2,3 M], добавлен 05.01.2013Разработка информационной системы для кафедры университета: распределение компьютеров по комнатам, выбор пассивного и вспомогательного оборудования, программного обеспечения, протоколов и схем адресации. Описание сетевых технологий FDDI и Ethernet.
курсовая работа [1,7 M], добавлен 30.07.2010Создание Windows-приложения для проведения обучения и тестирования студентов по информационной безопасности. Алгоритм решения задачи, блок-схема работы программы, выбор языка программирования Delphi. Охрана труда программиста, обязанности пользователя.
дипломная работа [4,8 M], добавлен 04.06.2013Создание автоматизированной системы диагностики конструктивных дефектов на основе акустических сигналов. Структурная схема автоматизированной системы. Методика анализа звукового сигнала. Алгоритм сравнения полученных данных с помощью модуля Diag.
курсовая работа [658,5 K], добавлен 14.07.2012Разработка информационной системы анализа успеваемости студентов. Особенности режима просмотра объектов с помощью редактора Visual Basic for Application. Виды диалоговых окон и основных элементов управления. Формирование диаграммы успеваемости группы.
курсовая работа [1,3 M], добавлен 28.11.2008Разработка информационной системы для хранения информации о результатах экзаменов студентов. Описание сервисов, разработка логической и физической модели системы. Выбор системы хранения данных. Схема работы сервиса, принципы безопасности доступа.
курсовая работа [560,6 K], добавлен 09.09.2012Функциональная модель предметной области на примере базы данных автоматизированной информационной системы "Общежития". Ведение информационной базы об общежитиях, комнатах и сотрудниках, хранение информации о студентах, специальностях и факультетах.
курсовая работа [2,7 M], добавлен 10.04.2014