Внедрение и эксплуатация веб-интерфейса системы расчета нагрузки преподавателей ВУЗа
Веб-интерфейс информационной системы расчета нагрузки преподавателей ВУЗа, предоставляет возможности просмотра и оперативного изменения учебной нагрузки, уменьшая затраты временных и человеческих ресурсов на решение задачи распределения. В настоящее время, проект успешно установлен для кафедры АСУ Рязанского государственного радиотехнического университета и доступен в сети интернет (http://asuload.abonent.online/).
Руководство по внедрению web-интерфейса
В данном документе рассмотрена последовательная установка и настройка для размещения веб-интерфейса системы расчета нагрузки преподавателей в локальной сети. Для начала установки необходимо обеспечить на сервере наличие следующего программного обеспечения:
- Windows Server 2008 R2;
- Microsoft SQL Server 2014;
- IIS 7.5 (Internet Information Services);
- Git 2.21.0 (Version-control system);
- MSBuild 15.0 (Visual Studio 2017);
- Microsoft URL Rewrite Module 2.0;
- .NET Framework 4.5.2.
На цифровом носителе, прикрепленном к данной работе, вместе с программным кодом веб-интерфейса в корневой папке «deployment» поставляются: скрипт для создания базы данных («db.sql») и пакетный файл для установки проекта («app.bat»).
В командной строке операционной системы Windows Server выполняется команда запуска SQL-скрипта из папки решения проекта:
sqlcmd -S WINSRV\SQLEXPRESS -E -i E:\deployment\db.sql
Где WINSRV – имя компьютера в сети, SQLEXPRESS - имя экземпляра СУБД, и E:\deployment\db.sql – путь к SQL-скрипту.
После это будет создана база данных «CathedraUniversity» (рисунок 1), которая будет хранить по пути к экземпляру MS SQL Server в папке «DATA» два новых файла с названием «Cathedra.mdf» и «Cathedra_log.ldf» соответственно (рисунок 2).
Далее производится установка самого веб-интерфейса с помощью пакетного файла для установки «app.bat», предварительно переместив его в пустую папку для развертывания проекта. Для получения справки по параметрам в интерпретаторе командной строки производится простой запуск командой «app.bat» (рисунок 3).
Затем выполняется полная установка с помощью параметра «deploy»:
app.bat deploy
В результате после выполнения в текущей папке с пакетным файлом создаются две папки: «SOURCE_APP» для компиляции решения, а также «WORK_APP» для размещения собранных библиотек проекта в веб-сервере.
Обновление проекта до новой версии веб-интерфейса производится с удаленного Git-репозитория по команде «app.bat pull». Сборка и компиляция решения ведется с помощью MSBuild. Веб-сервер настраивается пакетным файлом с помощью стандартной IIS утилиты «appcmd» в автоматическом режиме. В конечном итоге, в операционной системе создается отдельный процесс «w3wp.exe», который обрабатывает HTTP-запросы из сети для веб-интерфейса по порту указанному в пакетном файле установки (по умолчанию «1337»), перенаправляя их на дальнейшую обработку непосредственно в приложение. Убедиться в правильной установке и работоспособности можно по локальному адресу «http://localhost:1337» в веб-браузере сервера.
Руководство по эксплуатации web-интерфейса
Для корректного отображения и взаимодействия с веб-интерфейсом необходимо выполнение следующих требований к компьютеру пользователя:
- процессор с тактовой частотой 500 МГц или выше;
- оперативная память 512 Мб или более;
- объем свободного пространства на жестком диске не менее 40 Мб;
- веб-браузер Google Chrome, Mozilla Firefox, Opera или Internet Explorer последних версий;
- постоянное соединение с Интернет на скорости не менее 3 Мбит/с.
Работу с веб-интерфейсом системы расчета нагрузки преподавателей можно условно разделить на несколько этапов.
- Регистрация, вход пользователей
- Настройка системы расчета для работы.
- Заполнение основных справочников системы.
- Добавление, распределение и корректировка нагрузки.
- Формирование отчетов о распределенной нагрузке и преподавателям.
Рассмотрим подробнее каждый из этапов работы с веб-интерфейсом на примере заполнения и распределения реальной нагрузки (за 2018/2019 год).
Регистрация и вход пользователей
При первичном входе для не аутентифицированных пользователей отображается главная страница с ознакомительной информацией. Внешний вид всех страниц веб-интерфейса состоит из нескольких основных областей с содержимым (рисунок 4).
- Верхняя панель пользователя. На левой части отображается заголовок веб-интерфейса, а на правой меню пользователя с возможностями по регистрации и входу.
- Основное меню системы. Данная область отвечает за навигацию по веб-интерфейсу.
- Содержимое страницы. После выбора одного из пунктов в меню системы в данной области обновляется отображение в соответствии с переходом.
- Нижняя панель информации. Отображает сведения о разработке.
Для создания нового пользователя в системе расчета нагрузки, необходимо нажать на кнопку «Регистрация» в правой части верхней панели веб-интерфейса. Откроется модальное окно для заполнения данных о регистрации (рисунок 5). Выпадающий список «Ф. И. О.» является необязательным для заполнения и предназначен для выбора сотрудника (из справочника в системе) к которому будет автоматически прикреплен пользователь, что позволяет в дальнейшем индивидуально пользоваться веб-интерфейсом преподавателям.
Следует обратить внимание, что пароль должен состоять минимально из 6 символов, а также содержать хотя бы одну цифру, букву верхнего и нижнего регистра.
По завершению заполнения необходимо нажать на кнопку «Зарегистрироваться». В случае успешной регистрации будет выведено соответствующее зеленое сообщение (рисунок 6). При некорректном заполнении формы в модальном окне появится красное уведомление с текстом ошибки (рисунок 7).
Подобные сообщения позволяют оценить результат выполнения действия и присутствуют во всех диалоговых окнах веб-интерфейса.
Веб-интерфейс системы расчета нагрузки является закрытым ресурсом. Вход нового пользователя возможен только после активации его профиля администратором в справочнике «Пользователи», установив в поле «Активирован» положительное значение «Да» (рисунок 8).
По умолчанию после установки веб-интерфейса в системе существует один пользователь с правами администратора (логин - admin@mail.ru, пароль - Admin0). Для аутентификации в системе необходимо нажать кнопку «Вход» в правой части верхней панели пользователя. После этого заполняются поля «Логин» и «Пароль» в открывшемся модальном окне (рисунок 9). Пункт запомнить меня позволяет сохранить введенные данные на стороне пользователя, что освобождает от повторного заполнения формы входа при перезагрузке страницы. Согласно введенным данным системой определяется пользователь: его роль в системе и прикрепленный сотрудник.
По успешному завершению процедуры входа пользователю становится доступно основное меню системы в соответствии с привилегиями его роли в системе. В случае наличия полномочий администратора доступны следующие пункты и блоки навигации (рисунок 10).
- Пункт перехода на главную страницу системы с ознакомительной информацией.
- Справочники системы. При нажатии раскрывается список всех доступных для взаимодействия справочников
- Управление нагрузкой. При нажатии раскрывается список доступных возможностей по взаимодействию с нагрузкой: «Просмотр нагрузки», «Связанная нагрузка», «Авто-распределение», «Добавление нагрузки».
- Формирование отчетов. Блок содержит пункты для получения отчетов по распределенной нагрузке: «По аудиторным занятиям», «По распределенной нагрузке», «По преподавателям».
- Пункт настроек системы. Осуществляет переход на страницу редактирования основных параметров системы.
- Блок внешних ссылок. Позволяет открыть в новой вкладке сайт виртуальной кафедры АСУ.
В правой части верхней панели после аутентификации отображается пункт меню с логином пользователя (рисунок 11), раскрыв который, можно перейти в личный кабинет для просмотра информации о текущем профиле (рисунок 12).
Настройка системы расчета для работы
Чтобы перейти к заполнению нагрузки необходимо сначала настроить систему для работы. Для этого в основном меню выбирается пункт «Настройки системы» и на открывшейся странице (рисунок 13) указывается текущий учебный год расчета и процент отклонения нагрузки, в случае необходимости допуска системой распределения часов выше нормы на заданную величину.
По нажатию на кнопку после подтверждения (рисунок 14) добавляется новый учебный год для последующего расчета. После этого можно его выбрать в соответствующем поле настроек. Для применения выбранных настроек необходимо нажать на кнопку «Сохранить настройки системы» (рисунок 13) и дождаться исчезновения вращающегося индикатора загрузки справа от заголовка страницы (рисунок 15).
Подобным образом происходит взаимодействие со всеми страницами и модальными окнами веб-интерфейса. Индикатор загрузки возле заголовка позволяет определить, занята ли система выполнением какого-либо действия в данный момент.
Заполнение основных справочников системы
После установки текущего учебного года для расчета в настройках, необходимо заполнить новыми данными следующие справочники.
- Справочник «Документы» в соответствии с документами учебной нагрузки на текущий год (например, нагрузка на бакалавров).
- Справочник «Ставки» по ставкам преподавателей с учетом членства профсоюза и лимита почасового фонда.
- Справочник «Оклады» в соответствии с окладами и ставками в часах для существующих должностей.
- Справочник «Группы в семестре» по документам учебной нагрузки.
Остальные справочники уже заполнены данными и нуждаются только в корректировке в случае каких-либо изменений на кафедре. Типовая работа рассматривается на примере заполнения документов. Для начала в блоке основного меню «Справочники системы» выбирается соответствующий пункт (рисунок 16).
На открывшейся странице необходимо нажать кнопку «Добавить запись» в правом верхнем углу области содержимого (рисунок 17).
В модальном окне добавления заполняются поля для записи, и нажимается синяя кнопка выполнения действия. На рисунке 18 показан пример добавления нагрузки на магистрантов. После этого форма закрывается, а в таблице выделяется строка соответствующая добавленной записи, позволяя нажать кнопку настройки типов нагрузки для документа (рисунок 19).
По нажатию на кнопку «Типы нагрузок документа» открывается соответствующее окно редактирования, в котором настраиваются типы нагрузок, и нажимается кнопка сохранения аналогичная добавлению. Данные заполняются исходя из реальных документов по нагрузке (рисунок 21, 22).
В случае если нужные типы нагрузки отсутствуют, необходимо добавить их в справочнике «Типы нагрузок».
Также, в правом верхнем углу содержимого страницы справочника расположена кнопка «Фильтр записей», которая позволяет настроить просмотр данных по заданным совпадениям полей. Например, по умолчанию в поле «Учебный год» подставляется текущее значение из настроек системы, что скрывает отображение неиспользуемых записей в таблице. Если необходимо просмотреть данные из прошлых лет обучения, то необходимо очистить соответствующее поле в фильтре и нажать кнопку «Применить фильтр» (рисунок 23).
Для редактирования записи в таблице используются зеленая кнопка в самом правом столбце соответствующей строки. Там же находится красная кнопка удаления записи . Следует отметить, что удаление записей на всех страницах веб-интерфейсах происходит только после подтверждения (рисунок 24).
Добавление, распределение и корректировка нагрузки
После настройки справочников необходимо начать заполнение нагрузки. Для этого в блоке «Управление нагрузкой» основного меню необходимо выбрать пункт «Добавление нагрузки» (рисунок 25). Заполнить поля «Документ», «Тип нагрузки» и нажать на кнопку «Добавить нагрузку» (рисунок 26).
Следует заметить, что обязательные поля для выбора отмечены звездочкой. Учебный год заполняется автоматически в соответствии с настройками системы. После выполненных действий откроется модальное окно добавления нагрузки (рисунок 27), в котором заполняются поля в соответствии с реальной нагрузкой (рисунок 28). На первом шаге заполняется общая информация: «Название курса», «Владелец курса», «Семестр», «Форма обучения», «Группы».
На втором шаге данного модального окна заполняется непосредственно учебная нагрузка в часах, которая вводится с дополнительного листа реального документа, где указано «Нагрузка полная» (рисунок 29).
Во избежание ошибок, после заполнения необходимо сверить введенную сумму часов с исходной нагрузкой (рисунок 30). По завершению нажать на кнопку «Добавить нагрузку» и убедиться в добавлении записей (рисунок 31).
Таким же образом необходимо ввести новые данные для всех типов нагрузок документов. После этого необходимо перейти к этапу распределения нагрузки. В блоке основного меню выбирается пункт «Авто-распределение». На открывшейся странице отображена вся ранее введенная по учебному плану нагрузка с кафедры. Базовое распределение производится в три действия с рекомендуемой последовательностью (рисунок 32).
- Распределение по владельцам курсов.
- Распределение упражнений и курсовых.
- Распределение лабораторных работ.
Выполнение любого распределения системой начинается только после соответствующего подтверждения пользователем (рисунок 33).
После выполнения действия выводится сообщение о результате действия, а в случае с распределением лабораторных работ краткий отчет о полученных соотношениях между преподавателями (рисунок 34).
На странице происходит автоматическое обновление данных и в таблице нагрузки остаются только нераспределенные записи, распределить которые можно по кнопке «Распределить нагрузку», предварительно указав запись. В модальном окне подтверждения произвольного распределения (рисунок 35) можно указать детальные настройки для следующих полей.
- Поле «Сотрудник». Позволяет выбрать сотрудника, которому будет определена нагрузка.
- Поле «Кол-во часов». Необходимо, в случае если нужно распределить не всю нагрузку, а только ее часть.
- Поле «Класс». Определяет аудиторию для проведения занятий по данной нагрузке.
- Поле «Группы». Позволяет назначить учебные группы, которые прикреплены к нагрузке.
В случае если произошло ошибочное действие или был изменен текущий процент отклонения нагрузки, можно произвести данную процедуру распределения заново. Для этого существует кнопка «Сбросить распределение», которая позволяет удалить все распределенные записи (рисунок 36).
После выполненных выше операций проводится распределение связанной нагрузки. Для этого нужно выбрать пункт «Связанная нагрузка» в блоке «Управление нагрузкой» основного меню. На открывшейся странице, с помощью кнопок и в ячейке таблицы, на пересечении нужного преподавателя и какого-либо руководства (рисунок 37), необходимо вручную распределить часы нагрузки.
Заполнять необходимо сначала в соответствии с данными прошлых лет, а затем по приоритету наименьшей загруженности у преподавателя. Записи преподавателей с перегрузкой по часам подсвечиваются красным цветом, в свою очередь, зеленым цветом выделяются допустимые по нормам нагрузки (максимальное отклонение от запланированных часов по ставке 5%). В результате нужно добиться оптимальной загруженности часами всех преподавателей, то есть распределить всю плановую нагрузку максимально и равномерно с учетом пожеланий преподавателей (рисунок 38).
В веб-интерфейсе имеется возможность разом сбросить все распределенные ранее часы связанной нагрузки, в случае не правильного заполнения. Для этого нажимается кнопка «Сбросить связанную нагрузку» справа в верхней части содержимого страницы. После подтверждения в соответствующем модальном окне (рисунок 39), происходит очистка всех установленных ранее часов.
Просмотреть всю распределенную нагрузку можно на странице «Просмотр нагрузки», перейти на которую можно также в блоке «Управление нагрузкой» основного меню системы. Необходимо заполнить поля «Учебный год», «Семестр», «Форма обучения», «Документ» и «Тип нагрузки», а затем нажать на кнопку обновить данные для отображения записей по заданным критериям поиска (рисунок 40).
В случае если потребуется поделить уже распределенную нагрузку с другим преподавателем, необходимо выбрать соответствующую запись в одной из групп и нажать на кнопку «Разделить нагрузку» сверху в правой части содержимого страницы (рисунок 41).
Откроется модальное окно подтверждения разделения, в котором необходимо выбрать сотрудника, которому передается нагрузка. Отобразив детальные настройки по соответствующей кнопке, можно изменить количество часов, указывающих на то, сколько необходимо отдать и вычесть с выбранной нагрузки. По умолчанию данное значение равно половине значения исходной нагрузки (рисунок 42). После выполнения будет создана еще одна запись распределенной нагрузки с указанными настройками.
Формирование отчетов о распределенной нагрузке и преподавателям
После выполнения этапа добавления нагрузки, необходимо сверить введенные данные с реальными документами по итоговым суммам запланированных часов. Для этого необходимо выбрать в блоке «Формирование отчетов» основного меню системы пункт «По распределенной нагрузке» (рисунок 43).
Отобразится страница для просмотра соответствующего отчета, представленного в виде таблицы. По каждому существующему для текущего учебного года документу, типу нагрузки, форме обучения и семестру выводятся кол-ва часов по плану и по распределению (рисунок 44). Итоговая сумма по всем документам указана снизу в сформированном отчете.
Кнопка «Скачать PDF-файл отчета» в правой верхней части, позволяет на всех страницах с открытым отчетом получить соответствующий документ формата PDF себе на компьютер, для дальнейшего использования или отправки на кафедру.
После прохождения этапа распределения и корректировки нагрузки, необходимо сформировать полный отчет по преподавателям, для этого в том же блоке основного меню системы нажимается пункт «По преподавателям». На открывшейся странице выбирается тип формирования отчета «Полный отчет по всем» и нажимается кнопка «Отобразить отчет» (рисунок 45).
Также можно сформировать отчет в виде сводной таблицы и по выбранному преподавателю, пользуясь выпадающими списками вверху содержимого страницы отчета (рисунок 46). Данный этап работы с веб-интерфейсом является завершающим в решении задачи распределения учебной нагрузки в ВУЗе. Возможно внесение поправок в справочники системы, в плановую или распределенную нагрузку, за которым последует повторное формирование и получение документов для преподавателей.
Аналогичным образом доступны к просмотру отчеты по аудиторным занятиям. В том же блоке основного меню «Формирование отчетов» осуществляется переход по пункту «По аудиторным занятиям», заполняются все настраиваемые сверху содержимого страницы поля, и нажимается кнопка «Отобразить отчет» для получения выбранного документа (рисунок 47).