UML и нотации на собеседовании аналитика
Проверяют не знание значков, а понимание, какой диаграммой что выражают и о чём каждая молчит. Типичная просьба звучит как «нарисуй согласование заявки», а следом идёт добивающий вопрос: почему именно эта нотация и что на ней не видно.
Что спрашивают
- +Поведение: activity для потока работ, state machine для жизненного цикла объекта, use case для границы системы и целей
- +Sequence: участники и время, синхронный вызов против асинхронного, и почему таймаут приходится подписывать отдельно
- +Структура: композиция против агрегации и как это превращается в решение о каскадном удалении
- +Кратность: чем 0..1 отличается от 1 в терминах интерфейса и что прячется за связью многие-ко-многим
- +ERD: сущность против атрибута, обязательность связи и почему схема молчит об историчности
Из чего состоит тема
Так тема разложена в тренажёре: движок ведёт прогресс по каждой подтеме отдельно и возвращает те, где вы ошибаетесь.
- BPMN: основы нотации15
- ERD и схемы данных15
- UML: sequence-диаграммы12
- UML: поведение12
- UML: структура12
Разборы подтем
Конспект по каждой: что это, как отвечать вслух, на чём валятся, плюс вопросы для самопроверки.
- UML: поведение12 вопросов
- UML: структура12 вопросов
- UML: sequence-диаграммы12 вопросов
- BPMN: основы нотации15 вопросов
- ERD и схемы данных15 вопросов
Примеры вопросов с разбором
- Что означает пул (pool) в BPMN?A)Отдельного участника процессаB)Группу однотипных задачC)Точку принятия решенияD)Хранилище документов
показать ответ и разбор
+A)Отдельного участника процесса// разбор: Пул — это участник процесса: организация, подразделение или система со своим собственным потоком работ. Внутри пула бывают дорожки — роли внутри этого участника. Ключевое следствие: между пулами напрямую поток работ не идёт, они обмениваются только сообщениями.
- Что такое сущность в ERD?A)Отдельная запись в таблицеB)Объект, о котором хранят данныеC)Связь между двумя таблицамиD)Поле с уникальным значением
показать ответ и разбор
+B)Объект, о котором хранят данные// разбор: Сущность — это тип объекта, о котором система хранит сведения: клиент, договор, платёж. Конкретный клиент Иванов — экземпляр сущности, а не сама сущность. Различие важно при обсуждении кратности: она описывает правила для всех экземпляров, а не для одного случая.
- Что показывает диаграмма деятельности (activity)?A)Структуру классов и связи между нимиB)Обмен сообщениями между участниками во времениC)Поток работ с ветвлениямиD)Развёртывание компонентов по узлам
показать ответ и разбор
+C)Поток работ с ветвлениями// разбор: Activity описывает последовательность действий с условиями, ветвлениями и параллельностью — по сути алгоритм или бизнес-процесс. Для аналитика это удобный способ показать логику расчёта или маршрут заявки, когда важны шаги и решения, а не участники и не структура данных.
- Что откладывается по вертикали на диаграмме последовательности?A)Объём передаваемых данныхB)ВремяC)Уровень вложенности вызововD)Приоритет сообщений
показать ответ и разбор
+B)Время// разбор: Вертикаль на sequence — это время: чем ниже сообщение, тем позже оно происходит. Горизонталь занимают участники. Заметь, что масштаб не соблюдается — диаграмма показывает порядок событий, а не длительность, поэтому таймауты приходится подписывать явно.
- Что показывает диаграмма классов?A)Последовательность вызовов между объектамиB)Состояния объекта и переходыC)Расположение сервисов по серверамD)Сущности, их атрибуты и связи
показать ответ и разбор
+D)Сущности, их атрибуты и связи// разбор: Диаграмма классов — статическая структура: какие сущности есть, что у них за атрибуты и как они связаны. Аналитик обычно использует её как модель предметной области, а не как схему кода: важны понятия бизнеса и связи между ними, а не методы и модификаторы доступа.
- Чем задача отличается от подпроцесса?A)Задачу выполняет человек, подпроцесс — системаB)Задача длится минуты, подпроцесс — дниC)Подпроцесс раскрывается в отдельную схемуD)Подпроцесс запускается только вручную
показать ответ и разбор
+C)Подпроцесс раскрывается в отдельную схему// разбор: Задача атомарна на текущем уровне: дальше её не раскладывают. Подпроцесс — свёрнутый кусок процесса, у которого есть собственная внутренняя схема. Это инструмент управления сложностью: верхний уровень остаётся читаемым, а детали живут на отдельном листе.
- Что задаёт кардинальность связи?A)Порядок создания записейB)Физический тип внешнего ключаC)Скорость выборки по связиD)Сколько экземпляров с чем связано
показать ответ и разбор
+D)Сколько экземпляров с чем связано// разбор: Кардинальность отвечает на вопрос «сколько к скольким»: один клиент — много заказов, один заказ — один клиент. Вместе с обязательностью (может ли связи не быть) она определяет и структуру таблиц, и проверки в интерфейсе. Это самая содержательная часть ERD для разработки.
- Что моделирует диаграмма состояний (state machine)?A)Состояния объекта и переходы по событиямB)Очередь задач в работе командыC)Иерархию ролей пользователейD)Порядок вызовов между сервисами
показать ответ и разбор
+A)Состояния объекта и переходы по событиям// разбор: State machine отвечает на вопрос, в каких состояниях бывает один объект (заказ, заявка, договор) и что переводит его из одного в другое. Это лучший инструмент, когда у сущности сложный жизненный цикл и важно доказать, что нет тупиков и недостижимых состояний.
- Что обозначает линия жизни (lifeline)?A)Длительность обработки запросаB)Границу транзакцииC)Путь сообщения по сетиD)Участника взаимодействия во времени
показать ответ и разбор
+D)Участника взаимодействия во времени// разбор: Линия жизни — вертикальная пунктирная линия под участником: она обозначает его существование на протяжении сценария. Утолщённые прямоугольники на ней — активации, то есть периоды, когда участник действительно занят обработкой. Сам по себе пунктир длительность не выражает.
это 9 из 66
Ещё 57 вопросов по теме — в тренажёре, с движком повторения
Прочитать разбор и ответить самому — разные навыки. В Сеньорчике вопросы идут сессиями, а движок возвращает подтемы, где вы ошибаетесь, пока они не начнут отскакивать. Бесплатно, лимит по энергии.
Частые вопросы
Какие диаграммы реально нужны аналитику?
На практике четыре: use case для охвата, activity или BPMN для процесса, sequence для интеграций и ERD для данных. Остальные всплывают редко, но про композицию и агрегацию спрашивают почти всегда.
Что чаще всего забывают на диаграмме последовательности?
Обратные стрелки и ветку отказа. Схема без них описывает мир, где ничего не ломается, а разработке нужны коды ошибок, поведение при таймауте и политика повторов — именно они становятся половиной тест-кейсов.