Разработка системы автоматической генерации тестов для задач по спортивному программированию с учётом настроек пользователя.
Я создал репозиторий.
- Пользователь может создать задачу.
- Пользователь может посмотреть одну задачу.
- Пользователь может посмотреть все свои задачи.
- Пользователь может изменить задачу.
- Пользователь может удалить задачу.
- Пользователь может сгенерировать тесты к задаче.
@startuml
left to right direction
actor "Пользователь" as user
rectangle Задачи {
usecase "Добавить задачу" as UC1
usecase "Посмотреть одну задачу" as UC2
usecase "Посмотреть все свои задачи" as UC3
usecase "Изменить задачу" as UC4
usecase "Удалить задачу" as UC5
}
user --> UC1
user --> UC2
user --> UC3
user --> UC4
user --> UC4
user --> UC5
@enduml@startuml
left to right direction
actor "Пользователь" as user
rectangle Тесты {
usecase "Добавить тест" as UC1
usecase "Посмотреть тест" as UC2
usecase "Изменить тест" as UC3
usecase "Удалить тест" as UC4
usecase "Сгенерировать тест" as UC5
usecase "Проверить тест" as UC6
usecase "Экспортировать тест" as UC7
}
user --> UC1
user --> UC2
user --> UC3
user --> UC4
user --> UC5
user --> UC6
user --> UC7
@endumlОсновные доменные сущности:
- Task (Задача) – описание задачи, входные и выходные данные.
- TestCase (Тестовый пример) – отдельный тест с входными и ожидаемыми выходными данными.
- TestGenerator (Генератор тестов) – сервис, создающий тесты на основе алгоритмов.
- TestAnalyzer (Анализатор тестов) – оценивает тесты по разным параметрам.
- User (Пользователь) – автор задач, который работает с системой.
Границы контекста:
- Task Management (Управление задачами) – CRUD для задач.
- Test Generation (Генерация тестов) – автоматическое создание тестов.
- Test Analysis (Анализ тестов) – проверка покрытия, сложности, качества тестов.
- Export System (Экспорт тестов) – выгрузка тестов в нужном формате.
Ubiquitous Language (Глоссарий):
- Задача (Task) – описание условия, входных и выходных данных.
- Тест (TestCase) – отдельный пример входных данных и ожидаемого результата.
- Генератор тестов (TestGenerator) – система, автоматически создающая тесты.
- Анализатор тестов (TestAnalyzer) – система, оценивающая качество тестов.
- Экспорт тестов (Test Export) – процесс сохранения тестов в нужном формате.
- User (Пользователь) – автор задач, который работает с системой.
- Java 21, Spring, PostgreSQL.
- IntelliJ IDEA Community Edition 2024.2.1.
- На уровне приложения - классы, отображающие сущности в бд
- На уровне - реляционная бд PostgreSQL
Реализовал.
Загрузил.

