Темы
1. Введение в курс (2 часа).
Цели и задачи курса;
Обзор тем курса
Основные понятия;
Обзор дисциплины проектирования и анализа архитектур программных систем;
Роль архитектора.
2. Инициация проекта (3 часа).
Взаимосвязь архитектуры с системным окружением (техническим и организационным), заинтересованными сторонами и бизнес-целями;
Выявление заинтересованных сторон и бизнес-целей.
Стандарты, методологии и инструментальные средства проектирования архитиктуры
3. Идентификация требований (4 часа).
Формализация и приоритезация требований к характеристикам качества системы: производительность и масштабируемость, доступность, безопасность, изменчивость и пр.
4. Проектирование архитектуры (5 часов).
Понятие тактики проектирования;
Метод проектирования архитектуры от атрибутов качества (Attribute Driven Design, ADD);
Процесс принятия решений, паттерны, подходы, стили;
Типичные тактики для достижения основных характеристик качества.
5. Документирование архитектуры (5 часов).
Назначение и структура описания архитектуры;
Подход «точек зрения» (viewpoints) и архитектурных представлений (views);
Детальное рассмотрение нескольких распространённых наборов «точек зрения»;
Использование техник моделирования в документировании;
Перспективы применённых тактик для достижения требуемых характеристик качества системы;
Типовой шаблон описания архитектуры;
Использование упрощённого описания на начальных этапах проекта.
6. Архитектурный анализ (4 часа).
Формальные процессы анализа и оценки архитектуры с вовлечением различных заинтересованных сторон;
Выявление принятых компромиссных решений и архитектурных рисков, дальнейшая работа с рисками; Методы оценки.
7. Архитектура в жизненном цикле проекта разработки ПО (2 часа).
Применение изученных архитектурных практик в жизненном цикле проектов разработки ПО, их сочетание с разными проектными методологиями, в т. ч. гибкими (Agile) методологиями разработки; Разновидности роли архитектора;
Взаимодействие с ролями аналитика и менеджера проекта.