Введение 5
1 Анализ требований 6
1.1 Прототип 6
1.2 Нефункциональные требования 8
1.3 Новые функциональные требования 8
2 Проектирование...v 10
2.1 Компоненты платформы 10
2.2 Пакеты модуля FormsAPI 10
2.3 Модель FormsAPI 13
2.4 Модель бизнес-логики сгенерированной формы 15
2.5 Модель шаблона теста 15
2.6 Модель вопросов шаблона 17
2.7 Модель опубликованного теста 18
2.8 Модель сгенерированного теста 18
2.9 Модель файлов 20
2.10 Модель сущностей используемых для интеграции 20
3 Реализация модуля 22
3.1 Проблемы с реализацией 22
3.2 Процесс проверки теста 24
3.3 Процесс получения сгенерированной формы 24
3.4 Процесс подсчёта баллов 25
3.5 Процесс выставления оценок 30
3.6 Постмодерация теста 31
3.7 Хранение файлов вложений 33
3.8 Процесс создания вопроса для банка вопросов 36
3.9 Процесс вывода всех форм пользователя 38
3.10 Процесс вывода форм сданных форм пользователя 39
3.11 Интеграционная логика 40
3.11.1 Сущности используемые при интеграции 40
3.11.2 Получение описания задачи 41
3.11.3 Получение конкретной сгенерированной формы 41
Заключение 43
Список использованной литературы 44
Приложение А 45
Целью данной работы является разработка модуля, предназначенного для проведения тестов.
Примером схожего существующего сервиса является Google Forms. В разрабатываемом сервисе также можно создавать формы, состоящие из блоков, которые в свою очередь состоят из разных типов вопросов. Помимо этого, необходим дополнительная функциональность, не присутствующая в том же Google Forms.
Этот модуль предназначен для платформы Code.Hedgehog, специализирующаяся на онлайн обучении различным IT-дисциплинам. Сейчас платформа уже включает в себя программы для обучения, к примеру, математики для компьютерных наук, баз данных и разных языков программирования.
Раннее уже был написан прототип модуля, но он являлся исследовательским. Его необходимо проанализировать, затем переписать на другой язык и интегрировать в платформу Code.Hedgehog. Таким образом, задачами работы являются:
1) анализ требований;
2) реализация модуля системы;
3) интеграция модуля в платформу Code.Hedgehog.
В рамках данной работы был произведён анализ требований и реализован разрабатываемый модуль. Часть функциональности была интегрирована в платформу Code.Hedgehog. На данный момент процесс интеграции приостановлен, и интегрированная на часть проходит стадию технического ревью.