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

Время чтения
1 минут
Прочитано

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

февраля 09, 2013 - 23:20
9 комментариев

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

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

Страница проекта: http://drupal.la.by

Защита дипломного проекта

Реферат

ИНФОРМАЦИОННАЯ СИСТЕМА, ВЫСШЕЕ УЧЕБНОЕ ЗАВЕДЕНИЕ, АВТОМАТИЗИРОВАННАЯ СИСТЕМА, РАСПИСАНИЕ ЗАНЯТИЙ, ФАКУЛЬТЕТ, CMS DRUPAL, PHP, ВЕБ-ПРОГРАММИРОВАНИЕ.

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

Предмет исследования – применение современных информационных технологий и средств веб-программирования для создания автоматизированных информационных систем.

Цель работы – проектирование и разработка автоматизированной системы расписания занятий высшего учебного заведения.

Методы исследования и технология разработки: описательно-аналитический, экспериментальный, анализ проблем автоматизации работы высших учебных заведений, разработка системы расписания факультетов университета. В качестве системы управления базами данных выбрана СУБД MySQL. Средствами разработки являются PHP, HTML5 и jQuery, инструментарий для разработки и администрирования веб-проектом – система управления сайтом CMS/CMF Drupal 7.

Элементы новизны: использование современных веб-технологий HTML5, CSS3 и jQuery при проектировании веб-проекта.

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

Введение

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

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

Вне зависимости от объекта автоматизации, будь то преподавательский состав или администрация университета, в образовательном учреждении такие системы внедряют, преследуя конечную цель - повышение качества образования.

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

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

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

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

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

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

Для создания системы использовались языки программирования PHP, HTML5, CSS3 и jQuery-плагин FullCalendar для отображения сетки расписания, в качестве системы управления базами данных использовалась СУБД MySQL. Основной используемый инструмент для разработки и администрирования проекта – система управления сайтом CMS Drupal 7.

В первой главе дипломной работы рассматривается анализ проблем, связанных с автоматизацией деятельности ВУЗа, проводится анализ основных вопросов  и  подходов автоматизированного составления расписания занятий в высшем учебном заведении.

Во второй главе формулируются требования к разрабатываемой системе, определяются критерии выбора СУБД такие как:

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

Здесь приводится описание используемой СУБД и её преимуществ.

В третьей главе описывается структура базы данных MySQL и технология разработки автоматизированной системы расписания занятий, описываются созданные представления и пользовательские процедуры с использованием инструментов CMS Drupal 7. Глава включает описание работы сервисов и руководство по использованию программы.

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

1 Теоретические основы автоматизированной информационной системы расписания занятий

1.1 Проблемы автоматизации деятельности высшего учебного заведения

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

Вопросов для чего нужна автоматизация тех или иных процессов, как правило, не возникает. Но вот вопросы - как и с чего начать автоматизацию возникают у многих. Сколько потребуется денежных средств? Что и у кого приобретать? Как внедрять? Кто будет заниматься сопровождением программного продукта? Кто будет финансировать? Эти и многие другие вопросы обязательно возникают в начале автоматизации любых процессов.

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

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

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

Этап 1: постановка проблемы, оценка необходимости автоматизации и возможностей предприятия;
Этап 2: формирование требований к программно-аппаратному комплексу, выбор или реализация программного продукта и технического обеспечения;
Этап 3: внедрение программного продукта;
Этап 4: послегарантийное обслуживание программно-аппаратного комплекса.

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

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

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

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

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

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

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

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

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

1.2 Обзор основных вопросов автоматизированного составления расписания занятий в высшем учебном заведении

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

Количественный и качественный рост высшей школы требует нового подхода к решению задач управления учебной, научной и хозяйственной деятельностью вузов. Этот подход в последние годы находит свое воплощение в применении современных средств вычислительной техники и математических методов в управлении высшими учебными заведениями. В современном мире всё большее распространение получают различного рода системы автоматизации технических процессов, которые всегда выполнялись вручную. Например, системы принятия решения в маркетинге, экспертные системы, заменяющие опытных специалистов, прогнозирующие системы в самых различных областях науки и техники. К таким же процессам относится и составление расписания, которое до сих пор во многих учебных заведениях создается вручную на основе многолетнего опыта. Современные it-технологии располагают средствами, позволяющими наилучшим образом организовать любой процесс, в том числе и учебный.

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

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

В последние годы предпринимаются множественные попытки совершенствования планирования учебного процесса путем построения алгоритмов оптимизации задач планирования учебной работы вуза с использованием вычислительной техники и программного обеспечения Microsoft Excel. Практическое внедрение планирования учебного процесса с использованием веб-технологий имеет место лишь в немногих вузах. Анализ состояния этих разработок позволяет сделать следующие выводы:

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

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

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

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

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

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

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

1.3 Сравнительный анализ подходов к автоматизации составления расписаний учебных занятий в образовательных учреждениях

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

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

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

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

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

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

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

Процесс продолжается до тех пор, пока не будет сформировано полное расписание или выполнится фиксированное количество итераций.

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

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

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

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

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

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

Потоки данных при локальном подходе

Рисунок 1.1 - Потоки данных при локальном подходе

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

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

Таким образом, схема потоков данных примет вид, представленный на рисунке 1.2.

Рисунок 1.2. Потоки данных при системном подходе

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

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

Примером системы с применением системного подхода будет служить, разработанное в рамках данной дипломной работы, автоматизированное расписание занятий высшего учебного заведения с использованием CMS/CMF Drupal 7.

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

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

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

2 Постановка задачи и выбор средства разработки

2.1 Требования к разрабатываемой системе

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

В приложении A представлена структура программного продукта.

Краткое описание назначений основных объектов:

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

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

Разрабатываемая система при расчете нагрузки и штатной численности кафедр университетов учитывает принятые нормы времени в вузах Республики Беларусь.

Отчетные формы предоставляют администратором подробную информацию:

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

2.2 Выбор средства разработки и системы управления базами данных

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

Наиболее правильный подход при выборе СУБД основан на оценке того, в какой мере существующие системы удовлетворяют основным требованиям создаваемого проекта информационной системы.

Существует несколько критериев выбора системы управления базами данных:

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

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

Критерий, определяющий особенности архитектуры и функциональные особенности, предполагает оценку:

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

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

Многие производители СУБД выпускают также средства разработки приложений для своих систем. Как правило, эти средства позволяют наилучшим образом реализовать все возможности сервера, поэтому при анализе СУБД стоит рассмотреть также и возможности средств разработки приложений. Некоторые системы имеют средства автоматического проектирования, как баз данных, так и прикладных программ.

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

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

Наличие возможности обеспечения параллельной обработки данных в СУБД играет не менее важную роль при выборе системы. Можно выделить два подхода: распараллеливание обработки последовательности запросов на несколько процессоров, либо использование нескольких компьютеров-клиентов, работающих с одной БД, которые объединяют в так называемый параллельный сервер.

Желательно, чтобы выбранная система позволяла производить оптимизацию запросов.

Критерий надежности системы включает возможность:

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

Немаловажно определить и требования к рабочей среде такие как:

  • поддерживаемые аппаратные платформы;
  • минимальные требования к оборудованию;
  • максимальный размер адресуемой памяти;
  • операционные системы, под управлением которых способна работать СУБД.

К смешанным критериям можно отнести:

  • качество и полноту документации;
  • локализованность, возможность использования национальных языков;
  • модель формирования стоимости производителем СУБД;
  • стабильность производителя;
  • распространенность СУБД.

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

