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

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

CC BY
48
7
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БАЗА ДАННЫХ / ХРАНИЛИЩЕ ИНФОРМАЦИИ / АВТОМАТИЗАЦИЯ / УЧЕБНОЕ РАСПИСАНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бессогонова П.Э., Васецкий А.М.

При помощи системы управления базами данных PostgreSQL, языка программирования Python и фреймворка Django было разработано хранилище информации для учебного расписания университета, а также были созданы связи посредством Representational state transfer API технологии между пользовательской частью и внутренней частью приложения. Создание хранилища информации для учебного расписания университета является одной из трех частей, которые в конечном итоге составляют проект автоматизации учебного расписания университета.

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

CREATING A REPOSITORY OF INFORMATION FOR THE ACADEMIC SCHEDULE OF UNIVERSITY

Using PostgreSQL database management system, Python programming language and Django framework, an information repository for the university's academic schedule was developed, and links were created through Representational state transfer API technology between the user part and the back-end of the application. Creating a repository of information for the university's academic schedule is one of the three parts that ultimately make up the university's academic schedule automation project.

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

УДК 378.145

Бессогонова П.Э., Васецкий А.М.

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

Бессогонова Полина Эдуардовна студентка факультета цифровых технологий и химического инжиниринга; Васецкий Алексей Михайлович старший преподаватель кафедры информационных компьютерных технологий; email: amvas73@narod.ru;

Российский химико-технологический университет им. Д.И. Менделеева, Москва, Россия 125480, Москва, ул. Героев Панфиловцев, д.20;

При помощи системы управления базами данных PostgreSQL, языка программирования Python и фреймворка Django было разработано хранилище информации для учебного расписания университета, а также были созданы связи посредством Representational state transfer API технологии между пользовательской частью и внутренней частью приложения. Создание хранилища информации для учебного расписания университета является одной из трех частей, которые в конечном итоге составляют проект автоматизации учебного расписания университета. Ключевые слова: база данных, хранилище информации, автоматизация, учебное расписание

CREATING A REPOSITORY OF INFORMATION FOR THE ACADEMIC SCHEDULE OF UNIVERSITY

Bessogonova P.E., Vasetsky A.M.1

D.I. Mendeleev University of Chemical Technology, Moscow, Russia

Using PostgreSQL database management system, Python programming language and Django framework, an information repository for the university's academic schedule was developed, and links were created through Representational state transfer API technology between the user part and the back-end of the application. Creating a repository of information for the university's academic schedule is one of the three parts that ultimately make up the university's academic schedule automation project.

Keywords: database, information storage, automation, courses schedule

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

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

Основными задачами данной работы являлись:

1) Автоматизированное заполнение базы данных из различных источников;

2) Модификация и расширение даталогической модели базы данных для хранения учебных планов на все годы обучения;

3) Протоколирование изменений в учебных планах. Для решения столь актуальной проблемы

автоматизации формирования расписания

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

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

Обзор способов автоматизации составления расписания

Одной из наиболее популярных программ для автоматизации формирования учебного плана среди высших учебных заведений в России считается «1С: Автоматизированное составление расписания. Университет». Программа разработана крупной компанией, гарантирующей качество разработки. Разработчики этой программы заявляют, что она учитывает специфику обучения в ВУЗах России. Данная программа предоставляет возможность автоматизированного составления учебного расписания и рационального использования аудиторий учебного заведения. Из достоинств представленного программного обеспечения можно выделить следующее: во-первых, оптимизация трудоемкости формирования учебного расписания; во-вторых, гибкий подход при составлении расписания к возможностям университета с учетом пожеланий преподавателей и студентов; в-третьих, возможность загружать справочники и учебные планы в документы в удобных для обработки форматах Microsoft Excel и XML; в-четвертых, возможность формирования нескольких расписаний. Однако у представленного выше программного обеспечения можно выделить один главный недостаток - цена данного продукта. Она колеблется в районе 95 - 99 тысяч рублей [1] по состоянию на начало мая 2022 года.

Также часто используемым программным обеспечением для автоматизации формирования учебного расписания является Университет 3.2.0.711. К его достоинствам можно отнести относительно низкую стоимость (по сравнению с «1С Университет» его стоимость значительно ниже и по состоянию на начало мая 2022 года составляет 19 тысяч рублей [2]). К достоинствам данного программного обеспечения можно отнести гибкие настройки и опция автоматического смс-оповещения преподавателей при изменениях в расписании. К недостаткам данного программного обеспечения можно отнести сложность его установки согласно отзывам пользователей.

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

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

Одним из ключевых программных продуктов среди университетов является система GosInsp, разработанный «Лабораторией ММИС» - это программный комплекс, предназначенный для ведения, составления, изменения и контроля расписаний и учебного плана высших учебных заведений. Данное программное обеспечение является очень удобным инструментом для набора учебных планов высших учебных заведений, а также позволяет проверять набранные в нем учебные планы на соответствие государственным стандартам высшего образования и на соответствие внутренним стандартам учебного заведения. Наиболее значимым достоинством данного продукта является наличие качественной пользовательской документации. Имеется большое количество статей, методических пособий, учебников и инструкций по данному решению. За счет обширной документации использование данного программного продукта становится достаточно простым.

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

и высшего образования. Система GosInsp предоставляет возможность бюджетного

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

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

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

информацией по предметам, аудиториям, преподавателям и группам, построение наиболее оптимального расписания для удобной учебы и работы.

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

Расписание учебных занятий должно соответствовать требованиям:

1) Полное соответствие учебному плану;

2) Обеспечивать преемственность и систематичность, заложенных в учебном плане;

3) Гарантировать дни отдыха по выходным и праздничным дням для студентов и сотрудников университета;

4) Обеспечивать равномерную нагрузку в течение учебного года аудиторными занятиями и самостоятельной работой;

5) Учитывать принцип чередования различных по характеру и сложности учебных дисциплин [3]; При составлении расписаний все существующие

задачи можно разделить на две группы: 1. Задачи, которые содержат перебор большого количества параметров - исходных данных,

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

Исходя из вышеперечисленных задач, можно выделить две группы критериев при формировании расписания:

1) Автоматизация занесения информации из учебных планов;

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

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

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

REST - это стиль архитектуры программного обеспечения для распределенных систем, таких как World Wide Web, который, как правило, используется для построения веб-служб [4]. REST является очень простым интерфейсом управления информацией без использования каких-то дополнительных внутренних прослоек. Каждая единица информации однозначно определяется глобальным идентификатором, таким как URL. Каждая URL в свою очередь имеет строго

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

1) GET (получить)

2) PUT (добавить, заменить)

3) POST (добавить, изменить, удалить)

4) DELETE (удалить).

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

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

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

После создания всех моделей, производится миграция, таким образом, за счет созданных моделей формируется база данных при помощи фреймворка Django и системы управления базами данных PostgreSQL.

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

Для связи интерфейса с backend-ом (т.е. внутренней частью программы) для корректной передачи данных между пользователем и сервером посредством метода REST API нужны запросы, которые создаются также в файлах Django.

Чтобы построить запрос к модели, требуется создать файл serializers.py, подключить модуль serializers, а также импортировать модели из файла models.py, к которым требуются запросы.

»»GH - NoítO;

" "Ayáu lepiíB ■и H

ccdt = Pítfslí.CUrFiíldC'K^íp",

■ítaur i nmjfVs ,S"elA1ntígRrFifld("STi»¡", iffaul_i.il]

rocpcla-sí ■ piodela.FereiflnKtyC&icti, v e г tose^плпв^"T*и аудитории'. on_Uí\etB=BO(le\5L6Éf_HlíLLr пи11=Тгиа,

related _íiiaí=~i4nnitypt")

¿dnresi i isodsls .íopíignKeyUddreii, vt i4sD£e_ínns "А дв-е с", an_dHete±fiodela. 5ET_NJLLr nuVL=True.

relat ed.níne sTaatta-ddr" J tijaeity = íiídel!.SfialAInTfgsrFie"ldC',Hp<E£TiiHitin', dífult-e)

dtpartntní = nadul£ . FnvCiijnKeytCüp.irCnLULT, , ftn.Oílt: (! = -га<иЛь.£Е 1 JiULl , с\апк=Тги*, nui.\ = Tr-ut

141 aT cd _ »(Ъпг- 4 г DC niJrp С " j priority ; «(unit. 5«iUInttgrrFiíldС-Приврите", flífflv\t=8) iEíJniscdBji щ пойи15.воо\»1пР1в10("Прм«яи»ч иишнш-, srfjiv-lt = Fji1í»J Ktlvi - iioíílí .ÍoolíanfieleС"Л*H-c-f »ult = l>w»}

Рис. 1. Модель Room («Аудитория»)

Address

id smallt nt.

street character vafying(50J

Hou» character varying) 10]

Building character varying! 10)

Fulladdress character varying! 100]

updated Tirncstamp

Updawdby btgirit

и -,

Room

Id smalHnt

Code character varying

Classics blg'ni

Address«] smallint

Capacity Int

updated lime&tamp w time ¿one

Updatedby bigînt

С

Department

id smalllm

^ Code character varying

Fuilname character varyir>g(200)

Short name character varying(SQ)

h Addressid smalllnt

Active boolean

Updated urnmutnp

Updatedby blglnt

Dlcti

Td bigirtt

Parentld blglnt

Code character varying

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

Short rufne character varying

Fultnjroe character varying

NumiOde bigim

Active boolean

Nurn,klds smalllnt

Updated lime without ytme zone

Updiüedby bigirtt

Vr^

Parentid Code Active Quantity

tbigmt character varying boolean

vnallinc f blgint

Id smalllnt

Cods character varying Pu'lna me character varying Shoiname character vaiying AcUw boolean

Updated time

Updatedby blglnt

Studyperiod

Id srfMlfint

datobeg date

dateend date

Coated time w time jone Updatedby bigint

td blgin:

Usertd bigirtt

a,-»sskl

Rank sm allint

Updated time w тегогмг

Updated by bigin'

td bigirt!

Lasename dWdttCr Vifyng

Fir^triame character varying

Pacronimic character vary.rtg

Classid blglnt

AttlVe boolean

td biginr

userpwtf character varying

ßatepwd llmewtlme tone

¡>ateend date

login character varying

frrurpwdcounl imdllln!

Updated time w time ¡¡one

Updatedby blglnt

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

На этапе работы с сериализаторами (рис. 3 (а), рис. 3 (б)), преобразовываются сложные данные, такие как querysets и экземпляры моделей, в нативные типы данных Python, которые затем могут быть легко переадресованы в JSON, XML или другие форматы обмена данными. Сериализаторы также обеспечивают десериализацию, позволяя

преобразовать разобранные данные обратно в сложные типы после проверки входящих данных [5].

class RoomListSerializer(serializers,ModelSerializer):

"""список аудиторий"""

address = serializers. SlugRelatedField("shortriairie", read_onlY=True)

roomclass = serializers.SlugRelatedField("shortname", read_only=True)

class Metar

model = Room

fields = ("address", "code", "roomclass",)

а)

class RoomDetailSerializer(serializers.HodelSerializer);

"""Вывод аудитории"""

address = serializers.SlugRelatedField("shortname", read_only=True}

roomclass = serializers.SlugRelatedField("shortname", read_only=True)

class Mete:

model = Room

exclude = ("active", "extid",)

б)

Рис. 3 - Сериализатор «Список аудиторий» (а) и Сериализатор «Сведения об аудитории» (б)

Далее в файле views.py, подключив соответствующие модели и сериализаторы, к которым нужны запросы, также подключив модули Response и APIView, создаются классы, методы которых являются запросами.

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

1. 1С:Автоматизированное составление расписания. Университет Приобретение продукта. [Электронный ресурс]. - Режим доступа: www.solutions.1c.ru/catalog/asp_univer/buy. - Дата доступа: 20.05.2022

2. Университет 3.2.0.711. [Электронный ресурс]. - Режим доступа: www.audit-it.ru/allsoft/raspisanie-zanyatiy/universitet-3-2-0-711/. -Дата доступа: 21.05.2022

3. Аль-Габри, В.М. Обзор литературных источников по теме «Автоматизация составления расписания занятий и экзаменов в высших учебных заведениях» / В.М. Аль-Габри. - : Вестник Донского государственного технического университета, 2017. - 132-143 с

4. Национальная библиотека им. Н. Э. Баумана [Электронный ресурс]. - Режим доступа: https://ru.bmstu.wiki/REST. - Дата доступа: 25.05.2022.

5. Serializing Django objects [Электронный ресурс]. - Режим доступа: https://docs.djangoproject.com/en/4.0/topics/serialization /. - Дата доступа: 23.04.2022.

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