Главная              Рефераты - Разное

Планирования учебного процесса - реферат

Федеральное агентство по образованию РФ

ГОУ ВПО Воронежский государственный университет

Центр компьютерных технологий

АВТОМАТИЗИРОВАННАЯ СИСТЕМА

ПЛАНИРОВАНИЯ УЧЕБНОГО ПРОЦЕССА

Принципы организации и руководство пользователя

Воронеж 2005


Содержание

Введение. 4

1. Разработка учебного плана. 5

1.1. Информационная модель учебного плана. 5

1.2. Дерево учебной работы.. 5

1.3. Профиль рабочего места. 5

1.4. Просмотр параметров учебной работы.. 5

1.5. Просмотр и редактирование графика учебного процесса. 5

1.6. Редактирование параметров учебной работы.. 5

2. Расчет учебной нагрузки. 5

2.1. Формирование структуры планового контингента. 5

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

2.3. Просмотр результатов расчета. 5

2.4. Ввод нормативов учебной нагрузки. 5

3. Процедуры экспорта и импорта данных учебных планов. 5

3.1. Публикация учебного плана в информационной системе. 5

3.2. Экспорт данных для ИМЦА.. 5

3.3. Интерфейс к планам, разработанным в среде MS Excel 5


Введение

Описываемый в данном руководстве программный комплекс предназначен для автоматизации основных процедур (бизнес-процессов) планирования учебного процесса в вузе. Это процессы, связанные с разработкой учебных планов по реализуемым вузом образовательным программам, проверкой соответствия рабочих учебных планов государственным образовательным стандартам (ГОС), расчетом учебной нагрузки по подразделениям (кафедрам), осуществляющим обучение по этим программам.

Программное приложение, предназначенное для работника, являющегося разработчиком учебных планов – автоматизированное рабочее место (АРМ) «Планирование учебного процесса», имеет два варианта реализации. Первый вариант, в виде, так называемого «тонкого» клиента, представляющего собой 32-разрядное Windows-приложение, предусматривающее процедуру установки на рабочую станцию при помощи дистрибутива. Второй вариант – реализация «тонкого» клиента, отображаемого в браузере ActiveX, что позволяет осуществлять его поставку пользователю через Internet (intranet), используя Web-сервер в качестве источника очередной версии приложения и Web-браузер в качестве средства его установки. АРМ предоставляет интерфейс к интегрированному информационному хранилищу ВГУ и служит для формирования и хранения учебных планов по всей номенклатуре специальностей, направлений и формам обучения, имеющим место в университете. В свою очередь, интегрированная база данных, функционирующая под управлением СУРБД Oracle, совместно со специализированными прикладными подсистемами, призвана решать все вопросы, связанные с практическим формированием в соответствии с новыми стандартами банка учебных планов, а также использование данных в качестве представлений (VIEW) для других подсистем информационной системы университета. (Например, представление сессионных контрольных испытаний, доступное web-системе для формирования экзаменационных ведомостей деканатами и заполнения их результатами контрольных сессионных испытаний.)

1. Разработка учебного плана

1.1. Информационная модель учебного плана

Определения основных объектов учебного плана, начиная с элементарного объекта – единицы учебной работы , дерево единиц учебной работы, группирование единиц учебной работы и т.д..

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

Пояснение нотации UML.

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

Рис. 1. Структура хранения учебных планов

Рис. 1. Информационная модель учебного плана

Класс «Дисциплина аудиторных занятий» охвачен возвратной связью для реализации хранения информации о курсах по выбору. Один из курсов блока дисциплин по выбору считается «первым курсом по выбору» и все альтернативные дисциплины с ним связаны. Класс «Учебный план» отражает информацию титула учебного плана.

1.2. Дерево учебной работы

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

Рис. 2. Дерево учебной работы с элементами управления

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

Таблица 1

Уровень узла дерева

Атрибуты единиц учебной работы

Аудиторные занятия

Контрольные испытания

Внеаудиторная учебная работа

ВГУ / филиал

ВГУ / филиал

ВГУ / филиал

ВГУ / филиал

факультет

факультет

факультет

факультет

ступень образования

ступень образования

ступень образования

ступень образования

специальность или направление

специальность / направление обучения

специальность / направление обучения

специальность / направление обучения

форма обучения

форма обучения

форма обучения

форма обучения

тип дисциплины

вид дисциплины

вид дисциплины

вид работы – «внеаудиторная»

специализация

специализация

специализация

обучающая кафедра

обучающая кафедра

обучающая кафедра

обучающая кафедра

блок дисциплин

блок дисциплин

блок дисциплин

компонент дисциплин

компонент дисциплин

компонент дисциплин

дисциплина

наименование дисциплины

наименование дисциплины

наименование работы

курс (1..6)

курс (1..6)

курс (1..6)

курс (1..6)

семестр (1,2)

семестр (1,2)

семестр (1,2)

семестр (1,2)

отчетность или вид работы

вид занятия

вид испытания

вид работы и отчетность

Следует обратить внимание на соответствие атрибутов внеаудиторной учебной работы уровням узлов, используемое для построения дерева. Во-первых, некоторые из уровней не используются (специализация, блок и компонент дисциплин). Во-вторых, два атрибута внеаудиторной учебной работы: вид работы и вид испытания (отчетность) – совмещены для удобства на одном уровне дерева. В результате, каждая из единиц внеаудиторной работы вместе с соответствующим контрольным испытанием (см. рис.1) представляются на дереве единственным узлом:

Рис. 3. Внеаудиторная работа на дереве учебной работы

