Введение 3
1 Аналитическая часть системы автоматического расписания 5
1.1 Анализ технологий программирования и выбор подхода к
программированию 5
1.2 Анализ существующих аналогов 7
1.З Анализ и выбор фреймворков и языка программирования 16
1.4 Описание и выбор алгоритмов реализации 19
1.5 Анализ объекта исследования 23
1.6 Итоги первого раздела 24
2 Проектирование системы автоматического расписания 26
2.1 Проектирование с помощью UML 26
2.2 Описание работы алгоритма с помощью блок-схемы 29
2.3 Сравнение и выбор интегрированной среды разработки 31
2.4 Описание работы системы 34
2.5 Итоги второго раздела 36
3 Разработка автоматического формирования расписания 37
3.1 Создание базы данных и проекта для Django 37
3.2 Разработка жадного алгоритма 43
3.3 Разработка генетического алгоритма 46
3.4 Разработка интерфейса 51
3.5 Тестирование, оптимизация алгоритмов и исследование
производительности 54
3.6 Итоги третьего раздела 64
Заключение 65
Список литературы 67
Приложение 72
Разработка систем для автоматического составления расписания в образовательных организациях является актуальной и важной задачей в сфере современных информационных технологий. Веб-системы обладают преимуществом быстрого роста и легко поддаются обновлениям без необходимости установки специального программного обеспечения на устройства пользователей. Это позволяет оперативно внедрять изменения и обновлять систему.
Основным результатом работы стало создание системы автоматического формирования расписания.
Область применения данной системы - автоматизация процессов составления расписания в учебных заведениях.
Эффективность разработки заключается в ускорении процесса и автоматизации формирования расписания.
Выбранная тема выпускной квалификационной работы крайне актуальна в свете внедрения собственного программного обеспечения в образовательные учреждения. Разработка такого продукта позволит заложить начальный функционал, который сможет постепенно развиваться в полноценную систему, отвечающую всем потребностям учебного заведения.
Объектом данного исследования выступает высшее учебное заведение. В выпускной квалификационной работе используются различные методы, включая теоретические, экспериментальные и моделирования.
Предметом исследования является повышение производительности системы автоматического формирования расписания и добавление нового функционала путём доработки кода полученного продукта.
Целью данной работы является создание системы автоматического формирования расписания для высших учебных заведений с применением веб-технологий. Для достижения этой цели необходимо решить ряд задач:
- проанализировать технологии веб-программирования и анализ,
- проанализировать фреймворки и языки программирования,
- описать алгоритмы реализации,
- привести сравнительный анализ и выбор подхода, языка программирования,..
В процессе прохождения выпускной квалификационной работы сформированы цели и задачи практики. Выполнено формирование цели и задач исследования. Определен объект и предмет исследования. Обоснована актуальность исследования.
В результате выполнения выпускной квалификационной работы представлен анализ веб технологий, анализ аналогов и их сравнение после чего было принято решение о разработке собственной системы.
Описаны фреймворки, языки программирования и алгоритмы реализации, в результате чего в качестве фреймворка выбран Django, в качестве языка программирования выбран Python, а в качестве алгоритмов реализации была выбрана комбинация жадного и генетического алгоритма с интерактивным подходом.
Представлен анализ объекта практики - университета, проведен сравнение и выбор подходов и была выбрана веб-разработка как более перспективная. Представлено проектирование UML-диаграмм, а именно диаграммы вариантов использования и диаграммы последовательности, а также представлено описание работы алгоритма при помощи блок-схемы, описана работа системы с работой алгоритмов, выбранных ранее для построения системы, проведено сравнение IDE и выбран PyCharm потому, что он наиболее подходящий для работы с фреймворком Django, представлен проект интерфейса будущей системы.
Создана база данных, созданы модели Django для работы с базой данных, написан код алгоритмов на Python, и другие элементы системы, созданной с помощью Django. Проведено тестирование системы с положительным результатом, а также проведён эксперимент по использованию алгоритмов.
В результате выполнения поставленных задач удалось получить ценные практические и теоретические навыки, которые могут быть использованы для оптимизации процессов управления расписанием в образовательных учреждениях. Актуальность данного исследования заключается в повышения эффективности организации образовательного процесса и улучшения условий для студентов и преподавателей.
Заключительные выводы работы позволяют сделать предположения о возможных направлениях дальнейших исследований и реализации в данной области, а также подчеркивают важность развития информационных технологий для совершенствования управления учебными процессами.