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

Архитектор может участвовать в определении технических и бизнес-требований. Но одна из его ключевых задач другая.

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

Что такое архитектурные свойства

Это важные аспекты системы, которые не зависят от конкретной решаемой задачи.

Хорошее архитектурное свойство отвечает трем критериям: - определяет взгляд на проектирование; - влияет на структурные аспекты системы; - играет решающую роль в успехе приложения.

Явные и неявные свойства

Бывают явные свойства, это те, что прямо прописаны в требованиях.

А бывают неявные (подразумеваемые) - их редко формализуют, но именно они часто определяют успех (производительность, доступность, надежность, безопасность,отсутствие критического технического долга).

Их легко упустить, но игнорировать нельзя.

Три группы свойств

Архитектурные свойства обычно делят на: эксплуатационные; структурные; сквозные.

Полный список приводить не буду - он большой. Но важно понимать, что под одним и тем же названием свойства разные компании могут подразумевать разные вещи. Терминология не универсальна, и каждая команда трактует ее по-своему.

Главное правило: меньше — лучше

Каждое поддерживаемое свойство усложняет систему.

Поэтому архитектор всегда стремится выбрать минимально необходимый набор свойств. Не «все сразу», а только те, что реально критичны.

Архитектура — это компромисс

Любое архитектурное решение - это баланс между конкурирующими интересами.

Нужно стремиться не к лучшей, а к наименее худшей архитектуре.

Универсальные решения редко работают как мы хотим, они слишком громоздки. Хорошая архитектура - та, которую легко улучшать поэтапно.

Это применимо также к множеству вещей в нашей жизни. Стоит задуматься.

#архитектура #softwarearchitecture #системнаяархитектура #проектирование #it #разработка #техническиерешения #системноемышление

Основные свойства архитектуры | Сетка — социальная сеть от hh.ru