DEVELOPMENT OF THE SERVER PART OF A WEB APPLICATION FOR ASSESSING STUDENTS' KNOWLEDGE BASED ON PRODUCT METRICS
DEVELOPMENT OF THE SERVER PART OF A WEB APPLICATION FOR ASSESSING STUDENTS' KNOWLEDGE BASED ON PRODUCT METRICS
Abstract
The digital transformation of higher education is accompanied by an increase in the volume of data generated in the course of students' educational activities. However, in most education systems, data is used primarily to record final learning outcomes, while the process of learning remains under-formalised. This leads to a reduction in the objectivity of knowledge assessment and makes it difficult to identify learning problems at an early stage.
The article examines the development of the server part of a web application designed to evaluate students' knowledge based on product metrics of learning activity. A server system architecture based on an event-driven data model and separation of writing and reading streams is suggested. The structure of data storage, software interfaces, algorithms for calculating analytical indicators, and mechanisms for ensuring performance and security are described. Product metrics adapted for the educational context are implemented, including retention, engagement, task completion, and execution time indicators.
Experimental testing of the system included modular, integration, and load testing. It was established that the server part is capable of processing up to 21,800 events per second, providing an average response delay of 40–60 ms, and calculating analytical indicators for a course of 1,000 students over a period of 30 days takes 11–12 seconds. The results confirm the applicability of product metrics for continuous and quantitatively justified assessment of student knowledge.
1. Введение
Развитие цифровых образовательных платформ и переход к онлайн и смешанным форматам обучения привели к принципиальному изменению структуры учебного процесса. Учебная деятельность студентов все чаще реализуется в виде последовательности цифровых взаимодействий с образовательной средой, включая просмотр материалов, выполнение заданий, тестирование и коммуникацию. Каждое такое взаимодействие фиксируется информационной системой и формирует цифровой след.
Несмотря на рост объемов данных, оценка знаний студентов в большинстве образовательных систем остается ориентированной на результаты итогового контроля. Экзамены и тесты позволяют определить уровень усвоения материала в конкретный момент времени, однако не отражают динамику обучения, устойчивость учебной активности и степень вовлеченности студентов. В условиях массового онлайн-обучения это приводит к запаздывающему выявлению проблем и ограничивает возможности адаптации образовательных программ.
В научных исследованиях последних лет активно развивается направление learning analytics, ориентированное на анализ образовательных данных для повышения качества обучения. Однако анализ существующих решений показывает, что большинство LMS либо не поддерживают детальный сбор событий учебной активности, либо используют закрытые аналитические модули без возможности расширения и воспроизводимости расчетов. Кроме того, редко используется аппарат продуктовой аналитики, широко применяемый в цифровых сервисах для анализа поведения пользователей.
В данной работе предлагается подход к оценке знаний студентов, основанный на использовании продуктовых метрик учебной активности и реализованный в виде серверной части веб-приложения. Целью исследования является разработка и экспериментальная проверка серверной системы, обеспечивающей сбор, хранение и аналитическую обработку событий учебной активности с возможностью количественной оценки знаний.
Для достижения поставленной цели в работе решены следующие задачи:
1. Проведен анализ современных подходов к learning analytics и архитектурам образовательных систем.
2. Разработана событийная модель данных для фиксации учебной активности.
3. Спроектирована серверная архитектура на основе паттерна CQRS.
4. Формализован набор продуктовых метрик для оценки учебного поведения.
5. Реализованы алгоритмы расчета аналитических показателей.
6. Проведена экспериментальная апробация и нагрузочное тестирование системы.
7. Выполнен сравнительный анализ разработанного решения с существующими LMS и платформами аналитики.
2. Современные подходы к learning analytics и архитектурам образовательной аналитики. Методы и принципы исследования
В последние годы направление LA и EDM сформировалось как самостоятельная область исследований, ориентированная на анализ цифровых следов обучающихся с целью повышения качества образования. В работах G. Siemens , R. Ferguson и C. Romero показано, что анализ образовательных данных позволяет выявлять закономерности учебного поведения, прогнозировать академическую успеваемость и снижать риск отсева студентов.
Современные исследования в области LA условно можно разделить на несколько направлений:
1. Предиктивная аналитика и раннее выявление риска — построение моделей прогнозирования успеваемости и вероятности отсева на основе поведенческих признаков [5].
2. Поведенческий анализ вовлеченности — исследование динамики активности, времени взаимодействия и паттернов прохождения курса .
3. Интеллектуальные адаптивные системы — использование методов машинного обучения для персонализации образовательных траекторий .
4. Аналитические панели (dashboards) — визуализация агрегированных показателей для преподавателей и администраторов .
Несмотря на развитие методологических подходов, большинство исследований фокусируется преимущественно на алгоритмах анализа данных, тогда как архитектурные аспекты построения масштабируемых событийных систем остаются недостаточно проработанными. В частности, в публикациях редко рассматриваются:
· принципы построения событийных хранилищ для образовательных данных;
· вопросы разделения потоков записи и чтения (CQRS) в контексте LA;
· интеграция продуктовых метрик цифровых сервисов с академическими показателями
;· обеспечение воспроизводимости расчетов аналитических показателей
.Большинство LMS (Moodle, Canvas и др.) реализуют логирование учебной активности, однако их архитектура ориентирована на монолитную модель данных и хранение агрегированных результатов, что ограничивает гибкость аналитической обработки. С другой стороны, платформы продуктовой аналитики (Amplitude, Mixpanel) обладают развитым инструментарием событийного анализа, но не учитывают специфику образовательной доменной модели
.Таким образом, наблюдается методологический разрыв между исследованиями в области learning analytics и инженерной реализацией масштабируемых backend-систем, способных обеспечивать событийный сбор данных, воспроизводимые расчеты и интеграцию продуктовых метрик в образовательный контекст.
Данное исследование выполнено в форме прикладного проектирования серверной информационной системы и ее экспериментальной апробации. В качестве методологической основы использованы принципы learning analytics, событийного моделирования, продуктовой аналитики и проектирования высоконагруженных серверных систем.
Архитектура серверной части спроектирована с использованием паттерна CQRS, предполагающего разделение потоков записи и чтения данных. Все действия студентов фиксируются в виде событий учебной активности и сохраняются в неизменяемом виде в событийном хранилище. Агрегированные аналитические показатели рассчитываются отдельно и сохраняются в реляционной базе данных.
Для реализации серверной части использован асинхронный веб-фреймворк FastAPI, обеспечивающий неблокирующую обработку I/O-операций. В качестве событийного хранилища применена аналитическая СУБД ClickHouse версии 24.x, оптимизированная для массовых вставок и агрегирующих запросов. Агрегированные метрики, данные пользователей и учебного контента хранятся в PostgreSQL версии 15.x.
Экспериментальная проверка системы включала:
1. Модульное тестирование (покрытие более 80% ключевых компонентов).
2. Интеграционное тестирование сквозных сценариев.
3. Нагрузочное тестирование приема событий и расчета метрик с использованием инструмента Locust.
Тестирование проводилось на сервере с8 vCPU, 16 ГБ RAM, ОС Ubuntu 22.04, контейнеризация осуществлялась с использованием Docker.
3. Архитектура серверной части
Общая архитектура серверной части представлена на рисунке 1. Система включает API-слой, сервис аутентификации и авторизации, модуль приема событий учебной активности, аналитический модуль расчета метрик, событийное хранилище и реляционную базу данных агрегированных показателей.

Рисунок 1 - Схема архитектуры LA/EDM системы

Рисунок 2 - Use Case Diagram серверной части

Рисунок 3 - ER-модель данных серверной части

Рисунок 4 - Архитектура серверной части в нотации C4 Model
4. Реализация сбора и хранения событий
Сбор данных реализован в виде регистрации событий учебной активности. Каждое событие содержит следующие обязательные поля: user_id, course_id, module_id, event_type, timestamp, payload.
Структура таблицы событий в ClickHouse приведена в Таблице 1.
Таблица 1 - Структура таблицы событий учебной активности в ClickHouse
Поле | Тип | Назначение |
id | UUID | Уникальный идентификатор события |
user_id | String | Идентификатор пользователя |
course_id | String | Идентификатор курса |
module_id | String | Идентификатор модуля |
event_type | String | Тип события (page_view, task_start и т.д.) |
timestamp | DateTime | Временная метка события |
payload | JSON | Дополнительные данные события |
События передаются клиентской частью пакетами по 10–50 элементов, что снижает накладные расходы на сетевое взаимодействие. Асинхронная обработка и пакетная запись обеспечивают высокую пропускную способность системы.
5. Продуктовые метрики оценки знаний
Для анализа учебной активности реализован набор продуктовых метрик.
Метрика удержания (Retention Rate) рассчитывается как:
Retention = N_active(t2) / N_active(t1),
где N_active(t) – количество студентов, проявивших активность в период t.
Метрика вовлеченности (Engagement Score) рассчитывается как:
Engagement = w1 · A + w2 · T + w3 · R,
где A — количество активных действий, T — суммарное время взаимодействия (в минутах), R — количество повторных обращений, w1, w2, w3 — коэффициенты значимости (w1 = 0,4; w2 = 0,4; w3 = 0,2).
Метрика завершенности (Completion Rate):
Completion = N_success / N_attempts.
Метрика времени выполнения (Time-on-Task) рассчитывается как среднее значение временных интервалов между событиями начала и завершения работы над заданием с отсечением выбросов (менее 5 секунд и более 2 часов).
6. Основные результаты
В ходе исследования была разработана и экспериментально проверена серверная часть веб-приложения, предназначенного для оценки знаний студентов на основе продуктовых метрик учебной активности. Полученные результаты охватывают архитектурные, алгоритмические и эксплуатационные характеристики системы и подтверждены экспериментальными измерениями.
6.1. Научная новизна исследования
1. Научная новизна работы заключается в следующем:
2. Предложена концептуальная модель интеграции продуктовых метрик цифровых сервисов в образовательный контекст для количественной оценки учебной активности.
3. Разработана событийная архитектура backend-системы learning analytics с разделением потоков записи и чтения (CQRS), обеспечивающая воспроизводимость аналитических расчетов.
4. Формализован алгоритм расчета комплексной метрики вовлеченности (Engagement Score), учитывающей частоту действий, длительность взаимодействия и повторяемость активности.
5. Экспериментально подтверждена масштабируемость предложенной архитектуры при обработке интенсивных потоков событий (более 20 000 событий в секунду).
6. Показана возможность объединения академических показателей успеваемости и продуктовых метрик пользовательского поведения в единой аналитической модели.
6.2. Результаты реализации архитектуры и модели данных
В результате проектирования реализована модульная серверная архитектура, основанная на событийной модели данных и паттерне CQRS. Все действия обучающихся фиксируются в виде неизменяемых событий учебной активности и сохраняются в аналитическом хранилище. Данное решение обеспечивает воспроизводимость расчетов и возможность повторного анализа данных за произвольные временные интервалы.
Структура событийного хранилища реализована в аналитической СУБД ClickHouse. Состав и назначение полей таблицы событий приведены в таблице 1, что позволяет однозначно интерпретировать каждый тип учебной активности и использовать данные для расчета аналитических показателей.
6.3. Результаты реализации и валидации продуктовых метрик
В системе реализован набор продуктовых метрик, предназначенных для количественной оценки учебной активности и качества усвоения учебного материала. Алгоритмы расчета метрик реализованы в виде SQL-запросов к событийному хранилищу и выполняются без использования промежуточных агрегатов.
Корректность реализованных алгоритмов проверялась с использованием синтетических сценариев учебной активности с заранее заданными ожидаемыми значениями. В результате валидационного тестирования установлено полное совпадение фактических и ожидаемых значений всех реализованных метрик, включая Retention Rate, Engagement Score, Completion Rate и Time-on-Task.
6.4. Результаты нагрузочного тестирования приема событий
Производительность подсистемы приема событий оценивалась в ходе нагрузочного тестирования с использованием сценариев, моделирующих массовую учебную активность. Результаты тестирования приведены в таблице 2.
Таблица 2 - Результаты нагрузочного тестирования приема событий
Кол-во пользователей | Запросов/сек | Средняя задержка, мс | 95-й перцентиль, мс | Ошибки, % |
10 | 245 | 38 | 52 | 0 |
25 | 580 | 42 | 68 | 0 |
50 | 1120 | 45 | 85 | 0 |
75 | 1680 | 48 | 105 | 0 |
100 | 2180 | 52 | 128 | 0,2 |
Анализ данных показывает, что серверная часть способна обрабатывать до 21 800 событий в секунду при средней задержке ответа 40–60 мс и значении 95-го перцентиля менее 130 мс. Доля ошибочных запросов при максимальной нагрузке не превышала 0,2%, что связано с предельными значениями таймаутов аналитического хранилища.
Полученные результаты подтверждают возможность применения системы в условиях интенсивных потоков данных, характерных для массовых образовательных платформ.
6.5. Результаты тестирования производительности расчета метрик
Производительность аналитического модуля оценивалась на сценарии курса с числом обучающихся 1000 студентов и периодом анализа 30 дней. Результаты расчетов представлены в таблице 3.
Таблица 3 - Производительность расчета продуктовых метрик
Размер курса (студентов) | Период (дней) | Время расчета, сек | Запросов ClickHouse | Использование памяти, МВ |
100 | 7 | 1,2 | 6 | 45 |
500 | 7 | 4,8 | 6 | 78 |
1000 | 7 | 9,5 | 6 | 142 |
1000 | 30 | 11,2 | 6 | 185 |
Установлено, что расчет полного набора продуктовых метрик выполняется за 11–12 секунд при потреблении оперативной памяти менее 200 МБ. При увеличении объема данных наблюдается линейный рост времени выполнения запросов, что свидетельствует о масштабируемости выбранной архитектуры и корректности реализации аналитических алгоритмов.
6.6. Результаты сравнительного анализа
Сравнительный анализ разработанного решения с существующими образовательными платформами Moodle, Stepik, Coursera Assessments и Amplitude / Mixpanel представлен в таблице 4.
Таблица 4 - Сравнение разработанного решения с существующими LMS
Критерий | Moodle (модуль Quiz) | Stepik | Coursera Assessments | Amplitude / Mixpanel | Разрабатываемое решение |
Назначение системы | LMS с модулем тестирования и базовой отчетностью по попыткам | Платформа онлайн-курсов с тестами и заданиями | Система оценивания в рамках MOOC-платформы | Платформы продуктовой аналитики для любых цифровых сервисов | Специализированный backend для оценки знаний студентов с продуктовой аналитикой |
Тип метрик | Академические: оценка, число попыток, процент верных ответов | Академические: прогресс по курсу, результаты заданий | Академические и частично поведенческие метрики | Продуктовые: события, конверсии, воронки, retention | Совмещение академических и продуктовых метрик (успеваемость + вовлеченность, конверсии по заданиям, retention) |
Работа с событиями | Логи в основном внутри LMS, ограниченные возможности кастомизации | Сбор событий реализован, но закрыт и недоступен для гибкой доработки | Логи и аналитика закрыты, управляются платформой | Гибкий сбор любых событий, но без образовательной доменной модели | Явный слой логирования учебных событий (курс, модуль, задание, попытка, событие) в модели данных backend-сервиса |
Архитектура серверной части | Крупный монолит, расширение через плагины, сложная модернизация | Закрытая архитектура платформы, недоступна для изменения | Корпоративное закрытое решение | Облачный сервис, SDK, нет контроля над внутренней архитектурой | Модульная архитектура backend (сервисы: управление курсами/заданиями, прием событий, расчет метрик, API отчетов) |
Интеграция с внешними системами | API есть, но сильно завязано на модель Moodle | Ограниченные интеграции по официальным API | Интеграции в основном в рамках экосистемы Coursera | SDK и API, но без специализированной логики под обучение | Открытый API для фронтендов и внешних систем: LMS, личные кабинеты, BI-инструменты |
Ориентация на продуктовые метрики | Практически отсутствует, акцент на успеваемости | Набор отчетов ограничен академическими показателями | Фокус на академических результатах и завершении курса | Максимальный фокус на продуктовых метриках, но нет связи с оценкой знаний | Изначально заложен продуктовый взгляд: воронки прохождения заданий, время до первой попытки, возвращаемость, активные пользователи |
Доступность и модифицируемость | Open source, но сложен для переосмысления под продуктовую аналитику | SaaS-решение, закрытый код | Полностью закрытое коммерческое решение | SaaS-сервисы, нет доступа к внутренней логике | Проектируемое решение с открытой архитектурой, возможностью расширения метрик и логики расчета |
Результаты сравнения показывают, что разработанная серверная часть превосходит существующие решения по уровню детализации аналитики учебной активности и поддержке продуктовых метрик. В отличие от LMS, ориентированных преимущественно на фиксацию результатов обучения, предложенная система обеспечивает анализ процесса обучения и может использоваться как специализированный аналитический модуль.
7. Обсуждение
Сопоставление полученных результатов с исследованиями в области learning analytics показывает, что в большинстве работ основное внимание уделяется построению предиктивных моделей
, , тогда как архитектурные вопросы масштабируемости и событийной организации данных рассматриваются фрагментарно . В отличие от существующих исследований, ориентированных преимущественно на анализ уже агрегированных данных, предложенная система обеспечивает хранение первичных событий в неизменяемом виде, что повышает воспроизводимость аналитики и допускает повторный расчет метрик при изменении методологии.В работах, посвященных поведенческим индикаторам вовлеченности
, используются показатели активности и времени взаимодействия, однако их формализация редко сопровождается инженерной реализацией в виде масштабируемых backend-архитектур. В настоящем исследовании поведенческие показатели интегрированы в архитектурную модель системы и реализованы на уровне событийного хранилища, что обеспечивает практическую применимость подхода.Полученные в ходе исследования результаты подтверждают, что использование событийной модели данных и продуктовых метрик учебной активности позволяет существенно расширить традиционные подходы к оценке знаний студентов. В отличие от классических методов, ориентированных на итоговые результаты контроля, предложенное решение обеспечивает анализ процесса обучения, фиксируя динамику активности, вовлеченности и устойчивости учебного поведения.
Численные показатели производительности демонстрируют, что выбранные архитектурные решения являются обоснованными. Способность серверной части обрабатывать до 21 800 событий в секунду при средней задержке 40–60 мс указывает на возможность применения системы в условиях массового обучения и высоких пиковых нагрузок. При этом линейный характер роста времени выполнения аналитических запросов при увеличении объема данных свидетельствует о корректном выборе аналитической СУБД и модели хранения событий. Использование ClickHouse в качестве событийного хранилища обеспечивает эффективную обработку временных рядов и агрегирующих запросов, что критично для анализа учебной активности.
Отдельного внимания заслуживает интерпретация реализованных продуктовых метрик. Метрика удержания (Retention Rate) позволяет выявлять снижение активности студентов на ранних этапах прохождения курса, что может использоваться для своевременного вмешательства со стороны преподавателя. Метрика вовлеченности (Engagement Score), основанная на взвешенной комбинации различных типов активности, дает более комплексную оценку учебного поведения по сравнению с бинарными показателями присутствия или отсутствия активности. Метрика завершенности (Completion Rate) и показатель времени на выполнение заданий (Time-on-Task) дополняют друг друга, позволяя различать ситуации формального выполнения заданий и осмысленного усвоения материала.
Сравнение разработанного решения с существующими LMS показывает, что большинство платформ ориентированы на хранение результатов обучения и предоставление базовой статистики, тогда как предложенная серверная часть фокусируется на аналитике поведения и продуктовых метриках. Это делает систему не заменой LMS, а специализированным аналитическим модулем, который может быть интегрирован в существующую образовательную инфраструктуру. Такой подход снижает порог внедрения и позволяет использовать систему в различных образовательных сценариях.
К ограничениям исследования следует отнести использование синтетических данных при тестировании, что не позволяет в полной мере оценить поведенческое разнообразие реальных студентов. Кроме того, в текущей реализации отсутствует встроенный интерфейс визуализации аналитических показателей, что требует использования внешних BI-инструментов или дополнительных клиентских приложений. Также следует отметить, что эмпирически подобранные коэффициенты в формуле вовлеченности могут требовать адаптации при использовании системы в иных образовательных контекстах и дисциплинах.
Несмотря на указанные ограничения, результаты исследования подтверждают, что предложенный подход является масштабируемым, воспроизводимым и пригодным для практического применения. Архитектура системы допускает расширение набора метрик, изменение алгоритмов расчета и интеграцию с методами машинного обучения для прогнозирования учебных результатов и персонализации образовательных траекторий.
8. Заключение
В статье представлена разработка серверной части веб-приложения для оценки знаний студентов на основе продуктовых метрик учебной активности. В рамках исследования реализована событийная архитектура, обеспечивающая сбор, хранение и аналитическую обработку данных учебного поведения обучающихся.
Основным результатом работы является создание серверной системы, способной обрабатывать интенсивные потоки событий учебной активности и рассчитывать аналитические показатели, отражающие процесс и качество обучения. Экспериментальная апробация показала, что система обеспечивает высокую производительность, устойчивость к нагрузкам и воспроизводимость расчетов. Достигнутые показатели, включая обработку более 20 000 событий в секунду и расчет метрик для курсов с числом обучающихся порядка 1000 человек за 11–12 секунд, подтверждают практическую применимость разработанного решения.
Практическая значимость исследования определяется возможностью использования разработанной серверной части в качестве аналитического модуля для существующих образовательных платформ. Архитектурные решения и реализованные алгоритмы могут быть использованы при разработке и модернизации цифровых образовательных систем, ориентированных на массовое обучение и индивидуализацию образовательных траекторий.
Перспективными направлениями дальнейших исследований являются апробация системы на реальных образовательных данных, внедрение методов машинного обучения для прогнозирования успеваемости и риска отсева студентов, а также разработка визуальных аналитических панелей для поддержки принятия педагогических и управленческих решений.
