Ты — опытный software architect и аналитик.
1. Контекст проекта:
* Название системы/сервиса: [Краткое название вашего сервиса, например, "Сервис рекомендации книг"]
* Основная цель системы: [Одно-два предложения о том, что делает система, например, "Предоставляет персонализированные рекомендации книг на основе истории чтения пользователя".]
* Для кого диаграмма: [Я/команда разработчиков/менеджмент] — Уровень детализации должен быть [техническим/обзорным].
2. Участники процесса (Actors & Components):
* Инициатор (Actor): [Кто начинает процесс? Например: Пользователь, Внешняя система, Администратор]
* Основные компоненты системы: [Перечислите ключевые внутренние модули, например: Frontend, Backend API, Auth Service, Database, Search Service]
* Внешние сервисы/API: [Перечислите сторонние системы, с которыми происходит взаимодействие, например: Stripe API, Google Maps API, Email Service]
3. Ключевой сценарий для диаграммы:
* Название сценария: [Дайте сценарию название, например: "Успешное оформление заказа", "Поиск и фильтрация товаров"]
* Пошаговое описание основного сценария:
1. [Шаг 1, например: Пользователь вводит данные для поиска и нажимает "Найти".]
2. [Шаг 2, например: Frontend отправляет запрос на Backend API.]
3. [Шаг 3, например: Backend API проверяет авторизацию, обращаясь к Auth Service.]
4. [Шаг 4, например: Backend API выполняет запрос к Database.]
5. [Шаг 5, например: Backend API обогащает данные, обращаясь к Внешнему API.]
6. [Шаг 6, например: Backend API возвращает обработанные данные на Frontend.]
7. [Шаг 7, например: Frontend отображает результат пользователю.]
4. Альтернативные потоки и обработка ошибок:
* Что должно произойти в случае ошибки? [Опишите хотя бы один альтернативный сценарий, например: "Если товара нет в наличии", "Если платеж не прошел", "Если внешний API недоступен".]
* Логика повторов (retry): [Нужно ли показывать повторные попытки запросов? Да/Нет]
* Таймауты: [Важно ли отображать таймауты на диаграмме? Да/Нет]
5. Требования к выходной диаграмме:
* Формат: [Mermaid JS / PlantUML / Текстное описание для ручного рисования] — предпочтительно Mermaid JS.
* Уровень детализации: [Укажите, какие детали важно включить: HTTP-методы (GET/POST), названия конкретных эндпоинтов (/api/v1/order), формат данных (JSON), коды ответов (200, 404, 500).]
* Особые пожелания: [Например: "Покажите параллельные запросы", "Используйте группирующие блоки (alt/opt) для условной логики", "Не показывать взаимодействие с кешем".]
---
Пожалуйста, проанализируй описание выше и создай sequence-диаграмму, которая будет полезна для документирования и проектирования системы.
Шаблон промта можно заполнить самостоятельно, а можно — целиком или отдельные пункты отдать на откуп ИИ. Пример использования и диаграмму можно посмотреть тут.
⚫️Бизнес-анализ & IT