В качестве системы управления базами данных в автоматизированной системе расписания занятий используется наиболее популярная СУБД MySQL. Кроме того, проект, разработанный при помощи  фреймворка CMS Drupal 7, позволяет создавать и разворачивать на веб-сервере установочный профиль и использовать базы данных PostgreSQL и SQLite.

MySQL — свободная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, имеющая на данный момент права на торговую марку. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

MySQL является наиболее приспособленной для применения в среде веб системой управления базами данных. При этом она стала незыблемым стандартом в области СУБД для веб, в которой развиваются возможности для использования ее в любых критичных бизнес-приложениях, что создает конкуренцию на равных с СУБД таких производителей, как Oracle, IBM, Microsoft и Sybase.

Основные преимущества MySQL:

- многопоточность, поддержка нескольких одновременных запросов;
- оптимизация связей с присоединением многих данных за один проход;
- записи фиксированной и переменной длины;
- ODBC драйвер;
- гибкая система привилегий и паролей;
- гибкая поддержка форматов чисел, строк переменной длины и меток времени;
- интерфейс с языками C и Perl, PHP;
- быстрая работа, масштабируемость;
- совместимость с ANSI SQL;
- бесплатна в большинстве случаев;
- хорошая поддержка со стороны провайдеров услуг хостинга;
быстрая поддержка транзакций через механизм InnoDB.

Руководствуясь тем, что одним из главных требований при создании автоматизированной системы расписания занятий является интеграция в единое информационное пространство, а также единую базу данных ВУЗа, и в связи выявленными преимуществами распространённой СУБД, было принято решение об использовании в основе разрабатываемой системы СУБД MySQL.

3 Разработка и реализация автоматизированной системы расписания занятий учебного заведения

3.1 Структура проекта и базы данных MySQL

Общая схема структуры базы данных CMS Drupal 7, включая подсистемы хранения страниц (нод), блоков, иерархии, таксономии, меню, пользовательских прав и ролей пользователей приведена в приложении Б.

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

Таксономия (Taxonomy)

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

В рамках автоматизированной системы используется 3 типа словарей: вид занятий, преподаватель, факультет.

В состав словаря «вид занятий» входит термины:

- лабораторное занятие
- лекция
- полевая практика
- практическое занятие
- производственная практика
- семинар

В состав словаря «Преподаватель» входят термины с профессорско-преподавательском составом. Каждый термин содержит следующие поля:

- Ф.И.О. преподавателя
- Резюме
- Должность
- E-mail
- Телефон
- Факультет
- Кафедра

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

Нода (Node)

Нода является структурной единицей материала (контента) в Drupal 7. Стандартные типы материалов, такие как заметка (story), запись блога (blogs), страница (page) являются нодами. Для создания учебных занятий мы разработали собственный тип нод с названием «Расписание занятий». Основные типы полей и их назначение продемонстрированы в таблице 1.

Таблица 1 ­ Структура ноды «Расписание занятий»

Метка

Машинное имя

Тип поля

Виджет

Название

Title

Элемент модуля Node

 

Описание занятия

body

Текст с анонсом

Текстовая область

Начало

field_date_rasp

Дата

Pop-up calendar

Окончание

field_date_rasp_end

Дата

Pop-up calendar

Преподаватель

field_teacher

Ссылка на термин

Выбор из списка

Место проведения

field_adress

Список (текст)

Выбор из списка

Аудитория

field_place

Текст

Текстовое поле

Факультет

field_faculty

Ссылка на термин

Выбор из списка

Кафедра

field_kafedra

Ссылка на термин

Выбор из списка

Вид занятий

field_course

Список (текст)

Выбор из списка

Представления (views)

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

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

В рамках целей и задачей дипломной работы нами был создан отдельный views, который использует плагин FullCalendar jQuery для отображения сетки расписания занятий и вывод информации из типа материала «Расписание занятий» по дате с использованием взаимосвязанных фильтров таксономии «Специальность – Группа» (рисунок 3.1).

Общий вид настройки представления Views

Рисунок 3.1 - Общий вид настройки представления Views

