Приложение Расписание
Программа Расписание комплекса АСУ ВУЗа предназначена для формирования и редактирования расписания занятий. В настоящее время в системе АСУ ВУЗа не предусмотрены какие либо методы автоматизации составления расписания. Расписание составляет диспетчер так же, как это делается при использовании бумажной технологии, с тем отличием, что вместо бумаги используется экран монитора. Все известные авторам комплекса попытки автоматизации не позволяют учесть все многообразие факторов, которыми руководствуется диспетчер при ручном составлении расписания. В то же время, программа исключает возможность делать ошибки типа:
Расписание формируется на основании:
Созданное расписание может быть представлено в разрезах преподавателей, групп и аудиторий как на экране, так в печатном виде. Впоследствии данные расписания используются для учета выполнения нагрузки и расчета почасовой оплаты преподавателей.
Основным способом отображения данных на экране является таблица (grid). В большинстве случаев операции добавить, редактировать, удалить выполняются с помощью команд контекстного меню, вызываемого нажатием правой кнопки мыши. Для добавления новых и редактирования старых записей в этом случае открывается окно редактирования. Окно содержит поля для заполнения и кнопки ОК и Отмена. Нажатие кнопки ОК приводит к попытке помещения записи в базу данных (БД) и если все проверки на полноту и непротиворечивость данных пройдут успешно, то запись будет помещена в БД. Нажатие кнопки Отмена означает, что пользователь отказывается от своего намерения поместить данные в БД. Нажатие клавиши Enter эквивалентно нажатию кнопки OK, а клавиша Esc соответствует кнопке Отмена. Редактируемые таблицы имеют белый фон, не редактируемые – желтый. При попытке удаления записи программа проверяет его допустимость и если удаление допустимо, требует подтверждения намерений пользователя.
Форма регистрации появляется в момент старта программы и имеет вид:
Пользователь заполняет поля Имя и Пароль. В случае успешной регистрации раскрывается окно головной формы.
Головная форма изображена на рисунке.
Необходимо установить учебный год и семестр. По умолчанию устанавливается текущий год и семестр. Расписание отображается в форме стенда в том же виде, как его принято вывешивать для сведения студентов. Редактирование производится непосредственно в ячейках стенда. Для открытия стенда следует выбрать его из выпадающего списка. Пока стенд не открыт, на панели управления видимы только две кнопки: Стенды и Найти в расписании. Функции всех кнопок описаны далее в руководстве.
Прежде чем начинать работу с расписанием, следует наполнить справочники данными об аудиторном фонде, часовой сетке расписания и т.п.
Форма Типы аудиторий вызывается командой меню
Команды контекстного меню Добавить и Редактировать вызывают окно редактирования. Поле Номер (№) существует только для того, чтобы типы аудиторий в таблице были упорядочены в порядке следования этих номеров. Удобно, например, часто используемые типы держать в верхней части таблицы.
Сведения об аудиторном фонде редактируются в форме, изображенной на рисунке.
Верхняя таблица содержит перечень корпусов, а в нижней отображаются аудитории текущего корпуса. Редактирование обеих таблиц выполняется командами контекстных меню Добавить, Редактировать, Удалить. Поле Цвет верхней таблицы используется для окраски фона ячейки в форме Занятость преподавателей. Цель – обратить внимание составителя расписания на то, что преподаватель проводит две последовательные пары в разных корпусах. В некоторых случаях, когда перемещение из корпуса в корпус занимает значительное время, это недопустимо. Команда контекстного меню Изменить цвет вызывает диалог выбора цвета. В некоторых случаях аудитория временно не может использоваться для проведения занятий, например, в ней идет ремонт. Если в столбце Живая отсутствует "птичка", то аудитория не может быть использована для проведения занятий.
Под часовой сеткой понимается последовательность временных отрезков в течение дня, в которые проводятся занятия. Например, первая пара начинается в 8:00 и заканчивается в 9:35, вторая – с 9:45 до 11:20 и так далее. Эта последовательность может измениться, например, занятия начинались в 8:00, а будут с некоторой даты начинаться в 8:30, или пара состояла из двух академических часов по 45 минут с пятиминутным перерывом, а будет состоять из двух часов по 40 минут без перерыва. Сроки действия часовой сетки отображаются в верхней таблице формы, изображенной на рисунке.
Таблица в нижней части формы для каждой пары из средней таблицы содержит столько строк сколько существует категорий форм обучения (категории форм обучения создаются в задаче Учебные планы). Изображенное на рисунке нужно понимать следующим образом. Пара 10:00 – 11:20 используется заочниками во все дни недели. Очная форма обучения в субботу и воскресенье не учится. Очно – заочная (вечерняя) форма обучения может использовать эту пару только по субботам. Назначение использования пар, выполняемое на этой форме, определяет те пары, которые будут показаны на стенде. Это назначение может быть изменено впоследствии для каждого стенда индивидуально. Установка / снятие "галочек" выполняется щелчком левой кнопкой мыши по ячейке.
Стенд является средством отображения расписания. В параметрах стенда указывается диапазон дат отображаемого расписания и перечень групп, которые будут на нем находиться. Удаление, добавление или изменение характеристик стенда ничего не меняет в уже существующем расписании. Стенды создаются, уничтожаются и редактируются в форме, вызываемой кнопкой Стенды в панели управления головной формы.
Форма для редактирования стендов изображена на рисунке.
Создание, редактирование и удаление стендов выполняются командами контекстного меню таблицы в левой части формы.
Для помещения одной или нескольких групп на стенд:
Чтобы удалить группы со стенда выделите их левой кнопкой мыши, удерживая клавишу Ctrl и нажмите кнопку Убрать со стенда.
Для более наглядного отображения стенда, как на экране, так и на бумаге, желательно, чтобы группы, объединяемые в поток, располагались в смежных столбцах. Для изменения порядка следования групп на стенде выделите группы стенда, которые вы хотите переместить и нажмите одну из кнопок Переместить вверх или Переместить вниз.
Контекстное меню таблицы Стенды имеет команду На каком стенде группа ?. Выполнение команды вызывает форму:
Введите название группы и нажмите кнопку Найти.
По умолчанию множество пар, отображаемых на стенде, задается в диалоге, вызываемом командой меню головной формы Справочники/Часовая сетка. Внести изменения в набор отображаемых пар для данного конкретного стенда можно с помощью формы изображенной ниже. Форма вызывается командой Пары на стенде контекстного меню таблицы Стенды.
Пары, которые будут отображаться помечены галочкой. Установка/снятие "галочки" выполняется щелчком мыши по ячейке таблицы.
В результате выбора стенда из выпадающего списка Стенд открывается дочерняя форма, содержащая расписание групп стенда в назначенном диапазоне дат. Форма выглядит так, как это представлено на рисунке.
Строка таблицы соответствует одной паре, а столбец – группе. Если группа дробится на подгруппы, то в клетке стенда указываются данные занятия для всех подгрупп. Клетки могут объединяться как по горизонтали, так и по вертикали в том случае, если атрибуты занятия в них (преподаватель, аудитория, вид занятий, дисциплина) полностью совпадают.
Текущая ячейка имеет серый фон. Ячейки, для которых выполнено назначение аудитории –светло-голубые, а если аудитория не назначена, то фон светло-жёлтый.
Для стендов заочников ячейки, находящиеся вне интервала заезда студентов, имеют темно серый фон. Это сделано для того, чтобы пользователь видел границы допустимых дат для назначения занятий. Хотя следует отметить, что попытка поставить занятия заочников вне периода заезда все равно будет отвергнута программой.
Кнопка
на панели инструментов головной формы вызывает форму для выбора данных
занятия, которое будет установлено в текущую ячейку стенда. Форма
представлена на рисунке.
В таблице дисциплин на форме отображаются только дисциплины, изучаемые группой, к которой относится текущая клетка стенда в заданном году и семестре. В таблице занятий находятся те занятия, которые предусмотрены для этой дисциплины в соответствии с учебным планом группы. Два последних столбца содержат число часов для вида занятий по учебному плану и число часов, которое еще не помещено в расписание (столбец Ост.). В последнем столбце минимальным значением может быть 0 или –1 (в том случае если число часов по плану нечетно). Когда достигнуто минимальное значение в столбце Ост., дальнейшее помещение таких занятий на стенд становится невозможным.
Таблица имеет четыре закладки, которые управляют видимостью различных видов нагрузки:
Строки таблицы дисциплин имею фон:
Под таблицей занятий располагается в линейку перечень пар, соответствующих часовой сетке. Ячейки этой линейки имеют фон, соответствующий занятости преподавателя:
Таблицы корпус, тип аудитории и аудитория справа в верхней части формы предназначены для выбора аудитории для проведения занятия. В таблице аудитории отображаются аудитории текущего корпуса и типа, которые устанавливаются в таблицах корпус и тип аудитории. Аудитории, занятые во время, соответствующее текущей клетке стенда, имеют красный фон.
Для установки занятия в текущую клетку стенда следует :
В клетку расписания может быть помещено более чем одно занятие, например, в случае когда группа делится на подгруппы и каждая из подгрупп имеет свою аудиторию и преподавателя. Двойной щелчок мышью по ячейке расписания открывает форму, в которой отображены все занятия, соответствующие ячейке стенда.
Для таблицы, находящейся на этой форме возможна единственная операции Удалить, вызываемая командой контекстного меню.
Контекстное меню стенда имеет команду Отменить назначение аудитории, которая удаляет основную аудиторию (о дополнительной аудитории см. далее) из ячейки стенда.
Для ячеек стенда могут быть выполнены операции Вырезать,Поместить в буфер и
Взять из буфера. Операции могут быть вызваны кнопками
панели управления или с помощью команд контекстного меню. Операции
выполняются следующим образом:
В общем случае расписание, которое создается данным приложением, является нерегулярным. Это неизбежно для заочной формы обучения. Для дневников и вечерников может быть создано регулярное расписание, когда одни и те же занятия повторяются из недели в неделю в течение семестра или половины семестра. Регулярным образом расставить занятие в течение некоторого периода времени можно с помощью команды контекстного меню Распространить на период, которая вызывает форму, изображенную на рисунке.
Для распространения занятия на период:
Команда контекстного меню сроки сессий вызывает форму, изображенную н рисунке.
Единственное назначение этой формы – предоставить составителю расписания справку о сроках сессий группы, к которой относится текущая ячейка стенда.
В некоторых случаях для проведения занятия может потребоваться дополнительная аудитория. Дополнительная аудитория назначается с помощью формы, изображенной на рисунке. Форма вызывается командой контекстного меню Дополнительная аудитория / Добавить. На форме следует выбрать корпус и тип аудитории, а затем выбрать аудиторию из таблицы.
Если дополнительная аудитория уже назначена, то становятся видимыми команды контекстного меню стенда Дополнительная аудитория/Изменить и Дополнительная аудитория/Удалить. Способ их использования очевиден.
Форма Студенты группы вызывается командой контекстного меню стенда Студенты группы. Команда предназначено только для получения справки о студентах.
Команды контекстного меню Ширина столбцов и Высота строк
вызывают диалоги, изображенные на рисунке, в которых можно указать размеры
ячеек стенда. Выполнение команды устанавливает одинаковую ширину или высоту
для всех ячеек стенда. Высота каждой строки или ширина столбца может быть
изменена индивидуально для каждых строки или столбца перетаскиванием с
помощью мыши границы строки или столбца в заголовках строки или столбца.
Курсор мыши на границе строки или столбца приобретает вид:
или
.
Все изменения размеров ячеек, сделанные в течение сеанса работы со
стендом, сохраняются в момент закрытия стенда на клиентском компьютере.
Принудительное сохранение геометрических характеристик можно выполнить с
помощью кнопки панели управления
- Сохранить геометрические характеристики стенда.
Существует возможность включить в расписание внеплановое занятие. Функция вызывается командой контекстного меню Внеплановое занятие на свободной ячейке стенда. Форма для заполнения данных внепланового занятия приведена на рисунке. Для вставки в ячейку стенда внепланового занятия следует заполнить все известные поля и нажать кнопку ОК.
На рисунке изображена панель управления формы для редактирования стенда. Назначение большинства кнопок панели управления уже рассмотрено выше.
Рассмотрим оставшиеся кнопки.
Кнопка панели управления Найти в расписании вызывает диалог, изображенный на рисунке:
Для поиска следует заполнить известные поля в выпадающих списках и нажать кнопку Найти.
Кнопка Обновить вызывает чтение данных стенда из базы данных. Стенд перерисовывается в соответствии с прочитанными данными.
Кнопка Экспорт стенда в Excel вызывает формирование книги Excel, на лист которой выкладывается информация, относящаяся к текущему стенду для последующей печати и вывешивания для обозрения. Вид листа Excel приведен на рисунке.
Группа команд Занятость контекстного меню головной формы содержит команды
Форма, отображающая занятость преподавателя в течение произвольно выбираемой недели представлена ниже на рисунке
Используя двухуровневое дерево в левой части формы, выберите кафедру и преподавателя. С помощью элемента управления "календарь" выберите дату. В результате на "шахматке" в правой части формы будет отображено расписание преподавателя для той недели, к которой относится выбранная дата. Клетки расписания в таблице справа могут иметь фон:
На таблице возможно частичное редактирование расписания (основное редактирование выполняется на стенде). Редактирование выполняется с помощью команд контекстного меню, а также двойным щелчком мыши по клетке таблицы. Двойной щелчок действует по разному в зависимости от содержимого клетки:
на свободной клетке двойной щелчок помечает её как клетку, в которой преподаватель не может иметь занятия. Клетка окрашивается в красный цвет. Впоследствии в эту клетку, используя команду контекстного меню Редактировать можно поместить комментарий, поясняющий почему преподаватель не может в это время проводить занятия. Для ввода комментария вызывается диалог, изображенный на рисунке.
Повторный двойной щелчок снимает пометку клетки как недопустимой для помещения в нее занятия по расписанию
Форма, позволяющая видеть занятость аудиторий в соответствии с расписанием вызывается командой Занятость/Аудитории меню головной формы.
Работа с формой Занятость аудиторий ничем не отличается от работы с формой Занятость преподавателей. Используются точно такие же команды контекстного меню и двойной щелчок мышью по ячейке.
Форма, изображенная на рисунке, предназначена для получения справки о том где можно найти преподавателей кафедры в течение рабочего дня. В частности, она используется заведующими кафедрами для выбора времени проведения заседаний кафедры.
Для получения справки следует выбрать кафедру из выпадающего списка, установить нужную дату в элементе управления "календарь" и, возможно, число часов годовой нагрузки в поле Объем нагрузки не менее. Последнее используется для "отсечения" преподавателей – почасовиков или имеющих нагрузку в размере полставки или менее, присутствие которых на заседании кафедры необязательно.
Форма, приведенная ниже, предназначена для получения справки о свободных аудиториях в заданное время и в заданном корпусе.
Группа команд Документы меню головной формы содержит команды Выписка преподавателя и Список преподавателей, имеющих занятия.
Команда меню головной формы Документы/Выписка преподавателя вызывает диалог выбора преподавателя, имеющий вид:
В этом диалоге следует выбрать кафедру, затем выбрать преподавателя, установить диапазон дат, для которых строится выписка и нажать кнопку Экспорт в Excel. На листе Excel будет построен документ, образец которого представлен на рисунке.
Команда Документы/Список преподавателей, имеющих занятия позволяет на листе Excel получить список преподавателей, имеющих занятия, отбираемые по группе признаков. Команда вызывает диалог:
Для получения документа следует выбрать кафедру, форму обучения и заполнить все или некоторые критерии отбора занятий в верхней части формы. Список преподавателей, имеющих занятия, удовлетворяющих критериям отбора занятий отображается в таблице в правой части формы. Кнопка Экспорт в Excel позволяет перенести список на лист Excel для последующей печати.
Образец выходного документа на листе Excel представлен на рисунке.
При составлении расписания естественными являются ограничения:
Первоначально программа содержала запреты на нарушение этих правил. Впоследствии, по настоянию учебного отдела, запреты были заменены на предупреждения о попытке нарушения изложенных правил. В результате, пользователь, составляющий расписание, имеет возможность совершить ошибку, заключающуюся в "накладке" для преподавателя, группы или аудитории. Группа команд Накладки меню головной формы предназначена для выявления противоречий в расписании.
Форма, вызываемая командой Накладки/Преподаватели вызывает форму, изображенную на рисунке:
В управляющих элементах типа "календарь" установите даты начала и конца интервала дат, для которого отыскиваются накладки. Залипающая кнопка Преподаватель на панели Фильтр, если она нажата, позволяет видеть только накладки для преподавателя из текущей строки таблицы. Строку таблицы нужно понимать следующим образом: преподаватель в дату и время должен проводить занятия с Группа1 в аудитории Аудит.1 и с Группа 2 в аудитории Аудит.2.
Форма Накладки для аудиторий вызывается командой Накладки/Аудитории меню головной формы.
Для каждой строки таблицы в дату и время в аудитории проводит занятия Преподаватель 1 с Группа 1 и Преподаватель 2 с Группа 2.