Для чего нужны диаграммы последовательностей
Что проверяют
Знаете ли вы, какой вопрос закрывает именно эта диаграмма, и умеете ли выбирать её вместо словесного описания.
Как отвечать
Диаграмма последовательности показывает обмен сообщениями между участниками во времени: кто кого вызывает, в каком порядке, что возвращается, где ожидание, где ветвление.
Где она незаменима:
- интеграции: три системы, шесть вызовов, и словами это описать невозможно без путаницы. На диаграмме сразу видно, кто инициатор, а кто только отвечает;
- сценарии с несколькими шагами: оплата, авторизация, подтверждение по коду;
- обсуждение крайних случаев: таймаут, отказ смежной системы, повторный вызов, компенсация. Их рисуют отдельными ветками, и именно на этом месте всплывают незаданные вопросы к постановке;
- асинхронные обмены: видно, что ответ приходит не сразу, а отдельным сообщением или через опрос статуса.
Что стоит назвать из нотации, чтобы ответ не был общим: линия жизни участника, полоса активности, синхронный вызов сплошной стрелкой и ответ пунктиром, асинхронное сообщение открытой стрелкой, блоки alt для альтернатив, opt для необязательного, loop для повторов.
Практическая ценность для аналитика в том, что диаграмма заставляет договориться о деталях: кто отвечает за повтор при ошибке, что считать успехом, какие поля идут в каждом сообщении. Ответы на эти вопросы попадают потом в требования.
Где спотыкаются
Рисуют вместо неё диаграмму активности: та показывает поток работ, а не обмен между участниками.
Изображают только успешный путь, из-за чего обработка ошибок оказывается непроработанной.
Смешивают уровни: на одной диаграмме и бизнес-шаги, и вызовы конкретных методов, и запросы к таблицам.