[Михаил Соколов] [IBS] Ключевые практики архитектора ПО (2022)
В данном курсе участники знакомятся с основными понятиями и контекстом архитектуры ПО, с практикой идентификации существенных требований, проектирования, документирования и анализа, которые архитектор ПО может применять в своей работе для проектов с различной предметной областью и технологической базой.
Теоретический материал подкреплён примерами, короткими письменными и устными упражнениями для участников. Вторая часть каждого дня курса даёт возможность применить эти практики, работая в команде по 3-4 человека: необходимо проработать пример от постановки бизнес-целей к черновому архитектурному документу. Тренер и другие команды дают оценку и ставят новые вызовы вашему решению.
Цели курса:
Для архитектора - систематизировать накопленный опыт, выровнять свои знания и представления со знаниями индустрии, узнать о практиках и методах, которые помогут вам обеспечивать долгосрочный успех ваших систем, ознакомиться с содержанием современных отечественных (ГОСТ) и международных (ISO) стандартов документирования, обменяться живым опытом с другими архитекторами.
Для ведущего разработчика - понять, в чем заключается работа архитектора, и какие навыки следует развивать, какие новые области осваивать для овладения данной специальностью.
Для аналитика - разобраться, как разделить обязанности с обязанностями архитектора, что лучше требовать от архитектора, а что наоборот, должен предоставить аналитик. Понять, как лучше поделить управление требованиями и общение с разными стейкхолдерами между аналитиком и архитектором; почувствовать на собственном опыте, с какими вопросами и сложностями сталкиваются архитекторы в своей работе.
Для руководителя проекта - прояснить, нужна ли в подразделении выделенная позиция архитектора, что теряет проект, если такой позиции нет. Чем должен заниматься специалист на этой позиции, какие цели и задачи необходимо ставить архитектору и как правильно оценивать его работу.
Разбираемые темы
1. Введение в курс (теория - 2 ч.)
- Контекст;
- Основные понятия;
- Обзор дисциплины проектирования и анализа архитектур программных систем;
- Роль архитектора.
2. Архитектура в жизненном цикле проекта разработки ПО (теория - 2 ч.)
- Применение изученных архитектурных практик в жизненном цикле проектов разработки ПО, их сочетание с разными проектными методологиями, в т. ч. гибкими (Agile) методологиями разработки;
- Разновидности роли архитектора, взаимодействие с ролями аналитика и менеджера проекта.
3. Инициация проекта (теория - 2 ч., практика - 2 ч.)
- Взаимосвязь архитектуры с системным окружением (техническим и организационным, заинтересованными сторонами и бизнес-целями;
- Выявление заинтересованных сторон и бизнес-целей.
4. Идентификация требований (теория - 3 ч., практика - 3 ч.)
- Формализация и приоритезация требований к характеристикам качества системы: производительность и масштабируемость, доступность, безопасность, изменчивость и пр.
5. Проектирование архитектуры (теория - 3 ч., практика - 3 ч.)
- Понятие тактики проектирования, метод проектирования архитектуры от атрибутов качества (Attribute Driven Design, ADD);
- Процесс принятия решений, паттерны, подходы, стили;
- Типичные тактики для достижения основных характеристик качества.
6. Документирование архитектуры (теория - 3 ч., практика - 3 ч.)
- Назначение и структура описания архитектуры; подход «точек зрения» (viewpoints) и архитектурных представлений (views);
- Детальное рассмотрение нескольких распространённых наборов «точек зрения» (“Kruchten 4+1” и “Rozanski & Woods”), использование техник моделирования в документировании;
- Перспективы применённых тактик для достижения требуемых характеристик качества системы;
- Типовой шаблон описания архитектуры;
- Использование упрощённого описания на начальных этапах проекта;
- Применение альтернативных техник описания архитектуры ПО (C4, cloudfront).
7. Архитектурный анализ (теория 3 ч., практика 1 ч.)
- Формальные процессы анализа и оценки архитектуры с вовлечением различных заинтересованных сторон, выявление принятых компромиссных решений и архитектурных рисков, дальнейшая работа с рисками.
- Методы оценки ATAM (Architecture Tradeoff Analysis Method), ARID (Active Reviews for Intermediate Designs), CBAM (Cost-Benefit Analysis Method).
Поток ноябрь 2022 года
Подробнее:
Практический курс-введение в системную архитектуру: выявление требований, проектирование, документирование, анализ и оценка архитектуры ПО и её место в жизненном цикле разработки ПО.
Скачать: