Автоматизированное рабочее место инженера по составлению расписания
В связи с расширением работ по совершенствованию системы управления высшей школой путем создания и внедрения в вузах различных автоматизированных систем управления возникает необходимость в унифицировании средств составления учебного расписания на вычислительной технике. Для этого необходимо четко формализовать требования к расписанию и разработать соответствующее алгоритмическое обеспечение. При… Читать ещё >
Автоматизированное рабочее место инженера по составлению расписания (реферат, курсовая, диплом, контрольная)
Введение
1. Теоретический анализ и практические подходы к порцессу составления расписания
1.1 Расписание учебных занятий и его роль в жизнедеятельности вуза
1.2 Практический опыт и проблемы внедрения систем автоматизированного составления расписания
1.3 Сравнительный анализ подходов к автоматизации составления расписаний учебных занятий в образовательных учреждениях
1.4 Подходы к автоматизации составления расписания
1.5 Обзор существующих автоматизированных информационных систем «Расписание»
2. Описание программного решения
2.1 Основные требования к разрабатываемой системе
2.2 Описание исходных данных для разработки функционала программы
2.2 Технология разработки автоматизированной системы расписания занятий и описание интерфейса автоматической системы
2.4 Описание структуры разделов пользовательского интерфейса
2.4.1 Раздел «Справочник»
2.4.2 Раздел «Генерация расписания»
2.4.3 Форма добавления и управления занятиями
2.5 Алгоритм первичного заполнения расписания
2.6 Модуль проверок корректности расписания
2.7 Дополнительный функционал в соответствии с приказом
2.7 Тестирование и апробация продукта
Заключение
Список использованных источников
Приложение
Введение
автоматизированное расписание программа интерфейс Одной из важнейших проблем качественной организации учебного процесса в высшем учебном заведении является задача создания автоматизированного учебного расписания. Правильно и точно составленное расписание обеспечивает равномерную загрузку студенческих групп и профессорско-преподавательского состава.
Расписание напоминает карточный домик, и внесение в него поправок в ходе учебного процесса хотя бы у одного преподавателя нарушает расписание других преподавателей. Вся беда в том, что чем больше составителей, тем хуже расписание. Оно становится нерациональным: появляются «окна», растянутость занятий в течение дня (появляется вторая смена), многочисленные переходы из корпуса в корпус, наложение одного занятия на другое в одной аудитории и т. д.
На данный момент в высшем учебном заведении можно использовать информационное пространство, включающее компоненты по различным направлениям: кадровый учет сотрудников, учет студентов, служба безопасности, контроль успеваемости студентов и другие.
Более реалистичной является подготовка хотя и частной, однако принципиальной важной системы, позволяющей планировать и составлять расписания занятий студентов и преподавателей, что обуславливает актуальность выбранной темы исследования.
Весь процесс подготовки исходной документации для составления расписания идёт в достаточно сжатые сроки и заканчивается к определённому дню, начиная с которого учебная часть (прежде всего диспетчерская служба) приступает к процедуре составления расписания. На диспетчера возлагается большая ответственность за содержание и своевременное доведение расписания до всех кафедр и студентов. Эта работа проводится в довольно сжатые сроки, и всё зависит от опыта и умения составителя. Отрицательно сказывается на жизнедеятельности вуза уход опытных диспетчеров и приход новичков. Всех начинает лихорадить несовершенство расписания, в котором, как в зеркале, отражается вся жизнедеятельность ВУЗа.
Действия диспетчера в ВУЗе можно сравнить с игрой шахматиста. Он так же из множества возможных вариантов выбирает лучший, но в отличие от шахматиста дело имеет с людьми. Шахматист проходит хорошую подготовку, прежде чем принимать участие в соревнованиях, и строго соблюдает законы и правила, существующие в шахматах. При составлении расписания также необходимы знания и соблюдение основных правил. Очевидно, многие могли бы составить расписание, но всё зависит от того, как они это будут делать. Многое зависит и от деканов и зав. кафедрами, от их исходных материалов. Имеется масса примеров, когда по незнанию причин, влияющих на расписание, допускались грубые ошибки.
По вопросам организации учебного процесса требуется подготовка основных звеньев: учебная часть — деканат — кафедра. Где и как готовить — вопрос. Но готовить необходимо. Незнание отрицательно сказывается на жизнедеятельности всего вузовского коллектива. Каждый декан заинтересован в наилучшем варианте расписания, и его совместная работа с учебной частью заключается в том, чтобы все исходные материалы были предоставлены своевременно (и их содержание позволяло расписанию быть постоянным в течение семестра), чтобы был возможен контроль распределения «звонковых» часов среди преподавательского состава кафедры и т. д. Чем сложнее система, тем больше требуется согласованных действий всех участников этого процесса, так как каждый непродуманный шаг отрицательно сказывается на содержании расписания.
При организации ВУЗа и дальнейшем его развитии в динамике находятся количественные показатели (число студентов, преподавателей, специальностей, материальная база и т. д.). Только после установления наличия аудиторий по каждой кафедре можно упорядочить их использование, что необходимо для нормальной жизнедеятельности каждой кафедры. Недостающее количество аудиторий по отдельным кафедрам вызывает необходимость временно официально закрепить проведение занятий этих кафедр на учебных площадях других кафедр. Такой подход позволит избежать хаоса в использовании аудиторий и сократить растянутость занятий в течение дня. Существует специальная методика для определения смены занятия студентов очной формы обучения и определения наличия аудиторий по каждой кафедре. Такой расчёт был произведён в нашем вузе в 1979 году. И на основании расчётных данных было графически отображено наличие и недостающее количество аудиторий по каждой кафедре, что позволяло наглядно убедиться в том, сколько аудиторий необходимо каждой кафедре для обеспечения занятий в первую смену.
Для создания эффективной системы управления учебным процессом необходимо упорядочить действующую систему, а затем решить вопрос с автоматизацией этого сложного процесса (перевода составления расписания через компьютерную систему). Но прежде чем вводить какие-либо новшества в работу с расписанием, необходимо досконально изучить этот процесс.
Разработка такого рода программ требует учёта специфики образовательного учреждения. Для этого необходимо выявить объект исследования данного дипломного проекта, им является процесс составления расписания учебного процесса.
Предмет для рассмотрения является деятельность инженера по составлению учебного расписания.
Таким образом, цель дипломной работы — разработать автоматизированное рабочее место инженера по составлению расписания.
Для достижения данной цели необходимо решить следующие задачи:
Теоретический анализ и обработка практической и методической литературы по теме дипломной работы.
Проектирование программного решения и выбор средства разработки.
Реализация программного решения и первоначальное наполнение информацией.
Тестирование и апробация продукта в деятельности инженера по составлению расписания.
1. Теоретический анализ и практические подходы к процессу составления расписания
1.1 Расписание учебных занятий и его роль в жизнедеятельности вуза Задача составления расписаний являются предметом научных исследований с середины прошлого века. Область их применения включает в себя различные сферы человеческой деятельности, такие как: транспортные перевозки, массовое обслуживание, промышленность, образование и т. д. Практика выдвигает множество задач, которые невозможно эффективно решить путем полного перебора. Для большинства моделей теории расписаний нахождение оптимального расписания является трудноразрешимой задачей, а решение приближенных к реальным условиям задач обладает ещё большей сложностью, так как данные решения должны удовлетворять многочисленным, зачастую конфликтующим между собой ограничениям производственного, организационного и психофизиологического характера. Выходом из данного положения является отказ от подхода, когда пригодным считается только самое лучшее решение. Рассмотрим задачу подобного класса, возникающую в конкретной области управленческой деятельности, — составление расписаний учебных занятий в ВУЗе.
Количественный и качественный рост высшей школы требует нового подхода к решению задач управления учебной, научной и хозяйственной деятельностью вузов. Этот подход в последние годы находит свое воплощение в применении современных средств вычислительной техники и математических методов в управлении высшими учебными заведениями. В современном мире всё большее распространение получают различного рода системы автоматизации технических процессов, которые всегда выполнялись вручную. Например, системы принятия решения в маркетинге, экспертные системы, заменяющие опытных специалистов, прогнозирующие системы в самых различных областях науки и техники. К таким же процессам относится и составление расписания, которое до сих пор во многих учебных заведениях создается вручную на основе многолетнего опыта. Современные it-технологии располагают средствами, позволяющими наилучшим образом организовать любой процесс, в том числе и учебный.
Задача планирования расписания учебных занятий — это задача на составление расписания комбинаторного типа, характерной особенностью которой является огромная размерность и наличие большого числа ограничений сложной формы. Фактически, в настоящее время, не существует универсальных методов решения таких задач. Прямое применение математической (классической) теории расписания к задаче составления учебных занятий не представляется возможным [14, 15, 16]. Тем не менее, есть ряд эвристических и переборных методов, которые вполне поддаются программированию.
Есть мнение, что опытный диспетчер сможет составить расписание так, что оно будет отвечать интересам учебного процесса и общественной жизни образовательного учреждения. Однако с этим нельзя согласиться. Ручное решение задачи составления расписания занятий требует больших затрат времени, квалифицированных специалистов, в то же время результат такого решения часто получается далеко не оптимальным. После ввода исходной информации требуется её согласование, в то время как невозможность получения требуемого расписания может быть определена ещё на этапе анализа.
Во время составления расписания возможно возникновение тупиковых ситуаций. Всё это требует изменения исходных данных и ослабления ограничений, и здесь без человека не обойтись. Без внесения данных изменений расписание не будет иметь практической ценности. Также следует учесть тот момент, что расписание может меняться и во время его использования, т. е. после составления, и здесь весьма важен человеческий фактор. В этом плане важна поддержка данного процесса автоматизированными методами и процедурами. Основное преимущество состоит в том, что автоматизированное составление устраняет массу рутинной работы, такой как: поиск возможных вариантов внесения очередных элементов в расписание, проверку выполнения требований, поиск случайных ошибок в готовом расписании, оформление расписания на бумаге в виде различных таблиц (для преподавателей, групп, покабинетного), оставляя человеку больше времени на более интеллектуальные действия. Компьютер в данном случае также является инструментом, существенно усиливающим способности человека, т.к. человек не в состоянии перебрать и проанализировать такое же количество вариантов расписаний, как компьютер.
В последние годы предпринимаются множественные попытки совершенствования планирования учебного процесса путем построения алгоритмов оптимизации задач планирования учебной работы вуза с использованием вычислительной техники и программного обеспечения Microsoft Excel. Практическое внедрение планирования учебного процесса с использованием VBA-технологий имеет место лишь в немногих вузах. Анализ состояния этих разработок позволяет сделать следующие выводы:
разработка и внедрение вузами задач АСУ осуществляется в инициативном порядке и эти работы, как правило, направлены на решение отдельных проблем. Разобщенность групп исследователей и разработчиков привела к созданию множества систем, направленных на разработку алгоритмов и программ, рассчитанных на обслуживание только конкретного ВУЗа;
многие системы возлагают на разработчика расписания всю ответственность за учет реальных требований. В частности, учет требований преподавателей, ограничений на количество проводимых занятий в день, в неделю — все эти и многие другие рутинные задачи в таких системах приходится решать человеку чаще всего методами перебора;
имеющиеся программы не предполагают многопользовательский режим работы и не поддерживают весь необходимый электронный документооборот;
не внедряется разработка типовых унифицированных элементов для создания единой автоматизированной системы управления высшей школой;
имеющиеся программы имеют весьма неудобный интерфейс для ввода исходных данных и редактирования полученного расписания.
В связи с расширением работ по совершенствованию системы управления высшей школой путем создания и внедрения в вузах различных автоматизированных систем управления возникает необходимость в унифицировании средств составления учебного расписания на вычислительной технике. Для этого необходимо четко формализовать требования к расписанию и разработать соответствующее алгоритмическое обеспечение. При разработке алгоритмов автоматизированного составления расписания занятий остро стоит проблема создания универсальных алгоритмов, учитывающих специфику условий каждой конкретной задачи. Такие алгоритмы должны быть достаточно «гибкими», т. е. без существенного их изменения можно было бы включать и исключать требования из системы требований к расписанию. Однако попытка решать задачу каким-либо одним единственным универсальным алгоритмом на данный момент не представляется возможной. Алгоритмы, позволяющие решать широкий класс задач, не дают той эффективности, которую обеспечивают более конкретные, адаптированные с учётом конкретных условий алгоритмы. [14]
Для систем составления расписания занятий характерна сильная зависимость от специфики конкретных учебных заведений уже на уровне математических моделей и представления данных, что затрудняет использование типовых систем. Систему, созданную в одном вузе, обычно без изменения и доработки невозможно эффективно использовать в другом. К тому же многие из них создавались достаточно давно и с их помощью невозможно эффективно решать поставленную задачу.
Для решения существующих проблем требуется построение гибкой и легко адаптируемой системы на основе новых принципов, с использованием современных VBA-технологий. Необходима система, составляющая расписание в соответствии с выбранными критериями и заданными требованиями. Данные возможности должны осуществляться также без изменения исходного кода системы. Для покрытия наиболее типичных случаев необходимо создание нескольких типовых алгоритмов, реализующих составление расписаний. Данная система должна иметь возможность дополнения и изменения существующей базы данных и пользовательского интерфейса. Всё это давало бы возможность задавать в каждом вузе требования, отвечающие его условиям, и с помощью подбора и настройки подходящего алгоритма получать требуемое расписание.
1.2 Практический опыт и проблемы внедрения систем автоматизированного составления расписания Существует ряд компьютерных программ, которые позволяют автоматизировать составление расписания. Однако решению задачи в большинстве разработках предшествует трудоёмкий процесс ввода исходных данных для формирования единого источника. При этом соотношение объема входных и выходных данных очень велико. Имеют место необоснованные потери времени, возникающие при подготовке значительного объема входных данных лишь для составления расписания.
Существующие проблемы автоматизации составления расписания занятий:
наличие устойчивого мнения о невозможности автоматизации данного процесса. Это приводит к психологическим проблемам при внедрении автоматизированных подходов;
отсутствие единого подхода при составлении занятий учебного процесса. Это приводит к тому, что разработанная технология соответствует требованиям ограниченного числа учебных заведений;
отсутствие достаточного финансирования процессов автоматизации. Даже небольшая цена программы по составлению расписания приводит к невозможности ее внедрения;
отсутствие в учебных заведениях специалистов по информационным технологиям, которые имеют опыт и глубоко понимающих процесс планирования учебных занятий.
1.3 Сравнительный анализ подходов к автоматизации составления расписаний учебных занятий в образовательных учреждениях В общей постановке задача составления расписания представляет собой процесс распределения некоторого конечного набора событий во времени в условиях ресурсных и других ограничений.
В качестве исходных данных для составления расписания выступают перечень специальностей, списки групп студентов, дисциплин, а также учебная нагрузка на группы. Имеющийся ресурс выражен в качестве списка профессорско-преподавательского состава, которые могут читать некоторые предметы в заданных группах, списка аудиторий, количества учебных дней в неделю, максимального количества занятий в день.
Необходимо составить оптимальное расписание занятий для каждой группы по дням недели, распределить учебные аудитории в каждый из дней недели, распределить нагрузку на преподавателей по дням с учетом их пожеланий. То есть наиболее удобным образом распределить имеющиеся ресурсы в соответствии с запросами и выделить время для занятий каждой группы.
Существование удачно составленных расписаний говорит о том, что задача составления оптимального расписания разрешима, или хотя бы о том, что для нее существуют допустимые решения.
Составление расписания относится к задачам целочисленного программирования, сложность решения которых растет экспоненциально с ростом числа и возможных значений варьируемых. Кроме того, для нее характерно наличие большого объема различной по своему составу исходной информации и большого числа трудноформализуемых требований. Указанные сложности препятствуют автоматизации процедуры составления расписания, несмотря на наличие широкого спектра методов целочисленного программирования. [12]
1.4 Подходы к автоматизации составления расписания Во многих университетах расписание формируется в ручном режиме, составляется оно на картонных планшетах, мелким почерком карандашом на них наносится сетка расписания. В таком же виде они распространяются по факультетам и кафедрам. Найти нужную информацию или сделать определенную выборку в такой ситуации крайне затруднительно. Поэтому как минимум необходимо автоматизировать ввод и хранение информации о расписании занятий.
Программные продукты позволяют достаточно успешно формировать расписание занятий в автоматическом режиме, но при этом теряются опыт и устойчивая привычная структура расписания, полученные при ручном составлении.
Кроме того, такие программы чаще всего используют локальный подход, т. е. автоматизацию только одного отдела, ответственного за составление расписания. Сотрудникам этого отдела требуется провести трудоемкий процесс ввода исходной информации в единую базу данных.
Рисунок 1 — Потоки данных при локальном подходе Как видно из схемы на рисунок 1, соотношение объема входных и выходных данных настолько велико, что имеют место необоснованные потери времени, возникающие при подготовке значительного объема входных данных только для составления расписания. Возможность же использования базы данных для решения других задач отсутствует.
1.5 Обзор существующих автоматизированных информационных систем «Расписание»
На сегодняшний день существует ряд программ, реализующих технологию «Расписание». Предлагается рассмотреть несколько, на примерах известных программ.
Система составления расписаний и учета нагрузки преподавателей в вузе «1С: ХроноГраф Расписание».
Программа «1С: ХроноГраф Расписание» предназначена для автоматизации учебного планирования и составления расписания в отдельных подразделениях профессиональных и высших учебных заведений, на различных коммерческих и некоммерческих учебных курсах (компьютерных, изучения иностранных языков, автошколах и т. д.), в учреждениях дополнительного образования, повышения квалификации и переподготовки специалистов (Рисунок 2).
Рисунок 2- Пример окна программы «1С: ХроноГраф Расписание»
Программный продукт (ПП) «1С: ХроноГраф Расписание» представляет собой однопользовательскую конфигурацию системы программ «1С: Предприятие 7.7» и может использоваться совместно с любыми (кроме базовых) версиями программных продуктов, использующих компоненты «Бухгалтерский учет», «Расчет», «Оперативный учет» системы программ «1С: Предприятие 7.7» (например, «1С: Бухгалтерия 7.7 Стандартная версия»).
Продукт может функционировать на базе сетевой версии «1С: Предприятия 7.7», но если в учреждении образования структурные подразделения (факультеты, отделения или кафедры) составляют расписание независимо, то каждое из них должно приобрести отдельную копию продукта.
Проанализировав все стороны данной разработки, можно сказать, что она передаёт целостность такого вопроса, как составление расписания. Но основным её недостатком является несовместимость с открытыми платформами.1С: ХроноГраф — закрытая система. В ней изначально не предполагается интерфейс для интеграции продуктов сторонних разработчиков, например, невозможно напрямую интегрировать СУБД ХроноГрафа и сервер web-приложений. Так же её можно отнести к дорогостоящим ПП и по некоторым статистическим данным, она сложна в обращении.
Программа «Avtor» (АВТОРасписание).
Система «АВТОРасписание» предназначена для быстрого, удобного и качественного составления расписаний занятий и сопровождения их в течение всего учебного года (Рисунок 3).
Имеется восемь основных модификаций программы для различных учебных заведений для средних общеобразовательных школ, лицеев и гимназий, колледжей, техникумов и профессиональных училищ, училищ искусства и культуры, для вузов.
Рисунок 3- Пример окна программы «AVTOR»
AVTOR помогает максимально облегчить и автоматизировать сложный труд составителей расписания. Система помогает легко строить, корректировать и распечатывать в виде удобных и наглядных документов:
расписания занятий классов (учебных групп);
расписания преподавателей;
расписание занятости аудиторий (кабинетов);
учебные нагрузки.
Время работы программы зависит от размерности учебного заведения и мощности компьютера. Полный расчет и оптимизация расписания школы среднего размера со сложными исходными данными (40 классов, 80 преподавателей, из них более 10 совместителей; две смены; дефицит аудиторий) идет около 2−3 минут на компьютере типа Pentium-4.
AVTOR позволяет:
строить расписание без «окон» у классов (учебных групп);
оптимизировать в расписании «окна» преподавателей;
учитывать требуемый диапазон дней/часов для классов, для преподавателей и для аудиторий;
учитывать характер работы и пожелания, как штатных сотрудников, так и совместителей-почасовиков;
оптимально размещать занятия по кабинетам (аудиториям) с учетом особенностей классов, предметов, приоритетов преподавателей и вместимости кабинетов;
вводить расписание звонков;
устанавливать время перехода (переезда) между учебными корпусами;
оптимизировать количество переходов из кабинета в кабинет, и из корпуса в корпус;
легко соединять любые классы (учебные групп) в потоки при проведении любых занятий;
разделять классы (учебные группы) при проведении занятий по иностранному языку, физической культуре, труду, информатике (и любым другим предметам) на любое количество подгрупп (до десяти);
вводить комбинированные уроки для подгрупп (типа «иностранный/информатика») по любым предметам;
вводить (помимо основных предметов) спецкурсы и факультативы;
оптимизировать равномерность и трудоемкость расписания;
легко и быстро вводить и корректировать исходные данные;
иметь любое количество вариантов расписаний;
автоматически преобразовывать расписания при изменении базы данных;
легко сохранять в архивах, копировать и пересылать по E-mail полные базы данных и варианты расписаний (объем архива полной базы расписания средней школы — 10−30 K, большого ВУЗа — 50−70 K);
быстро вносить любые необходимые корректировки в расписание;
находить замены временно отсутствующих преподавателей;
автоматически контролировать расписание, исключая любые «накладки» и противоречия;
выводить расписания в виде удобных и наглядных документов: текстовых, Word, HTML, а также файлов dBase и книг Excel;
выставлять готовые расписания в локальной сети и на Интернет-страницах для общего доступа.
Она предназначена для автоматизированного составления расписания учебных занятий. Программа позволяет оптимизировать использование аудиторного фонда, учитывать особенности учебного процесса (лекции, практические и лабораторные занятия, деление на подгруппы и организацию поточных занятий, проведение занятий по физической культуре и т. д.), учитывать пожелания преподавателей, курсы, расположения учебных корпусов, продолжительность занятий и перерывов. Кроме расписания очного обучения программа позволяет составлять расписание для заочного факультета, колледжа и других учебных структур вуза, обучающихся по другим графикам учебного процесса.
Многофункциональность данного ПП оставляет хорошее впечатление, разработчики отнеслись к этой программе с должным вниманием и учли много проблем и нюансов при составлении учебного расписания. Можно с уверенностью сказать об окупаемости данного ПО в виде трудозатрат сотрудников, но, тем не менее, она остается дорогостоящим продуктом, не каждое учебное заведение может позволить такие затраты. [28]
Программа «Ректор-ВУЗ»
Программа предназначена для составления расписания занятий в вузах. Программа состоит из четырех разделов: «Списки», «Нагрузки», «Расписание» и «Замены».
Раздел «Списки» служит для ввода, редактирования и печати списков кафедр, специальностей, групп, дисциплин, аудиторий, преподавателей и видов занятий. Раздел «Нагрузки» используется для ввода, редактирования и печати учебных планов по каждой специальности, нагрузок преподавателей, графиков распределения часов по неделям в пределах семестра, отчетов по загрузке преподавателей, кафедр и вуза в целом. Раздел «Расписание» предназначен для составления расписания по группам, преподавателям, аудиториями и вузу в целом. Раздел «Замены» позволяет оперировать заменами преподавателей.
Расписание занятий можно составлять в автоматическом, ручном или комбинированном режиме; переходить от одного режима к другому можно в любой момент времени. При составлении расписания в автоматическом режиме программа учитывает все сформулированные требования к расписанию. При составлении расписания в ручном режиме программа подсказывает возможные варианты расстановки уроков выбранного преподавателя, возможные варианты заполнения пустых клеток в расписании группы, следит за количеством мест в аудиториях.
Готовое расписание занятий одного, всех или некоторых групп и преподавателей можно сохранить в форматах Microsoft Word, Excel или HTML.
Программа «Ректор-ВУЗ» работает на любом компьютере с операционной системой Windows XP, Windows Vista или Windows 7.
Главная форма программы «Ректор-ВУЗ» изображена на Рисунок 4.
Рисунок 4 — Пример окна программы «Ректор-ВУЗ»
Такие программы очень дорогостоящие, сделаны для крупных предприятий или сложны в обращении. Так же для ведения таких программ нужна поддержка, которая требует больших материальных затрат, заключение специальных договоров о сопровождении и необходимость содержать целый штат сотрудников, которые будут заниматься ее поддержкой. Было принято решение создать оригинальную программу более легкую в эксплуатации на платформе Microsoft Excel Visual Basic for Application.
2. Описание программного решения
2.1 Основные требования к разрабатываемой системе Одной из целей, преследуемых при проведении автоматизации ВУЗа является создание базы данных. Наличие единого центра хранения информации (базы данных) с целью минимизировать функции пользователя — не менее важная задача при создании автоматизированных систем. В связи с наличием в высших учебных заведениях учебных планов, планов индивидуальной нагрузки, одним из главных требований к разрабатываемой системе является возможность импорта информации в общую базу, для использования хранящейся в ней информации о студентах, кафедрах и учебных планах.
Также одним из требований, предъявляемых к разрабатываемой системе, является создание и настройка удобного пользовательского интерфейса, обеспечивающего легкое восприятие и обработку информации, а также минимизирующего пользовательские операции.
Разрабатываемая система должна учитывать принятые нормы времени в вузах Российской Федерации и подготавливать данные о периоде обучения, с учетом специфики организации учебной деятельности конкретного образовательного учреждения на основе:
задания учебного года;
задания учебных периодов в рамках одного периода учебного планирования с целью детализации сроков преподавания учебных курсов, обучения учебных групп и работы преподавателей;
автоматического формирования списка недель, приходящихся на выбранный период учебного планирования с указанием признака четности/нечетности и количества рабочих дней.
Система должна планировать учебную деятельность всего учебного заведения или отдельных подразделений (факультетов, отделений, кафедр и т. п.), используя:
организацию и задание структуры уровней обучения с возможностью дифференциации их на подуровни;
формирование списка учебных курсов (предметов, дисциплин, тем и т. п.) с указанием сроков их преподавания и возможностью просмотра информации об учебных неделях, входящих в заданный отрезок времени;
создание списка учебных групп с указанием численности, специализации и уровня обучения;
задание нагрузки учебным группам/подгруппам на весь период учебного планирования;
формирование списка преподавателей;
распределение часов учебного курса в рамках учебной группы/подгруппы по нескольким преподавателям на различные отрезки времени в границах заданного периода учебного планирования;
Одним из требований является создание графиков работы преподавателей, обучающихся и аудиторий на основе:
назначения конкретных нерабочих часов и дней для преподавателей, учебных групп и аудиторий;
задания максимально возможного количества рабочих дней преподавателя для каждой недели текущего периода учебного планирования;
автоматического копирования графика работы выбранного преподавателя/группы/аудитории с одной недели на заданную последовательность недель.
Так же требуется создать методически выдержанное расписание учебных занятий на основе:
понедельного планирования занятий конкретного преподавателя непосредственно при составлении расписания;
назначения занятий преподавателям в режиме выбранной группы на текущую неделю;
возможности копирования расписания выбранного преподавателя или учебной группы с текущей недели на заданную последовательность недель в рамках учебного периода;
назначения аудиторий для проведения занятий с учетом их расположения, вместимости и численности учебных групп.
Отчетные формы предоставляют администратором подробную информацию:
нагрузки специальностей и кафедр за год;
нормативном количестве штатных единиц по кафедрам за определенный промежуток времени.
Таким образом, методами достижения поставленных задач можно считать:
создание единой базы данных автоматизированной системы высшего учебного заведения;
создание и настройка пользовательского интерфейса;
генерация отчетных форм.
2.2 Описание исходных данных для разработки функционала программы В качестве исходных данных используются книги Microsoft Office Excel содержащие в себе информацию о кафедрах, преподавателях, аудиториях, дисциплинах, группах и нагрузок для факультета информатики.
Факультет информатики является ведущим подразделением Российского государственного профессионально-педагогического университета по внедрению информационно-коммуникационных образовательных технологий и средств телекоммуникации по всем формам обучения и видам образовательных программ.
На факультете имеется 8 компьютерных классов, в преподавательский состав входит более 30 преподавателей, количество преподаваемых дисциплин составляет более 40.
Исходные данные расписания очного отделения Из исходных данных было определено, что расписание очного отделения представляет из себя сетку занятий по аудиториям на четную и нечетную неделю, расписание построчно делится на дни недели и номера занятий (рисунок 5). Данная таблица является основной для очного отделения, составляется два раза в год, в начале каждого семестра.
Рисунок 5 — Таблица расписания очного отделения по аудиториям Каждое занятие в расписании содержит в себе следующую информацию:
дисциплина;
группа, для которой назначено занятие;
преподаватели;
аудитории.
Для добавления занятия инженер по составлению расписания вручную вносит данную информацию анализируя файлы нагрузки.
После внесения информации в основную таблицу расписания очного отделения, производится ручное заполнение листов расписания по преподавателям различных кафедр (Рисунок 6).
Рисунок 6 — Таблица расписания очного отделения по преподавателям Проверка корректности внесенных данных производится вручную.
Исходные данные расписания заочного отделения Расписание заочного отделения представляет из себя сетку занятий по аудиториям на один семестр, расписание делится построчно по датам и номерам занятий (Рисунок 7). Данная таблица является основной для заочного отделения.
Рисунок 7 — Таблица расписания заочного отделения по аудиториям В данную таблицу так же, как и в расписании очного отделения, вносится информацию о занятии. Помимо занятий заочного отделения в данную таблицу вручную дублируются занятия из расписания очного отделения.
После заполнения основной таблицы расписания заочного отделения, инженер по расписанию дублирует добавленные занятия в листы для каждого преподавателя (Рисунок 8).
Рисунок 8 — Листы расписания заочного отделения по преподавателям На каждом листе преподавателя снова дублируется информация о занятиях очного и заочного отделения по данному преподавателю.
Таким образом, чтобы составить расписание очного и заочного отделения, инженеру приходится дублировать одну информацию в нескольких листах и книгах. Человеческий фактор может стать причиной возникновения ошибки в составлении расписания, которая в свою очередь может нарушить учебный процесс.
В связи с тем, что для составления расписания используется табличный процессор Microsoft Office Excel, для разработки прикладного программного обеспечения был выбран язык программирования Microsoft Office Visual Basic for Application.
2.2 Технология разработки автоматизированной системы расписания занятий и описание интерфейса автоматической системы Интерфейс автоматизированной системы представляет собой приложение, разработанное на языке программирования Microsoft Visual Basic for Application (VBA) с использованием пользовательских форм. Интерфейс предоставляет пользователю автоматизированной системы возможность в удобной форме обрабатывать необходимую информацию.
VBA — это подмножество визуального языка программирования Visual Basic (VB), которое включает почти все средства создания приложений VB. Этот язык позволяет создавать приложения, выполняемые в среде Microsoft Office. Это могут быть разнообразные аналитические программы, финансовые системы, программы учета кадров, системы автоматического создания официальных писем/документов с помощью библиотеки готовых шаблонов и т. п. При этом интерфейс создаваемой программы может быть совершенно непохожим на интерфейс того приложения, в котором она написана (Рисунок 9). [10]
Рисунок 9 — Интерфейс редактора Visual Basic for Application
VBA сочетает в себе практически неограниченные возможности с простотой изучения и использования. Теперь большинство функций можно описать, не прибегая к программированию. В том случае, если возможностей языка недостаточно, можно обратиться к API-функциям Windows. Пожалуй, самое главное достоинство VBA в том, что этот язык является единым для всех офисных приложений Microsoft и поэтому позволяет связывать их между собой. Уже сейчас из программы, написанной в Microsoft Office Excel, можно обращаться к объектам Microsoft Office Word для Microsoft Windows, а также Microsoft Office Project. Это открывает заманчивые перспективы. К примеру пользователь на конкретном рабочем месте может на основе некоторых данных, извлекаемых из базы, делать их анализ, строить диаграммы и проектировать деятельность организации, а также автоматически выполнять рассылку этих обработанных данных по некоторым адресам вместе с сопроводительным письмом. Все это можно сделать средствами офисных продуктов Microsoft, однако при этом пользователь должен в совершенстве овладеть каждым из них. В случае если программа для решения этой задачи написан на VBA, пользователю придется изучить только ее. [17]
Программа Microsoft Office Excel, являясь лидером на рынке программ обработки электронных таблиц, определяет тенденции развития в этой области. Вплоть до версии 4.0 программа Microsoft Office Excel представляла собой фактический стандарт с точки зрения функциональных возможностей и удобства работы.
Одним из важнейших функциональных расширений программы, предназначенным для профессионалов, является встроенная в Microsoft Office Excel среда программирования Visual Basic (VBA) для решения прикладных задач. Благодаря VBA фирме Microsoft удалось не только расширить возможности языка макрокоманд Microsoft Office Excel, но и ввести новый уровень прикладного программирования, поскольку VBA позволяет создавать полноценные прикладные пакеты, которые по своим функциям выходят далеко за рамки обработки электронных таблиц.
Разработка сложной автоматизированной системы, как правило, предполагает внедрение разнообразных сервисов, разграничения прав доступа к разделам и материалам, большой объем информации с возможностью поиска, постоянное развитие проекта в дальнейшем.
Чтобы реализовать указанные требования, в VBA существует огромное количество возможностей, с помощью которых можно построить сложную информационную систему.
В рамках дипломной работы были разработаны следующие модули VBA:
ADOExcel. Основной модуль для создания запросов и вывода их на формы с применением разнообразных фильтров по выбранным полям. В комплексе с различными модулями дает возможность проектировать все виды представлений на формах и листах Microsoft Office Excel.
DateAndTime. Выводит форму с календарём. В календаре можно настроить форматы дат, переключаться между просмотром по годам, неделям и дням.
FWF. Модуль для работы функции обновления основного приложения. Модуль позволяет разработчику быстро опубликовать новую версию приложения и информацию об обновлении на файловый сервер. При появление новой версии, пользователям предлагается обновиться до последней актуальной версии. Резервное копирование и функции переноса данных позволяют сохранить всю информацию без потерь.
BaseForSheetFunctions. Модуль включает в себя различные функции для работы с информацией на листах/формах, например, сгенерировать инициалы из ФИО, перевод чисел в текст и т. д.
CommonFunctions. Модуль содержит вспомогательные функции для работы различных инструментов форм.
Main. Модуль, хранящий в себе системные константы для правильного обращения к данным на листах.
Sys. Системный модуль, содержит в себе функции Windows API, а также функции создание панели надстройки.
TableGenerate. Основной модуль генерации расписаний на листах Microsoft Office Excel.
CheckModule. Основной модуль проверки корректности внесенных данных.
PopupMenu. Модуль генерации контекстового меню на листах Microsoft Office Excel.
Для разработки пользовательского интерфейса были использованы встроенные в редактор VBA наборы элементов управления и редактор форм. Элементы управления являются объектами, а для каждого объекта определен ряд возможных событий (например, щелчок или двойной щелчок мыши, нажатие клавиши, перетаскивание объекта и т. д.).
2.4 Описание структуры разделов пользовательского интерфейса При открытии главной формы программы (Рисунок 10), пользователю предоставляется возможность выбора направления работы:
генерация сетки расписания разных типов;
работа со справочниками.
Рисунок 10 — Главная форма автоматизированной системы
2.4.1 Раздел «Справочник»
Справочники содержат в себе информацию необходимую для составления расписаний.
Структуру раздела «Справочники» можно представить на схеме, изображенной на Рисунок 11.
Рисунок 11 — Структура раздела «Справочники»
Краткое описание назначений основных объектов
«База данных» — объект, содержащий информацию о специальностях, группах, преподавателях, учебных планах, дополнительную справочную информацию.
«Пользовательский интерфейс» — объект, обеспечивающий высокую информативность выводимой на экран информации, организующий удобство ее вывода и обработки пользователем автоматизированной системы.
Данный раздел позволяет в удобной форме управлять исходными данными для составления расписаний. Функции проверки и форматирования данных позволят контролировать корректность вводимых и изменяемых записей.
В разделе «Справочники» пользователь выбирает из меню необходимый справочник для дальнейшего редактирования (Рисунок 12).
Рисунок 12 — Раздел «Справочники»
Состав меню «Справочники» (Рисунок 13):
кафедры;
специальности;
группы;
дисциплины;
аудитории;
преподаватели;
виды занятий.
Рисунок 13 — Состав меню «Справочники»
Каждый справочник имеет следующие элементы управления:
кнопки управления записями (Рисунок 14);
список записей (Рисунок 15);
счетчик записей (производит подсчет количества записей в текущем справочнике).
Рисунок 14 — Кнопки управлениями записями Рисунок 15 — Список записей Действия кнопок меню управления справочниками Кнопка «Добавить» — открывает форму добавления записи. Поля с выпадающим списком заполняются автоматически из других справочников. Пример формы добавления записи для справочника «Кафедры» (Рисунок 16).
Рисунок 16 — Форма добавления записи справочника «Кафедры»
Кнопка «Вставить» — предлагает выполнить импорт записей из книги Microsoft Office Excel. Пользователь должен указать путь к книге, программа проанализирует содержимое выбранной книги и предложит диапазон ячеек для импорта, если диапазон выбран неверно, то пользователь самостоятельно выделяет нужный и подтверждает импорт (Рисунок 17).
Рисунок 17 — Диалоговое окно выбора диапазона ячеек для импорта Кнопка «Изменить» — открывает форму редактирования выбранной записи из списка. Форма открывается как при нажатии на соответствующую кнопку, так и при двойном щелчке мыши по выбранной записи. Кнопка ставится доступной при выборе записи в списке. Пример формы изменения записи для справочника «Кафедры» (Рисунок 18).
Рисунок 18 — Форма изменения записи справочника «Кафедры»
Кнопка «Удалить» — открывает диалоговое окно с подтверждением удаления текущей записи. Кнопка ставится доступной при выборе записи в списке. Пример работы кнопки для записи из справочника «Кафедры» (Рисунок 19).
Рисунок 19 — Диалоговое окно удаления записи из справочника «Кафедры»
Кнопка «Печать» — выводит на печать текущий справочник (Рисунок 20).
Рисунок 20 — Окно предварительного просмотра печати справочника «Кафедры»
2.4.2 Раздел «Генерация расписания»
Генерация сетки расписания осуществляется нажатием на соответствующую кнопку на главной форме в разделе «Расписание». Каждое расписание генерируется на соответствующий лист, а при его отсутствии создается новый лист, с сохранением пользовательского функционала.
Генерация расписания очного отделения. Расписание очно отделения генерируется два раза в год, в начале каждого семестра. Сетка расписания делится по колонкам на аудитории и тип недели (четная/нечетная), построчно расписание делится на дни недели и номера занятий.
Для того, чтобы запустить генерацию сетки расписания используется кнопка «Генерация расписания очного отделения (по аудиториям)» (Рисунок 21).
Рисунок 21 — Кнопка запуска генерации расписания очного отделения При нажатии на кнопку, программа проверит, имеется ли заполненное расписание перед генерацией нового, если расписание имеется, пользователю будет предложено создать резервную копию расписания (Рисунок 22).
Рисунок 22 — Предупреждение пользователя о имеющемся расписании После запуска процесса генерации расписания производится проверка наличия записей в справочнике «Аудитории», если записи имеются, то на лист «Очное расписание — аудитории» генерируется сетка расписания, в которой в качестве названия столбцов используется маска «номер корпуса — номер аудитории». В примечание к ячейке аудитории добавляется информация из справочной (название кафедры, характеристика и примечание). Столбец делится на красную и синюю неделю (четная/нечетная). В первом столбце расписания построчно заполняются названия дней недели с понедельника по субботу, во втором столбце заносится номер занятия с 1 по 7 для каждого дня недели. После генерации данных применяется визуальное форматирование ячеек (Рисунок 23).
Рисунок 23 — Фрагмент сетки расписания очного отделения Генерация расписания заочного отделения Расписание заочного отделения генерируется два раза в год, в начале каждого семестра. Сетка расписания делится по колонкам на аудитории, построчно расписание делится на дни недели, даты и номера занятий.
Для того, чтобы запустить генерацию сетки расписания используется кнопка «Генерация расписания заочного отделения (по аудиториям)» (Рисунок 24). Перед тем как запустить генерацию расписания, пользователю необходимо задать период дат для генерации. После выбора периода генерации расписания, программа автоматически предложит вариант отсчета четности недели (красная неделя — четная, синяя — нечетная).
Рисунок 24 — Форма запуска генерации расписания заочного отделения При нажатии на кнопку, программа проверит, имеется ли заполненное расписание перед генерацией нового, если расписание имеется, пользователю будет предложено создать резервную копию расписания.
После запуска процесса генерации расписания производится проверка наличия записей в справочнике «Аудитории», если записи имеются, то на лист «Заочное расписание — аудитории» генерируется сетка расписания, в которой в качестве названия столбцов используется маска «номер корпуса — номер аудитории». В примечание к ячейке аудитории добавляется информация из справочной (название кафедры, характеристика и примечание). В первом столбце расписания построчно заполняются названия дней недели и дата в соответствии с заданным периодом генерации, во втором столбце заносится номер занятия с 1 по 7 для каждой даты. После генерации данных применяется визуальное форматирование ячеек (Рисунок 25).
Рисунок 25 — Фрагмент сетки расписания заочного отделения Генерация расписания очного отделения по преподавателям После того как были подготовлены сетки расписаний по аудиториям, генерируется расписание по преподавателям.
Для очного отделения генерируются сетки по преподавателям с разделением на кафедры по листам.
Для начала генерации сетки расписания выбирается кафедра из списка кафедр (Рисунок 26). Список наполняется доступными кафедрами анализируя справочники «Преподаватели» и «Кафедры». После выбора необходимой кафедры и нажатия на кнопку «Генерация расписания по преподавателям» запускается процесс генерации расписания по преподавателям.
Рисунок 26 — Форма запуска генерации расписания очного отделения по преподавателям В результате генерации создается лист с названием «Расписание по преподавателям», через тире указывается краткое название кафедры (если оно задано в справочнике «Кафедры») (Рисунок 27). Сетка расписания делится по столбцам ФИО преподавателя и типу недели. В первом столбце расписания построчно заполняются названия дней недели с понедельника по субботу, во втором столбце заносится номер занятия с 1 по 7 для каждого дня недели.
Рисунок 27 — Генерируемые листы расписаний преподавателей После генерации данных применяется визуальное форматирование ячеек (Рисунок 28).
Рисунок 28 — Фрагмент сетки расписания очного отделения по преподавателям
2.4.3 Форма добавления и управления занятиями В рамках сетки расписание становится доступно контекстное меню, для добавления, изменения и удаления занятий (Рисунок 29). Контекстное меню раскрывается правым щелчком мыши и доступно строго в рамках текущей сетки расписания.
Состав контекстного меню:
пункт «Добавить занятие»;
пункт удалить занятие;
раскрывающееся меню «Изменить занятие».
Рисунок 29 — Пункты контекстного меню Действия элементов управления формы добавления занятия При выборе пункта контекстного меню «Добавить занятие» — открывается форма добавления занятия. В форму автоматически загружаются данные аудитории дня недели, и номер занятия по выбранной ячейке (Рисунок 30).
Рисунок 30 — Форма добавления занятия Описание элементов управления формы добавления занятий Список «Кафедра» — список наполняется доступными кафедрами анализируя справочники «Преподаватели» и «Кафедры» (Рисунок 31).
Рисунок 31 — Список выбора кафедры Поле с выпадающим списком «Дисциплина» — заполняется данными из справочника «Дисциплины». Если в списке «Кафедра» выбрана кафедра, то список дисциплин фильтруется по выбранной кафедре. В данном поле используется функция живого поиска, при вводе части названия дисциплины срабатывает фильтр, добавляя в список строки, содержащие в себе введенный текст (Рисунок 32). Для установки необходимой дисциплины достаточно выбрать её в списке, либо использовать клавишу «Enter», в таком случае автоматически выберется первая запись в списке соответствующая условию фильтра.
Рисунок 32 — Поле с выпадающим списком «Дисциплина»
Блок «Список преподавателей» — состоит из двух элементов:
список преподавателей — наполняется доступными данными из справочника «Преподаватели». Если в списке «Кафедра» выбрана кафедра, то список преподавателей фильтруется по выбранной кафедре (Рисунок 33).
Рисунок 33 — Список преподавателей фильтр списка преподавателей — фильтрует список по введенной части ФИО преподавателя, при этом учитывается условие выбранной кафедры в списке «Кафедра» (Рисунок 34).
Рисунок 34 — Работа фильтра преподавателей Список «Назначенные преподаватели» — наполняемый список назначенных для выбранного занятия преподавателей (Рисунок 35).
Рисунок 35 — Список назначенных преподавателей Способы наполнения списка:
двойной клик мыши по записи в списке преподавателей;
мульти-выделение с перетаскиванием;