Рассмотрим основные принципы навигации по дереву учебной работы. Каждый раз при выборе какого-либо из узлов, происходит определение соответствующего набора хранящихся в базе данных объектов. Состав этого набора зависит как от уровня выбранного узла, так и от всех вышележащих уровней дерева. Например, если среди перечисленных уровней содержатся все атрибуты класса «Учебный план» (рис.1, за исключением «Учебного года», который зафиксирован вверху панели при построении дерева), речь идет о выборе конкретного учебного плана. Именно такой выбор сделан на рис.2 и 3. В этом случае АРМ делает доступными команды манипулирования учебным планом как целым: копирование , удаление , экспорт , публикация для других подсистем и т.п. Если в данном примере (рис.2, 3) подняться хотя бы на уровень выше, выбрав узел специальности (020201 Биология), атрибут «Форма обучения» не будет иметь фиксированного значения и конкретный учебный план не будет определен. Это, в свою очередь, сделает недоступными вышеназванные команды.

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

Наконец, при дальнейшем спуске, в случае определения помимо значений вышеназванных атрибутов также курса, семестра и отчетности/вида работы, выбор в базе данных ограничится конкретной единицей учебной работы: «Аудиторным занятием», «Контрольным испытанием» или «Внеаудиторной учебной работой». Например, можно выбрать узел «Зачет» на рис.2 или «Оценка, курсовая работа» на рис.3.

Изложенный принцип определения набора объектов в базе данных иллюстрируется следующей таблицей, где в первой колонке перечисляются уровни дерева, лежащие не ниже выбранного узла.

Таблица 2

Атрибуты с фиксированными значениями

Объекты базы данных

филиал, факультет, ступень образования, специальность/направление обучения,

форма обучения

Учебный план

Дисциплина аудиторных занятий

Аудиторная учебная работа

Внеаудиторная учебная работа

дисциплина

курс, семестр, отчетность или вид работы

обучающая кафедра

Навигация по списку объектов облегчается возможностью модификации структуры дерева путем включения/исключения любого из уровней узлов, а также – произвольным упорядочиванием уровней. Такая модификация может быть осуществлена при помощи панели кнопок, расположенной на форме непосредственно над деревом (рис 2.). Например, в отсутствие необходимости группирования информации по специализациям или обучающим кафедрам, соответствующие уровни дерева исключаются, что приводит к построению дерева без учета соответствующих параметров:

Рис. 4. Управление группированием единиц учебной работы

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

Рис. 5. Изменение порядка группирования

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

Рис. 6. Визуализация курсов по выбору

Следует также обратить внимание на выделение подчеркиванием названий листовых узлов всех блоков по выбору. Цвет линии подчеркивания отмечает узлы, принадлежащие текущему блоку (блоку, имеющему в своем составе текущий узел дерева). Все остальные блоки подчеркнуты бесцветными линиями.

1.3. Профиль рабочего места

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

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

Вкладки правой панели интерфейса содержат все необходимые инструменты, обеспечивающие просмотр и редактирование параметров, сохраняемых учебными планами:

· аудиторные и внеаудиторные виды нагрузки;

· графики учебного процесса;

· структурирование планового контингента;

· нормативы учебной нагрузки.

При этом необходимо помнить, что только две вкладки панели, названные «Аудиторная» и «Внеаудиторная», сохраняют пользовательские настройки в профиле. Остальные вкладки не имеют столь гибкого в настройке интерфейса и сохранение его в профиле не предусмотрено.

1.4. Просмотр параметров учебной работы

Упомянутые выше вкладки «Аудиторная» и «Внеаудиторная» имеют одинаковую структуру и содержат набор таблиц, обеспечивающих просмотр параметров, структурированных определяемым разработчиком учебного плана образом (например, по блокам, конкретным дисциплинам, единицам аудиторной работы и т.п.). Эти вкладки предоставляют также некоторые возможности агрегирования данных, необходимые при формировании учебного плана (подсчет количества часов аудиторной нагрузки студента в неделю, трудоемкости дисциплин определенного блока, кафедральной нагрузки и т.п.). Пример на рисунке ниже демонстрирует выборку дисциплин блока/компонента «ГСЭ.Ф» учебного плана с представлением для каждой из них совокупностей единиц учебной работы (аудиторной и контрольных испытаний).

Рис. 7. Вкладка «Аудиторная» с учебным планом

Содержимое таблиц, подобно рассмотренному выше дереву учебной работы, также связано между собой иерархией типа дерева: активация строки таблицы верхнего уровня приводит к перестройке всех нижерасположенных таблиц, представляющих дочерние уровни. Панель кнопок, расположенная над таблицами (сравните с управляющими элементами на рис.2), предоставляет возможности управления ими, аналогичные дереву учебной работы: включением/исключением любого из уровней мы управляем появлением/исчезновением любой из таблиц, а произвольным упорядочиванием уровней мы добиваемся требующегося взаимного расположения таблиц. Одновременно модифицируется предоставляемая в таблицах информация: таблицы нижних уровней содержат значения конкретных атрибутов объектов базы данных, верхние уровни, как правило, отображают агрегируемую информацию по соответствующим нижележащим табличным данным.

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

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

· Выбрать узел дерева учебной работы так, чтобы ниже располагались все уровни, которые необходимо отображать в таблицах вкладок «Аудиторная» и «Внеаудиторная».

· Инициализировать вкладку, нажав кнопку «Обновить таблицы» инструментальной панели. Инициализация вкладки выполняется относительно длительное время: при этом в базе данных создаются служебные вспомогательные наборы данных, ускоряющие выборку в таблицы. Поэтому не следует выбирать в набор вкладки «лишние» уровни, которые не будут использоваться на последующих этапах.

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

Напомним, также о возможности сохранения параметров вкладок в профиле рабочего места. Загрузка сохраненного ранее профиля приведет к восстановлению настроек вкладок: полного набора уровней, их порядка и размещения таблиц. Данная операция представляет удобную альтернативу указанной выше последовательности действий.

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

Таблица 3

Столбец

Расчетный параметр

Используемые объекты базы данных

трудоем.

трудоемкость учебной работы

Дисциплина аудиторных занятий

аудитор.

