docs: close all open questions, update ТЗ to v1.1
- Director role = HR-manager (same permissions) - Editing assigned test creates new version - Question order is random per attempt - Navigation back configurable by test author - Notifications via MAX messenger (last sprint) - Export out of scope - Add step 003 log Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
# Техническое задание
|
||||
## Система тестирования сотрудников клиники
|
||||
|
||||
**Версия:** 1.0
|
||||
**Версия:** 1.1
|
||||
**Дата:** 2026-03-21
|
||||
**Статус:** Черновик
|
||||
**Статус:** Согласовано
|
||||
|
||||
---
|
||||
|
||||
@@ -17,12 +17,10 @@
|
||||
|
||||
| Роль | Кто | Создаёт тесты | Назначает тесты | Видит результаты |
|
||||
|------|-----|:---:|:---:|:---:|
|
||||
| **HR-менеджер** | Руководитель службы HR | ✅ | Всем сотрудникам клиники | Всех сотрудников |
|
||||
| **HR-менеджер** | Руководитель службы HR, Директор клиники | ✅ | Всем сотрудникам клиники | Всех сотрудников |
|
||||
| **Руководитель подразделения** | Главный врач, рук. службы администраторов и др. | ✅ | Только своему подразделению | Только своего подразделения |
|
||||
| **Сотрудник** | Все остальные работники | ❌ | ❌ | Только свои |
|
||||
|
||||
> **Примечание:** Директор клиники получает права HR-менеджера либо выделяется в отдельную роль с доступом к отчётности по всей клинике — уточнить на этапе проектирования.
|
||||
|
||||
---
|
||||
|
||||
## 3. Авторизация
|
||||
@@ -57,9 +55,13 @@
|
||||
- Минимум 3 варианта ответа
|
||||
- Один или несколько правильных ответов (чекбокс или радио-кнопка в зависимости от типа)
|
||||
|
||||
**Настройки теста (задаются автором при создании):**
|
||||
- Разрешить возврат к предыдущему вопросу: да / нет
|
||||
|
||||
**Правила работы с тестом:**
|
||||
- Автор может редактировать тест пока он не назначен никому
|
||||
- После назначения тест редактированию не подлежит (или создаётся новая версия — уточнить)
|
||||
- После назначения тест редактированию не подлежит — создаётся новая версия теста
|
||||
- Все версии теста хранятся; результаты привязаны к конкретной версии
|
||||
- Тест можно деактивировать (скрыть из списка, не удалять)
|
||||
|
||||
### 4.3. Назначение теста
|
||||
@@ -80,8 +82,8 @@ HR-менеджер может назначить тест сотрудника
|
||||
- `Завершён` — сдал/не сдал
|
||||
- `Просрочен` — дедлайн прошёл, не сдан
|
||||
- Если задан таймер — отображается обратный отсчёт, по истечении тест завершается автоматически
|
||||
- Порядок вопросов фиксированный (без случайного перемешивания — уточнить)
|
||||
- Сотрудник не может вернуться к предыдущему вопросу (или может — уточнить)
|
||||
- Порядок вопросов **случайный** при каждом прохождении
|
||||
- Возможность вернуться к предыдущему вопросу — определяется настройкой теста
|
||||
|
||||
### 4.5. Результаты после завершения теста
|
||||
|
||||
@@ -122,14 +124,15 @@ HR-менеджер видит трекер по всей клинике.
|
||||
|
||||
---
|
||||
|
||||
## 6. Открытые вопросы (требуют уточнения)
|
||||
## 6. Уведомления
|
||||
|
||||
- [ ] Роль Директора клиники — отдельная роль или HR-менеджер?
|
||||
- [ ] Можно ли редактировать тест после назначения (версионирование)?
|
||||
- [ ] Порядок вопросов — фиксированный или случайный?
|
||||
- [ ] Можно ли сотруднику вернуться к предыдущему вопросу в ходе теста?
|
||||
- [ ] Нужны ли уведомления (email / внутри системы) о назначении теста и дедлайне?
|
||||
- [ ] Нужен ли экспорт отчётов (Excel / PDF)?
|
||||
Уведомления реализуются в одном из последних спринтов.
|
||||
|
||||
- Канал: мессенджер **MAX**
|
||||
- События для уведомления:
|
||||
- Сотруднику назначен новый тест
|
||||
- Приближается дедлайн сдачи теста
|
||||
- Интеграция с MAX API — отдельная задача спринта
|
||||
|
||||
---
|
||||
|
||||
@@ -139,3 +142,4 @@ HR-менеджер видит трекер по всей клинике.
|
||||
- Мобильное приложение
|
||||
- Вопросы с вложениями (изображения, видео)
|
||||
- Автоматическая генерация вопросов
|
||||
- Экспорт отчётов в Excel / PDF
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
# ШАГ 003 — Закрытие открытых вопросов ТЗ
|
||||
|
||||
**Дата:** 2026-03-21
|
||||
**Контекст:** Мастер-класс по разработке системы тестирования сотрудников клиники.
|
||||
|
||||
---
|
||||
|
||||
## Запрос
|
||||
|
||||
> давай обсудим открытые вопросы сейчас
|
||||
|
||||
---
|
||||
|
||||
## Ответ
|
||||
|
||||
Проведён диалог с заказчиком по всем 6 открытым вопросам из ТЗ. Все решения приняты и внесены в `DOC/ТЗ.md` (версия 1.1, статус: Согласовано).
|
||||
|
||||
---
|
||||
|
||||
## Принятые решения
|
||||
|
||||
### 1. Роль Директора клиники
|
||||
**Решение:** Директор получает права HR-менеджера — те же возможности, отдельная роль не нужна.
|
||||
|
||||
В таблице ролей ТЗ:
|
||||
```
|
||||
HR-менеджер | Руководитель службы HR, Директор клиники
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2. Редактирование теста после назначения
|
||||
**Решение:** Создаётся новая версия теста.
|
||||
|
||||
- Назначенный тест заморожен — изменить его нельзя
|
||||
- Для исправления создаётся новая версия
|
||||
- Все версии хранятся в системе
|
||||
- Результаты прохождений привязаны к конкретной версии теста
|
||||
|
||||
Это важно для целостности данных: нельзя изменить вопросы уже после того, как кто-то прошёл тест.
|
||||
|
||||
---
|
||||
|
||||
### 3. Порядок вопросов
|
||||
**Решение:** Случайный при каждом прохождении.
|
||||
|
||||
Это усложняет списывание — два сотрудника, проходящих тест одновременно, видят вопросы в разном порядке.
|
||||
|
||||
---
|
||||
|
||||
### 4. Возврат к предыдущему вопросу
|
||||
**Решение:** Настраивается автором теста при создании.
|
||||
|
||||
Параметр добавлен в настройки теста: `Разрешить возврат к предыдущему вопросу: да / нет`.
|
||||
- Для строгих тестов (экзаменационный формат) — выключить
|
||||
- Для обучающих тестов — можно включить
|
||||
|
||||
---
|
||||
|
||||
### 5. Уведомления
|
||||
**Решение:** Нужны, канал — мессенджер **MAX**.
|
||||
|
||||
- Уведомление о назначении нового теста
|
||||
- Уведомление о приближении дедлайна
|
||||
- **Реализуем в одном из последних спринтов** — интеграция с MAX API отдельная задача
|
||||
|
||||
> **Для джуниора:** MAX — корпоративный мессенджер. Интеграция потребует изучения API MAX и реализации отдельного сервиса уведомлений.
|
||||
|
||||
---
|
||||
|
||||
### 6. Экспорт отчётов
|
||||
**Решение:** Не нужен в данной версии, вынесен за scope.
|
||||
|
||||
---
|
||||
|
||||
## Итог
|
||||
|
||||
ТЗ обновлено до версии 1.1, статус изменён на **Согласовано**. Открытых вопросов не осталось.
|
||||
|
||||
### Следующие шаги
|
||||
|
||||
- [x] Написать ТЗ
|
||||
- [x] Закрыть открытые вопросы ТЗ
|
||||
- [ ] Выбрать технологический стек
|
||||
- [ ] Составить план спринтов
|
||||
Reference in New Issue
Block a user