Details
Title | Автоматизация составления расписания сессии: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_03 «Разработка программного обеспечения» |
---|---|
Creators | Козлова Елизавета Андреевна |
Scientific adviser | Зайцев Игорь Владимирович |
Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
Imprint | Санкт-Петербург, 2025 |
Collection | Выпускные квалификационные работы ; Общая коллекция |
Subjects | автоматизация расписания ; ограничения планирования ; конфликты времени ; фиксированные записи ; производительность системы ; оптимизация кэширования ; равномерность распределения ; c++ ; excel ; microstructure automated scheduling ; scheduling constraints ; time conflicts ; fixed entries ; system performance ; caching optimization ; scheduling uniformity |
Document type | Bachelor graduation qualification work |
File type | |
Language | Russian |
Level of education | Bachelor |
Speciality code (FGOS) | 09.03.04 |
Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
DOI | 10.18720/SPBPU/3/2025/vr/vr25-1817 |
Rights | Доступ по паролю из сети Интернет (чтение, печать) |
Additionally | New arrival |
Record key | ru\spstu\vkr\35822 |
Record create date | 7/30/2025 |
Allowed Actions
–
Action 'Read' will be available if you login or access site from another network
Group | Anonymous |
---|---|
Network | Internet |
В данной выпускной квалификационной работе рассматривается задача разработки системы автоматического составления расписания экзаменационной сессии института компьютерных наук и кибербезопасности Санкт-Петербургского политехнического университета Петра Великого (СПбПУ). Актуальность темы обусловлена высокой трудоемкостью ручного планирования, необходимостью учета множества ограничений и склонностью к ошибкам при распределении аттестаций. Проведен обзор существующих систем планирования, таких как Moodle (с дополнительным плагином), Timetable и ScheduleMaster, а также алгоритмических подходов, включая жадные, генетические алгоритмы и методы поиска в ширину (BFS). Выявлены ограничения существующих систем: недостаточная гибкость, сложность настройки под требования вуза или высокая стоимость. На основе анализа предложен подход к проектированию системы автоматизации, разработку алгоритма планирования и программную реализацию. С использованием языка программирования C++17, библиотеки STL и libxlsxwriter реализована система на основе жадного алгоритма. Система обеспечивает распределение аттестаций с учетом ограничений по аудиториям, преподавателям и учебным группам. Проведено тестирование на данных сессии для оценки функциональности. Результатом является программная система, автоматизирующая составление расписания, которая успешно распределила 158 из 176 аттестаций с соблюдением нормативов. Система сравнивалась с ручным планированием по времени выполнения и минимизацию ошибок, связанных с человеческим фактором. Выявлены ограничения, связанные с высокой нагрузкой на отдельных преподавателей, что требует доработки для полного распределения всех аттестаций.
This thesis addresses the development of an automated examination scheduling system for the Institute of Computer Science and Cybersecurity at Peter the Great St. Petersburg Polytechnic University (SPbPU). The topics relevance stems from the high labor intensity of manual scheduling, the need to account for numerous constraints, and the propensity for errors in exam allocation. A review of existing scheduling systems, such as Moodle (with an additional plugin), Timetable, and ScheduleMaster, as well as algorithmic approaches, including greedy algorithms, genetic algorithms, and breadth-first search (BFS), was conducted. The limitations of existing systems were identified: insufficient flexibility, complexity in customization to meet university requirements, or high costs. Based on this analysis, an approach to designing an automation system, developing a scheduling algorithm, and implementing it programmatically was proposed. Using the C++17 programming language, the STL library, and libxlsxwriter, a system based on a greedy algorithm was implemented. The system facilitates the allocation of exams while considering constraints related to classrooms, instructors, and academic groups. Testing was conducted using session data to evaluate functionality. The result is a software system that automates scheduling, successfully allocating 158 out of 176 exams in compliance with regulations. The system was compared with manual scheduling in terms of execution time and minimization of errors caused by human factors. Limitations related to high workloads for certain instructors were identified, requiring further refinement to achieve full allocation of all exams.
Network | User group | Action |
---|---|---|
ILC SPbPU Local Network | All |
|
Internet | Authorized users SPbPU |
|
Internet | Anonymous |
|
- ВВЕДЕНИЕ
- ГЛАВА 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И СУЩЕСТВУЮЩИХ РЕШЕНИЙ
- 1.1 Процесс ручного планирования в СПбПУ
- 1.2 Ограничения процесса планирования
- 1.3 Входные данные для планирования
- 1.4 Анализ существующих программных систем
- 1.5 Анализ алгоритмических подходов
- 1.6 Проблемы ручного планирования
- ГЛАВА 2. ПОСТАНОВКА ЗАДАЧИ И РАЗРАБОТКА АЛГОРИТМА АВТОМАТИЗАЦИИ
- 2.1 Постановка задачи
- 2.2 Описание алгоритма
- 2.2.1 Особенности алгоритма
- 2.3 Структура решения
- 2.3.1 Входные и выходные данные
- 2.3.2 Архитектура системы
- ГЛАВА 3. РЕАЛИЗАЦИЯ И ТЕСТИРОВАНИЕ СИСТЕМЫ АВТОМАТИЗАЦИИ
- 3.1 Реализация системы
- 3.1.1. Общая структура и этапы реализации
- 3.1.2 Модуль загрузки данных
- 3.1.3 Модуль обработки
- 3.1.4 Модуль вывода
- 3.1.5 Почему это работает
- 3.2 Тестирование
- 3.3 Анализ результатов
- 3.1 Реализация системы
- ГЛАВА 4. АНАЛИЗ ОШИБОК И ПРЕДЛОЖЕНИЯ ПО УЛУЧШЕНИЮ
- 4.1 Анализ ошибок в работе системы
- 4.2 Возможные улучшения
- 4.3 Возможные новые реализации
- 4.4 Оптимизация кода
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Access count: 0
Last 30 days: 0