Что такое трехуровневая архитектура
Что проверяют
Умеете ли вы разговаривать с разработкой на одном языке и раскладывать требования по уровням: где живёт бизнес-правило, где хранятся данные, что меняется при смене канала. Ответ показывает, понимаете ли вы цену изменения, а не только названия трёх коробочек на схеме.
Как отвечать
Три уровня: представление, бизнес-логика и данные; обмен идёт только между соседями, интерфейс не знает структуру хранения, хранилище не знает про экраны.
Для аналитика это прежде всего разметка ответственности:
- поведение экрана, состав полей и подсказки описываются на уровне представления;
- расчёты, проверки, права доступа и статусные модели относятся к уровню логики и описываются один раз для всех каналов сразу: веб, мобильное приложение, интеграция;
- хранение, история изменений, сроки, объёмы и требования к отчётности относятся к уровню данных;
- интеграции подключаются к уровню логики, поэтому требования к ним формулируются как контракт, а не как экранная форма.
Нефункциональные требования раскладываются так же: отклик интерфейса, пропускная способность сервисов, глубина и объём хранения. Полезно отличить трёхуровневую схему от двухуровневой, где толстый клиент размазывает правила по рабочим местам, и оговорить, что микросервисы это деление по бизнес-возможностям, то есть другое измерение, а не четвёртый уровень.
Где спотыкаются
Описывают требование одним куском и не говорят, где должно жить правило. В итоге проверка реализована на экране, а внешняя интеграция и мобильный клиент её обходят, и в данные попадает то, что бизнес прямо запретил.
Путают уровни с серверами и с микросервисами. Фраза про три уровня иногда означает размещение на трёх машинах, иногда разделение ответственности в коде, и собеседник с аналитиком говорят про разное. Стоит сразу развести логическое деление и схему развёртывания.
Пишут требования в терминах колонок таблицы: вывести такое-то поле из такой-то таблицы. Такая формулировка привязывает интерфейс к модели хранения, и любое изменение структуры тянет за собой переделку экранов. Описывать нужно сущность и смысл значения, а способ хранения оставить уровню данных.