TGViewer
Yet Another Burakov Yet Another Burakov @another_sa · 6.57K subscribers
Post #597 1.88K
Architecture Trade-Off Analysis Method

На последнем митапе меня обвинили в излишнем снобизме по отношению к аналитикам. Успех ящитаю. Теперь добавим пафоса.

Например, эту идею анализа решений можно обозвать Trade-offs Analysis Framework - ToAF. Красиво же?

Но почему-то я не слышал про аналоги, хотя есть достаточно форматов для фиксации решений. Пошел гуглить, раскопал ATAM - Architecture Trade-Off Analysis Method.

Тяжеловесный метод для обстоятельной оценки решений, который за 15 лет особой популярности не набрал. Полный процесс анализа пересказывать не буду, выделил интересное.

Метод крутится вокруг измеримых quality attributes (они же НФТ), хотя ничто не мешает смотреть на другие характеристики. Причем работают с ними через Quality Attribute Scenario, которые связывают атрибуты качества и конкретные цифры, что-то в таком духе:
При падении primary DB при пиковой нагрузке (более 5000 заказов в минуту) система должна восстановить обработку заказов не более чем за 30 секунд без потери уже подтверждённых заказов.


Если хочется формальности, то можно использовать шаблон:
- Source: отказ primary DB
- Stimulus: primary DB недоступна
- Environment: нагрузка 5 000 заказов/мин
- Artifact: система обработки заказов / persistence layer
- Response: failover и возобновление обработки
- Response measure: восстановление ≤ 30 с; потерянных подтверждённых заказов = 0


Дальше из таких сценариев собирается Utility Tree (Дерево Полезности?), где для каждого листа указываем важность и степень риска: Low, Medium, High. Фактически, это аналог приоритезированной таблицы. Примеры на картинках.

Отдельно при анализе выделяют:
sensitivity point - решение или его часть, которое сильно влияет на один из quality attributes
tradeoff point - решение, которое влияет сразу на несколько quality attributes, причем двигает значения в разные стороны.

Полезные термины, т.к. заставляют думать о последствиях.

Идея идти от сценариев хороша, т.к. помогает ответить на вопрос: а какие quality attributes или характеристики системы в широком смысле нам сейчас важны? Правда на больших задачах там будет 100500 таких сценариев, и придется думать об их полноте.

В целом подход выглядит интересно прикольно, но сложно. Хотя можно для небольших решений адаптировать.

• Если есть желание упороться, вот большое подробное описание метода
• Еще можно посмотреть, как ATAM использовали на реальном проекте, картинки из этой презы утащил.

Мб кто-то пробовал на практике? Как впечатления?
More from @another_sa
  1. Sep 21, 2026#брокеры Подъехала запись стрима по Кафке. У нас были грандиозные планы, но в итоге едва д…
  2. Sep 19, 2026Post #614
  3. Sep 19, 2026Планируем вебинар с ребятами из Soft Skills Lab, кому интересно, помогите с выбором темы
  4. Sep 18, 2026Про формальную валидациюю иишечки Многие задачи проектирования можно свести к взаимодейств…
  5. Sep 16, 2026Напоминаю про Кафку вечером, будет вкусно, на всех может не хватить
  6. Sep 14, 2026Во мне давно живет желание сделать что-то (конфу / фест / клуб / пространство) про «мышлен…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →