Архитектура и основные шаблоны проектирования. Научитесь применять паттерны проектирования и станьте архитектором программного обеспечения
Неделя выходных – неделя с OTUS.
Скидки еще больше! Все подробности в чате ➞
Написать в чат

Курсы

Программирование
Специализации Курсы в разработке Подготовительные курсы
+7 499 110-61-65
Специальная цена

Архитектура и шаблоны проектирования

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

Длительность

3 месяца

Начало

25 марта

Занятия

Ср 20:00, Сб 11:00

Общая стоимость

30 000 ₽ 24 000 ₽

В месяц

14 000 ₽

В кредит:

14000 ₽ в месяц

Хочу дешевле
Общая стоимость
30 000 ₽ 24 000 ₽
В месяц: 14 000 ₽
В кредит: 24000 ₽
в месяц
Продолжительность
3 месяца, 4 академ. часа в неделю
Ср 20:00, Сб 11:00
Начало занятий
25 марта
Что даст вам этот курс

С одной стороны, разработка ПО это процесс ведения разработки, тестирование, быстрая разработка и устранение дефектов.

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

С третьей, это внутренняя компоновка компонентов и модулей разрабатываемого продукта,
подразумевающая расширяемость, масштабируемость. Это можно достичь, используя шаблоны проектирования, которые изучим на этом курсе.

Всему вышесказанному посвящён этот курс.

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


После курса вы будете:
1.применять шаблоны проектирования в разработках
2.знать современные процессы разработки программного обеспечения
3.внедрять DevOps в свои процессы разработки, улучшая код и минимизируя ошибки
4.уметь вести разработку от постановки бизнес-задачи до реализации на production сервере
5.уметь отрисовывать бизнес-процессы и схемы.
Преподаватели
Матвей Калинин
Главный разработчик на iBM i в крупнейшем банке страны
Владислав Родин
Евгений Савицкий
Опыт разработки программного обеспечения с 1990 года. Работал и с привычными ныне dos, windows и linux системами, и с редко встречающимися специализированными вычислительными устройствами (системами реального времени, ibm i). Профессионально использую C++, С#, assembler, java, RPG.

Закончил МАИ, к.т.н., старший преподаватель, кафедра «Робототехнические и интеллектуальные системы».
Участвовал в проектах разработки программного обеспечения, связанного с навигацией. Решал задачи для процессоров цифровой обработки сигналов в операционных системах реального времени включая параллельную обработку данных.
Разработал и вёл курс вероятностных конечных автоматов.

В 2000-2002г самостоятельно разработал, используя C++ и Dephi, биллинговый комплекс АСР «ИнтБиллинг» (оборудование VocalTec). Сертификат № ОС/1-СТ-219 Министерства Российской Федерации по связи и информатизации. Биллинг выставлялся на СвязьЭкспоком, имел инсталляции заказчиков.

Долгое время работал с Java2EE (back-end и front-end). Сначала в первом агрегаторе контента для сотовых устройств "Никита-мобайл". Затем в компании "Микротест" занимался разработкой и реализацией систем информирования пользователя, основанных на web интерфейсе и являющихся частью больших распределённых систем, таких как биллинговые системы (Oracle BRM), CRM (Oracle Siebel), интеграционные шины (Tibco), SMS шлюзы.
С 2016 года - Главный разработчик на ibm i в одном из крупнейших банков страны

Люблю и умею преподавать. Более 20 лет помимо программирования изучаю и обучаю айкидо (5й дан Айкикай).

Подобно технике боевых искусств мы изучаем базис: языки, паттерны, платформы. Чтобы затем перевести это всё в зодчество ПО, его архитектуру. С другой стороны, программный продукт всегда есть отражение создателя. Любая система, согласно закону Конвея, есть отражение людей, создавших её. Программирование суть искусство в мире электронных форм. Взрослый ничем не отличается от маленького ребенка, играющего с кубиками. Только кубики другие. Творчество это основа всего. И свобода ошибаться и искать. Обучение это игра и освоение новых миров.

Руководитель программы
Работал Java- разработчиком в таких компаниях как НСПК и Яндекс. Занимался проблемами высокой нагрузки, работая как на Spring'овом, так и на Java EE'шном стеках. Улучшал инфраструктуру проектов, внедряя CI/CD и миграции БД. Строил С4- архитектурные схемы для проектов. Преподаю в Московском Физико-Техническом Институте и на портале foxminded.

Преподаватель
В течение 20 лет принимал участие в продуктовой и заказной разработке ПО в ролях разработчика, архитектора, аналитика, тимлида и руководителя проектов, технического директора и владельца компании-разработчика. Разработчик первой российской ALM.

https://devprom.ru

Преподаватель
Матвей
Калинин
Владислав
Родин
Евгений
Савицкий
Преподаватели
Матвей Калинин
Главный разработчик на iBM i в крупнейшем банке страны
Опыт разработки программного обеспечения с 1990 года. Работал и с привычными ныне dos, windows и linux системами, и с редко встречающимися специализированными вычислительными устройствами (системами реального времени, ibm i). Профессионально использую C++, С#, assembler, java, RPG.

Закончил МАИ, к.т.н., старший преподаватель, кафедра «Робототехнические и интеллектуальные системы».
Участвовал в проектах разработки программного обеспечения, связанного с навигацией. Решал задачи для процессоров цифровой обработки сигналов в операционных системах реального времени включая параллельную обработку данных.
Разработал и вёл курс вероятностных конечных автоматов.

В 2000-2002г самостоятельно разработал, используя C++ и Dephi, биллинговый комплекс АСР «ИнтБиллинг» (оборудование VocalTec). Сертификат № ОС/1-СТ-219 Министерства Российской Федерации по связи и информатизации. Биллинг выставлялся на СвязьЭкспоком, имел инсталляции заказчиков.

Долгое время работал с Java2EE (back-end и front-end). Сначала в первом агрегаторе контента для сотовых устройств "Никита-мобайл". Затем в компании "Микротест" занимался разработкой и реализацией систем информирования пользователя, основанных на web интерфейсе и являющихся частью больших распределённых систем, таких как биллинговые системы (Oracle BRM), CRM (Oracle Siebel), интеграционные шины (Tibco), SMS шлюзы.
С 2016 года - Главный разработчик на ibm i в одном из крупнейших банков страны

Люблю и умею преподавать. Более 20 лет помимо программирования изучаю и обучаю айкидо (5й дан Айкикай).

Подобно технике боевых искусств мы изучаем базис: языки, паттерны, платформы. Чтобы затем перевести это всё в зодчество ПО, его архитектуру. С другой стороны, программный продукт всегда есть отражение создателя. Любая система, согласно закону Конвея, есть отражение людей, создавших её. Программирование суть искусство в мире электронных форм. Взрослый ничем не отличается от маленького ребенка, играющего с кубиками. Только кубики другие. Творчество это основа всего. И свобода ошибаться и искать. Обучение это игра и освоение новых миров.

Руководитель программы
Владислав Родин
Работал Java- разработчиком в таких компаниях как НСПК и Яндекс. Занимался проблемами высокой нагрузки, работая как на Spring'овом, так и на Java EE'шном стеках. Улучшал инфраструктуру проектов, внедряя CI/CD и миграции БД. Строил С4- архитектурные схемы для проектов. Преподаю в Московском Физико-Техническом Институте и на портале foxminded.

Преподаватель
Евгений Савицкий
В течение 20 лет принимал участие в продуктовой и заказной разработке ПО в ролях разработчика, архитектора, аналитика, тимлида и руководителя проектов, технического директора и владельца компании-разработчика. Разработчик первой российской ALM.

https://devprom.ru

