· установка связей учебной работы со структурой планового контингента, закрепляющих определенные виды работ за конкретными потоками, группами, подгруппами и т.д.;
· сохранение в базе данных информации о нормативах учебной нагрузки в виде формализованного описания соответствующих приказов на их утверждение.
В данном разделе описаны три последние процедуры, причем, наиболее трудоемкой является привязка всех единиц (объектов) учебной работы к структурным единицам контингента. АРМ предусматривает целый ряд команд, позволяющих частично автоматизировать трудоемкие операции, а там, где это возможно, вообще обойтись без ручного ввода.
На следующем рисунке представлена упрощенная схема хранения в базе данных информации для расчета учебной нагрузки: структуры планового контингента и ее связей с учебной работой (в виде диаграммы классов UML). Основу структуры составляют объекты класса «Категории учащихся», атрибуты которых сохраняют специфические характеристики групп студентов. Эти объекты служат своего рода «комментариями» для связанных с ними объектов класса «Группы учащихся». Последние, как следует из схемы, могут быть только вполне определенного вида, например, поток, группа, подгруппа и т.п. Вид объекта «Группы учащихся» определяет набор объектов «Учебная работа», с которыми он может быть связан (класс «Учебная работа» изображен также на рис.1). Поскольку эти связи символизируют проведение определенной учебной работы в соответствующих группах, имеет смысл образовывать и хранить лишь те связи, которые предусмотрены нормативами учебной нагрузки. Так, «потоки» (вид группы учащихся) связываются с «лекционными курсами» (вид аудиторного занятия), «группы» – с «практическими занятиями», «подгруппы» – с «лабораторными занятиями». Особый вид группы учащихся, «категория» (см. схему), предусмотрен для связи с контрольными испытаниями. Имеется и еще некоторое количество пока не упомянутых видов «Групп учащихся». АРМ автоматизирует установку большинства связей, используя для этого информацию о нормативах учебной нагрузки, поэтому разработку планового контингента целесообразно начинать именно с ввода нормативов. Назовем эти связи, автоматически устанавливаемые специальными командами АРМ по нормативам учебной нагрузки, «стандартными связями» учебных работ с группами. К данному понятию мы еще неоднократно вернемся.
Рис. 22. Структура хранения планового контингента в БД
Обратим внимание на признаки множественности рассматриваемой связи классов «Группы учащихся» и «Учебная работа»: это связь «многие ко многим». Действительно, с одной стороны, группа студентов может работать на многих занятиях. С другой стороны, например, бюджетная и договорная группы могут объединяться для занятий одной учебной работой. Заметим также, что связь снабжена атрибутами (на языке UML это реализуется так называемым классом ассоциаций). Объекты соответствующего класса «Распределение учебных работ по группам и кафедрам» хранят информацию для корректировки при необходимости расчета нагрузки, а также связаны с объектом «Кафедры». Последняя связь в большинстве случаев дублирует значение атрибута «Обучающая кафедра» соответствующего объекта «Учебная работа». Тем не менее, необходимость в ней может возникнуть, если нагрузку по одной и той же единице учебной работы необходимо распределить по нескольким кафедрам (по-видимому, крайне редкая необходимость).
Рассмотрим связь классов «Категории учащихся» и «Группы учащихся», также по признакам множественности являющуюся связью «многие ко многим». Например, несколько объектов «Групп» различных видов («категория», «поток» и т.д.) может быть сформировано из студентов одной «Категории» (другими словами, сразу несколько групп могут быть снабжены одним и тем же «комментарием» в виде категории). И наоборот, можно объединять в одной «Группе» («потоке», «подгруппе» и т.д.) студентов сразу нескольких категорий. Например, образовать совмещенный лекционный поток, объединив учащихся на разных факультетах, специальностях или формах обучения. Соответствующий класс ассоциаций «Состав групп» в свою очередь обязательно связан с объектом «Учебный план» (титул учебного плана, как показано на рис.1). Это означает, что распределение планового контингента по группам учащихся необходимо рассматривать лишь в связи с конкретными учебными планами.
Данное замечание относится и к атрибуту «Количество» рассматриваемого класса «Состав групп». Значение именно этого атрибута участвует в расчете нагрузки (поэтому должно быть зависимо от учебного плана), в то время как атрибут «Количество учащихся» класса «Категория учащихся» отражает независимое от учебных планов значение (см. схему). Первоначально при создании объекта класса «Категория учащихся» его атрибут «Количество учащихся» может быть заполнен по результатам соответствующего запроса о наличии реального контингента учащихся данной категории. Такие запросы генерируются АРМ и посылаются серверу автоматически, либо при помощи специальных команд. В дальнейшем значение атрибута можно изменить вручную для его использования, в свою очередь, в процедурах расчета атрибутов «Количество (для расчета нагрузки)». Такой двухступенчатый механизм необходим для формализации особых случаев расчета, например, вычисление доли нагрузки по конкретному учебному плану за совмещенный лекционный поток.
Набор инструментов для формирования и сопровождения описываемой структуры размещен на вкладке «Численность». Важнейшей задачей вкладки (см. рисунок ниже) является построение структуры планового контингента учащихся, т.е. распределения контингента студентов по потокам, группам, подгруппам и т.п., с учетом всевозможных особенностей и исключений, имеющих место на разных факультетах. При этом сама формируемая структура показана в виде дерева контингента (слева). Правое дерево единиц учебной работы строится по информации, сохраненной в базе данных на предыдущих этапах разработки учебного плана. Назначение дерева – привязка составляющих его объектов учебной работы к группам планового контингента, с использованием инструментария вкладки. Нижняя часть вкладки занята ленточными формами, обеспечивающими ввод и редактирование параметров формируемой структуры планового контингента.
Рис. 23. Общий вид вкладки «Численность»
2.1. Формирование структуры планового контингента
Основным инструментом вкладки «Численность» является дерево контингента, отображающее формируемую структуру: состав категорий и групп учащихся, количество учащихся, а также значения атрибутов «Количество (для расчета нагрузки)». Важно помнить об общем принципе работы с вкладками (который применим и в данном случае): учебный план, данными которого манипулирует вкладка, задается при помощи дерева учебной работы способом, описанным выше (см. таблицу 2). Для исключения ошибок, обращайте внимание на заголовок инструментальной панели вкладки, состоящий из важнейших атрибутов соответствующего плана.
Содержимое дерева контингента можно ограничить лишь категориями учащихся, относящимися к выбранному при помощи дерева учебной работы учебному плану (для сокращения объема представляемой информации, как на рисунке). В противном случае можно построить дерево, содержащее категории и группы, имеющие связи со всеми планами текущего учебного года. Такой режим можно задать выбором «Категории года» в выпадающем списке панели, после чего станет возможным, например, объединение в лекционный поток учащихся по разным учебным планам (на разных факультетах, специальностях или формах обучения). Наконец, можно построить дерево, отображающее все категории и группы, выбором режима «Все категории». Заметим, что основным режимом отображения является режим «Категории плана» (как на рисунке). Расширение выборки для дерева требуется лишь на этапе формирования совмещенных потоков или групп, которые после завершения операции будут привязаны к текущему учебному плану и станут в дальнейшем доступными в обычном режиме «Категории плана».
В любом из режимов построение дерева производится с использованием атрибутов объектов «Категории учащихся» и «Группы учащихся» (рис. 22), причем объекты «Группы» образуют листовые узлы. Метки этих узлов составлены из сокращенных наименований групп с указанием значения соответствующего атрибута «Количество (для расчета нагрузки)» (рис.23) и снабжены иконками, символизирующими вид группы («категория», «поток», «группа», «подгруппа»…). В нашем примере имеются группы учащихся следующих видов: «Категория» со значением атрибута «Количество», равным 36, «Поток» с атрибутом 0.295, «Группа» в «Количестве» 1, «Подгруппа» в «Количестве» 3 и т.д. Таким образом, например, контрольные испытания, связанные с рассматриваемым узлом «Категория» по плану будут проводиться с участием 36 студентов.
Все остальные уровни дерева (кроме листовых) образованы атрибутами объектов «Категории учащихся», причем, алгоритм построения дерева оптимизирует их использование с целью минимизации общего количества уровней. Например, дерево на рис.23 не содержит уровней, соответствующих атрибутам «Место учебы», «Год набора», «Вид учебной деятельности» и др., поскольку заданный режим отображения «Категории плана» приводит к тому, что все отображаемые категории имеют совпадающие значения перечисленных атрибутов. Понятно, что отображение в виде дерева структуры категорий с использованием в качестве уровней всех без исключения атрибутов было бы громоздким для восприятия. Родительские узлы листьев дерева (уровнем выше листового) содержат в своей метке значение атрибута «Количество учащихся» соответствующего объекта «Категория учащихся» (пример такой метки на рисунке – «бюджет (36)»).