docs: add technical specification and step 002 log

- Create DOC/ТЗ.md with full system requirements
- Add DOC/ШАГИ/ШАГ_2026-03-21_002.md with step log

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Aleksey Razorvin
2026-03-21 11:20:22 +05:00
parent c1406c4ed1
commit 7ff7d9b1d0
2 changed files with 221 additions and 0 deletions
+141
View File
@@ -0,0 +1,141 @@
# Техническое задание
## Система тестирования сотрудников клиники
**Версия:** 1.0
**Дата:** 2026-03-21
**Статус:** Черновик
---
## 1. Назначение системы
Веб-приложение для проведения внутреннего тестирования сотрудников клиники. Руководители подразделений и HR-менеджер создают тесты и назначают их сотрудникам. Сотрудники проходят тесты в браузере. Система фиксирует все попытки и результаты.
---
## 2. Роли и права доступа
| Роль | Кто | Создаёт тесты | Назначает тесты | Видит результаты |
|------|-----|:---:|:---:|:---:|
| **HR-менеджер** | Руководитель службы HR | ✅ | Всем сотрудникам клиники | Всех сотрудников |
| **Руководитель подразделения** | Главный врач, рук. службы администраторов и др. | ✅ | Только своему подразделению | Только своего подразделения |
| **Сотрудник** | Все остальные работники | ❌ | ❌ | Только свои |
> **Примечание:** Директор клиники получает права HR-менеджера либо выделяется в отдельную роль с доступом к отчётности по всей клинике — уточнить на этапе проектирования.
---
## 3. Авторизация
- Вход по логину и паролю
- Учётные записи создаются администратором системы вручную
- Сессия хранится на сервере (cookie-based или JWT — определить при выборе стека)
- Пароль хранится в зашифрованном виде (bcrypt или аналог)
---
## 4. Функциональные требования
### 4.1. Управление пользователями и подразделениями
- Создание/редактирование/деактивация учётных записей сотрудников
- Каждый сотрудник принадлежит одному подразделению
- Создание/редактирование справочника подразделений
- Назначение роли сотруднику: HR-менеджер / Руководитель подразделения / Сотрудник
### 4.2. Создание и редактирование тестов
**Тест содержит:**
- Название теста
- Описание (опционально)
- Список вопросов (минимум 7)
- Порог зачёта — минимальный % правильных ответов (задаётся автором)
- Таймер прохождения — лимит в минутах (опционально)
**Вопрос содержит:**
- Текст вопроса
- Минимум 3 варианта ответа
- Один или несколько правильных ответов (чекбокс или радио-кнопка в зависимости от типа)
**Правила работы с тестом:**
- Автор может редактировать тест пока он не назначен никому
- После назначения тест редактированию не подлежит (или создаётся новая версия — уточнить)
- Тест можно деактивировать (скрыть из списка, не удалять)
### 4.3. Назначение теста
При назначении задаются:
- Список получателей (отдел или конкретные сотрудники)
- Срок сдачи — дата дедлайна (задаётся в днях от даты назначения или конкретной датой)
- Допустимое количество попыток (1 или более — задаётся при назначении)
HR-менеджер может назначить тест сотрудникам любых подразделений.
Руководитель подразделения — только сотрудникам своего подразделения.
### 4.4. Прохождение теста (интерфейс сотрудника)
- На главной странице сотрудник видит список назначенных ему тестов со статусами:
- `Не начат` — ещё не открывал
- `В процессе` — начал, не завершил (если таймер — отсчёт продолжается)
- `Завершён` — сдал/не сдал
- `Просрочен` — дедлайн прошёл, не сдан
- Если задан таймер — отображается обратный отсчёт, по истечении тест завершается автоматически
- Порядок вопросов фиксированный (без случайного перемешивания — уточнить)
- Сотрудник не может вернуться к предыдущему вопросу (или может — уточнить)
### 4.5. Результаты после завершения теста
Сотрудник сразу после сдачи видит:
- Итоговый балл и процент правильных ответов
- Факт зачёта: **сдал / не сдал** (относительно порога)
- Разбор ошибок: по каждому вопросу — его ответ и правильный ответ
### 4.6. Трекер попыток
Система фиксирует каждую попытку прохождения теста:
| Поле | Описание |
|------|----------|
| Сотрудник | ФИО, подразделение |
| Тест | Название |
| Попытка № | Порядковый номер попытки |
| Начало | Дата и время начала |
| Завершение | Дата и время окончания |
| Результат | Количество правильных ответов / всего, % |
| Зачёт | Да / Нет (преодолён ли порог) |
Руководитель видит трекер по своему подразделению.
HR-менеджер видит трекер по всей клинике.
Сотрудник видит только свои попытки.
---
## 5. Нефункциональные требования
| Параметр | Требование |
|----------|-----------|
| Количество пользователей | 50–200 человек |
| Платформа | Веб-приложение, браузер (desktop-first) |
| Доступность | Внутренняя сеть клиники |
| Язык интерфейса | Русский |
| Время отклика | < 2 секунды для основных операций |
---
## 6. Открытые вопросы (требуют уточнения)
- [ ] Роль Директора клиники — отдельная роль или HR-менеджер?
- [ ] Можно ли редактировать тест после назначения (версионирование)?
- [ ] Порядок вопросов — фиксированный или случайный?
- [ ] Можно ли сотруднику вернуться к предыдущему вопросу в ходе теста?
- [ ] Нужны ли уведомления (email / внутри системы) о назначении теста и дедлайне?
- [ ] Нужен ли экспорт отчётов (Excel / PDF)?
---
## 7. Вне scope (не реализуем в данной версии)
- Интеграция с AD/LDAP
- Мобильное приложение
- Вопросы с вложениями (изображения, видео)
- Автоматическая генерация вопросов