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

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 10.07.2017
Размер файла 273,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Введение

приложение алгоритм информационный автоматизация

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

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

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

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

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

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

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

· в школах используется полностью ручной (карандаш и ластик) подход при составлении расписания;

· хранение расписания, отчетов и прочей информации в бумажном и цифровом не структурированном виде;

· нет полного контроля, за корректностью расписания в ходе его изменений;

· доступ к актуальному расписанию в большинстве случаем возможен только в школе;

· нагрузка, как на преподавателей, так и на учеников не оптимальна;

· существующие электронные дневники отображают лишь фактическое расписание и никак не контролируют его.

Выявленные проблемы контроля школьного учебного расписания пытались решить следующие авторы:

· Антропов А.Ю и Варламов С.А. «Проблемы автоматизированного составления расписания занятий средней образовательной школы»;

· Пиликов Н.П «Проблема полной автоматизации при составлении школьного расписания»;

· Бартнев А.С «Обзор основных вопросов автоматизированного составления расписания занятий в учебном заведении».

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

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

В соответствии с целью поставлены следующие задачи:

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

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

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

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

· возможность переноса / учета того что урок не состоялся по какой-либо причине;

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

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

· система должна иметь возможность попытки предложения автоматического разрешения конфликтов расписания;

· предоставление отчетов и статистик по расписанию в графическом и текстовом виде.

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

Причинами для этого были следующие:

· необходимо чтобы система работала и была доступна 24\7, то есть в любое время к ней можно было получить доступ;

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

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

· необходимость использовать систему сразу для нескольких школ. [10]

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

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

В рамках магистерской диссертации была проделана следующая работа:

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

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

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

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

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

Использование результатов данной работы возможно в средних общеобразовательных учебных заведения (СОШ).

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

· 11 международная научно-практическая конференция «Приоритетные направления развития науки и образования» 2016 (г. Чебоксары);

· XIV всероссийской научная конференция «Вузовская наука - региону материалы» 2016 (г. Вологда);

· 27 международная конференция «Современные информационные технологии в образовании» 2016 (г. Москва-Троицк);

· Молодые исследователи регионам «Информационные технологии в управлении организационными процессами и техническими системами» 2016 (г. Вологда).

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

1. Аналитический обзор

1.1 Введение в проблемы составления расписания и существующих подходов к ее решению

приложение алгоритм информационный автоматизация

В данной выпускной работе предметной областью является учебное заведение - средняя образовательная школа №1 города Вытегры (СОШ №1 г. Вытегры), в дальнейшем просто школа.

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

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

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

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

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

В случаях, если программа предлагала какое-либо приемлемое решение по созданию расписания, любая случайная ошибка в введенных данных или решение учителей о переносе своих дней работы (что не так редко в школах), приводили к необходимости производить полный пересмотр расписания. Для получения более-менее хорошего результата программы приходилось запускать более 10 раз. Если учесть, что один расчет мог длиться часы, получаем сутки и более «автоматического решения».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.2 Анализ организационной структуры автоматизируемого подразделения

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

Список автоматизированных рабочих мест:

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

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

· Преподаватель - получает как готовое общее расписание, так и личное расписание с нагрузкой.

1.3 Анализ функций каждого сотрудника

Бизнес правила:

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

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

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

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

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

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

· Возможность переноса / учета, если урок не состоялся по какой-либо причине.

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

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

Выделим бизнес-процессы.

Методист (Завуч):

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

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

Ученики и преподаватели:

· Ученик является конечным пользователем данной системы и просто пользуется предоставленной информацией.

· Преподаватели также могут получать полное расписание, а также личное расписание.

1.4 Анализ документооборота

В последнее время в рамках информатизации образования все больше говорят об электронном документообороте. Ни одна организация в современном обществе не может существовать без грамотно организованной системы электронного документооборота. Но до недавнего времени школы это не затрагивало. Согласно распоряжению Правительства Российской Федерации от 25 апреля 2011 г. №729-р г. Москвы, школы должны предоставлять ряд информации в электронной форме, начиная от образовательных программ и заканчивая отчетностью по результатам аттестации и экзаменов.

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

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

· перечень всех учебных кабинетов;

· список всех учебных предметов;

· расписание звонков в школе;

· пятидневная или шестидневная форма обучения;

· список педагогов с их профилем;

· количество и перечь классов в школе;

· учебные планы;

· нагрузка преподавателей и классов.

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

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

1.5 Анализ существующих решений

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

Минусы различных ПО, по составлению расписания:

· Стоимость, многие школы отказываются именно из-за этого (5-10 тысяч рублей).

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

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

· Многие информационные системы предназначены лишь для составления расписания, но не для контроля за ним.

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

«Астра» (Автоматизированное составление расписания)

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

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

Основные возможности, которые предоставляет программа:

· кабинетная и / или классно-урочная системы обучения (возможна их комбинация);

· настройка параметров распределения занятий;

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

· 100-процентное размещение занятий в автоматическом режиме;

· проведение занятий продолжительностью 1, 2 и / или 3 учебных часа;

· учет требований и ограничений по времени проведения занятий;

· учет гигиенических требований СЭС;

· учет сложности предметов для оптимального чередования занятий в течение учебного дня;

· программное определение свободных дней преподавателей;

· отсутствие «окон» у классов;

· разделение класса на несколько (до 4-х) групп и объединение нескольких (до 4-х) классов в поток по любым предметам, возможно одновременное разделение и объединение классов и / или групп классов;

· рациональное использование учебных кабинетов;

· ручная корректировка расписания после автоматической расстановки занятий (при необходимости);

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

Кроме этого есть возможность построения гистограмм и диаграмм по учебной занятости.

Казалось бы, все требования соблюдены, но есть ряд важных минусов, а именно:

· нет поддержки современных ОС (Windowsxp, seven, 8-8.1);

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

· программа может работать только в автоматическом режиме составления расписания, то есть нет возможности правки расписания, есть возможность перестроить его;

· программа предоставляет информацию только в 2 форматах - на экране монитора и печатном варианте;

· программный продукт является платным, в бесплатной версии допустим до 50 попыток составления расписания.

Стоимость данного программного продукта составляет 5 тысяч рублей.

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

«НИКА»

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

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

Программа «НИКА» учитывает:

· наличие второй смены, пяти- или шестидневной форм обучения;

· особенности кабинетного фонда;

· методические дни и нежелательные часы работы учителей;

· дни и часы нагрузки вне расписания;

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

Программа «НИКА обеспечивает:

· разделение классов (групп) на обучающиеся по пяти- или шестидневке;

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

· объединение классов в потоки (в т.ч. с дальнейшим делением на группы);

· преподавание одним учителем двух и более предметов;

· соблюдение «параллелей» учителей;

· ограничение максимально допустимого числа часов по предмету в день

· отображение и печать расписания занятий;

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

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

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

Из-за богатого функционала, она является платной и разбита на отдельные комплектующие и взаимодополняющие модули которые также являются платными. Так, например, «НИКА Люкс с модулем Замены» обойдется в 8 тысяч рублей за 1 копию. [18]

«aSc расписание»

Программа «aSc Расписания» позволяет:

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

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

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

· Экспортировать данные в таблицы MS Excel и формат HTML или pdf для публикации в Интернете.

· Заменить учителей в случаи отсутствия или болезни в течение всего школьного года.

· Работает в стандартной среде Microsoft Windows, имеет привлекательный графический интерфейс.

Программа доступна в 3 вариантах («Стандарт», «Премиум» и «Про версия»).

Стоимость стандартной версии составляет 9 тысяч рублей.

«Составитель расписания РФ»

Программное средство позволяет:

· Добавлять справочную информацию по школе.

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

· Нет «страховки» от ошибок вовремя планирования расписания.

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

· Нет никакой методологии при процессе составления расписания.

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

· Позволяет выгружать справочники и расписание в html формат.

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

Вывод:

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

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

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

2. Разработка структуры и алгоритмов информационной системы принятия решений

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

2.1 Алгоритм обновления школьного расписания

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

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

· авторизация методиста в системе;

· выбор сервиса по работе с расписанием, например, перенос урока в другой учебный кабинет;

· отправка запроса на web-сервер;

· анализ ячеек расписания на текущую занятость, отправка ответа;

· визуальное отображение результата клиенту;

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

· отображение обновленного расписания;

· уведомление учителя о переносе урока.

2.2 Комплексный алгоритм анализа расписания

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

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

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

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

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

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

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

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

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

Таким образом, разбиение автоматизированной системы на три модуля позволит оптимальным образом решить поставленные задачи в области составления, редактирования и оптимизации составления расписания в школе. [12]

Узел нагрузки

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

Узел нагрузки использует следующую информацию:

· текущий учебный период;

· учебная нагрузка по предмету в редактируемой учебной ячейке;

· нагрузка на преподавателя по учебному предмету.

События по работе с расписанием:

· отмена урока;

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

· перенос урока.

Алгоритм работы узла:

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

· агрегирует нагрузку по учебному предмету на текущий учебный период;

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

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

Узел согласования

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

Узел согласования использует следующую информацию:

· наличие уроков в ячейке учебного расписания;

· профиль преподавателя при назначении урока;

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

· возможность проведения урока в учебном кабинете;

· нагрузка на преподавателя по учебному предмету за текущий период.

События по работе с расписанием:

· перенос урока;

· редактирование урока.

Алгоритм работы узла:

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

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

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

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

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

Узел приоритетов

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

Узел приоритетов использует следующую информацию:

· Уроки для учебного класса в разрезе учебного дня. Например, все уроки за понедельник 5а класса.

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

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

События по работе с расписанием:

· перенос урока;

· редактирование урока.

Алгоритм работы узла:

· Узел анализирует уроки для каждого класса по отдельности пытаясь найти оптимальное решение расписания.

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

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

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

· После расстановки уроков узел делает подсказку завучу и предлагает вариант перестановки. [13]

Взаимодействие узлов графа целостности расписания

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

Узел нагрузки является самым главным в системе и следит чтобы учебная нагрузка за учебный период была выполнена в полном объеме. Запрещает дочерним узлам проводить какие-либо действия с расписанием если это нарушает его правила согласования.

Рассмотрим взаимодействие узла «согласованности» и узла «приоритета» на примере уроков пятого и шестого класса (таблица 2.1).

Таблица 2.1. Первоначальное состояние расписания

5 класс

6 класс

Физкультура каб. 1

Русс.яз каб. 3

Математика каб. 2

Англ.яз каб. 6

Русс.яз каб. 3

Русс.яз каб. 3

История каб. 4

Математика каб. 2

ОБЖ каб. 5

Биология каб. 8

Первым для анализа расписания подключается узел «согласования». После анализа, была выявлена коллизия - учебный предмет «Русский язык» одновременно проводится у двух классов в одной учебной аудитории (таблица 2.2).

Таблица 2.2. Поиск коллизий в расписании

5 класс

6 класс

Физкультура каб. 1

Русс.яз каб. 3

Математика каб. 2

Англ.яз каб. 6

Русс.яз каб. 3

Русс.яз каб. 3

История каб. 4

Математика каб. 2

ОБЖ каб. 5

Биология каб. 8

Таблица 2.3. Предложение перенести урок в другой кабинет

5 класс

6 класс

Физкультура каб. 1

Русс.яз каб. 3

Математика каб. 2

Англ.яз каб. 6

Русс.яз каб. 3

Русс.яз каб. 4

История каб. 4

Математика каб. 2

ОБЖ каб. 5

Биология каб. 8

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

Таблица 2.4. Оптимизация расписания узлом приоритетов

5 класс

6 класс

Физкультура каб. 1

Русс.яз каб. 3

ОБЖ каб. 5

Русс.яз каб. 3

Русс.яз каб. 3

Математика каб. 2

Математика каб. 2

Англ.яз каб. 6

История каб. 4

Биология каб. 8

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

Для шестого класса система увидела 3 подряд идущих гуманитарных предмета и предложила разделить их математикой, чтобы ученики могли переключится с одного вида мышления на другое. Кроме того, «Русский язык» получился спаренным и может проводится в том же кабинет, а не в другом как это было раньше из-за коллизий с пятым классом. [2] [3]

Вывод:

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

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

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

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

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

3. Реализация

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

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

3.1 Архитектура приложения

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

1. База данных - является хранилищем всей необходимой информации для системы. Запросы к базе данных осуществляет сервер приложений.

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

3. Клиентское приложение «view» часть, предоставленная непосредственно пользователям системы по средствам web-браузера. Общение происходит по «http» протоколу в формате запрос - ответ (request-response).

Таким образом типом реализуемой информационной системы является «Трехуровневая web-архитектура» (Рисунок 3.1).

Архитектура информационной системы

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

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

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

3.2 Выбор технологий для реализации звеньев системы

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

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

· Клиент - «тонкий клиент» работающий через web-браузер (Firefox, Chrome, Opera, IE и другие).

· Для реализации сервера приложений выбран Python framework Django.

· В качестве сервера базы данных СУБД Postgres как для dev-разработки, так и для промышленной эксплуатации.

Кратко рассмотрим значимость и аргументируем выбор каждого звена системы.

Клиентская часть

Предоставлена web-браузером. С точки зрения пользователя и реализации это дает нам следующие плюсы:

· приемлемая скорость доступа к информации;

· вынесение view логики в отдельный слой;

· возможность создавать мощный и в тоже время простой пользовательский интерфейс с помощью связки HTML/CSS/JS;

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

Сервер приложений Django

Django - свободно распространяемый framework предназначенный для написания web-приложений. Написан на языке Python, использующий шаблон проектирования MVC. Предоставляет удобное и мощное встроенное ORM по работе с БД. Отлично согласуется с СУБД Postgres.

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

Для работы с базой данных Django использует собственный ORM, в котором модель данных описывается классами Python, и по ней генерируется схема базы данных, таким образом ускоряю разработку и берет на себя все тонкости по работе БД.

Web-Framework Django используется в таких крупных и известных сайтах, как Instagram, Disqus, Mozilla, The Washington Times, Pinterest

Выбранный язык программирования Python и реализация MVC паттерна проектирования с DJANGO Framework, позволяет производить разработку с большой скоростью, предоставляет возможность заменять любые стандартные решения на свои, путем реализации абстракций.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.