Архитектура программного обеспечения — основа, от которой зависят качество, производительность и масштабируемость систем. В статье шаблон от экспертов в области архитектуры программного обеспечения с типовыми описаниями и примерами архитектурных представлений. Шаблон доступен для скачивания.

Десять месяцев назад я поделилась этим шаблоном на площадке vc.ru, за это время к документу обратилось более 11 000 человек, я получила много отзывов, благодарности и обратной связи. Но были и те, кто посчитал этот шаблон бесполезным в текущих реалиях. Ваш выбор — использовать или нет эти знания.
На прошлой неделе мой аккаунт заблокировали и статью скрыли от индексации. Мне стало жалко, что такой материал будет потерян, я решила разместить труд на Хабр.
Знаю, что здесь сильная экспертная аудитория, но надеюсь, что вы поддержите мое желание делиться опытом и продолжить вести экспертный блог на тему практик управления ИТ (и не только).
Конкретно этот документ родился из моего желания изучения нового. Когда я попала в одну крупную компанию на роль корпоративного архитектора, я просто не могла пройти мимо и не погрузиться в детали управления и описания архитектур. Хоть я и занималась в большей степени развитием процессов и сервисов.
Идея создания шаблона описания архитектуры программного обеспечения
Углубляясь в тему проектирования архитектуры познакомилась с книгой «Архитектура программных систем» и шаблоном описания архитектуры ПО Эоина Вудса и Ника Розански. Чтобы уложить по полочкам материалы книги и сохранить полезный артефакт перевела шаблон, дополнила примерами из книги, личного опыта в ITSM и материалами The TOGAF® Standard, Version 9.2.

Определение архитектуры программного обеспечения
Архитектура — это фундамент любого программного обеспечения (далее, просто ПО), которая определяет качество, производительность и способность к масштабированию.
Если по-научному, то архитектура (системы) — это набор фундаментальных понятий или свойств системы в ее окружении, воплощенных в элементах, отношениях и принципах проектирования и эволюции.
Определение взято из стандарта ISO/IEC 42 010 «Systems and Software Engineering-Architecture Description». При проектировании архитектуры системы определяют требования к программному обеспечению, данным, с которыми оно взаимодействует и аппаратной платформе.
Спроектировать надежную и гибкую архитектуру - задача не из простых. Она требует экспертных знаний, погружения в предметную область и учета многочисленных требований разных групп пользователей.
Для кого полезен шаблон
Шаблон предназначен для специалистов-практиков в области проектирования архитектуры и разработки программного обеспечения, так же может быть интересен другим участникам жизненного цикла программного обеспечения, таким как аналитики, технологи, разработчики, тестировщики и сотрудники сопровождения.
Польза шаблона описания архитектуры ПО
Шаблон поможет:
собрать и систематизировать информацию об архитектуре, основных функциях и качественных характеристиках информационной системы;
спроектировать решение с учетом требований заинтересованных лиц и обеспечить функциональную полноту и надежность системы;
снизить вероятность сбоев, нарушений безопасности и рисков незапланированных затрат при развитии и эволюции системы.
Архитектурные представления
В шаблоне найдете примеры архитектурных представлений:
Контекстная диаграмма.
Функциональная модель.
Концептуальная архитектура данных.
Потоки данных системы.
История жизни сущности.
Изменение статусов сущности.
Параллельная модель.
Модель статусов.
Модель развертывания.
Диаграмма структуры модуля.
Волшебство среды. В поиске ответа на вопрос
На графике аналитика по запросу «шаблон архитектуры ПО».

Но мне не дает покоя один вопрос. Каждую среду идет всплеск интереса к теме архитектуры ПО.
Поделитесь, что происходит в ваших компаниях, что вызывает такой интерес?

ПРИЛОЖЕНИЕ: ШАБЛОН ОПИСАНИЯ АРХИТЕКТУРЫ ПО
Скачать: Шаблон описания архитектуры программного обеспечения на Google Диск.
Автор публикации:

Анна Юрченко, ITIL-эксперт, 20+ лет в ИТ
В Telegram-канале ITSM4U: Управление без иллюзий делюсь практиками управления ИТ, кейсами и проверенными инструментами и подходами, которые делают ИТ драйвером бизнеса. Пишу про личный бренд в digital.
Если у вас есть предложения по развитию шаблона описания архитектуры - пишите в личку.