← Все материалы

Системному аналитику

Что должно быть в описании сервиса

Назначение, входы, выходы, состояния и ошибки. Разберём, что хранить у сервиса, а что вынести в описание связи.

Учебный примерФайлы к материалу ↓

01

Начните с ответственности, а не технологии

«Сервис написан на Go» не объясняет, зачем он нужен. Для Order API полезнее: «создаёт заказ, хранит его состояние и принимает результат оплаты». Добавьте границы: он не принимает деньги и не рассчитывает доставку.

На карте SAQA поместите сервис в нужный продукт. Создайте его документ и начните с встроенного шаблона Service Doc или используйте структуру из скачиваемой заготовки.

02

Разделите свойства сервиса и свойства связи

Описание интеграции можно вести у связи. Общие правила заказа — у продукта, а специфические детали Order API — у сервиса. Это помогает не размножать один большой документ в нескольких местах.

У сервисаУ связи
Назначение и границы ответственности.Источник, получатель и направление обмена.
Сущности, состояния и владелец данных.Протокол, формат и передаваемые поля.
Операции и ошибки сервиса.Таймауты, повторы и реакция на отказ получателя.

03

Сделайте контракт проверяемым

Добавьте хотя бы один конкретный запрос и ответ. Если схема, таблица полей и пример расходятся, исправьте расхождение до передачи в разработку.

  1. Для входа укажите обязательные поля, типы и ограничения.
  2. Для выхода — статус, поля и условия возврата.
  3. Для ошибок — причину и наблюдаемый результат.
  4. Для повторного вызова — что считается повтором и что возвращается.

04

Дайте точку входа для расследования

Запишите, по какому идентификатору искать операцию, какие состояния нормальны, какие метрики нужны и кто отвечает за сервис. Если подключены Prometheus или Zabbix, свяжите наблюдение с соответствующим сервисом.

Согласованные ограничения записывайте отдельно от пожеланий. Если значение таймаута ещё не определено, оставьте вопрос с ответственным, а не утверждение «высокая доступность».

05

Прочитайте документ глазами нового участника

  1. Можно объяснить назначение сервиса без разговора с автором.
  2. Все зависимости видны на карте или описаны в документе.
  3. По примерам можно подготовить запрос в API-клиенте.
  4. Неизвестные условия и участники согласования перечислены.

Заготовка Markdown — структура для переноса в документ. Автоматический импорт Markdown-файла этой инструкцией не предполагается.

МАТЕРИАЛЫ ДЛЯ РАБОТЫ

Продолжите на своём примере

Учебные правила и данные нужно адаптировать к вашей системе. Набор не является готовой реализацией магазина.

Скачать полный набор ↓

Инструменты из этого материала