Как покрыть все важные аспекты архитектуры?
Часто ли у вас случалось закончить архитектурный артефакт и потом понять, что один важный аспект вы забыли покрыть? Это реворк и это печаль. А цена реворка у архитектора очень высокая.
Я решаю эту проблему, двигаясь сверху вниз. Строю своеобразный план артефакта. Какие аспекты важно покрыть в среднем по больнице? 🔹 Критические важные decisionы. Их обычно бывает максимум 3 штуки и они формируют основу solutionа. 🔹 Whiteboard. Верхнеуровневое описание решения в виде диаграммы компонентов или процесса. 🔹 Внешние интерфейсы. Как изменяемая система взаимодействует с внешними системами. Здесь диаграмма, протоколы интеграции и ADR. 🔹 Внутренние интерфейсы. Как компоненты или шаги (в случае процесса) взаимодействуют друг с другом. Здесь диаграмма, протоколы интеграции и ADR. 🔹 Схема данных. ER диаграмма с crow's foot нотацией, которая покрывает только самые значимые поля (id и timestamp здесь упускаются), остальные поля есть кому доработать. Юз кейсы работы с данными на чтение и запись с акторами (кто и что запрашивает и записывает). Ну и конечно ADR. 🔹 Топики. Это бизнесовая область разбитая на под области.
Как выявить эти подобласти? Помните как мы определяли Inputы и Outputы у системы? А теперь мы опредляем Core Functions. Это действия (глаголы), которые описывают как Input превращается в Output. Например "Сформировать профиль сотрудника" для Inputа "Данные сотрудников" и Outputа "Профиль работника" из примера в прошлом посте. Core Functions и есть наши топики.
⚡Итого мы имеем каркас решения, с которым сложно упустить важные решения (decision).
Вот примеры готовых архитектурных спек с описанным планом.
А как вы боретесь с тем, чтобы не упустить важные аспекты решения?
В этом посте были ссылки, но мы их удалили по правилам Сетки
· 05.12.2025
Полезное. Но местами статья слишком очевидно отсылается к классике
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответить
0
коммент удалён