тренинг

Архитектура программного обеспечения

...
Категория

Программное обеспечение

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

40 часов

Аннотация

Тренинг направлен на получение навыков проектирования програмнмого обеспечения и снижение количества ошибок начинающих разработчиков.

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

  • Разработчики программного обеспечения
  • Аналитики
  • Руководители команд (Тимлиды)

Результат

  • Понимание принципов построения адаптивной архитектуры (Agile architecture)
  • Понимание типовых решений (паттернов) проектирования архитектуры программного обеспечения
  • Понимание принципов тестируемости архитектуры

Ведущие тренинга

Эксперт в области построения программных систем и разработки архитектуры

Agile/XP Сoach. Консультант по улучшению бизнес-процессов
...

Содержание тренинга

Модуль 01

Определение Архитуктуры ПО

  • Способы описания Архитектуры ПО
  • UML: диаграмма последовательностей
  • UML: статическая диаграмма
Модуль 02

Особенности работы c оборудованием

  • Протоколы обмена: дуплекс, полудуплекс, синхронно, асинхронно, с подтверждением, поддержка целостности потока управления.
  • Промышленные протоколы обмена: rs485, ARINC485, MIL-STD-1552, modbus, dcon, OPC
  • Типы подключения: один-ко-многим, мастер - оконечное устройство.
  • Тестирование протоколов обмена
Модуль 03

Обеспечение информационной безопасности

  • Модель угроз
  • Атаки в модели OSI/ISO
  • Обеспечение безопасности канала в модели OSI/ISO.
Модуль 04

(дискуссия) Agile архитектура

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

(дискуссия) Переход к Agile архитектуре.

  • Что случается с компанией когда бизнес внедряет Agile.
  • Зачем это делается, какие цели и задачи стоят у бизнеса
  • Состояние программного кода и архитектуры в момент перехода.
  • Целевое состояние.
  • Agile архитектура и проектирование.
  • Обеспечение качества legacy кода.
Модуль 06

(дискуссия) Agile Планирование и архитектура ПО

  • Блеск и нищета короткого цикла разработки.
  • Дилемма документирования проекта.
  • Организация цикла проектирования и планирования релизов.
Модуль 07

Модель работы системы данных.

  • Модели потоков данных: push/pull/poll модели
  • Преимущества применения той или иной модели.
Модуль 08

(дискуссия) Системы реального времени и другие

  • Системы жесткого и мягкого реального времени
  • Выбор модели потоков данных для систем реального времени.
Модуль 09

MVC паттерны

  • Дискуссия.
Модуль 10

Типовые решения организации потоков данных

  • Поставщик (Provider)
  • Прошлушка (Listener)
  • Подписка на данные (Subscription)
  • Поддержка в языках, вырожденныке случаи. Сигналы (qt), События (.NET).
Модуль 11

Типовые решения для работы с Базой даных (БД)

  • Прямая выборка
  • Активная запись
  • Таблицы
  • ORM
  • Реализации: linq, hibernate.
  • Дискуссия: особенности применения решенй.
Модуль 12

Веб-системы

  • Преобразование
  • Двойное преобразование
  • Дискуссия: конструирвоание интерфейсов. подходы и практики: принтер, компонентая среда.
Модуль 13

Тестируемость архитектуры

  • (дискуссия) Проблема тестируемости приложений.
  • Одиночка как иньекция тестирования
  • Интерфейсы классов
  • Объекты заглушки. mock objects
Модуль 14

Архитектурные метафоры и архитектурные стили

  • Высокоурневый подход к проектированию приложений.
  • Позднее связывание, примеры применения во фреймворках.
Модуль 15

Аспектно-ориентированное программирование

  • Приёмы
  • Парадигма
  • Особенности применения
Модуль 16

Порождающие патерны - создание обёектов

  • Дискуссия: зачем нужно создавать объекты в ручную? Зачем нужно контролировать созданпе объектов.
  • Фабричный метод
  • Фабрика
  • Строитель
  • Прототип (сам себе фабрика)
  • Одиночка.
Модуль 17

Структурные паттерны

  • Адаптер
  • Мост
  • Компоновщик
  • Декоратор
  • Фасад
  • Легковес
  • Заместитель (прокси)
Модуль 18

Поведенческие паттерны

  • Цепочка обязанностей
  • Команда
  • Итератор
  • Посредник
  • Снимок
  • Наблюдатель
  • Состояние
  • Стратегия
  • Шаблонный метод
  • Посетитель
Модуль 19

Паттерны потоков данных

  • Сообщение с нагрузкой,
  • Сообщение внепотока
  • Фильтр

Отзывы

Официальные благодарности

Фотографии