О чём курс
Курс является введением в системную архитектуру (архитектуру ПО) и знакомит с ключевыми практиками: выявление требований, проектирование, документирование, анализ и оценка архитектуры, а также даёт представление о месте архитектуры в жизненном цикле разработки ПО.
В данном курсе вы познакомитесь с основными понятиями и контекстом архитектуры ПО, с практикой идентификации существенных требований, проектирования, документирования и анализа, которые архитектор ПО может применять в своей работе для проектов с различной предметной областью и технологической базой.
Теоретический материал подкреплён примерами, практическими письменными и устными упражнениями. Вторая часть каждого дня курса даёт возможность применить эти практики, работая в команде по 3-4 человека: необходимо проработать пример от постановки бизнес-целей к черновому архитектурному документу. Тренер и другие команды дают оценку и ставят новые вызовы вашему решению.
Цели
- 1.Для архитектора - систематизировать накопленный опыт, выровнять свои знания и представления со знаниями индустрии, узнать о практиках и методах, которые помогут вам обеспечивать долгосрочный успех ваших систем, ознакомиться с содержанием современных отечественных (ГОСТ) и международных (ISO) стандартов документирования, обменяться живым опытом с другими архитекторами.
- 2.Для ведущего разработчика - понять, в чем заключается работа архитектора, и какие навыки следует развивать, какие новые области осваивать для овладения данной специальностью.
- 3.Для аналитика - разобраться, как разделить обязанности с обязанностями архитектора, что лучше требовать от архитектора, а что наоборот, должен предоставить аналитик. Понять, как лучше поделить управление требованиями и общение с разными стейкхолдерами между аналитиком и архитектором; почувствовать на собственном опыте, с какими вопросами и сложностями сталкиваются архитекторы в своей работе.
- 4.Для руководителя проекта - прояснить, нужна ли в подразделении выделенная позиция архитектора, что теряет проект, если такой позиции нет. Чем должен заниматься специалист на этой позиции, какие цели и задачи необходимо ставить архитектору и как правильно оценивать его работу.
Целевая аудитория
Основная:
- 1.архитекторы;
- 2.технические лидеры и ведущие разработчики;
- 3.системные аналитики и проектировщики.
Дополнительная:
- 1.менеджеры проектов, качества, предпродажной подготовки;
Даже если в организационной структуре не выделена отдельная позиция архитектора, представление о практиках работы с архитектурой ПО совершенно необходимо разработчикам и тех. лидерам для того, чтобы обеспечить долгосрочное внутреннее и внешнее качество создаваемых систем и достигать целей проектов.
Для аналитиков и менеджеров курс также очень полезен, так как даёт достаточно подробное понимание работы архитектора, методов этой работы, и того, как необходимо со своей позиции поддерживать и обеспечивать эту работу. Знания и навыки, которые получают участники тренинга, фундаментальны и в силу этого применимы в проектах для любой предметной области и в процессах, построенных по любым методологиям разработки.
Предварительная подготовка
Опыт в программной инженерии в различных ролях более трех лет.
Более 1 года участия в проектах разработки ПО в одной из ролей, указанных в целевой аудитории.
Базовые знания английского языка.
Для кого
Архитектор ПО
Разработчик
Системный аналитик
Бизнес-аналитик
Руководитель проекта
Улучшаемые навыки
Выявление требований
Паттерны проектирования
Документирование
Анализ и оценка архитектуры
Quality Attribute Workshop (QAW)
Архитектурные тактики
Расписание курсов
Программа курса
Контекст, основные понятия, обзор дисциплины проектирования и анализа архитектур программных систем, роль архитектора.
02
Архитектура в жизненном цикле проекта разработки ПО
Применение изученных архитектурных практик в жизненном цикле проектов разработки ПО, их сочетание с разными проектными методологиями, в т. ч. гибкими (Agile) методологиями разработки. Разновидности роли архитектора, взаимодействие с ролями аналитика и менеджера проекта.
Взаимосвязь архитектуры с системным окружением (техническим и организационным_, заинтересованными сторонами и бизнес-целями. Выявление заинтересованных сторон и бизнес-целей.
04
Идентификация требований
Формализация и приоритезация требований к характеристикам качества системы: производительность и масштабируемость, доступность, безопасность, изменчивость и пр.
05
Проектирование архитектуры
Понятие тактики проектирования, метод проектирования архитектуры от атрибутов качества (Attribute Driven Design, ADD).
Процесс принятия решений, паттерны, подходы, стили.
Типичные тактики для достижения основных характеристик качества.
06
Документирование архитектуры
Назначение и структура описания архитектуры; подход «точек зрения» (viewpoints) и архитектурных представлений (views); детальное рассмотрение нескольких распространённых наборов «точек зрения» (“Kruchten 4+1” и “Rozanski & Woods”), использование техник моделирования в документировании; перспективы применённых тактик для достижения требуемых характеристик качества системы; типовой шаблон описания архитектуры; использование упрощённого описания на начальных этапах проекта; применение альтернативных техник описания архитектуры ПО (C4, cloudfront).
Формальные процессы анализа и оценки архитектуры с вовлечением различных заинтересованных сторон, выявление принятых компромиссных решений и архитектурных рисков, дальнейшая работа с рисками. Методы оценки ATAM (ArchitectureTrade off Analysis Method), ARID (Active Reviews for Intermediate Designs), CBAM (Cost-Benefit Analysis Method).
Чему вы научитесь
01
Проектировать архитектуру на основе атрибутов качества (метод ADD).
02
Документировать решения в стилях C4 и Kruchten 4+1.
03
Анализировать риски методами ATAM и CBAM.
04
Формализовать требования к безопасности, масштабируемости и производительности.
05
Распределять роли между архитектором, аналитиком и менеджером проекта.
Курс проводят
Чиграй Андрей
Специалист в области системной архитектуры