Ваша корзина пуста
Сумма: 0 руб.

Основные практики архитектора ПО

О курсе
Основные практики архитектора ПО
от 36 960 руб.
Заказать курс

Основные практики архитектора ПО


Описание:

В данном курсе участники знакомятся с основными понятиями и контекстом архитектуры ПО, с практикой идентификации существенных требований, проектирования, документирования и анализа, которые архитектор ПО может применять в своей работе для проектов с различной предметной областью и технологической базой.

Теоретический материал подкреплён примерами, короткими письменными и устными упражнениями для участников. Вторая часть каждого дня курса даёт возможность применить эти практики, работая в команде по 3-4 человека: необходимо проработать пример от постановки бизнес-целей к черновому архитектурному документу. Тренинг завершается игрой, в которой одна команда представляет выработанную архитектуру, а другая проводит оценку.

Цели:

Обучение архитекторов, системных аналитиков и технических лидеров навыкам проектирования и анализа архитектур ПО, которые можно применять:

  • в текущих проектах для обеспечения качества поставляемой системы, разрешения проблем и управления ожиданиями заказчика,

  • в предпродажной подготовке как катализатор проведения анализа, предварительного проектирования и оценки для уменьшения рисков коммерческого предложения.

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

  • Инициация проекта: определение заинтересованных сторон и бизнес-целей. 

  • Идентификация, формализация и приоритезация требований к характеристикам качества системы (основные: производительность и масштабируемость, доступность, безопасность, изменчивость и другие атрибуты качества).

  • Проектирование архитектуры: процесс принятия решений, понятия тактик, паттернов, подходов, стилей; типичные тактики для достижения основных характеристик качества.

  • Документирование архитектуры: назначение и структура описания архитектуры; подход «точек зрения» (viewpoint) и архитектурных представлений (view); детальное рассмотрение нескольких распространённых наборов «точек зрения» (“4+1” и “Rozanski & Woods”), использование техник моделирования в документировании; перспективы применённых тактик для достижения требуемых характеристик качества системы; типовой шаблон описания архитектуры; использование упрощённого описания в предпродажной подготовке.

  • Архитектурный анализ: формальные процессы анализа и оценки архитектуры с вовлечением различных заинтересованных сторон, выявление принятых компромиссных решений и архитектурных рисков, дальнейшая работа с рисками. 


Целевая аудитория:

Основная:
- архитекторы;
- технические лидеры и ведущие разработчики;
- системные аналитики и проектировщики.
Дополнительная:
- менеджеры проектов, качества, предпродажной подготовки;
- бизнес-аналитики.

Даже если в организационной структуре не выделена отдельная позиция архитектора, представление о практиках работы с архитектурой ПО совершенно необходимо разработчикам и техническим лидерам для того, чтобы обеспечить долгосрочное внутреннее и внешнее качество создаваемых систем и достигать целей проектов. Для аналитиков и менеджеров курс также очень полезен, так как дает достаточно подробное понимание работы архитектора, методов этой работы и того, как необходимо со своей позиции поддерживать и обеспечивать эту работу. Знания и навыки, которые получают участники тренинга, фундаментальны и в силу этого применимы в проектах для любой предметной области и в процессах, построенных по любым методологиям разработки

Предварительная подготовка – общее:
Опыт в программной инженерии в различных ролях более трёх лет.
- Более 1 года участия в проектах разработки ПО в одной из ролей, указанных в целевой аудитории.
- Базовые знания английского языка.
Расписание и цены
Этот курс набирает желающих участников. Отправьте заявку на участие, а когда наберётся достаточное количество, мы с вами свяжемся.
Заказать обучение
Программа курса
Обзор дисциплин управления проектами 
Водопад 
RUP (Rationnal Unified Process) 
Agile (XP, Kanban, Scrum) 
Организация процедуры рекурсивного управления требованиями при помощи Scrum
Организация управления жизненным циклом архитектуры проекта при помощи Scrum

Паттерны security: 
RBAC vs flat, method based security, pattern based security, service security gateway, UAA security, proxy security (oautn2, etc)  

Паттерны развёртывания: 
что такое docker, lxt, изоляция, docker images vs docker container chef, ansible, docker compose, cubernetes, mesos, ci/cd (jenkins), gitlab 

Паттерны изоляции окружения: 
  • Jvm
  • osgi
  • virtialenv
  • docker
  • виртуальные машины
  • провал концепции appserver java
Паттерны баз данных 
  • jdbc
  • connection pool pattern
  • MyBatis/JOOQ (static binding queries to dao)
  • ORM(jpa, repository, dao)
  • document-oriented (MongoDB)
  • graph-oriented (neo4j, cypher QL)
  • tag/full-text oriented (elastic)
  • колоночные
  • time-series
Паттерны кэширования и очередей: 
  • RabbitMQ варианты очередей, message broker vs message queues
  • Распределённые брокеры: открываем ящик пандоры, CAP theorem
  • Spring любит кэши, как мы - сахар
  • #https://alternativeto.net/software/infinispan/
  • hazelcast (in-memory distributed object cache) (java objects) 
  • infinispan (in-memory distributed object cache) (java objects)
  • GridGain (in-memory distributed object cache)
  • Apache Ignite (in-memory distributed object cache)
  • Redis in-memory distributed advanced key/value store: https://habr.com/ru/post/144054/
  • memcached in-memory key/value store
  • pivotal GemFire (deprecated) 
Паттерны синхронизации данных и обмена сообщениями 
  • Локальные и распределённые кэши, key-value stores 
  • Локальные и распределённые очереди сообщений
  • синхронность(cache) vs асинхронность(queues), эластичнось, актуальность даных, CAP theorem
Реактивные паттерны: 
  • http://design-pattern.ru/patterns/reactor.html 
  • https://vertx.io/docs/vertx-core/java/#_reactor_and_multi_reactor
  • https://habr.com/ru/company/funcorp/blog/350996/ 
  • https://projectreactor.io/ 
Что такое event loop, и какими они бывают, проблема 10к
  • Только безумец решится делать высоконагруженную систему на servlet'ax 
  • Reactor
  • Project reactor 
  • Vert.x
  • node.js 
Паттерны API: 
  • webservices/SOAP 
  • REST/XML 
  • REST/JSON 
  • Swagger/OpenAPI
  • HATEOAS 
  • Microsoft odata 
  • Facebook graphQL 
Паттерны EIP Фаулера, Apache Camel, Apache ServiceMix, ActiveMQ 

Паттерны рефакторинга Фаулера

Преподаватели
Преподаватель Игорь Акулов
Документы об окончании