Gymterview
junior

Что такое архитектура ПО и какова роль архитектора

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

Проще говоря, архитектура отвечает на вопрос: «Из каких крупных частей состоит система, как они взаимодействуют и почему именно так?»

Что определяет архитектура

  • Структуру компонентов системы и их взаимосвязи.
  • Распределение ответственности между модулями.
  • Принципы расширяемости и модифицируемости.
  • Подходы к обеспечению качественных атрибутов (производительность, безопасность, масштабируемость).

Роль архитектора в проекте

  • Принятие ключевых технических решений — выбор технологий, фреймворков, баз данных, протоколов взаимодействия.
  • Формирование архитектурных требований — перевод бизнес-требований в технические ограничения.
  • Проектирование модулей — определение границ модулей, их API и контрактов.
  • Контроль технического долга — отслеживание компромиссов и планирование рефакторинга.
  • Менторство команды — передача знаний, проведение архитектурных review.
  • Документирование решений — ведение ADR, диаграмм, описание принципов.

Архитектор в enterprise-среде

В крупных проектах (например, банковских) архитектор также отвечает за соответствие регуляторным требованиям (ЦБ РФ, PCI DSS), обеспечение отказоустойчивости финансовых операций и безопасность данных.

На собеседовании: Интервьюер хочет услышать, что архитектура — это не просто «папки и классы», а набор стратегических решений, влияющих на качественные атрибуты системы. Частая ошибка — сводить роль архитектора только к выбору фреймворка.