Що нового?

Придбаний Анализ систем [Тариф - Аптечка] [Школа сильных программистов] [А.Давыдов, Т. Зарудный, М.Онысько, Ф.Борщев]

Інформація про покупку
Тип покупки: Складчина
Ціна: 12500 ГРН
Учасників: 0 з 11
Організатор: Відсутній
Статус: Набір учасників
Внесок: 1181.8 ГРН
0%
Основний список
Резервний список

Gadzhi

Модератор
Анализ систем [Тариф - Аптечка] [Школа сильных программистов] [А.Давыдов, Т. Зарудный, М.Онысько, Ф.Борщев]



Курс о том, как проектировать системы. Новые — чтобы не переделывать, старые — чтобы разобрать на части и ускорить разработку.

Научим распиливать монолиты, обоснованно выбирая технологии и архитектурные стили, оставляя после себя понятную документацию.

Урок 1. Работа с требованиями, разделение системы на элементы
Когда мы только начинаем проектировать системы, обычно нет ни внятных требований, ни времени на проектирование. После урока будет понятно, что даже в таких условиях можно собрать что-то рабочее.

Также в уроке разбиваем два антипаттерна — разбивание бизнес-логики по техническим шагам или по сущностям (entity service).

Ключевые концепции и термины:
  • Работа с требованиями
  • Event Storming
  • Модель данных
  • Базовое сравнение микросервисов и монолитов
  • Система, форма и функция системы
Урок 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
Тариф - Аптечка
Стоимость 25000
https://tough-dev.school/system-analysis

 
Угорі