Для архитекторов и аналитиков: исчерпывающий шаблон описания архитектуры приложения (34 страницы пользы)
Архитектура программного обеспечения — основа, от которой зависят качество, производительность и масштабируемость систем. В статье шаблон от экспертов в области архитектуры программного обеспечения с типовыми описаниями и примерами архитектурных представлений. Шаблон доступен для скачивания.
Меня зовут Анна Юрченко. Прошла путь от разработчика до ИТ-менеджера. В ИТ давно — 25 лет. Пишу про ИТ и помогаю экспертам и компаниям заявлять о себе на vc.ru и других площадках. Для ИТ-лидеров и экспертов публикую полезные материалы в канале itsm4u.
Cегодня хочу поделиться документом, который родился во время работы архитектором в крупной компании.
Идея создания шаблона описания архитектуры программного обеспечения
Углубляясь в тему проектирования архитектуры познакомилась с книгой «Архитектура программных систем» и шаблоном описания архитектуры ПО Эоина Вудса и Ника Розански. Чтобы уложить по полочкам материалы книги и сохранить полезный артефакт перевела шаблон, дополнила примерами из книги, личного опыта и материалами The TOGAF® Standard, Version 9.2.
Определение архитектуры программного обеспечения
Архитектура — это фундамент любого программного обеспечения (далее, просто ПО), которая определяет качество, производительность и способность к масштабированию.
Если по-научному, то архитектура (системы) — это набор фундаментальных понятий или свойств системы в ее окружении, воплощенных в элементах, отношениях и принципах проектирования и эволюции.
Определение взято из стандарта ISO/IEC 42 010 «Systems and Software Engineering-Architecture Description». При проектировании архитектуры системы определяют требования к программному обеспечению, данным, с которыми оно взаимодействует и аппаратной платформе.
Спроектировать надежную и гибкую архитектуру - задача не из простых. Она требует экспертных знаний, погружения в предметную область и учета многочисленных требований разных групп пользователей.
Для кого полезен шаблон
Шаблон предназначен для специалистов-практиков в области проектирования архитектуры и разработки программного обеспечения, так же может быть интересен другим участникам жизненного цикла программного обеспечения, таким как аналитики, технологи, разработчики, тестировщики и сотрудники сопровождения.
Польза шаблона описания архитектуры ПО
Шаблон поможет:
- собрать и систематизировать информацию об архитектуре, основных функциях и качественных характеристиках информационной системы;
- спроектировать решение с учетом требований заинтересованных лиц и обеспечить функциональную полноту и надежность системы;
- снизить вероятность сбоев, нарушений безопасности и рисков незапланированных затрат при развитии и эволюции системы.
Архитектурные представления
В шаблоне найдете примеры архитектурных представлений:
- Контекстная диаграмма.
- Функциональная модель.
- Концептуальная архитектура данных.
- Потоки данных системы.
- История жизни сущности.
- Изменение статусов сущности.
- Параллельная модель.
- Модель статусов.
- Модель развертывания.
- Диаграмма структуры модуля.
Напишите, какими архитектурными представлениями пользуетесь чаще всего? Почему?
Волшебство среды. В поиске ответа на вопрос
Три года как выложила шаблон и благодаря органическому поиску в Google и Yandex к нему обращаются каждый день в среднем 10 человек, в пике до 20. Но зная, что темой интересуются 15-50 человек (по данным Яндекс Вордстат на март 2024), то показатель конверсии считаю хорошим.
Но мне не дает покоя один вопрос. Каждую среду идет всплеск интереса к теме архитектуры ПО.
Поделитесь, что происходит в ваших компаниях, что вызывает такой интерес?
ПРИЛОЖЕНИЕ: ШАБЛОН ОПИСАНИЯ АРХИТЕКТУРЫ ПО
Делюсь опытом в ТГ-канале itsm4u.
Всегда открыта для общения в Телеграм @itsm_lady.