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 PDF
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
Read Print
Internet Authorized users SPbPU
Read Print
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 Анализ результатов
  • ГЛАВА 4. АНАЛИЗ ОШИБОК И ПРЕДЛОЖЕНИЯ ПО УЛУЧШЕНИЮ
    • 4.1 Анализ ошибок в работе системы
    • 4.2 Возможные улучшения
    • 4.3 Возможные новые реализации
    • 4.4 Оптимизация кода
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Access count: 0 
Last 30 days: 0

Detailed usage statistics