Применение нотаций
Нарисуйте диаграмму последовательностей получения данных из REST-сервиса через веб-форму.
Структура диаграммы последовательности для процесса, когда пользователь отправляет запросы в REST-сервис через веб-форму:
-
Актеры:
-
Пользователь (User)
-
REST-сервис (REST Service)
-
-
Основные шаги:
-
Пользователь заполняет и отправляет веб-форму.
-
Веб-сервер получает запрос от пользователя.
-
Веб-сервер отправляет запрос REST-сервису для получения данных.
-
REST-сервис обрабатывает запрос и выполняет необходимые операции.
-
REST-сервис возвращает данные в ответ на запрос.
-
Веб-сервер получает данные от REST-сервиса.
-
Веб-сервер отображает полученные данные пользователю.
-
-
События и сообщения:
-
Событие: “Отправка запроса от пользователя через веб-форму”.
-
Сообщение: “Запрос данных к REST-сервису”.
-
Событие: “Получение данных от REST-сервиса”.
-
-
Диаграмма последовательности:
- Покажите отдельные линии жизни пользователя, браузера с веб-формой, веб-сервера и REST-сервиса. Если браузер вызывает REST API напрямую, промежуточный веб-сервер не нужен. Добавьте сообщения запроса, ответа и ветку ошибки.
Этот процесс демонстрирует взаимодействие между пользователем, веб-сервером и REST-сервисом при получении данных через веб-форму и REST API.
Ссылки для изучения
Составьте схему BPMN для процесса, описывающего работу банкомата (устно)
Для описания работы банкомата с использованием BPMN (Business Process Model and Notation) можно представить следующую схему:
-
Начало процесса:
- Начальное событие: “Пользователь приходит к банкомату”.
-
Основные шаги:
-
Активность: “Ввод PIN-кода пользователем”.
-
Шлюз (Gateway): “Проверка правильности PIN-кода”.
-
Если PIN-код верен: переход к следующему шагу.
-
Если PIN-код неверен: возврат к вводу PIN-кода.
-
-
Активность: “Выбор операции (снятие/пополнение/баланс)”.
-
Шлюз: “Выбор типа операции”.
- Различные ветви в зависимости от выбора операции (снятие/пополнение/просмотр баланса).
-
Активность: “Выполнение операции банкоматом”.
-
Шлюз: “Подтверждение выполнения операции”.
-
Если операция выполнена успешно: завершение процесса.
-
Если произошла ошибка: переход к началу или альтернативным шагам.
-
-
-
Завершение процесса:
- Конечное событие: “Пользователь забирает карту и чек”.
Ссылки для изучения
Какие бывают Gateway в BPMN?
В BPMN (Business Process Model and Notation) существуют различные типы шлюзов (Gateways), которые используются для управления потоком процесса. Основные типы шлюзов в BPMN:
-
Exclusive Gateway (
XOR):-
Используется для принятия решений на основе условий.
-
Позволяет выбирать один из нескольких исходящих потоков в зависимости от выполнения условия.
-
-
Inclusive Gateway (
OR):-
Позволяет выбирать несколько исходящих потоков одновременно.
-
Используется для моделирования альтернативных путей выполнения процесса, когда могут выполняться несколько условий одновременно.
-
-
Parallel Gateway (
AND):-
Используется для разделения потока процесса на несколько параллельных путей.
-
Все исходящие потоки выполняются параллельно и независимо друг от друга.
-
-
Complex Gateway:
-
Позволяет моделировать более сложные логические условия, которые не могут быть представлены с помощью других типов шлюзов.
-
Используется для описания более специфических случаев, требующих детализации логики принятия решений.
-
Каждый тип шлюза в BPMN имеет свои особенности и применяется в зависимости от необходимости моделирования конкретных условий и потоков выполнения процесса.
Ссылки для изучения
Как проверить корректность BPMN-диаграммы?
Проверку начинают со сценария: у процесса есть корректное начало, все нужные действия достижимы, а каждый путь приходит к допустимому завершению или явно ожидает событие. Последовательные потоки не должны перескакивать между пулами; взаимодействие участников показывают сообщениями. Для каждого шлюза проверяют условия исходящих ветвей, их полноту и соответствие типу шлюза, а для параллельных ветвей возможность корректного объединения. Роли и ответственность должны совпадать с реальным процессом. После формальной проверки диаграмму проходят на конкретных примерах, включая ошибки, таймауты и отмену, вместе с владельцем процесса.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- Публичное собеседование системного аналитика с компанией Usetech · 56:59–58:08Видео · Ответ кандидата
Кандидат объясняет проверку соответствия схемы реальному процессу: наблюдение за работой участника и согласование участков с ответственными стейкхолдерами.
Когда в BPMN нужен событийный шлюз?
Событийный шлюз нужен, когда после него процесс ждёт одно из нескольких альтернативных событий, например сообщение клиента или истечение таймера. Побеждает первое наступившее событие, остальные ожидающие ветви отменяются. Исходящие ветви должны вести к catching event или receive task и не задаются обычными условиями данных. Exclusive gateway выбирает ветвь сразу по уже известным данным, поэтому это другой механизм. Типичный пример: ждать подтверждение оплаты не больше 15 минут, затем продолжить по сообщению либо по таймауту. Важно проверить, что каждый допустимый исход имеет продолжение.
Ссылки для изучения
Когда использовать фрагмент opt на sequence diagram?
Фрагмент opt показывает одну условную последовательность: она выполняется, только если истинно guard-условие, например [товар есть на складе]. Если условие ложно, взаимодействие внутри фрагмента пропускается. Когда нужно показать две или больше взаимоисключающих ветвей, используют alt, а не несколько несвязанных opt, если они создают ложное впечатление независимости. Guard пишут как понятное бизнес-условие, а рамкой охватывают только участвующие сообщения и lifeline. Мелкие очевидные проверки лучше не добавлять: диаграмма должна объяснять взаимодействие, а не повторять каждую строку алгоритма.
Ссылки для изучения
Как показать цикл на диаграмме последовательности?
Повторяющуюся последовательность помещают в combined fragment loop. В guard указывают условие или диапазон повторений, например [для каждого элемента] или [пока статус pending], а рамка показывает, какие сообщения входят в итерацию. Нужно обозначить, кто меняет условие завершения, иначе диаграмма допускает бесконечный цикл. Если внутри много ветвей и деталей, лучше вынести повторяемое взаимодействие в отдельную диаграмму или ref, оставив на верхнем уровне цель цикла. Sequence diagram показывает обмен сообщениями, поэтому сложный алгоритм цикла удобнее описать текстом или activity diagram.
Ссылки для изучения