продолжительность аудиторной работы в часах

лекций

количество часов лекций в неделю

Аудиторные занятия

практ.

количество часов практических занятий в неделю

лабор.

количество часов лабораторных занятий в неделю

часов

всего аудиторных часов

Аудиторные занятия + график учебного процесса

экзам.

количество экзаменов

Контрольные испытания

зачет

количество зачетов

курсовых

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

контр.

количество контрольных работ

тестов

общее количество контрольных испытаний

бюджет

бюджетная аудиторная нагрузка в часах

Аудиторная учебная работа + плановый контингент, график учебного процесса, нормативы учебной нагрузки

договор

договорная аудиторная нагрузка в часах

коррект.

корректировка аудиторной нагрузки относительно нормативов

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

В следующей таблице для сравнения представлены данные, агрегируемые вкладкой «Внеаудиторная» (в остальном она аналогична по форме вкладке «Аудиторная»):

Таблица 4

Столбец

Расчетный параметр

недель

продолжительность практики

тестов

количество контрольных испытаний

бюджет

бюджетная внеаудиторная нагрузка в часах

договор

договорная внеаудиторная нагрузка в часах

коррект.

корректировка внеаудиторной нагрузки относительно нормативов

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

Вновь напомним о возможности сохранять в профиле рабочего места параметров настройки рассматриваемых вкладок «Аудиторная» и «Внеаудиторная». В число этих параметров входит выбранный набор столбцов с агрегируемыми данными.

Вернемся к рис.7 и обратим внимание на кнопки управления режимом агрегирования данных (они расположены в левом верхнем углу каждой из таблиц). Определенное состояние кнопок может ограничивать наборы объектов базы данных, учитываемых при расчете параметров, представляемых таблицами. Решение о том, принимать или нет в расчет какой-либо объект, зависит от принадлежности его дисциплине определенного типа. Например, при суммировании трудоемкости дисциплин из блоков по выбору необходимо учитывать лишь первые курсы каждого блока. В то же время, при рассмотрении учебной работы по каждой из этих дисциплин в отдельности, необходимо учитывать все соответствующие объекты без исключения. Решение данной задачи – в настройках вкладки, изображенных на следующем рисунке:

Рис. 8. Управление режимом агрегирования

Использованные в данном случае кнопки «Курсы по выбору» позволяют отдельно для каждой таблицы выбирать один из двух режимов:

· учет при суммировании лишь первых курсов из каждого блока выборных дисциплин (в этом режиме рисунок на кнопке подсвечен, как для таблиц «блок» и «компонент» на рис.8);

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

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

Рис. 9. Разметка курсов по выбору

Следует обратить внимание на специальные иконки, отмечающие выборные курсы в таблице «дисциплина»: подсвеченные иконки располагаются в строках с первыми курсами каждого блока (именно они учитываются в режиме с подсвеченной кнопкой «Курсы по выбору»). Серые иконки отмечают альтернативные курсы блоков. В данном случае для дисциплин с кодами «ГСЭ.В.01.1» и «ГСЭ.В.03.1» альтернативных курсов нет, поэтому иконками они не помечаются.

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

· при суммировании учитываются лишь курсы по одной из специализаций (таблица «блок» с подсвеченной кнопкой «Курсы специализаций» на рисунке ниже);

· суммирование по всем дисциплинам, независимо от принадлежности к специализации (таблицы «дисциплина» и «отчетность» с бесцветными кнопками).

Рис. 10. Разметка дисциплин специализаций

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

Для иллюстрации вышесказанного изменим режим для таблицы «блок», в результате чего получим новые суммарные данные:

Рис. 11. Суммирование по всем дисциплинам специализаций

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

Рис. 12. Дисциплины категории самостоятельной работы

В данном примере таблицы «блок» и «компонент» не учитывают при суммировании часы аудиторной учебной работы – соответствующие кнопки «Аудиторные часы» подсвечены. В частности, не учитываются занятия физической культурой (другие дисциплины рассматриваемой категории в данном случае скрыты).

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

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

Режим автоматического размещения таблиц можно отключить, нажав кнопку «Фиксировать положение таблиц» инструментальной панели. При этом рисунок на кнопке примет вид , после чего высота и местоположение на вкладке всех таблиц фиксируется и при дальнейшем их перестроении автоматически изменяться не будет. В этом режиме пользователь АРМ задает размещение таблиц вручную, перетаскивая соответствующим образом их границы. Повторное нажатие на кнопку приведет к возврату режима автоматического размещения.

1.5. Просмотр и редактирование графика учебного процесса

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

Рис. 13. Общий вид вкладки «График»

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

Нижняя (сводная) таблица может находиться в одном из двух режимов, переключение между которыми осуществляется кнопкой «Свод по курсам» / «Свод по семестрам» (сравните рисунки 13 и 14):

Рис. 14. Режим «Свод по курсам»

Рассмотрим команды редактирования графика учебного процесса.

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

· Щелчком мыши в ячейке сводной таблицы с названием требуемого назначения.

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

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

Рис. 15. Меню «Назначение учебных недель»

Кнопка «Вставить курс» предназначена для вставки новой строки в таблицу графика и заполнения ее информацией о назначении учебного времени. Строка вставляется ниже ячейки, выделенной на графике. При этом строки, расположенные на месте вставки и ниже, сдвигаются на позицию вниз. Например, для вставки новой строки на место третьего курса, необходимо выделить одну из недель второго курса. Нажатие на кнопку приведет к перемещению строк 3–5 курсов на место 4–6 (даже если 6-го курса нет, как на рисунках) с образованием новой строки на месте 3-го курса. Для вставки первого курса можно выделить любую ячейку шапки таблицы графика.

Вопрос о том, откуда копировать информацию для вновь образуемой строки, решается автоматически. Тем не менее, перед производством операции подтверждение на ее завершение запрашивается у пользователя. Соответствующий диалог включает все необходимые для принятия решения комментарии. Выбор курса-образца для копирования производится по следующему алгоритму:

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

