Научная статья на тему 'СОЗДАНИЕ СЕРВЕРНОЙ ЧАСТИ ДЛЯ АВТОМАТИЗАЦИИ ФОРМИРОВАНИЯ РАСПИСАНИЯ УНИВЕРСИТЕТА'

СОЗДАНИЕ СЕРВЕРНОЙ ЧАСТИ ДЛЯ АВТОМАТИЗАЦИИ ФОРМИРОВАНИЯ РАСПИСАНИЯ УНИВЕРСИТЕТА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
88
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПИСАНИЕ / БАЗЫ ДАННЫХ / ВЕБ-ПРИЛОЖЕНИЕ / API

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Косс Ева Николаевна, Белеевский Кирилл Андреевич, Васецкий Алексей Михайлович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Косс Ева Николаевна, Белеевский Кирилл Андреевич, Васецкий Алексей Михайлович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DESIGN AND DEVELOPMENT OF BACKEND APPLICATION FOR UNIVERSITY SCHEDULE FORMATION

The article discusses a server part of application, which has been developed for a project to automate the formation of an educational institution's schedule at the level of the Faculty of Digital Technologies and Chemical Engineering. The server side has been developed, which includes a database and an API that performs requests from the interface (client side) to data. The application contains a database that characterizes the audience, the working hours of teachers, the start and end times of classes by discipline, etc. A plentiful number of characteristics and a specially tuned API allows the back end to act as a good decision-making system for the schedule manager. The client part acts as an interface for users - teachers and students of the university.

Текст научной работы на тему «СОЗДАНИЕ СЕРВЕРНОЙ ЧАСТИ ДЛЯ АВТОМАТИЗАЦИИ ФОРМИРОВАНИЯ РАСПИСАНИЯ УНИВЕРСИТЕТА»

УДК 378.145

Косс Е.Н., Белеевский К.А., Васецкий А.М.

СОЗДАНИЕ СЕРВЕРНОЙ ЧАСТИ ДЛЯ АВТОМАТИЗАЦИИ ФОРМИРОВАНИЯ РАСПИСАНИЯ УНИВЕРСИТЕТА

Косс Ева Николаевна, бакалавр 4 курса кафедры информационных компьютерных технологий; Белеевский Кирилл Андреевич, бакалавр 4 курса кафедры информационных компьютерных технологий; Васецкий Алексей Михайлович, старший преподаватель кафедры информационных компьютерных технологий; e-mail: amvas@muctr.ru

Российский химико-технологический университет им. Д.И. Менделеева, Москва, Россия.

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

DESIGN AND DEVELOPMENT OF BACKEND APPLICATION FOR UNIVERSITY SCHEDULE FORMATION

Koss E. N., Beleevskii K. A., Vasetsky A. M.

Mendeleev University of Chemical Technology Moscow, Russian Federation

The article discusses a server part of application, which has been developed for a project to automate the formation of an educational institution's schedule at the level of the Faculty of Digital Technologies and Chemical Engineering. The server side has been developed, which includes a database and an API that performs requests from the interface (client side) to data. The application contains a database that characterizes the audience, the working hours of teachers, the start and end times of classes by discipline, etc. A plentiful number of characteristics and a specially tuned API allows the back end to act as a good decision-making system for the schedule manager. The client part acts as an interface for users - teachers and students of the university. Keywords: schedule, databases, web application, API.

Введение

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

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

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

Экспериментальная часть

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

программного интерфейса приложения, который соединяет «сервер» и «клиент» через HTTP протокол.

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

HTTP запрос состоит из трех основных частей, которые идут в определенном порядке. Между заголовками и телом сообщения находится пустая строка (в качестве разделителя), она представляет собой символ перевода строки:

1. Строка запроса (Request Line);

2. Заголовки (Message Headers);

3. Пустая строка (разделитель);

4. Тело сообщения (Entity Body) - необязательный параметр.

Строка запроса указывает метод передачи, URL-адрес, к которому нужно обратиться, и версию протокола HTTP.

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

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

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

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

СХЕМА РАБОТЫ

Рис. 1. Схематическое представление работы проекта

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

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

1. Разработать рабочую архитектуру базы данных на основе ORM Django и PostgreSQL для хранения информации об учебном расписании на уровне кафедры с потенциальной возможностью расширения на весь университет.

2. Описать и реализовать серверную часть для формирования учебного расписания, в результате которой реализуется API для взаимодействия клиентской части приложения с базой данных посредством запросов http, содержащих данные в формате JSON.

Для разработки использовались: СУБД PostgreSQL, язык программирования Python, фреймворки Django и Django REST.

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

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

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

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

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

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

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

id

Преподаватель

Индекс корпуса

Номер корпуса

Рабочие дни

id

Направление

Численность

Biiii

Код направления

Название направления

Квалификация

К Кафедра

нна

id

Род. группа

Численность

W

id

Название кафедры

Название факультета

ишЗТУ

id

Имя

Фамилия

Отчество

Должность

Кафедра

Ставка

Кол, часов работы

id

Номер аудитории

Тип аудитории

Вместимость

Индекс корпуса

Номер корпуса

Дисциплина

id

Название

Число семинаров

Число лекций

ЧиСЛО лабораторных

Количество часов

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

Предмет

id

Дисциплина

Группа

Преподаватель

Аудитория

День недели

Тип дисциплины

Периодичность

Время начала

Время окончания

Рис. 2 Инфологическая модель базы данных

Заключение расписания. - Казань, изд-во КФУ, 2018, - 10 с.

По итогу работы была создана база данных на [Электронный ресурс]. - Режим доступа: PostgreSQL с помощью Django моделей, содержащая https://elbib.ru/article/view/480/559 (дата обращения:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

24.05.2021 г.).

3. Дронов В.А. Django 3.0 Практика создания вебсайтов на Python / В.А. Дронов. - СПб.: БХВ-Петербург, 2021. - 704 с.

4. Карпова И.П. Базы данных. Учебное пособие. -Московский государственный институт электроники и математики (Технический университет). - М., 2009.

5. Купер А., Рейман Р., Кронин Д. Алан Купер об интерфейсе. Основы проектирования

Аганина. - Текст : непосредственный // Молодой взаимодействия. - Пер. с англ. - СПб.: Символ-Плюс, ученый. - 2018. - № 42 (228). - С. 42-43. 2009. - 688 с. 2. Хабипов Р. И. Автоматизация построения

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

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

1.Аганина, Д. А. Проблемы автоматизированного расписания образовательного процесса / Д. А.

i Надоели баннеры? Вы всегда можете отключить рекламу.