3.2 Технология разработки автоматизированной системы расписания занятий и описание интерфейса системы управления сайтом CMS Drupal 7

Интерфейс автоматизированной системы представляет собой веб-приложение, разработанное на языке программирования PHP с использованием популярного CMF фреймворка Drupal 7. Интерфейс предоставляет пользователю автоматизированной системы возможность в удобной форме обрабатывать необходимую информацию.

Drupal (Друпал) – одна из самых популярных систем управления сайтом с открытым исходным кодом. Благодаря огромному функционалу и активному сообществу, многие крупные организации и образовательные учреждения выбирают данную CMS в качестве главной составляющей развития компании в сети Интернет. Среди самых высокопосещаемых Интернет-проектов можно выделить сайт Белого Дома (http://www.whitehouse.gov/), сайт Гарвардского университета (http://www.harvard.edu/), официальный сайт операционной системы Ubuntu (http://www.ubuntu.com/), сайт Стенфордского университета (http://stanford.edu), сайт Колумбийского университета (http://columbia.edu), сайт Аризонского университета (http://arizona.edu) и многие другие.

Архитектура CMS/СMF Drupal построена по принципу объектно-ориентированного программирования. Структурной единицей материалов является Node (нода), на её основе строятся остальные типы материалов. Чтобы классифицировать и структурировать ноды в Drupal, введено понятие «Таксономия». Путем создания словарей и терминов можно построить любую структуру будущего веб-проекта.

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

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

В рамках дипломной работы использовались следующие модули Drupal 7:

1. ССK. Позволяет создавать типы материалов и добавлять к ним различные типы полей (текстовое поле, текстовая область, поле даты, изображение, ссылка, скрытые поля).

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

3. Image. Позволяет редактировать изображения и добавляет поле «Изображение» в содержание материалов. Благодаря поддержке библиотеки Graphics Library (GD) появляются уникальные возможности для обработки изображений с созданием различным стилей и привязки их к определенным полям типов материалов.

4. Node Reference. Модуль для организации связи между материалами.

5. Date. API для работы с датой и гибкое поле "время\дата" для модуля CCK.

6. Calendar. Добавляет на сайт вид с календарём. В календаре можно настроить форматы дат, переключаться между просмотром по годам, неделям и дням. Календарь является видом, все выводимые им данные настраиваются через модуль Views.

7. Feeds. Модуль позволяет собирать данные из различных источников и сохранять их в виде документов, пользователей, терминов или просто записей в базе данных. Основным назначением модуля в автоматизированной системе является экспорт данных расписания занятий в формате .csv.

Для разработки пользовательского интерфейса был применен FullCalendar - jQuery плагин, который использует технологию AJAX. Он имеет широкие функциональные возможности, легок в конфигурации, работает с большинством форматов даты и времени. Так же FullCalendar является плагином с открытым исходным кодом и находиться под лицензией MIT или GPL Version 2.

При открытии главной страницы веб-интерфейса (рисунок 3.2) пользователю предоставляется возможность выбора направления работы:

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

Главная страница веб-интерфейса автоматизированной системы

Рисунок 3.2 - Главная страница веб-интерфейса автоматизированной системы

Переход к работе по выбранным направлениям осуществляется нажатием на ссылку левой кнопкой мыши.

Каждое учебное занятие обозначается соответствующим маркером-цветом, который наглядно обозначает тип занятия: лекция, лабораторное занятие, семинар, практическое занятие, производственная практика, полевая практика (рисунок 3.3).

Обозначение цветовых маркеров типов учебных занятий

Рисунок 3.3 - Обозначение цветовых маркеров типов учебных занятий

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

Информация о текущем занятии учебной группы

Рисунок 3.4 - Информация о текущем занятии учебной группы

При нажатии на пункт «Преподаватель», система дает возможность просмотреть контактную информацию о преподавателе и весь учебный план. Контактная информация включает в себя Ф.И.О преподавателя, должность, e-mail, контактный телефон, аудиторию, специальность и общее резюме (рисунок 3.5).

Информация о преподавателе и закрепленных учебных предметах

Рисунок 3.5 - Информация о преподавателе и закрепленных учебных предметах

Для централизованной настройки и управления автоматизированной системой расписания занятий система управления сайтом CMS Drupal 7 имеет удобную административную панель и различные инструменты для удобного назначения административных прав и ролей.

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

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

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

Настройка ролей и прав доступа в CMS Drupal 7

Таким образом, с учетом основных требований к безопасности автоматизированной системы можно выделить основные преимущества данной СMS:

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

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

Импорт расписания занятий в формате .csv

Рисунок 3.7 - Импорт расписания занятий в формате .csv

Для массового заполнения предусмотрен импорт готового файла в формате .csv с набором ячеек, согласно разработанному интерфейсу администрирования расписания занятий (рисунок 3.7).

Веб-проект спроектирован с использованием современной адаптивной верстки (responsive web design)  и применением медиа-запросов CSS3 для отображения на различных типах устройств – персональные компьютеры, планшеты и смартфоны. Кроме того, архитектура темы очень широко использует drupal_static методы кеширования, которые ускоряют рендеринг страницы и снижают количество запросов.

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

Основным преимуществом такого подхода является:

  1. HTML5
  2. Поддержка адаптивной верстки для различных типов устройств
  3. Адаптивный JavaScript
  4. Обратная совместимость со старыми браузерами
  5. Интеграция с SAAS (мета-язык описания стилей)
  6. SEO-оптимизированный код темы
  7. Активная поддержка атрибутов RDF, ARIA и «чистая» разметка.

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

Заключение

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

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

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

Разработанная система позволит повысить скорость обработки информации, сократит сроки формирования отчетов и сэкономит время работы пользователя пользователей.

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

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

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

Добавлено 9 комментариев

Аватар пользователя Сергей

Здравствуйте.
Заинтересовал функционал календаря - расписания.
Если можете, осветите пожалуйста подробнее такие вопросы:
1. Как Вы сделали взаимосвязи фильтров таксономии двух словарей, какой модуль использовали:

Таксономия:
Предполагаю:
Есть один словарь Факультеты вида:
Биологический
Исторический

Есть один словарь Группы вида:
Группа1
Группа2
Группа3
Группа4

Какимто образом к факультету Биологический привязываются две группы: Группа1, Группа2
К факультету Исторический привязываются Группа3, Группа4
Тогда функционал как у вас на сайте получается, но каким образом вы связываете их не понятно.

2. Можете ли подробнее осветить настройку Views, и если можно то выложить Экспорт файлик настроек Views представления.

Интересует как выводится фильтр Views именно:
Факультет группа применить.
У меня выводится только Факультет без группы(из-за того, что не связанные словари и я в Views вывожу только один словарь) Когда я добавляю материал расписание на сайт, оно отображается в календаре на сайте, но как только выбираю факультет Исторический и нажимаю применить - пропадает из календаря все что там отображалось на эту дату.
Если убираю фильтр и ставлю Любой - применить, ничего не появляется в календаре на дату. Если обновляю страницу - снова появляется на нужную дату расписание факультета.

Аватар пользователя artur.baranok

Необходимо использовать контекстные фильтр по идентификатор термина таксономии, для структуризации зависимых фильтров есть специальный модуль "Views dependent filters"

Аватар пользователя artur.baranok

К сожалению, в рамках дипломной работы, исходный код проекта не распространяется в свободном доступе.

Аватар пользователя artur.baranok

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

Аватар пользователя Владимир

Есть ли доступ к алгоритму в открытом доступе, алгоритм на автоматическое составление расписания или ссылки на источники информации на основании которых разрабатывался алгоритм?

Добавить комментарий

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.