Архитектурные требования

Продолжительность: 10 мин

В прошлом уроке мы говорили о архитектурных драйверах — факторах, которые влияют на то, какой архитектурой будет наша система.
Теперь пришло время поговорить о архитектурных требованиях. Это своего рода чеклист успеха архитектуры — всё, что система должна обеспечивать, чтобы считаться успешной.

Что такое архитектурные требования

Архитектурные требования — это измеримые критерии успешности архитектуры.
Они напрямую следуют из драйверов и определяют архитектурные решения.

Можно представить их как набор вопросов:

  • Что архитектура должна уметь?
  • Каких показателей должна достичь?
  • Какие ограничения должна учитывать?

Структура документа требований

Документ с архитектурными требованиями обычно организуется по тем же категориям, что и драйверы, о которых мы говорили ранее:

  1. Бизнес-цели (Business Goals)
  2. Ограничения (Constraints)
  3. Атрибуты качества (Quality Attributes)
  4. Архитектурно значимые функциональные требования (Influential Functional Requirements)
  5. Другие влияющие факторы (Other Influencers)

Пример архитектурных требований проекта FoodFleet

1. 🎯 Бизнес-цели

Каждый участник проекта видит успех архитектуры по-своему:

  • CEO — увеличить количество заказов и удержание клиентов.
  • VP of Engineering — повысить скорость разработки (velocity).
  • Frontend-разработчик — уверенно выкатывать фичи, не ломая чужой код.
  • Пользователь — быстро заказать еду и получить её без проблем.

Даже если архитектура «красивая и быстрая»,
но не помогает достичь бизнес-целей — она не успешна.

2. 🚧 Ограничения (Constraints)

Некоторые рамки заданы заранее и не подлежат обсуждению:

  • Система должна быть развёрнута в Yandex Cloud, поскольку DevOps-команда поддерживает только эту инфраструктуру.
  • Приложение должно быть адаптивным и полностью функциональным на мобильных устройствах, так как нативное мобильное приложение пока не реализовано.
  • Первая версия должна быть выпущена в течение 4 месяцев, чтобы успеть к маркетинговой кампании.

Ограничения — это не проблемы, а рамки, в которых принимаются архитектурные решения.

3. ⚙️ Атрибуты качества (Quality Attributes)

Ключевые характеристики, по которым оценивается успех архитектуры:

АтрибутКритерий успеха
ПроизводительностьПользователь на мобильном устройстве с 4G может загрузить приложение за ≤ 5 секунд
МасштабируемостьСистема должна поддерживать рост числа ресторанов и заказов без деградации производительности
Доступность (Availability)Время простоя ≤ 0.1% в месяц
Доступность контента (Accessibility)Интерфейс соответствует WCAG 2.1 AA
Поддерживаемость (Maintainability)Новые разработчики могут онбордиться за ≤ 1 неделю

Атрибуты качества помогают расставить приоритеты и определить,
на какие характеристики стоит тратить ресурсы.

4. 🧩 Архитектурно значимые функциональные требования

Это те функции, которые влияют на архитектуру, потому что определяют структуру, потоки данных и взаимодействие компонентов.

Примеры для FoodFleet:

  • Поиск ресторанов и блюд.
  • Работа корзины и оформление заказа.
  • Онлайн-оплата с внешним провайдером.
  • Отслеживание заказа в реальном времени через WebSocket.
  • Управление заказами в интерфейсе ресторана.

Мы подробнее разберём этот раздел и проведём упражнение по определению архитектурно значимых требований в следующем уроке.

5. 👥 Другие влияющие факторы (Other Influencers)

Эти элементы не всегда формально считаются требованиями, но сильно влияют на архитектурные решения:

  • Размер команды: сейчас 4 фронтенд-разработчика, через год — до 12.
  • Опыт: разработчики уверенно работают с React и Next.js, некоторые знакомы с Vue и Laravel.
  • Навыки: не все владеют TypeScript, поэтому возможен выбор — отказаться от него или обучить команду.
  • Командная структура: при росте команды потребуется разделение по поддоменам.

Как выявить архитектурные требования

В реальном проекте тебе придётся самостоятельно обнаружить эти требования. Лучший способ — разговоры и наблюдение:

  • общайся со стейкхолдерами (заказчиками) (CEO, PM, техлиды),
  • обсуждай с разработчиками и дизайнерами,
  • исследуй пользовательские потребности.

Задавай вопросы:

  • Что важно для успеха продукта?
  • Какие боли испытывает команда сейчас?
  • Что для них значит «качественная архитектура»?

Задача архитектора — не просто слушать, а переводить ожидания людей в конкретные, измеримые критерии.

Рекомендованные техники

Книга Design It! предлагает несколько практических активностей:

  • Quality Attribute Workshop (QAW) — выявление и приоритизация атрибутов качества.
  • Stakeholder Interviews — интервью с ключевыми участниками проекта.
  • Scenario Mapping — создание сценариев для проверки качества архитектуры.

Итог

  • Архитектурные требования — это чеклист успеха для твоей архитектуры.
  • Они группируются по бизнес-целям, ограничениям, качествам и функциям.
  • Их можно и нужно выявлять через общение и совместную работу с командой.
  • Эти требования станут базой для архитектурных решений, которые мы начнём формировать в следующих модулях.

В следующем уроке мы выполним упражнение №2 — определим архитектурно значимые функциональные требования (ASRs) для приложения FoodFleet.

Это платный урок

Купите полный доступ к курсу чтобы просматривать данный контент

Основы архитектуры фронтенда

Изучите основы проектирования современных, высоконагруженных фронтенд-приложений.

3990 Скидка 75%
990

Безопасные платежи обрабатываются сервисом Юкасса

Комментарии

Войдите, чтобы оставить комментарий