Построение совмещенных лекционных потоков и учебных групп

Описанию формализации совмещенных потоков, групп, подгрупп и т.д. учащихся необходимо уделить дополнительное внимание. Структура планового контингента (рис.22) предусматривает возможность объединения в одной «Группе учащихся» (вида «поток», «группа», «подгруппа» и т.д.) студентов сразу нескольких категорий. Например, образовать совмещенный лекционный поток, объединив учащихся на разных факультетах, специальностях или формах обучения. Для этих целей соответствующий объект «Группа учащихся» связывается сразу с несколькими объектами класса «Категория учащихся», как это показано на рисунке ниже (в виде упрощенной диаграммы сотрудничества UML):

Рис. 30. Реализация совмещенного потока

В данном примере образован лекционный поток из учащихся 1 и 2 курсов. В иллюстративных целях здесь показаны сразу два объекта класса «Группы учащихся», соответствующие в отдельности бюджетным и договорным студентам. Напомним, что такое «парное» хранение объектов «Категорий учащихся», отличающихся значением атрибута «Финансирование» (и связанных с ними «Групп») диктуется особенностями процедуры расчета учебной нагрузки в отдельности для бюджетных и договорных студентов (см. таблицу 6). То, что эти парные объекты класса «Группы учащихся» в действительности символизируют единый поток, можно установить по их связям с объектами класса «Учебная работа». В нашем примере – это единственный объект «Лекции».

Визуализация совмещенных потоков реализована аналогично описанному выше способу показа блоков дисциплин по выбору на дереве учебной работы (рис.6). В данном случае особенность заключается в том, что листовой узел, отображающий объект «Группу» на дереве контингента, дублируется в соответствии с количеством связей. В нашем примере объект «Поток бюджет (1+2 курсы)» отобразится двумя узлами, как показано на рисунке ниже. Каждый из этих узлов будет дочерним по отношению к узлам, отображающим соответствующие объекты «Категорий учащихся», и в своей метке покажет значение атрибута «Количество (для расчета нагрузки)» соответствующей связи. Напомним, что для хранения этого атрибута предусмотрен класс ассоциаций «Состав групп» (рис.22), причем создается отдельный его экземпляр для каждой связи. Тот факт, что эти узлы в действительности отображают один объект, визуализируется аналогично упомянутым блокам выборных дисциплин: при выборе одного из листовых узлов немедленно раскрываются все остальные листы дерева контингента, отвечающие тому же объекту «Группа учащихся». Все эти узлы будут выделены заметными рамками вокруг иконок:

Рис. 31. Визуализация совмещенного потока

Формирование совмещенного потока можно произвести в следующем порядке.

· Если необходимо, создать новый объект «Группа учащихся» при помощи ленточной формы. Напомним, что связь нового объекта в момент его сохранения образуется с тем объектом «Категория учащихся», который является текущим для верхней ленточной формы. Поэтому перед вводом полей нового объекта «Группа учащихся» необходимо загрузить в верхнюю форму один из объектов «Категория учащихся», связь с которым требуется (в нашем примере это произвольный из двух объектов: «1 курс», либо «2 курс»).

· Связать новую «Группу учащихся» с оставшимся объектом «Категорией». Напомним, что используемая для этого команда «Соединить группу с категорией» в качестве рабочего рассматривает текущий объект ленточной формы «Группа учащихся». Эта логика позволяет на данном шаге определить объект «Категория учащихся» выбором соответствующего узла дерева контингента (новый объект «Группа» при этом останется загруженным в нижней ленточной форме), после чего нажатием кнопки инструментальной панели можно сохранить новую связь.

· При необходимости использовать команду «Рассчитать количество» для пересчета значений атрибутов «Количество (для расчета нагрузки)» вновь созданных связей. Еще раз напомним, что соответствующий класс ассоциаций «Состав групп» хранит отдельный экземпляр этого атрибута для каждой связи. Причем, алгоритм расчета его значения вызывается уже при создании новой «Группы» в ленточной форме. Однако, данной возможности недостаточно, поскольку алгоритм должен учитывать одновременно все связи «Группы», а это становится возможным лишь после сохранения всех связей в базе данных.

· Средствами, описанными ранее, связать объект «Группу» с объектами «Учебная работа». Напомним, что эти средства требуют указания тем или иным способом пары соединяемых узлов деревьев контингента и учебной работы. В данном случае, поскольку узел, отображающий «Группу» на дереве контингента, «размножился» (рис.31), достаточно выбрать любую из его копий.

Замечание. Обратите внимание на результаты пересчета атрибутов «Количество» для рассматриваемого примера (рис.31). Полученные значения отличаются от атрибутов обычных (не совмещенных) потоков «1 бюджет» и «2 бюджет». Данные «обычные» значения присваиваются первоначально в момент сохранения новых объектов «Групп». Окончательный же расчет становится возможным лишь после образования всех связей с объектами «Категорий» (т.е. уже после того, как соответствующий поток «станет совмещенным»). Вид диалога (рисунок), поясняющего расчет, зависит от специфики алгоритма, реализованного на сервере базы данных (в данном случае результат зависит от доли в смешанном потоке бюджетных и договорных студентов).