· если учебный план с требующимися параметрами не найден, либо его график не содержит информации для нужного курса, в качестве образца выбирается ближайший к данному курс текущего редактируемого графика;

· наконец, при неудаче поиска на обоих предыдущих этапах, выбирается график из произвольного учебного плана за текущий учебный год, а при отсутствии такового – за ближайший к текущему учебный год.

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

Команда «Вставить все курсы» предназначена для копирования графика учебного процесса целиком из другого учебного плана. При этом график-образец для копирования выбирается по алгоритму, схожему с рассмотренным выше:

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

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

Команда «Начало 2 семестра» позволяет зафиксировать начало второго семестра для указанных курсов на конкретных неделях графика. Для указания недель, необходимо выделить соответствующие ячейки таблицы графика. При этом допускается выделение диапазона ячеек для производства групповой операции сразу над несколькими курсами (строками таблицы). Например, выделение на рис.15 приведет к установке начала второго семестра для 2–4 курсов на 20 октября (8-я неделя графика). Граница между семестрами на графике отмечается заметной красной линией.

1.6. Редактирование параметров учебной работы

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

Рис. 16. Общий вид вкладки «Редактирование»

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

Информация в каждой из ленточных форм структурирована по уровням (в виде дерева), причем форма позволяет управление отображением отдельных полей путем свертывания различных уровней вложения (как в случае обычного дерева):

Рис. 17. «Свертывание» ленточной формы

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

· выбрать поле, соответствующее редактируемому атрибуту, для чего можно использовать мышь или клавиши со стрелками и клавишу «Enter»;

· ввести новое значение атрибута или выбрать это значение из выпадающего списка, при наличии последнего, после чего нажать «Enter» или выбрать следующее поле; при этом отредактированное поле будет помечено красной галочкой;

· после заполнения всех полей необходимо сохранить информацию формы в соответствующих объектах базы данных, для чего используется кнопка навигатора формы «Сохранить Ctrl+S» или одновременное нажатие клавиш «Ctrl+S»;

· также можно отменить произведенное редактирование, нажав кнопку навигатора «Отменить Ctrl+Z», при этом в форму загрузятся прежние значения атрибутов объекта из базы данных.

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

Рис. 18. Работа с выпадающим списком поля

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

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

Рис. 19. Дочерняя ленточная форма

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

Закрыть дочернюю форму можно кнопкой навигатора «Закрыть Esc», нажатием клавиши «Esc», либо – просто переносом фокуса ввода на какой-либо другой объект интерфейса.

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

Рассмотрим инструментальную панель вкладки «Редактирование». Она обеспечивает команды, недоступные при помощи ленточных форм. Основная задача – разработка блоков курсов по выбору. Центральную часть панели занимает выпадающий список, предназначенный для отображения и редактирования при необходимости первых курсов блоков. Отображается первый курс того блока, к которому принадлежит дисциплина, представленная ленточной формой «Дисциплина аудиторных занятий»:

Рис. 20. Разработка блока курсов по выбору

Команды на изменение информации относительно просматриваемого блока подаются кнопками инструментальной панели. Кнопка «Сохранить первый курс по выбору» действует следующим образом.

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

· Если ленточной формой отображается первый курс блока, все дисциплины этого блока будут включены в блок, выбранный при помощи списка. Этой командой следует пользоваться для объединения блоков.

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

Замечание . При разработке блоков курсов по выбору с использованием перечисленных команд необходимо помнить о том, что АРМ берет на себя ответственность за редактирование атрибутов объектов «Дисциплина» лишь частично. Например, автоматически изменяется значение атрибута «Тип дисциплины» на «Курс по выбору» при включении объекта в какой-либо блок (см. рисунок). Поэтому атрибуты использованных объектов требуют дополнительного просмотра и при необходимости ручного редактирования (о чем АРМ соответствующим образом предупреждает оператора).

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

Модификатор «Часы» инструментальной панели в отмеченном состоянии включает режим «Автоматический пересчет аудиторных часов». Напомним, что объекты «Дисциплина аудиторных занятий» и связанные с ними объекты «Аудиторные занятия», включают набор атрибутов, позволяющий производить расчет аудиторной нагрузки двумя независимыми способами (см. комментарии к таблице 3). Описываемый режим вкладки «Редактирование» позволяет автоматически пересчитывать аудиторную нагрузку для дисциплины в целом всякий раз, когда редактируется атрибут «Учебных часов в неделю» связанного с ней объекта «Аудиторные занятия». Результаты расчета записываются в атрибут «Аудиторных часов» объекта «Дисциплина аудиторных занятий», что сразу же отражается родительской формой:

Рис. 21. Автоматический пересчет аудиторных часов

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

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

2. Расчет учебной нагрузки

Информационная подсистема, интерфейсом которой служит описываемое АРМ, реализует автоматизированный расчет кафедральной учебной нагрузки для всей учебной работы с учетом принятых нормативов. Информационное обеспечение расчета предполагает выполнение следующих процедур:

· разработка учебных планов, согласно предыдущему разделу описания, в том числе, графики учебного процесса и распределение всей учебной работы по обучающим кафедрам;

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

· установка связей учебной работы со структурой планового контингента, закрепляющих определенные виды работ за конкретными потоками, группами, подгруппами и т.д.;

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

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

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

Рис. 22. Структура хранения планового контингента в БД

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

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

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

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

Рис. 23. Общий вид вкладки «Численность»

2.1. Формирование структуры планового контингента

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

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

