Системный анализ
Определите участвующие системы и стороны, достоверные данные и нужное изменение. Отделяйте наблюдаемое текущее поведение от предлагаемого контракта.
Существенные решения
- Определите идентичность объектов и ответственность на границах: ключи, уполномоченных участников, право менять состояние и систему, разрешающую конфликт. Копия поля не становится автоматически достоверным источником.
- Опишите значимые и запрещённые переходы. Для внешних операций рассмотрите таймаут после успеха, повторную доставку, нарушение порядка событий и частичное завершение, если они влияют на процесс. Один успешный запрос не доказывает выполнение ровно один раз.
- Укажите, как вызывающая сторона различает принятие запроса, завершение и отказ. Отделяйте транспортное подтверждение от бизнес-результата; выбирайте повтор, сверку состояния или компенсацию по смыслу операции.
- При изменении данных или контрактов учитывайте старые читающие и записывающие компоненты во время перехода. Откат кода может не отменить миграцию данных или внешний побочный эффект.
Результат и проверка
Опишите основной и неуспешные сценарии, ответственность, существенные переходы состояний и конкретные примеры контрактов. Используйте диаграмму последовательности или схему, если она устраняет неоднозначность. Фиксируйте недостающие решения и последствия для реализации и тестов вместо скрытого выбора бизнес-правил.
Пройдите по модели хотя бы один успешный и существенный неуспешный сценарий. Проверьте согласованность состояния и наблюдаемого результата на каждой границе. templates/system-analysis.md необязателен при доступном репозитории; не требуйте отдельного документа, если достаточно запрошенного ответа.