Несколько усложняется процесс формирования совмещенных потоков из элементов, принадлежащих структурам контингента из разных учебных планов. В противовес рассмотренному примеру группируемые в данном случае «Категории учащихся» различаются по значениям атрибутов, соответствующих титулу учебного плана: «Место учебы (филиал, факультет)», «Год набора», «Образовательная программа» или «Форма обучения» (рис.22). Задача, таким образом, состоит в том, чтобы один и тот же объект «Категория» вошел в состав структуры нескольких планов. Заметим, что сами по себе значения перечисленных атрибутов не определяют принадлежность «Категории» к конкретному плану. Эта принадлежность фиксируется атрибутами их связей с объектами «Групп»: объект класса ассоциаций «Состав групп» связан с конкретным учебным планом. Таким образом, формализация совмещенного потока для разных планов предполагает наличие сразу нескольких связей пары объектов «Категория» – «Группа». Причем, каждая из этих связей включает данную пару объектов в структуру соответствующего учебного плана. А поскольку атрибуты «Количество (для расчета нагрузки)» каждой из связей могут иметь собственное уникальное значение, фиксируется та часть учебной нагрузки за счет совмещенного потока, которую необходимо отнести к каждому из учебных планов. Общая нагрузка, таким образом, распределяется в соответствующих пропорциях между дисциплинами из разных учебных планов, связанными с совмещенным потоком.

Ниже (в виде упрощенной диаграммы сотрудничества UML) приведен пример совмещенного потока, сформированного из категорий учащихся по двум учебным планам. Предполагается, что для каждой из категорий («физиков» и «лириков») разработан собственный учебный план, и сами эти категории в основном использованы в структуре контингента своего собственного плана («Физики» ­– в «Плане физиков» и т.п.). Тем не менее, один из лекционных курсов требуется читать этим учащимся совместно. А поскольку этот курс должен быть включен в оба учебных плана, формализующие его объекты должны быть продублированы с привязкой каждого из «дублей» к собственному плану («Лекции по плану физиков», «Лекции по плану лириков»):

Рис. 32. Совмещенный поток в разных учебных планах

Точно так же дублируются и объекты «Группы учащихся»: «Поток (физики + ли­ри­ки)» включается в структуру контингента по «Плану физиков» и связывается с объектом «Лекции по плану физиков». Аналогично «Поток (лирики + физики)» используется в структуре «Плана лириков». В свою очередь каждый из объектов «Групп» связывается с двумя «Категориями учащихся», включая тем самым их в структуру контингента соответствующего плана.

Заметим, как и в предыдущем примере, что здесь показано удвоенное количество объектов «Категорий» и «Групп учащихся», соответствующих в отдельности бюджетным и договорным студентам. Это иллюстрирует соответствующую особенность процедуры расчета учебной нагрузки (для бюджетных и договорных студентов отдельно). Кроме того, на схеме в виде объектов класса «Состав групп» показаны значения соответствующих атрибутов «Количество (для расчета нагрузки)». Для простоты предполагается равное количество учащихся всех использованных категорий. Можно обратить внимание на то, что половина из приведенных значений – нулевые, поскольку соответствующие связи не участвуют в процедуре расчета нагрузки. Действительно, например, «Поток бюджет (физики + ли­­ри­ки)» состоит из двух категорий учащихся («Физики бюджет» и «Лирики бюджет»), но лишь одна из них («Физики») должна вносить вклад в общую нагрузку для «Лекций по плану физиков». Вторая («Лирики») будет учтена в нагрузке для дублирующего объекта «Лекции по плану лириков». Значения атрибутов, равные 1/2, полученные из упомянутого предположения о равном количестве учащихся всех категорий, иллюстрируют долю, вносимую в общую нагрузку соответствующим объектом «Группа учащихся». Например, при расчете нагрузки для «Лекций по плану физиков» должна учитываться лишь половина «Потока бюджет (физики + ли­ри­ки)», поскольку оставшаяся часть нагрузки будет учтена объектом «Лекции по плану лириков» за счет «Потока бюджет (ли­ри­ки + физики)».

Ниже показан вид дерева контингента с двумя узлами «1 бюджет (ИнС+Мат)», соответствующими потоку из двух категорий, каждая из которых учится по собственному плану (для направления обучения 010300 и для специальности 230201). Вместе этим студентам предстоит прослушать лекционный курс «Отечественная история»:

Рис. 33. Команда «Рассчитать количество» для совмещенного потока

В данном случае производится редактирование учебного плана по специальности 230201, поэтому как дерево контингента, так и дерево единиц учебной работы показывают объекты, относящиеся лишь к данному учебному плану. В частности, не виден дублирующий объект «Лекционный курс» из другого учебного плана (для направления обучения 010300). Оба одноименных узла дерева контингента, как и в предыдущем случае, показывают один объект «Группа учащихся», связанный с двумя «Категориями». Дублирующая «Группа» из структуры контингента другого плана здесь также не видна. Обратите внимание на результат выполнения команды «Рассчитать количество» для рассматриваемых узлов: связь с «чужой» для данного плана категорией 010300 снабжена нулевым атрибутом, в то время как значение для связи со «своей» категорией предполагает учет соответствующей доли учебной нагрузки. Специфика расчета учтена хранимой процедурой на сервере базы данных. В данном примере она уменьшает долю учебной нагрузки пропорционально количеству в смешанном потоке студентов соответствующей категории (36/43).

