В современном мире эффективное организационное управление в образовательных учреждениях становится все более актуальной проблемой. Одним из ключевых аспектов повышения эффективности образовательного процесса является управление временем. Система расписания позволяет оптимизировать процесс управления и планирования учебных занятий, а также повысить качество образования.
Разработка системы-помощника для составления расписания в учебных заведениях имеет ряд преимуществ. Такая система представляет собой инструмент, позволяющий автоматизировать и упростить процесс планирования расписания, учитывая различные ограничения и требования. Она способствует уменьшению временных и ресурсных затрат на составление расписания, что позволяет сократить число ошибок и повысить точность планирования. Во-вторых, система обеспечивает удобство использования для людей, занимающихся, непосредственно, самим составлением расписания для учебного заведения.
Актуальность данной темы обусловлена потребностью в совершенствовании процессов управления в образовательных учреждениях в условиях современного информационного общества. Система-помощник для составления расписания станет незаменимым инструментом для повышения эффективности и качества образования. Использование системы-помощника позволяет учитывать разнообразные параметры при составлении расписания, такие как доступность аудиторий и оптимальное распределение нагрузки по времени.
Целью данной работы является разработка системы-помощника для составления расписания в учебных заведениях.
Для достижения данной цели в рамках работы были поставлены следующие задачи:
1) исследование существующих решений и методов для составления расписания;
2) анализ требований пользователей и выявление основных проблем;
3) проектирование системы, включающее разработку архитектуры, определение функциональных и нефункциональных требований, описание структуры данных и составления макета приложения;
4) разработка базы данных для хранения информации, связанной с деятельностью учебных организаций;
5) разработка алгоритма, предлагающего варианты составления расписания на основе входных параметров и ограничений;
6) создание функционала для загрузки и обработки документов с данными для последующего использования системой;
7) разработка пользовательского интерфейса;
8) написание тестовых сценариев для проверки работоспособности и надежности системы;
9) тестирование системы, включающее функциональное
тестирование всех модулей и алгоритмов.
ВВЕДЕНИЕ .................................................................................................. 4
1. Обзор предметной области ................................................................. 6
2. Требования к приложению ............................................................... 10
2.1. Общие требования к приложению ................................................... 10
2.2. Функциональные требования к приложению .................................. 11
2.3. Нефункциональные требования к приложению .............................. 12
3. Выбор технологий ............................................................................ 13
4. Разработка приложения..................................................................... 16
4.1. Архитектура приложения ................................................................. 16
4.2. Проектирование базы данных .......................................................... 18
4.3. Разработка функционала для загрузки и обработки данных из Excel-
файлов .......................................................................................................... 28
4.4. Разработка клиентской части приложения........................................ 32
4.5. Разработка серверной части приложения.......................................... 34
4.6. Разработка алгоритма по предложению размещения занятий на основе входных параметров .................................................................................................. 35
5. Описание работы приложения .......................................................... 41
5.1. Авторизация и регистрация .............................................................. 41
5.2. Каталог расписаний .......................................................................... 45
5.3. Страница расписания ......................................................................... 49
5.3.1. Боковое меню навигации между расписаниями .............................. 49
5.3.2. Настройки расписания ..................................................................... 50
5.3.3. Блок учебного плана......................................................................... 51
5.3.4. Блок кафедр/разделов ...................................................................... 53
5.3.5. Блок расписания................................................................................ 55
6. Анализ и тестирование приложения ................................................ 63
6.1. Тестирование запросов к базе данных.............................................. 63
6.2. Тестирование функционала для загрузки Excel-файлов................... 66
6.3. Анализ и тестирование полученных результатов алгоритма по предложению вариантов размещения занятий ................................................................. 68
6.4. Сравнение существующих методов составления расписания с
предложенной системой.............................................................................. 71
6.5. Тестирование адаптивности приложения........................................... 72
ЗАКЛЮЧЕНИЕ........................................................................................... 75
СПИСОК ЛИТЕРАТУРЫ .......................................................................... 81
ПРИЛОЖЕНИЯ .......................................................................................... 83
Приложение 1. Фрагменты кода из клиентской части web-приложения... 83
Приложение 2. Фрагменты кода из серверной части web-приложения..... 83
Приложение 3. База данных web-приложения............................................ 94
1) 1С: Автоматизированное составление расписания. Университет -
О решении - Возможности. — 2024. — URL:
https://solutions.1c.ru/asp_univer/features (дата обращения 10.02.2024).
2) Функциональные и нефункциональный требования - testengineer.ru. — 2024. — URL: https://testengineer.ru/functional-vs-
nonfunctional-requirements/ (дата обращения 12.02.2024).
3) Figma. — 2024. — URL:
https://www.figma.com/login?is_not_gen_0=true (дата обращения 13.02.2024).
4) React. — 2024. — URL: https://react.dev/ (дата обращения 15.02.2024).
5) TypeScript: JavaScript With Syntax For Types. — 2024. — URL: https://www.typescriptlang.org/ (дата обращения 18.02.2024).
6) Welcome to Python.org. — 2024. — URL: https://www.python.org/ (дата обращения 20.02.2024).
7) MySQL. — 2024. — URL: https://www.mysql.com/ (дата обращения
23.03.2024).
8) PlantUML Web Server. — 2024. — URL:
https://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000 (дата обращения 13.03.2024).
9) Основые правил проектирования баз данных / Хабр. — 2024. —
URL: https://habr.com/ru/articles/514364/ (дата обращения 16.03.2024).
10) Arrays of Data | SheetJS Community Edition. — 2024. — URL: https://docs.sheetjs.com/docs/api/utilities/array/#array-output (дата обращения 18.03.2024).
11) Требования к графическим интерфейсам: одна памятка ответит на все ваши вопросы / Хабр. — 2024. — URL:
https://habr.com/ru/companies/rtlabs/articles/730806/ (дата обращения
20.03.2024).
Timeit in Python with Examples - Geeks for Geeks. — 2024. — URL: https://www.geeksforgeeks.org/timeit-python-examples/ (дата обращения 22.04.2024).