Преподаватель
Необходимые знания
Знание языка программирования и принципов ООП. Базовое языка JAVA как примера, на котором будет проводиться часть объяснений.
Процесс обучения
Образовательный процесс происходит ONLINE в формате вебинаров (язык преподавания — русский). В рамках курса слушателям предлагаются к выполнению домашние задания, которые позволяют применить на практике знания, полученные на занятиях. По каждому домашнему заданию преподаватель дает развернутый фидбек. В течение всего учебного процесса преподаватель находится в едином коммуникационном пространстве с группой, т.е. при обучении слушатель может задавать преподавателю уточняющие вопросы по учебным материалам.
Программа обучения
Модуль 1
Основные принципы
Модуль 2
Процесс разработки программного обеспечения
Модуль 3
Архитектура программного обеспечения
Модуль 4
Шаблоны проектирования
Модуль 5
Проектная работа
Основные принципы
Выравнивание знаний.
Вспоминаем ООП, многопоточные приложения и принципы интеграции.
Тема 1: ООП or not ООП
реализовывать принципы, составляющие ООП и без ООП;
проанализировать принципы вне скрытой реализации языков, использующих подход ООП.
Домашние задания: 1
1 Написать стек для строк
Цель: В результате выполнения ДЗ вы напишете программу с применением основ ООП (инкапсуляция, полиморфизм, наследование). В данном задании тренируются также навыки работы с динамическим распределением памяти.
Тема 2: "А если их будет много?" Однопоточное и многопоточное приложения
объяснить плюсы и минусы обоих подходов.
1 апреля, 20:00 — 21:30
Лектор: Матвей Калинин
Домашние задания: 1
1 Программа произведения двух квадратных матриц в многопоточном приложении
Цель: В результате выполнения ДЗ вы сделаете решение задачи путем разделения её на потоки. В данном задании тренируются навыки создания многопоточных приложений.
Тема 3: "Я его слепила из того, что было" или интеграция программного обеспечения
объяснить, как связать несвязываемое, какие подходы существуют.
4 апреля, 11:00 — 12:30
Лектор: Евгений Савицкий
Домашние задания: 1
1 Интеграция данных и приложений в проекте
Процесс разработки программного обеспечения
Знакомство с методологиями разработки программного обеспечения.
Тема 1: "Just do it!" или методологии разработки ПО
объяснить различные подходы к разработке ПО, их особенностями и ограничениями.
8 апреля, 20:00 — 21:30
Лектор: Матвей Калинин
Тема 2: DevOps or not DevOps
рассмотреть процесс создания и поставки ПО в рамках devops.
11 апреля, 11:00 — 12:30
Лектор: Евгений Савицкий
Архитектура программного обеспечения
Приступим к пониманию, что же такое архитектура. Стили, Шаблоны распределения ответственности. Отдельно рассмотрим злободневную тему микросервисной архитектуры, разберёмся с тем, как же системы общаются между собой. Научимся нарисовать и описывать процессы, лежащие в основе систем, так, чтобы они стали понятны другим.
Тема 1: "Откуда ноги растут" или что предшествует программированию
объяснить понятие архитектуры;
рассмотреть архитектурные стили.
15 апреля, 20:00 — 21:30
Лектор: Матвей Калинин
Домашние задания: 1
1 Тема проекта. Выбор архитектурного стиля для своего проекта
Цель: На этом этапе вы уже определились с проектом. Или, на выбор, выбирает из заданий: -Платформа чат сообщений -Интернет-магазин В данном задании тренируются навыки определения стиля, в котором он реализует свой проект. Закладывает фундамент в разработку.
Тема 2: Общие шаблоны распределения ответственностей
проанализировать функциональное разделение функционала;
рассмотреть 9 шаблонов GRASP (они понадобятся для пояснения более широких понятий, таких как микросервисная архитектура).
18 апреля, 11:00 — 12:30
Лектор: Владислав Родин
Домашние задания: 1
1 Шаблоны и их применение в проекте
Тема 3: Микросервисная архитектура
рассмотреть описание, характерные свойства и характеристики;
оценить порядок перехода от "монолита".
22 апреля, 20:00 — 21:30
Лектор: Матвей Калинин
Тема 4: Системы обмена сообщениями
оценить архитектурные концепции построения систем обмена сообщений.
25 апреля, 11:00 — 12:30
Лектор: Владислав Родин
Домашние задания: 1
1 Стиль интеграции, описание выбранной системы обмена сообщениями
Тема 5: Процесс-всему голова
построить бизнес-процесс на примере задачи;
разделить на функциональные процессы;
обсудить как можно решить подобную задачу, какими подходами;
разобраться в законе "Конвея".
29 апреля, 20:00 — 21:30
Лектор: Евгений Савицкий
Домашние задания: 1
1 Анализ бизнес-процессов
Цель: В данном задании тренируются навыки анализа процессов, лежащих в основе системы.
Тема 6: "Как это выглядит?" или как нарисовать процесс
разобраться, как рисуется процесс, его составные части;
использовать оба вида нотаций.
6 мая, 20:00 — 21:30
Лектор: Артем Первушов
Домашние задания: 1
1 Создание схем бизнес-процессов
Цель: В данном задании тренируются навыки схематического описания бизнес-процессов, лежащих в основе разрабатываемой системы
Тема 7: Знакомство с "кирпичиками" построения систем
рассмотреть на примере ракурсы, на которые смотрит архитектор ПО;
строить схемы видов.
13 мая, 20:00 — 21:30
Лектор: Евгений Савицкий
Домашние задания: 1
1 Создание схем системы
Цель: В результате выполнения задания вы создадите информационную и компонентную схемы данных. В данном задании тренируются навыки: декомпозиции предметной области. построение архитектуры проекта на уровне компонентов и потоков данных.
Шаблоны проектирования
Рассматриваются шаблоны проектирования. Плюсы и минусы. Примеры реализации. Абстрактное представление.
Тема 1: "Останется только один"
применять шаблон "Singleton".
16 мая, 11:00 — 12:30
Лектор: Матвей Калинин
Домашние задания: 1
1 Модуль логирования для многопоточного приложения произведения двух квадратных матриц. Описание применения шаблона в проекте
Цель: 1. Научиться работать с шаблоном Singleton в рамках многопоточного приложения. Вы получите навыки как применения Singleton по назначению, а также разберётесь с одновременным доступом потоков к одному объекту 2. Получите навык анализа системы - использовать или нет этот шаблон в проектной работе.
Тема 2: Как связать несвязываемое и передать непередаваемое
применять шаблон "адаптер".
20 мая, 20:00 — 21:30
Лектор: Матвей Калинин
Домашние задания: 1
1 Адаптер для работы двух независимых программ. Описание применения шаблона в проекте
Цель: 1. Вы напишете адаптер, чтобы связать функционал двух отдельных программ в единый процесс. разберётесь с тем, как адаптер работает в случае вызова отдельных программ. Получите навыки работы с формальными и фактическими параметрами передачи данных 2. Получите навык анализа системы - использовать или нет этот шаблон в проектной работе.
Тема 3: Пора делегировать. Дай команду, и "Заместитель" (Proxy) выполнит задачу
применять шаблон.
23 мая, 11:00 — 12:30
Лектор: Евгений Савицкий
Домашние задания: 1
1 Разработка проксирующего логирующего модуля для адаптера, связывающего работу двух программ в единый процесс и описание применения шаблона в проекте
Цель: 1. Вы напишете адаптер, чтобы связать функционал двух отдельных программ в единый процесс. Получите навык разработки прокси для логирования вызовов. 2. Получите навык анализа системы - использовать или нет этот шаблон в проектной работе.
Тема 4: Декоратор" Новые свойства без изменения
применять шаблон.
27 мая, 20:00 — 21:30
Лектор: Владислав Родин
Домашние задания: 1
1 Реализация выбора подходящего метода сортировки (выбором, вставки, слиянием) набора данных с использованием Декоратора и описание применения шаблона в проекте
Цель: Получите навыки в программировании алгоритмов сортировки, применении шаблона декоратор.
Тема 5: От кустарщины к разнообразию фирменных изделий. "Фабрика"
применять шаблон.
30 мая, 11:00 — 12:30
Лектор: Матвей Калинин
Домашние задания: 1
1 Реализация выбора подходящего метода сортировки (выбором, вставки, слиянием) набора данных с использованием абстрактной фабрики и описание применения шаблона в проекте
Цель: Получите навык работы с абстрактной фабрикой.
Тема 6: Есть кофе и… кофе. "Шаблонный метод"
применять шаблон.
3 июня, 20:00 — 21:30
Лектор: Владислав Родин
Домашние задания: 1
1 Реализация выбора подходящего метода матричных операций с применением шаблонного метода и описание применения шаблона в проекте
Цель: Получите навыки в программировании алгоритмов матричных операций, применении шаблонного метода.
Тема 7: Как дела? "Состояние"
применять шаблон.
6 июня, 11:00 — 12:30
Лектор: Артем Первушов
Домашние задания: 1
1 Реализация конечного автомата по разбору введенной строки и описание применения шаблона в проекте
Цель: Получите навыки работы с конечными автоматами, применении шаблона "Состояние"
Тема 8: Золушка или как перебрать быстро и успеть на бал. "Итератор"
применять шаблон.
10 июня, 20:00 — 21:30
Лектор: Владислав Родин
Домашние задания: 1
1 Генератор чисел Фибоначчи и описание применения шаблона в проекте
Цель: Получите навыки применения шаблона "итератор" и знания формировании чисел Фибонначи
Тема 9: Всё решает  "Команда"
применять шаблон;
построить процесс выполнения задачи с использованием шаблона "Команда".
17 июня, 20:00 — 21:30
Лектор: Матвей Калинин
Домашние задания: 1
1 Реализация обработки матриц с применением шаблона "команда" и описание применения шаблона в проекте
Цель: Получите навыки в программировании алгоритмов матричных операций, применении паттерна "команда".
Тема 10: Конвейер обработки "Цепочка обязанностей"
применять шаблон.
20 июня, 11:00 — 12:30
Лектор: Владислав Родин
Домашние задания: 1
1 Парсер файлов в зависимости от их типа и описание применения шаблона в проекте
Цель: Получите навыки применения шаблона "цепочка ответственности"
Тема 11: MVC и MVP
применять шаблоны.
24 июня, 20:00 — 21:30
Лектор: Евгений Савицкий
Домашние задания: 1
1 Применение шаблона в проекте
Проектная работа
Практическая часть, которая подытоживает полученные знания в самостоятельной работе. Результатом станет создание "с нуля" собственного приложения.
Тема 1: Вводное занятие
определиться с финальной архитектурой проекта;
выбрать и обсудить тему проектной работы;
спланировать работу над проектом;
ознакомиться с регламентом работы над проектом.
27 июня, 11:00 — 12:30
Лектор: Матвей Калинин
Домашние задания: 1
1 Обсуждаем вопросы проектирования, корректируем принятые решения
Цель: выбрать темы; закрепить тему в чат с преподавателем.
Тема 2: Консультация по проектам и домашним заданиям
получить ответы на вопросы по проекту, ДЗ и по курсу.
8 июля, 20:00 — 21:30
Лектор: Матвей Калинин
Тема 3: Защита проектных работ
защитить проект и получить рекомендации экспертов.
22 июля, 11:00 — 12:30
Лектор: Матвей Калинин
Выпускной проект
Выпускной проект — возможность закрепить навыки, наработанные в процессе обучения. Это отдельная работа, на выполнение которой отводится последний месяц обучения.
Прошедшие открытые вебинары по курсу
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
«Откуда ноги растут» или что предшествует программированию?
Матвей Калинин
День открытых дверей
18 марта в 20:00
Для доступа к прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на e-mail, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Пройти вступительное тестирование

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

  • применять шаблоны проектирования в разработках

  • получите сертификат об окончании курса

  • внедрять DevOps в свои процессы разработки, улучшая код и минимизируя ошибки

  • получите приглашение пройти собеседование в компаниях-партнёрах (в случае успешного обучения)

Дата выдачи сертификата: 22 июля 2020 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Архитектура и шаблоны проектирования»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Архитектура и шаблоны проектирования»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.
Общая стоимость
30 000 ₽ 24 000 ₽
В месяц: 14 000 ₽
В кредит: ₽ в месяц
Продолжительность
3 месяца
Начало занятий
25 марта
🔥 Неделя выходных – неделя с OTUS.
Скидки еще больше! Все подробности в чате ➞