Перейти к основному содержимому

UC--. <Краткое название сценария>

Назначение

Описывает пользовательский сценарий <краткое описание>. Связан с контекстом <context>.

Metadata

ПолеЗначение
IDUC-<PREFIX>-<NNN>
Контекст<context> (см. docs/06-services/<context>/)
Типосновной / альтернативный / исключительный
Статусdraft / approved / deprecated

Актор

ПолеЗначение
Роль<Гость / Инвестор / Агент / Агентство / Девелопер / МенеджерПИН / СлужбаЗаботы / Администратор / System>
Permissions / scope<permission list + scope: платформа/организация/группа проектов/проект>
Tenant<TenantId = CompanyId или null для инвестора/гостя (ADR-0052)>
Record-level<владелец/группа или не применяется>

Предусловие

  • <условие 1>.
  • <условие 2>.

Триггер

ПолеЗначение
ИсточникUI button / API call / Schedule / Kafka event
Триггерящий элемент<страница/feature/worker>

Основной Поток

  1. <шаг 1: что делает пользователь>.
  2. <шаг 2: что видит пользователь / что отправляет интерфейс>.
  3. <шаг 3: запрос к системе с моделью данных>.
  4. <шаг 4: система проверяет права и предусловия, применяет бизнес-правила сценария>.
  5. <шаг 5: система принимает доменное решение и меняет состояние (создаёт/обновляет сущность, выполняет переход статуса)>.
  6. <шаг 6: система сохраняет изменения и фиксирует факт — публикует доменное/интеграционное событие>.
  7. <шаг 7: система возвращает результат операции>.
  8. <шаг 8: пользователь видит обновлённый экран — новое состояние / подтверждение>.

Альтернативные Потоки

A1. <название альтернативы>

  1. <шаг>.
  2. <шаг>.

Возвращается к основному потоку на шаг N или завершается.

A2. <название>

(аналогично).

Постусловие

  • <состояние системы после успешного выполнения>.
  • <какие сущности появились/изменились/удалились>.

Возможные Ошибки

КодHTTPУсловиеПоведение клиента
<CODE><status><когда><как клиент должен реагировать>

Доменные События

СобытиеКогда поднимаетсяSubscribers
<EventName><условие><list>

Kafka Интеграционные События

СобытиеTopicКогда публикуетсяConsumers
After<X>.v1pin.<area>.v1<условие><external services>

Acceptance Criteria

#КритерийПроверка
AC1<критерий><как тестировать>
AC2<критерий><как тестировать>

Латентные / SLO-критерии (время ответа, доступность, throughput) здесь не допускаются — их место в README сервиса, секция «SLO».

Обратные ссылки

Автоссылки: где используется этот документ.

Связанные Документы

  • API метод: <file>.
  • Backend Command/Query: <file>.
  • Domain entity: <file>.
  • Frontend page/feature: <file>.
  • State machine: <file> (если применимо).
  • Runtime flow: <file> (если применимо).

Префиксы Use Case ID (контексты PIN)

ПрефиксКонтекст
OVROverview / общесистемные и кросс-сервисные сценарии
IDNidentity (авторизация, роли, permissions, scope)
PRFprofile (персональные данные, документы, верификация)
CHSchessboard (проекты, здания, лоты, справочники)
CTLcatalog (публичный каталог, лента, карточки, шахматка-витрина)
PRCinvest-analytics (история цен, эконом-модель, доходность)
RWDrewards (вознаграждения, комиссионная политика)
REFreferral (реферальные ссылки, привязка)
CRMcrm (лиды, сделки, воронки, статистика)
BKGcrm/booking (бронирование, программы покупки, оплата брони)
FIXcrm/fixation (фиксация клиентов)
OWNinvestor-owner (объекты инвестора-собственника)
NWSnews (посты, блоки, категории)
PRMpromotion (пакеты продвижения, покупки, полиморфный таргет)
FAVfavorites (избранное, заметки, слияние)
SELselections (подборки, публичные ссылки, копии)
ACTuser-activity (сессии, просмотры, действия)
MSGmessenger (чаты, контакты, события чата)
NTFnotifications (каналы, шаблоны)
SUPsupport (тикеты, арбитраж, база знаний)
STAdev-stats (статистика просмотров для застройщика, ClickHouse)

User stories используют префиксы ролей: US-INV-* (инвестор), US-AGT-* (агент), US-DEV-* (девелопер), US-MGR-* (менеджер ПИН) — реестр в docs/06-services/crm/use-cases/user-stories-deal.md.