Во время полной цифровизации и автоматизации однотипных и монотонных процессов важно, чтобы у каждого предприятия была информационная система, которая поможет не только в автоматизации внутренних процессов, но также и при работе с внешними данными и клиентами. Так же можно сказать и про образовательные учреждения: им необходимо, чтобы все участники образовательного процесса имели доступ к автоматизированной системе общего характера. В век современных технологий все программное обеспечение переезжает в «облако», так что разработка облачного программного продукта является актуальной.
У образовательного учреждения ГАПОУ СО «Нижнетагильский торгово-экономический колледж» появилась необходимость создать программный продукт, который будет воплощать в себе единое информационное поле, в котором можно удовлетворить технологические и информационные потребности работников, студентов, преподавателей, абитуриентов и прочих субъектов образовательного учреждения. В связи с этим руководство образовательного учреждения поставило цель: создать единую, модульную информационную систему, которая будет удовлетворять потребностям всех субъектов образовательного учреждения. Модульность необходима для того, чтобы в случае необходимости была возможность нарастить функционал информационной системы с минимальными затратами и потерями, но при этом между модулями существовала связь.
Материалы и методы исследования
В данной статье рассматриваются технологии проектирования и разработки программного продукта, отвечающего следующим требованиям [1; 2]:
– модульность информационной системы с целью наращения функционала;
– закрытая регистрация в информационной системе, а также разноуровневый доступ к системе;
– использование рассылки электронной почты для доведения информации до пользователей;
– возможность загружать файлы в информационную систему с разноуровневым доступом к файлам;
– генерация QR-кодов;
– шифрование данных в базе данных как последний оплот защиты информации пользователей;
– простой доступ к информационной системе через веб-платформу;
– открытое API для написания приложений-форков;
– поддержание обновлений информационной системы на всем жизненном цикле.
На этапе проектирования была выбрана методология объектного проектирования (UML-проектирования).
Разработка программного продукта велась на языках программирования PHP, JavaScript. Также были использованы: HTML, CSS, SCSS.
Результаты исследования и их обсуждение
Программное обеспечение «Ассистент» служит для связывания аутентификационных данных пользователей системы с модулями программного обеспечения Ассистент. «Голый» Ассистент содержит в себе минимально необходимый пакет библиотек, устанавливает требования к программному исполнению сервера, принципам обращения к базе данных и объявлениям сущностей системы.
Пользователь – такая сущность, которая содержит в себе идентификационные и аутентификационные данные о конкретном пользователе системы. Идентификационные и аутентификационные данные хранятся в разных таблицах.
Первая таблица – идентификационные данные о пользователе. Все данные зашифрованы симметричным ключом. Минимальный набор данных, хранимых в таблице идентификационных данных пользователей:
– уникальный идентификатор;
– фамилия;
– имя;
– отчество (при наличии);
– дата рождения;
– адрес электронной почты;
– номер мобильного телефона Российской Федерации.
Аутентификационные данные хранятся в виде дайджеста сообщения, «приправленные солью». Сама «соль» представляет собой дешифруемое сообщение длиной 256 символов [3; 4]. Ключ симметричного шифрования генерируется системой при первом запуске.
Пользовательская таблица с аутентификационными данными содержит в себе такой набор данных:
– уникальный идентификатор;
– дайджест логина;
– дайджест пароля;
– зашифрованная «соль»;
– зашифрованный массив (JSON-данные) уровней доступа.
В системе реализована таблица, которая содержит в себе данные о подключенных модулях к информационной системе. Таблица содержит в себе следующие данные:
– уникальный идентификатор;
– наименование модуля на русском языке;
– наименование модуля на латинице;
– JSON-объект, хранящий в себе пункты для меню;
– относительный путь модуля с начала домена. Например, запись «ex» гласит о том, что модуль будет доступен по адресу https://example.com/modules/ex;
– булевый тип, свидетельствующий о публичном доступе модуля. Если стоит ложь, то система доступна только администраторам информационной системы;
– порядковый номер версии модуля.
При старте системы она будет доступна только для адресного пространства loopback. Изменение этого параметра возможно при изменении конфигурационного файла модуля «First-start».
На рис. 1 представлен процесс регистрации системы [5]. Для полноценной работы информационной системы необходимо, чтобы система имела возможность отправлять письма на электронную почту, подключаться к базе данных, регистрировать и делегировать пользователей, добавлять модули информационной системы. По умолчанию конфигурационные файлы не существуют. Они создаются в процессе регистрации.
Рис. 1. Схема регистрации информационной системы на новом сервере
Авторизация пользователей происходит по стандартной схеме: пользователь вводит пару логин/пароль, система проверяет эти данные на корректность или существование и продолжает работать по той схеме, которая зависит от авторизации пользователя (рис. 2). Процедура выхода из системы выглядит таким образом: токен очищается из записи пользователя.
Рис. 2. Схема авторизации пользователя
Рис. 3. Проверка предоставляемого токена
Проверка токена на актуальность: когда пользователь авторизовался, ему предоставляется токен. Если токен, с которым идентифицируется пользователь, не существует, то токен удаляется у пользователя (рис. 3).
Рис. 4. Страница, принявшая вид для авторизованного пользователя
Рис. 5. «Администраторская панель». Конфигурация системы
После доступа в систему пользователь попадает в систему как авторизованный пользователь (рис. 4).
Администраторам системы доступен режим «Администраторской панели» в личном кабинете (рис. 5). В этой панели администраторы могут:
– регистрировать новых пользователей;
– редактировать данные у уже имеющихся пользователей;
– изменять аутентификационные данные у уже имеющихся пользователей;
– удалять уже имеющихся пользователей;
– изменять конфигурацию подключения к серверу баз данных (MySQL);
– изменять конфигурацию подключения к сервису рассылки электронных писем (SMTP-протокол).
Заключение
Разработанная система является скелетом для дальнейшего разворачивания модулей, необходимых для автоматизации учебной, управленческой деятельности в Нижнетагильском торгово-экономическом колледже. Реализованы механизмы регистрации системы на сервере, регистрации и авторизации пользователей в системе. Все регистрационные данные хранятся в базе данных. Каждый пользователь имеет разноуровневые права доступа к различным модулям системы. Доступ к системе осуществляется через веб-интерфейс.
Представленная система позволит организовать единое хранилище данных и сервисов в образовательном учреждении, доступ к которому зависит от прав конкретного пользователя и возможен с любого компьютера. Внедрение системы существенно сократит время на поиск информации, составление отчетов, позволит осуществлять оперативное взаимодействие сотрудников учреждения.