EGround
Редактор
- Сообщения
- 24.305
- Реакции
- 127
Анализ систем [Школа сильных программистов] [Давыдов А, Зарудный Т, Онысько М, Борщев Ф]
ТАРИФ "Аптечка":
Теория
— 5 лонгридов
— Список дополнительных материалов
Практика и обратная связь
— Домашка, без обратной связи
Бонусы
— Доступ к материалам после окончания курса — 4 месяца
Программа курса:
Урок 2. Стратегический анализ бизнеса и архитектурные стили
Программисты склонны принимать решения вокруг технологий, а не устройства бизнеса. Требования обычно этому не препятствуют. В уроке чиним это: учимся проектировать системы на основе стратегического анализа бизнеса, подробнее изучаем распределенные и монолитные архитектурные стили.
Ключевые концепции и термины:
- Strategic DDD, subdomains
- Coupling & cohesion, temporal coupling, local & global complexity
- Quality attributes/non functional requirements/architecture characteristics
- Поиск характеристик и перевод бизнес-терминов в характеристики
- Циклы жизни систем
Урок 3. Внешние ограничения и документация
Добавляем внешние ограничения: комплаенс, географические ограничения, количество инвестиций, общий уровень разработчиков. В уроке определяем и приоритизируем их.
Научимся не только принимать решения, но и описывать их так, чтобы не терять контекст, в котором решение было принято. Это позволит быстрее онбордить новых участников команды.
Изучим новые архитектурные стили: microkernel, pipeline, event-driven (привет, попуги!).
Ключевые концепции и термины:
- Ограничения системы
- Выбор вида БД в зависимости от характеристик
- Выбор вида коммуникаций и брокера для событий
- Fitness function
Урок 4. Распиливаем монолит
Учимся рефакторить сложные системы: добавлять новую функциональность, выносить не подходящую по характеристикам, объединять сервисы, переписывать существующие сервисы и избавляться от антипаттернов вроде entity-сервисов.
Ключевые концепции и термины:
- Добавление новой функциональности в отдельных сервисах
- Объединение сервисов
- Вынос функциональности из монолита в сервис
- Strangler Fig Application, Volatility Based Decomposition, Tactical Forking, Component-Based Decomposition
Урок 5. Итоги и дальнейшие шаги
Цель: подвести общие итоги и обсудить необходимые шаги для дальнейшей работы. Разобраться, как описывать систему. Спланировать этап развития собственных навыков после курса и повторить концепции, пройденные в курсе.
Ключевые концепции и термины:
- Всё, что в курсе было
- 4+1, C4, arc42, iso42010
Материал «Анализ систем [Школа сильных программистов] [Давыдов А, Зарудный Т, Онысько М, Борщев Ф]», возможно, скоро появится на EGROUND.
Воспользуйтесь поиском, может быть, он уже опубликован.