В любом из режимов построение дерева производится с использованием атрибутов объектов «Категории учащихся» и «Группы учащихся» (рис. 22), причем объекты «Группы» образуют листовые узлы. Метки этих узлов составлены из сокращенных наименований групп с указанием значения соответствующего атрибута «Количество (для расчета нагрузки)» (рис.23) и снабжены иконками, символизирующими вид группы («категория», «поток», «группа», «подгруппа»…). В нашем примере имеются группы учащихся следующих видов: «Категория» со значением атрибута «Количество», равным 36, «Поток» с атрибутом 0.295 , «Группа» в «Количестве» 1, «Подгруппа» в «Количестве» 3 и т.д. Таким образом, например, контрольные испытания, связанные с рассматриваемым узлом «Категория» по плану будут проводиться с участием 36 студентов.

Все остальные уровни дерева (кроме листовых) образованы атрибутами объектов «Категории учащихся», причем, алгоритм построения дерева оптимизирует их использование с целью минимизации общего количества уровней. Например, дерево на рис.23 не содержит уровней, соответствующих атрибутам «Место учебы», «Год набора», «Вид учебной деятельности» и др., поскольку заданный режим отображения «Категории плана» приводит к тому, что все отображаемые категории имеют совпадающие значения перечисленных атрибутов. Понятно, что отображение в виде дерева структуры категорий с использованием в качестве уровней всех без исключения атрибутов было бы громоздким для восприятия. Родительские узлы листьев дерева (уровнем выше листового) содержат в своей метке значение атрибута «Количество учащихся» соответствующего объекта «Категория учащихся» (пример такой метки на рисунке – «бюджет (36)»).

Справа от дерева контингента на вкладке располагается дерево единиц учебной работы . В отличие от рассмотренного выше основного дерева учебной работы, это дерево не имеет возможностей управления группированием информации. Его структура фиксирована и строится по информации, сохраненной в базе данных на предыдущих этапах разработки учебного плана. При этом для формирования уровней узлов используются следующие параметры учебных работ (сравните с таблицей 1):

Таблица 5

Уровень узла дерева

Атрибуты единиц учебной работы

Аудиторные занятия

Контрольные испытания

Внеаудиторная учебная работа

1

специализация

специализация

обучающая кафедра

2

курс, семестр

курс, семестр

курс, семестр

3

блок и компонент дисциплин

блок и компонент дисциплин

вид работы

4

код и наименование дисциплины

код и наименование дисциплины

наименование работы

5

вид занятия

вид испытания

отчетность

Для удобства поиска объектов учебной работы свертывание и развертывание узлов дерева единиц учебной работы синхронизировано с выбором узлов основного дерева учебной работы. Алгоритм синхронизации следующий:

· при смене выбора узла на основном дереве производится спуск по ветвям вниз до первого листового узла;

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

· дерево единиц учебной работы развертывает ветвь, содержащую найденный узел, а сам этот узел отмечается подсветкой иконки.

Основной нагрузкой дерева, как элемента интерфейса, является отображение связей составляющих его объектов учебной работы с группами планового контингента. Эта задача решена следующими способами.

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

· Связи становятся доступными для просмотра с помощью техники перетаскивания (drag-and-drop) листовых узлов дерева единиц учебной работы. После начала перетаскивания какого-либо из объектов учебной работы дерево контингента отобразит подсветкой соответствующих иконок группы, связанные с перетаскиваемым объектом. На рисунке ниже изображен вид деревьев в момент начала перетаскивания узла «Лекционный курс»: подсвеченными иконками отмечены связанные группы «1 бюджет», «1 бюджет (для коллоквиумов)», «1 бюджет (для консультаций)».

Рис. 24. Перетаскивание узла дерева учебной работы

Нижняя часть вкладки «Численность» (рис.23) занята ленточными формами , обеспечивающими ввод и редактирование параметров формируемой структуры планового контингента. Основные приемы работы с этими формами аналогичны описанным выше при рассмотрении вкладки «Редактирование». Тем не менее, существуют особенности их использования, о которых говорится далее.

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

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

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

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

Замечание . Ошибочно образованные связи можно исправить командами инструментальной панели (см. далее).

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

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

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

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

Рис. 25. Добавление категории учащихся с набором групп

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

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

Таблица 6

Атрибут

Присваиваемое значение

Место учебы

одно значение, определяемое параметрами титула учебного плана

Год набора

Образовательная программа

Форма обучения

Специализация

перебор всех значений соответствующих атрибутов учебной работы по плану

Текущий курс

Вид учебной деятельности

одно значение «студент»

Финансирование

два значения: «бюджет», «договор»

Целевой набор

атрибуты не используются: значения не присваиваются

Иностранный язык

Пол

Еще раз обратим внимание на особенность автоматизации формирования структуры: все алгоритмы основаны на анализе учебной работы по плану и нормативов учебной нагрузки. В данном случае это касается набора перебираемых значений атрибутов «Специализация» и «Текущий курс». Например, если учебный план не предусматривает чтение дисциплин специализаций на 1 курсе, категория с такими параметрами не будет образована. Заметим также другую особенность алгоритма: все категории образуются «парами» из-за перебора значений атрибута «Финансирование». Данная необходимость связана с особенностями процедур расчета нагрузки в отдельности для бюджетных и договорных студентов.

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

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

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

· щелчком на листовом узле дерева контингента загрузить объект в форму «Группа учащихся»;

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

· нажать кнопку инструментальной панели.

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

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

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

Рис. 26. Набор объектов «Учебная работа» для соединения

Имеются два ограничения описываемой процедуры указания набора объектов.

· Операция не реализована для работы с набором объектов, включающим как аудиторную, так и внеаудиторную учебную работу одновременно. При попытке выполнения такой команды АРМ выдаст рекомендацию ограничить размер набора объектов спуском по ветвям дерева вниз.

· С другой стороны операция рассчитана на групповое применение к объектам аудиторной учебной работы: в наборе необходимо иметь как минимум один объект «Аудиторное занятие» и одно «Контрольное испытание» дисциплины учебного плана. Действительно, логика анализа нормативов учебной нагрузки требует одновременной работы с этими объектами. Например, нагрузка за проведение консультаций начисляется при наличии экзамена по лекционному курсу. При попытке выполнения команды над единственным объектом (выбран листовой узел дерева), АРМ попросит расширить набор, поднявшись по ветвям дерева. Для объектов внеаудиторной учебной работы данного ограничения не существует.

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

