Архитектура: Стандартизация

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

В 1995 появились PHP, JavaScript, Java, Internet Explorer и mp3. Около десятка человек почувствовали запах пороха. В этом же году они собрали группу для работ по стандартизации программной архитектуры под названием IEEE Architecture Planning Group.

Некоторые участники группы готовили почву к выходящему стандарту. Например, в 1997 году выпустили книжку Software Architecture in Practice. Практики там было маловато, но зато было определение архитектуры:

Архитектура - это структура системы, которая включают компоненты программного обеспечения, видимые извне свойства этих компонентов и отношения между ними.
Software Architecture in Practice (1997 год)

То есть это чертежи системы. Их можно не рисовать, а просто представлять себе в голове.

Работа над стандартом шла медленно. Наверное, кто-то из авторов стандарта надеялся, что порох рванёт от смены тысячелетий. В 2000 году ничего не рвануло и первый международный стандарт по программной архитектуре всё-таки был принят под названием IEEE 1471. Он был действительно международный, стандарт написали 25 человек, плюс 130 человек по всему миру проводили ревью.

Определение архитектуры в стандарте было похоже на определение из Software Architecture in Practice, но появилась позитивная мысль про эволюцию систем:

Архитектура - это фундаментальная организация системы, воплощенная в ее компонентах, их взаимоотношениях друг к другу, к окружающей среде, а также к принципам, определяющим ее дизайн и эволюцию.
IEEE 1471 (2000 год)

В 2007 году IEEE 1471 скопировали и назвали ISO/IEC/IEEE 42010. То есть сделали стандарт ещё более международным, но из-за бюрократии в 2007 году определение архитектуры осталось из 2000 года.

Определение ощутимо подправили только в 2011 году:

Архитектура - это фундаментальные понятия или свойства системы в ее среде, воплощенные в её элементах, взаимоотношениях, а также в принципах её дизайна и эволюции.
ISO/IEC/IEEE 42010 (2011 год)

То есть выкинули упоминание компонентов, сфокусировались на “свойствах и понятиях системы”. Это важно потому что архитекторы наконец-то начали прощаться со строительным мышлением.

Если по-простому, дом до 2011 года — это система, состоящая из фундамента, стен и крыши. Дом в 2011 году — это система, в которую сверху не затекает дождь, в которую не задувает ветер сбоку, ну и снизу есть что-то твёрдое, на что можно постелить ковёр. Чувствуется разница в возможных вариантах дизайна дома, не так ли?

Нестандартный взгляд на дизайн дома.

(В продолжении будут альтернативные мнения архитекторов нулевых годов, их мнения до сих пор в ходу. А уж потом перейдём к современным представлениям об архитектуре…)