РАЗРАБОТКА МОДУЛЯ ОБРАБОТКИ ОНЛАЙН-ЗАЯВЛЕНИЙ АБИТУРИЕНТА

Опубликовано в журнале: Научный журнал «Интернаука» № 22(245)
Рубрика журнала: 3. Информационные технологии
DOI статьи: 10.32743/26870142.2022.22.245.342561
Библиографическое описание
Дружинин С.Е., Будаев Е.С. РАЗРАБОТКА МОДУЛЯ ОБРАБОТКИ ОНЛАЙН-ЗАЯВЛЕНИЙ АБИТУРИЕНТА // Интернаука: электрон. научн. журн. 2022. № 22(245). URL: https://internauka.org/journal/science/internauka/245 (дата обращения: 29.03.2024). DOI:10.32743/26870142.2022.22.245.342561

РАЗРАБОТКА МОДУЛЯ ОБРАБОТКИ ОНЛАЙН-ЗАЯВЛЕНИЙ АБИТУРИЕНТА

Дружинин Сергей Евгеньевич

студент, Восточно-Сибирский государственный университет технологий и управления,

РФ, г. Улан-Удэ

Будаев Евгений Сергеевич

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

РФ, г. Улан-Удэ

 

DEVELOPMENT OF MODULE FOR PROCESSING ONLINE APPLICATIONS OF ENTRANT

Sergey Druzhinin

Student, East-Siberian State University of Technology and Management, Russia, Ulan-Ude

Evgeny Budaev

Candidate of technological sciences, associate Professor, East-Siberian State University of Technology and Management,

Russia, Ulan-Ude

 

АННОТАЦИЯ

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

ABSTRACT

The objective of the research is to consider a method for improving the quality and convenience of the work of the admissions committee staff when admitting applications to university, which can be achieved by developing an online resource for remote acceptance of entrant applications. The development of the module allows to process the data of entrants more efficiently and faster, as well as to protect the employees of the selection committee.

 

Ключевые слова: IT; сайт; приёмная комиссия; абитуриент; модуль сайта; разработка; дистанционная работа; Spring Boot; Java.

Keywords: IT; site; selection committee; entrant; site module; development; remote work; Spring Boot; Java.

 

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

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

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

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

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

При этом весь функционал работы информационного ресурса необходимо ориентировать на повышение качества и удобства услуг приёмной комиссии и повышение количества поступивших.

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

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

К графической составляющей программного приложения ставятся следующие требования:

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

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

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

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

Модуль обработки онлайн-заявлений проектируется с опорой на архитектуру frontend-backend, которая заключается в передаче HTTP-запроса на сервер, который в свою очередь отправляет необходимый JSON обратно, данные из которого загружаются в готовый шаблон, написанный при помощи JS, CSS и HTML. В качестве связующего звена между сервером и базой данных используется SQL-запрос [1].

В ходе этапа проектирования была разработана модель развёртывания, представленная на рисунке 1.

 

Рисунок 1. Диаграмма развёртывания

 

После проектирования всех необходимых диаграмм было произведено кодирование программного приложения. В силу того, что проект разделён на две равнозначные части, то и реализация была произведена существенными различиями этих частей. Для frontend-части был выбран следующий стек технологий для реализации [3], [4]:

  • Kotlin – статически типизированный, объектно-ориентированный язык программирования, работающий поверх Java Virtual Machine;
  • Redux – библиотека для JavaScript, предназначенная для управления состоянием приложения;
  • React JS – библиотека для JavaScript, предназначенная для разработки пользовательских интерфейсов.

Для разработки backend-части были использованы следующие программные средства [3], [4]:

  • Spring Boot – фреймворк, созданный для упрощения разработки web-приложений [2];
  • Gradle – система автоматической сборки, которая построена на принципах Apache Maven и Apache Ant, преимуществами которой являются DSL на языках Groovy и Kotlin вместо традиционного XML;
  • PostgreSQL – СУБД, использованная в проекте, основным преимуществами которой является доступность и простота развертывания [1];
  • Liquibase – это библиотека с открытым исходным кодом преимуществами которой являются отслеживание, управление и применение изменений схемы базы данных;
  • Apache iBATIS – это среда сохранения, которая автоматизирует сопоставление между базами данных SQL и объектами в Java;
  • Keycloak – продукт с открытым кодом для реализации single sign-on с возможностью управления доступом, нацелен на современные применения и сервисы;
  • SLF4J (Simple Logging Facade for Java) – библиотека для протоколирования, ставящая своей целью предоставить максимально простой, но при этом мощный фасад для различных систем протоколирования на Java.

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

