Архитектура: Начало

Translations:English
Опубликовано:

7 лет назад архитектура ПО стала моим хобби. Поначалу думал, что прочитаю пару книжечек и всё будет ясно. По ощущениям, всего пару белых пятен надо было закрыть, ведь в универе нас этому учили + на работе довелось вносить изменения в десяток очень разных систем. Оказалось, чем больше разбираешься в архитектуре, тем больше возникает конфузящих вопросов.

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

Наверное, начать нужно со слова “архитектура”. Корень слова древнегреческий, означает “главный плотник”. Мы не будем просматривать пару тысяч лет истории этого слова. В этом канале всё-таки речь про IT, поэтому лучше читать книгу жизни сразу с середины. Середина приходится на 1960-1970 годы. Тогда люди заметили, что программы можно писать примерно так же, как строить дома.

Слово “архитектура” для ПО было метафорой. Например, Есенинское “в саду горит костёр рябины красной” в какой-то мере описывает рябину по осени. Аналогично про архитектуру домов (костёр) и ПО (рябину). Да, костёр не полностью описывает рябину, но метафоры хорошо приживаются. Наверное, более подходящее слово для “архитектуры ПО” мы и не увидим, поэтому параллели со строительством домов всегда будут смущать новичков и тормозить разработку ПО.

В общем, в 80-ые на вопрос “Что такое архитектура ПО?” можно было отвечать: “Это чертежи, по которым будет строиться программное решение. Ну и все активности, которые привели к появлению этих чертежей, разумеется”. Кстати, активности по созданию чертежей называются проектирование.

Пример чертежа.

Можно было говорить и что-нибудь другое, всё равно официального определения архитектуры ПО аж до 2007 года не появится.

(В продолжении будет про одного легендарного, но не попсового архитектора из 70-х…)