Рис. 27. Этого объекта не хватает для стандартного соединения

Можно отклонить предложение, при этом новая группа не будет создана и соответственно не будет реализована часть стандартных связей. Можно согласиться, при необходимости заменив предложенное наименование нового объекта (автоматически сгенерированные имена групп обсуждались выше). Завершается выполнение команды созданием стандартных связей указанной совокупности учебной работы с имеющимися группами указанной категории.

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

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

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

Замечание . Возможности данных команд перекрывает описываемая ниже техника «перетаскивания» (drag-and-drop) узлов дерева единиц учебной работы.

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

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

Обновление атрибута «Количество (для расчета нагрузки)» требует предварительного указания объекта «Группа учащихся» выбором соответствующего листового узла на дереве контингента. Алгоритм расчета значения в данном случае зависит от вида объекта: принимается в расчет атрибут «Вид группы» (категория, поток, группа, подгруппа и т.д.).

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

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

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

Упомянутая процедура может учитывать значение не одного, а сразу нескольких атрибутов «Количество учащихся». Например, атрибуты объектов «Категорий» договорных и бюджетных студентов, как правило, анализируются одновременно. Специфику конкретных расчетов АРМ комментирует поясняющими диалогами. Например, ниже показан результат расчета для потока «4 бюджет», учитывающий количества студентов двух категорий: «4 курс, бюджет» и «4 курс, договор»:

Рис. 28. Расчет атрибута «Количество» для потока

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

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

Возможности интерфейса АРМ, предоставляемые техникой «перетаскивания» (drag-and-drop) узлов дерева единиц учебной работы.

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

Для соединения объекта «Учебная работа» с объектом «Группа учащихся» необходимо выполнить следующее:

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

· перетащить узел, соответствующий объекту учебной работы, на дерево контингента и отпустить его над узлом соединяемого объекта группы (иконка узла будет подсвечена).

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

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

· перетащить узел, отображающий объект учебной работы, на дерево контингента, но таким образом, чтобы первым узлом на пути перетаскиваемого узла был узел, соответствующий связанной группе (перетащить по направлению имеющейся связи);

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

Итак, описанная операция использует технику «захвата» имеющейся связи перетаскиванием узла учебной работы над узлом группы (пункт 2). Эту технику можно использовать в операции удаления связи:

· раскрыть соответствующую пару узлов деревьев контингента и учебной работы;

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

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

Операция аналогична команде инструментальной панели «Разорвать связь дисциплины с группой».

Замечание . Описанная техника «перетаскивания» является, по-видимому, более эргономичной, по сравнению с аналогами, предлагаемыми инструментальной панелью.

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

Рис. 29. Доступ к атрибутам корректировки учебной нагрузки

Как было указано при описании вкладки «Редактирование», дочерняя ленточная форма открывается при выборе на родительской форме одноименного поля с многоточием. В данном случае дочерняя форма предоставит доступ (по очереди) ко всем связям текущего объекта «Группа учащихся» родительской формы. При этом связанные объекты «Учебная работа» и «Кафедра» (в роли «обучающей кафедры») комментируются в нередактируемых полях (серым шрифтом). Пример на рисунке демонстрирует одну из связей объекта «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) приведен пример совмещенного потока, сформированного из категорий учащихся по двум учебным планам. Предполагается, что для каждой из категорий («физиков» и «лириков») разработан собственный учебный план, и сами эти категории в основном использованы в структуре контингента своего собственного плана («Физики» ­– в «Плане физиков» и т.п.). Тем не менее, один из лекционных курсов требуется читать этим учащимся совместно. А поскольку этот курс должен быть включен в оба учебных плана, формализующие его объекты должны быть продублированы с привязкой каждого из «дублей» к собственному плану («Лекции по плану физиков», «Лекции по плану лириков»):

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.3. Просмотр результатов расчета

После того как разработана структура планового контингента и осуществлена ее привязка к учебной работе, расчет учебной нагрузки будет производиться «на лету» серверными процедурами (хранилища результатов расчета в базе данных не предусмотрено). Запуск процедур производится автоматически всякий раз при инициализации вкладок «Аудиторная» и «Внеаудиторная». Напомним, что инструменты обеих вкладок позволяют достаточно гибко настраивать отображение числовых данных в соответствии с потребностью. В частности, можно выбирать произвольную комбинацию параметров для отображения их в столбцах таблиц (кнопка инструментальной панели). Для целей просмотра результатов расчета нагрузки предусмотрены три таких параметра с заголовками соответствующих столбцов «бюджет», «договор» и «коррект(ировка)» (табл. 3 и 4). Таким образом, вкладки представляют результаты расчета аудиторной и внеаудиторной нагрузки соответственно, причем, отдельно для бюджетных и договорных студентов. Вспомогательный столбец «корректировка» отображает разницу в расчетах нагрузки относительно нормативной, являющуюся результатом введения корректирующих атрибутов «Множитель» и «Слагаемое корректировки нагрузки» (рис.29). Информация позволит на этапе отладки расчета не забыть о «ручной» коррекции результатов. Еще раз напоминаем о том, что расчет задействует, помимо атрибутов учебной работы и распределения планового контингента, также нормативы учебной нагрузки и параметры графиков учебного процесса.

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

Рис. 35. Вкладка «Аудиторная» с результатами расчета нагрузки

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

В одном из разделов выше введено понятие профиля рабочего места, а также описана методика сохранения и использования индивидуального набора профилей. Если существует необходимость, параметры вкладки, подобные изображенным на рис.35, можно было бы сохранить в профиле под именем «Нагрузка по дисциплинам». Целесообразно также иметь, например, профиль «Кафедральная нагрузка», при загрузке которого верхний уровень вкладки займет таблица «кафедра»:

Рис. 36. Кафедральная нагрузка по учебному плану

В данном примере необходимость корректировки нагрузки для дисциплин по выбору («Американская культура» и «Культура Востока») вызвана, по-видимому, тем обстоятельством, что занятия в текущем году планируется вести сразу по обеим дисциплинам. Понятно, что нагрузку за проведение зачетов и коллоквиумов при этом следует разделить между дисциплинами. Можно предположить, что в данном случае в соответствующие атрибуты «Множитель корректировки нагрузки» введено значение 0.5, наполовину уменьшающее результат стандартного расчета по нормативам.

2.4. Ввод нормативов учебной нагрузки

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

Информация о нормативах учебной нагрузки в конкретном учебном году представляет собой формализованное описание соответствующего приказа, сохраняемое в базе данных. Тонкие моменты этого формализма определяются конкретной реализацией серверных процедур, использующих информацию. Однако основные идеи можно сформулировать достаточно просто. Как показано в приведенной таблице, структуру нормативов можно рассматривать в виде отношения, связывающего атрибуты планового контингента с атрибутами учебной работы и снабжающего каждую такую связь собственными атрибутами для расчета нагрузки:

Таблица 7

Комментарий

Атрибут

Класс

Собственные атрибуты

Учебный год

Нормативы учебной нагрузки

Пункт приказа (заголовок)

Норма времени (число)

Модификатор (в неделю…)

Атрибуты планового контингента

Вид группы (категория, поток, группа, подгруппа...)

Группы учащихся

Атрибуты учебной работы

Вид занятия (лекция, практика, лабораторное...)

Аудиторные занятия

Вид испытания (экзамен, зачет...)

Контрольные испытания

Вид работы (курсовая, диплом, практика...)

Внеаудиторная учебная работа

Дополнительные атрибуты учебной работы

Номер курса (1…6)

Учебная работа

Форма обучения (очная, заочная…)

Учебный план

Вид дисциплины (основная, курс по выбору, факультатив...)

Дисциплина аудиторных занятий

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

· Формализация конкретного пункта приказа требует помимо ввода собственно нормы времени, задания значений атрибутам контингента и учебной работы, к которым этот пункт приказа относится. Например, пункт, регламентирующий начислять нагрузку в 0.5 академического часа на одного студента при проведении экзамена, требует указания вида группы учащихся «категория» и вида испытания «экзамен».

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

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

Приказы по нормативам могут предусматривать и более сложные формулировки, требующие задания значений сразу нескольким атрибутам учебной работы. Например, пункт относительно норм нагрузки для консультаций по лекциям перед экзаменами требует фиксации, по крайней мере, двух атрибутов: вид аудиторного занятия – «лекция», вид контрольного испытания – «экзамен». Кроме того, специально для данного случая предусмотрен особый вид группы учащихся «Группа для консультаций». Некоторые пункты могут оговаривать различные дополнительные условия, ограничивающие область действия норматива. Формализация таких нормативов потребует в свою очередь ввода соответствующих дополнительных атрибутов учебной работы. Их список, представленный таблицей 7, может быть расширен, в зависимости от реализации серверных процедур расчета нагрузки.

Процедура ввода и просмотра нормативов учебной нагрузки обеспечивается вкладкой «Нормативы», показанной на рисунке ниже. Заметим, что вкладка предоставляет единовременный доступ лишь к одному из приказов, т.е. к нормативам, действующим в течение конкретного учебного года. Информация загружается в момент инициализации (открытия) вкладки и соответствует учебному году, выбранному для построения дерева учебной работы (выпадающий список на основной инструментальной панели, рис.2). Собственно вкладка (см. рисунок ниже) размещает следующие инструменты: дерево нормативов в верхней части для обеспечения навигации и выборки информации; ленточную форму «Нормативы учебной нагрузки» внизу, предоставляющую доступ для просмотра и редактирования конкретных нормативов (пунктов приказа); а также несложную инструментальную панель с несколькими полезными командами.

Рис. 37. Общий вид вкладки «Нормативы»

Дерево нормативов имеет фиксированную структуру отображаемых уровней в соответствии со следующей таблицей:

Таблица 8

Атрибут

Уровень узла

Пункт приказа

1

Подпункт приказа

2

Вид группы

3

Вид аудиторного занятия

4

Вид контрольного испытания

Вид внеаудиторной работы

Номер курса

5

Форма обучения

Вид дисциплины

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

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

· выбором узла дерева нормативов выделить часть структуры для копирования (команда использует нормативы, соответствующие всем узлам, которые лежат ниже выбранного узла);

· нажать кнопку инструментальной панели, после чего ввести в предложенном диалоговом окне учебный год формируемого приказа (цели копирования).

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

3. Процедуры экспорта и импорта данных учебных планов

3.1. Публикация учебного плана в информационной системе

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

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

· Для обеспечения корректности операции серверные процедуры обеспечения целостности данных на уровне схемы предпосланы проверками на уровне приложения. Например, производится поиск ведомостей, сформированных по контрольным испытаниям, соответствующим строкам учебного плана, подвергшихся корректировке. Если ведомости найдены, они удаляются перед производством новой публикации, о чем разработчик учебного плана уведомляется.

· Операция публикации отвергается при невозможности автоматического поддержания целостности данных. Например, если по корректируемым дисциплинам обнаружены закрытые ведомости, решение проблемы должно вырабатываться совместно с деканатом, сформировавшим ведомости.

3.2. Экспорт данных для ИМЦА