Так как серверной части необходимо передавать запрошенные данные из базы, то основным средством передачи данных будет выступать JSON. Для начала работы была создана схема база данных в PostgreSQL. Далее для каждой таблицы необходимо создать свои классы DTO (Data Transfer Object) и VO (Value Object). DTO предназначен для изменения и передачи между двумя частями проекта, а VO используется для внутренней обработки данных и записи в базу данных. Поля данных классов совпадают с тем, что представлены в базе данных и логической модели.

В данных классах есть три аннотации, первая из них @Data генерирует весь бойлерплейт код: методы получения всех полей, методы их установки и т.д. Следующей аннотацией идет @AllArgsConstructor, который генерирует конструктор для всех полей класса, а также аннотация @NoArgsConstructor, создающий конструктор по умолчанию, в случае если в классе есть final поля, то такой конструктор не будет сгенерирован.

Далее для всех классов были разработаны интерфейсы – репозитории, которые необходимы для вызова заранее написанных SQL-запросов и получения данных в саму среду разработки.

Сам SQL-запрос описывается в аннотации, соответствующей выполняемому действию в базе данных, для передачи параметров в сам SQL-запрос используется аннотация @Param, где указываются тип параметра и его название. В самом запросе параметры описываются через конструкцию #{название параметра}. Каждый запрос является функцией, которую можно вызвать из объекта интерфейса. Также в репозитории используется аннотация @Mapper, необходимая для указания типа компонента автоматически сгенерированного класса реализации интерфейса. Следующей особенностью backend части приложения являются классы сервисов, которые необходим для осуществления всей внутренней логики. В нем инициализируется объект репозитория и вызываются необходимые функции по запросу от контроллера.

В данных классах есть две аннотации, первая из которых @Service объявляет, что этот класс представляет собой сервис – компонент сервис-слоя. Вторая же аннотация @Slf4j необходима для логирования.

Последним типовым видом классов является класс контроллера, необходимый для отклика серверной части, в том случае, когда пользователь выполняет какое-либо действие в интерфейсе. Контроллер имеет несколько методов, в которых указаны адреса, по которым активируются определённые методы сервиса. Так же у контроллера есть несколько типов запросов: get, post, patch. Первый необходим для получения данных по запросу, post – активирует запрос для добавления данных в базу данных, а patch – для обновления каких-либо данных.

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

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

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

В заключении хочется подытожить – была рассмотрена предметная область и выявлены функциональные особенности будущего программного приложения. Выполнено проектирование и разработка модуля обработки онлайн-заявлений абитуриента. Модуль размещен на сайте https://lk.esstu.ru/home, запущен в промышленную эксплуатацию, на нем уже обработано более 1500 заявок от абитуриентов.

 

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

  1. Рогов, Е.В. PostgreSQL изнутри. / Е.В. Рогов – М.: ДМК Пресс, 2022. – 660с.;
  2. Гутьеррес, Ф. Spring Boot 2: лучшие практики для профессионалов. / Ф. Гутьеррес – СПб.: Питер, 2020. – 464 с.;
  3. Блинов, И.Н. Java. Методы программирования: уч.-мет. пособие. / В.С. Романчик, И.Н. Блинов – Минск: изд. “Четыре четверти”, 2013. – 896 с.;
  4. Аквино, К. Front-end. Клиентская разработка для профессионалов. / К. Аквино, Т. Ганди – СПб.: Питер, 2017. – 512 с.;
  5. Новиков, Ф.А. Учебно-методическое пособие по дисциплине “Анализ и проектирование на UML” / Ф.А. Новиков – СПб.: Санкт-Петербург 2007. –  283с.;