Смекни!
smekni.com

Планирования учебного процесса (стр. 10 из 14)

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

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

Рекомендуется следующая последовательность действий, облегчающая доступ к атрибутам конкретной связи:

· раскрыть узлы деревьев, отображающие необходимую пару объектов («2 бюджет 2» и «Лабораторные занятия» на рис.29);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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