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
|
**Дата:** 2026-03-21
|
||||||
**Статус:** Черновик
|
**Статус:** Согласовано
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -17,12 +17,10 @@
|
|||||||
|
|
||||||
| Роль | Кто | Создаёт тесты | Назначает тесты | Видит результаты |
|
| Роль | Кто | Создаёт тесты | Назначает тесты | Видит результаты |
|
||||||
|------|-----|:---:|:---:|:---:|
|
|------|-----|:---:|:---:|:---:|
|
||||||
| **HR-менеджер** | Руководитель службы HR | ✅ | Всем сотрудникам клиники | Всех сотрудников |
|
| **HR-менеджер** | Руководитель службы HR, Директор клиники | ✅ | Всем сотрудникам клиники | Всех сотрудников |
|
||||||
| **Руководитель подразделения** | Главный врач, рук. службы администраторов и др. | ✅ | Только своему подразделению | Только своего подразделения |
|
| **Руководитель подразделения** | Главный врач, рук. службы администраторов и др. | ✅ | Только своему подразделению | Только своего подразделения |
|
||||||
| **Сотрудник** | Все остальные работники | ❌ | ❌ | Только свои |
|
| **Сотрудник** | Все остальные работники | ❌ | ❌ | Только свои |
|
||||||
|
|
||||||
> **Примечание:** Директор клиники получает права HR-менеджера либо выделяется в отдельную роль с доступом к отчётности по всей клинике — уточнить на этапе проектирования.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 3. Авторизация
|
## 3. Авторизация
|
||||||
@@ -57,9 +55,13 @@
|
|||||||
- Минимум 3 варианта ответа
|
- Минимум 3 варианта ответа
|
||||||
- Один или несколько правильных ответов (чекбокс или радио-кнопка в зависимости от типа)
|
- Один или несколько правильных ответов (чекбокс или радио-кнопка в зависимости от типа)
|
||||||
|
|
||||||
|
**Настройки теста (задаются автором при создании):**
|
||||||
|
- Разрешить возврат к предыдущему вопросу: да / нет
|
||||||
|
|
||||||
**Правила работы с тестом:**
|
**Правила работы с тестом:**
|
||||||
- Автор может редактировать тест пока он не назначен никому
|
- Автор может редактировать тест пока он не назначен никому
|
||||||
- После назначения тест редактированию не подлежит (или создаётся новая версия — уточнить)
|
- После назначения тест редактированию не подлежит — создаётся новая версия теста
|
||||||
|
- Все версии теста хранятся; результаты привязаны к конкретной версии
|
||||||
- Тест можно деактивировать (скрыть из списка, не удалять)
|
- Тест можно деактивировать (скрыть из списка, не удалять)
|
||||||
|
|
||||||
### 4.3. Назначение теста
|
### 4.3. Назначение теста
|
||||||
@@ -80,8 +82,8 @@ HR-менеджер может назначить тест сотрудника
|
|||||||
- `Завершён` — сдал/не сдал
|
- `Завершён` — сдал/не сдал
|
||||||
- `Просрочен` — дедлайн прошёл, не сдан
|
- `Просрочен` — дедлайн прошёл, не сдан
|
||||||
- Если задан таймер — отображается обратный отсчёт, по истечении тест завершается автоматически
|
- Если задан таймер — отображается обратный отсчёт, по истечении тест завершается автоматически
|
||||||
- Порядок вопросов фиксированный (без случайного перемешивания — уточнить)
|
- Порядок вопросов **случайный** при каждом прохождении
|
||||||
- Сотрудник не может вернуться к предыдущему вопросу (или может — уточнить)
|
- Возможность вернуться к предыдущему вопросу — определяется настройкой теста
|
||||||
|
|
||||||
### 4.5. Результаты после завершения теста
|
### 4.5. Результаты после завершения теста
|
||||||
|
|
||||||
@@ -122,14 +124,15 @@ HR-менеджер видит трекер по всей клинике.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 6. Открытые вопросы (требуют уточнения)
|
## 6. Уведомления
|
||||||
|
|
||||||
- [ ] Роль Директора клиники — отдельная роль или HR-менеджер?
|
Уведомления реализуются в одном из последних спринтов.
|
||||||
- [ ] Можно ли редактировать тест после назначения (версионирование)?
|
|
||||||
- [ ] Порядок вопросов — фиксированный или случайный?
|
- Канал: мессенджер **MAX**
|
||||||
- [ ] Можно ли сотруднику вернуться к предыдущему вопросу в ходе теста?
|
- События для уведомления:
|
||||||
- [ ] Нужны ли уведомления (email / внутри системы) о назначении теста и дедлайне?
|
- Сотруднику назначен новый тест
|
||||||
- [ ] Нужен ли экспорт отчётов (Excel / PDF)?
|
- Приближается дедлайн сдачи теста
|
||||||
|
- Интеграция с 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