Детальная информация
Название | Автоматизация составления расписания сессии: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_03 «Разработка программного обеспечения» |
---|---|
Авторы | Козлова Елизавета Андреевна |
Научный руководитель | Зайцев Игорь Владимирович |
Организация | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
Выходные сведения | Санкт-Петербург, 2025 |
Коллекция | Выпускные квалификационные работы ; Общая коллекция |
Тематика | автоматизация расписания ; ограничения планирования ; конфликты времени ; фиксированные записи ; производительность системы ; оптимизация кэширования ; равномерность распределения ; c++ ; excel ; microstructure automated scheduling ; scheduling constraints ; time conflicts ; fixed entries ; system performance ; caching optimization ; scheduling uniformity |
Тип документа | Выпускная квалификационная работа бакалавра |
Тип файла | |
Язык | Русский |
Уровень высшего образования | Бакалавриат |
Код специальности ФГОС | 09.03.04 |
Группа специальностей ФГОС | 090000 - Информатика и вычислительная техника |
DOI | 10.18720/SPBPU/3/2025/vr/vr25-1817 |
Права доступа | Доступ по паролю из сети Интернет (чтение, печать) |
Дополнительно | Новинка |
Ключ записи | ru\spstu\vkr\35822 |
Дата создания записи | 30.07.2025 |
Разрешенные действия
–
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Группа | Анонимные пользователи |
---|---|
Сеть | Интернет |
В данной выпускной квалификационной работе рассматривается задача разработки системы автоматического составления расписания экзаменационной сессии института компьютерных наук и кибербезопасности Санкт-Петербургского политехнического университета Петра Великого (СПбПУ). Актуальность темы обусловлена высокой трудоемкостью ручного планирования, необходимостью учета множества ограничений и склонностью к ошибкам при распределении аттестаций. Проведен обзор существующих систем планирования, таких как 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.
Место доступа | Группа пользователей | Действие |
---|---|---|
Локальная сеть ИБК СПбПУ | Все |
|
Интернет | Авторизованные пользователи СПбПУ |
|
Интернет | Анонимные пользователи |
|
- ВВЕДЕНИЕ
- ГЛАВА 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 Оптимизация кода
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Количество обращений: 0
За последние 30 дней: 0