Информационно-методическим центром по аттестации образовательных организаций (ИМЦА) Минобразования РФ разработана собственная электронная форма представления учебных планов, используемая центром в процедуре автоматической экспертизе корректности информации и соответствия содержания учебного плана образовательному стандарту. Описываемое рабочее место поддерживает процедуру экспорта данных учебных планов в файлы, формат которых соответствует требуемому пакетом «PLANY», официально распространяемым ИМЦА (см. http://www.imtsa.ru). На данный момент процедура экспорта реализована для учебных планов уровня высшего профессионального образования всех трех ступеней (уровней квалификации): бакалавр, дипломированный специалист и магистр. Учебные планы уровня среднего профессионального образования пока не экспортируются.

В процессе разработки процедуры экспорта выявился ряд существенных различий в формах представления данных учебных планов и ограничений системы «PLANY», основные из которых следующие.

1. Форма ИМЦА предполагает хранение данных лишь для одной специализации (в случае ступени дипломированного специалиста) или программы обучения (для бакалавриата или магистратуры), в то время как по сложившейся в ВГУ традиции из-за большого количества специализаций/программ обучения учебный план описываемой подсистемы может содержать информацию сразу по нескольким (всем) специализациям/программам обучения, предусмотренным соответствующей образовательной программой.

2. Форма ИМЦА не предусматривает закрепление дисциплин сразу за несколькими обучающими кафедрами, что является обычной практикой организации учебного процесса в ВГУ.

3. Во многих случаях форма ИМЦА не позволяет детализировать курсы, предусмотренные образовательным стандартом (недостаточно места), между тем в учебном плане университета данные курсы в свою очередь могут быть представлены наборами дисциплин, а сам учебный план в результате становится иерархической структурой учебных курсов.

4. Форма ИМЦА не предусматривает формирование совмещенных лекционных потоков, составляемых из контингента, в основном обучаемого по разным учебным планам.

Ниже показана форма интерфейса, управляющего процедурой экспорта (форма будет доступна лишь при условии указания определенного учебного плана при помощи дерева учебной работы способом, описанным выше, см. табл.2):

Рис. 38. Диалог для управления экспортом

Форма позволяет настроить процедуру для решения большинства из обозначенных выше проблем. При этом оператор должен учесть нижеследующее.

1. Интерфейс позволяет выбрать для экспорта лишь одну из специализаций/программ обучения, предусматриваемых учебным планом. При этом в список экспортируемых будут выбраны дисциплины, соответствующие данной специализации/программе. В то же время , возможен выбор сразу нескольких (всех) специализаций/программ обучения. В этом случае будут экспортироваться все соответствующие дисциплины, объединяясь в блоке дисциплин специализации (ДС)/дисциплин направления (ДН), причем процедура экспорта присвоит им новые номера.

2. Проблема нескольких обучающих кафедр по одной дисциплине может быть решена двумя путями. Можно либо отказаться от экспорта всей информации, связанной с аудиторной работой каких-либо кафедр, выбрав для экспорта лишь одну из них. (Так на рисунке выбраны для экспорта лишь первые из дублирующихся строк списка дисциплин ЕН.Ф.01.3 и ЕН.Ф.01.6.) Либо объединить всю аудиторную работу в одной экспортируемой строке выходной формы. При этом процедура экспорта закрепит всю эту работу за первой из соответствующих кафедр.

3. Последним из описанных способов решается и проблема экспорта детализированных стандартных курсов: соответствующие дисциплины объединяются в одну экспортируемую строку. На рисунке показана настройка процедуры, при которой под заголовком «Математический анализ» будет экспортирована суммарная учебная работа по всем объединяемым дисциплинам (ЕН.Ф.01.2 – ЕН.Ф.01.6). При этом такой вновь образованный курс будет закреплен за кафедрой, ведущей по действующему плану дисциплину «Математический анализ».

4. Наконец, проблема совмещенных «междуплановых» (межфакультетских и т.п.) лекционных потоков в рамках выходной формы не решается и соответствующая информация при конвертировании игнорируется.

Кроме описанной основной процедуры автоматического заполнения формы учебного плана ИМЦА конвертируемыми данными приложение может экспортировать список кафедр, участвующих в учебном процессе по конкретному учебному плану. Этот список представлен в левой нижней части обсуждаемой формы. При необходимости оператор может сохранить этот список в файле соответствующего формата, совместимого с упомянутым выше пакетом «PLANY» ИМЦА, после чего он будет доступен для организации полноценной работы с пакетом. Флажок «Только кафедры плана» можно снять для получения полного списка кафедр, в случае необходимости именно такого экспорта.

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

Рис. 39. Протокол экспорта учебного плана

3.3. Интерфейс к учебным планам, разработанным в среде MS Excel

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

Рис. 40. Учебный план в электронных таблицах MS Excel

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

Описанная процедура реализует управляемый импорт учебного плана из электронных таблиц. АРМ реализует также обратный автоматизированный экспорт учебных планов из базы данных в электронные таблицы. Формат электронных таблиц задается специальным шаблоном, поставляемым в файле template.xls. Файл содержит шаблоны листов книги Excel, заголовков электронных таблиц, форматы некоторых ячеек и формулы, которые будут использоваться при экспорте учебного плана. При необходимости в определенных пределах шаблон может быть отредактирован для осуществления тонкой настройки выходного формата. Поставляемый образец шаблона обеспечивает полную совместимость формата экспортированного файла Excel с описанной выше процедурой импорта (экспортированный план сразу готов к импорту в базу данных).

Таким образом, описываемое приложение, реализующее рабочее место для формирования учебных планов, полностью интегрирует разработанную ранее Excel-систему в общую информационную структуру программно-технического комплекса поддержки управления учебным процессом, а сами электронные таблицы MS Excel с учебными планами позволяет рассматривать в качестве автономного интерфейса к этой структуре и удобного способа формирования выходной (бумажной) формы представления учебного плана.

Составитель: доцент кафедры информационных систем ВГУ, ведущий программист ЦКТ Фертиков Вадим Валериевич

Контакты: e-mail: fvv@mid.main.vsu.ru