Как было сказано в начале раздела, дерево контингента может находиться в одном из трех режимов отображения структуры. Основной режим «Категории плана» (как на рисунке выше) представляет лишь «Категории» и «Группы», связанные с выбранным заранее учебным планом (при помощи основного дерева учебной работы). Два других режима, «Категории года» и «Все категории», соответствующим образом расширяют представление объектов деревом. Такое расширение выборки для дерева требуется лишь на этапе формирования совмещенных потоков или групп из контингента, обучаемого по разным учебным планам. После завершения операции, сформированные потоки будут привязаны к текущему учебному плану и станут в дальнейшем доступными в обычном режиме «Категории плана». Для дерева, изображенного ниже, включен режим «Категории года» (в иллюстративных целях показаны лишь ветви, соответствующие объединяемым в совмещенный поток категориям):

Рис. 34. Визуализация совмещенного потока в режиме «Категории года»

Теперь количество узлов, отображающих совмещенный поток, удвоилось, поскольку стали видны все объекты, показанные на схеме рис.32. Цвет (яркость) иконок позволяет легко ориентироваться в связях объектов: узлы «Групп учащихся», привязанные к текущему учебному плану, отмечены яркими иконками; все остальные узлы – темными. В нашем примере, согласно описанному выше способу, совмещенный поток представлен двумя объектами: «1 бюджет (ИнС+Мат)» и «1 бюджет (Мат+ИнС)». Первый из них привязан к структуре учебного плана по специальности 230201. А поскольку именно этот план в данном случае является текущим (выбран на основном дереве учебной работы), отображающие объект два узла отмечены подсвеченными иконками (узлов два, поскольку, как и раньше, каждый из них показывает связь объекта с соответствующей «Категорией учащихся»). Второй из «дублирующих» друг друга объектов «1 бюджет (Мат+ИнС)», наоборот, привязан к плану по направлению обучения 010300, и иконки соответствующих узлов темные.

Замечание. Узлы с темными иконками в целях безопасности закрыты для редактирования. В частности, при выборе такого узла, соответствующие объекты не загружаются, как обычно, в поля ленточной формы «Группа учащихся», а также становится недоступной команда «Рассчитать количество». Данные работы необходимо производить в режиме отображения структуры соответствующего учебного плана (предварительно выбрав этот план при помощи основного дерева учебной работы).

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

· Задать для дерева контингента режим отображения структуры, позволяющий видеть оба объекта «Категория учащихся», из которых предстоит сформировать совмещенный поток.

· Создать новый объект «Группа учащихся» при помощи ленточной формы. Вновь напомним о целесообразности предварительно загрузить в верхнюю ленточную форму один из объектов «Категория учащихся», связь с которым требует вновь создаваемый объект (в нашем примере это произвольный из двух объектов: «специальность 230201», либо «направление обучения 010300»).

· Связать новую «Группу учащихся» с оставшимся объектом «Категорией». Для этого сначала определить объект «Категория учащихся» выбором соответствующего узла дерева контингента, после чего при помощи команды «Соединить группу с категорией» инструментальной панели сохранить новую связь.

· Для удобства можно возвратиться в обычный режим «Категории плана» дерева контингента, поскольку оба используемых объекта «Категорий учащихся» теперь привязаны к текущему учебному плану и будут отображаться в любом режиме.

· Пересчитать атрибуты «Количество (для расчета нагрузки)» вновь созданных связей, применяя команду «Рассчитать количество» для каждого из двух новых узлов. Заметьте при этом, что атрибут узла, соответствующего связи с «Категорией», обучаемой не по текущему плану, обнулится.

· Связать объект «Группу» с объектами «Учебная работа». Вновь заметим, что для указания соединяемого объекта «Группы» достаточно выбрать любой из двух узлов, отображающих его на дереве контингента.

Замечание. Перечисленные действия образуют лишь один из «дублирующих» друг друга объектов «Групп»: по сути, это лишь четвертая часть схемы рис.32, относящаяся, например, к объекту «Поток бюджет (физики + ли­ри­ки)». Этого достаточно для расчета нагрузки по текущему учебному плану: будет учитываться доля нагрузки, приходящаяся на «Лекции по плану физиков». Следует, однако, помнить о том, что суммарная нагрузка для соответствующей учебной работы может быть корректно рассчитана лишь после того, как будут образованы все объекты, формализующие совмещенный поток. Например, для расчета кафедральной нагрузки необходимо учесть также вклад «Лекций по плану лириков», что в свою очередь требует создания объекта «Поток бюджет (ли­ри­ки + физики)». Понятно, что нижняя часть схемы рис.32 образуется аналогичными действиями на этапе разработки структуры контингента соответствующего учебного плана («План лириков»).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: