Курс вводит участника в основные понятия и контекст архитектуры ПО, и после этого – в практики идентификации существенных требований, проектирования, документирования и анализа, которые архитектор ПО может применять в своей работе для проектов с различной предметной областью и технологической базой.
Теоретический материал подкреплён примерами из опыта тренера, короткими письменными и устными упражнениями для участников. Вторая часть каждого дня курса даёт возможность применить эти практики, работая в команде по 3-4 человека: необходимо проработать пример от постановке бизнес-целей к черновому архитектурному документу. Тренинг завершается игрой, в которой одна команда представляет выработанную архитектуру, а другая проводит оценку.
Цели:
Целью курса является обучение архитекторов, системных аналитиков и технических лидеров навыкам проектирования и анализа архитектур ПО, которые можно применять:
- в текущих проектах для обеспечения качества поставляемой системы, разрешения проблем и управления ожиданиями заказчика,
- в предпродажной подготовке как катализатор проведения анализа, предварительного проектирования и оценки для уменьшения рисков коммерческого предложения.
Разбираемые темы:
- Контекст, основные понятия, обзор дисциплины проектирования и анализа архитектур программных систем, роль архитектора.
- Инициация проекта: определение заинтересованных сторон и бизнес-целей.
- Идентификация, формализация и приоритезация требований к качественным характеристикам системы (основные: производительность и масштабируемость, доступность, безопасность, изменчивость и другие качественные атрибуты).
- Проектирование архитектуры: процесс принятия решений, понятия тактик, паттернов, подходов, стилей; типичные тактики для достижения основных качественных характеристик.
- Документирование архитектуры: цель и структура описания архитектуры; подход «точек зрения» и архитектурных представлений (view); детальное рассмотрение нескольких распространённых наборов «точек зрения» (4+1 и Rozansky&Woods), использование техник моделирования в документировании; перспективы применённых тактик для достижения требуемых качественных характеристик системы; шаблон описания; использование упрощённого описания в предпродажной подготовке.
- Архитектурный анализ: формальные процессы анализа и оценки архитектуры с вовлечением различных заинтересованных сторон, выявление принятых компромиссных решений и архитектурных рисков, дальнейшая работа с рисками.
Целевая аудитория:
Основная:
- Архитекторы
- Технические лидеры и ведущие разработчики
- Системные аналитики и проектировщики
Дополнительная:
- Менеджеры проектов, качества, препродажной подготовки
- Бизнес-аналитики
Предварительная подготовка – общее:
- Опыт в программной инженерии в различных ролях более трёх лет.
- Более 1 года участия в проектах разработки ПО в одной из ролей, указанных в целевой аудитории.