Информационная поддержка планирования и учета учебной работы по балльно-рейтинговой системе, страница 19

Реестр преподавателей устанавливает соответствие между фамилией, именем и отчеством, уникальным ключом преподавателя и атрибутивной информацией, включающей перечень кодов из других реестров. Класса TNewTicheReg – это потомок базового класса реестра TBasicRegister, содержащий список записей типа TNewTicheRecord. Класс TNewTicheRecord разработан на основе класса TBasicRecordWithKeyArray, который в свою очередь разработан на основе базового класса TBasicFixedRecord (рисунок 10).

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

Рисунок 10. Схема наследования класса записей реестра преподавателей

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

Реестр студентов устанавливает соответствие между уникальным кодом студента и атрибутивной информацией: именем (ФИО), состоянием студента (учится, академотпуск, отчислен) и кодом академической группы студента. Запись в реестре студентов – это экземпляр класса TStudRec0 (рисунок 11).

Рисунок 11 – Динамическая структура реестра студентов

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

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

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

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

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

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