Контакты:
-
Ганичев Александр АлександровичПреподаватель
Сведения об авторе:
Ганичев Александр Александрович, ассистент кафедры Информационная безопасность, a.ganichev@mospolytech.ru
Сведения о дисциплине:
Название: Архитектура и дизайн программного обеспечения
Направление подготовки: 09.03.01 Информатика и вычислительная техника
Образовательная программа: Программирование электронных устройств и систем
Трудоемкость: 2 ЗЕТ
Когда: 2 курс (2 семестр)
Форма контроля: Диф. зачет
Курс предназначен для изучения принципов построения, работы, проектирования и применения архитектур программного обеспечения. Содержит подробное описание подходов к формализации требований и принципов проектирования, обзора архитектурных стилей и паттернов, методик документирования и тестирования архитектуры. Рассматриваются варианты организации многослойных и микросервисных систем, способы повышения масштабируемости и обеспечения безопасности. Практическая часть курса направлена на получение навыков проектирования архитектуры программных систем и самостоятельного анализа существующих решений. Курс предназначен для бакалавров, слушателей программ ДПО технических направлений подготовки, связанных с разработкой и сопровождением программных продуктов.
Цели освоения дисциплины:
- получение знаний о различных архитектурных стилях, принципах построения программных систем и способах документирования архитектуры;
- ознакомление с методами оценки и повышения качества архитектуры, включая тестирование, масштабирование и обеспечение безопасности.
Задачи изучения курса:
- изучить основные архитектурные стили (монолит, многослойная архитектура, микросервисы и пр.) и паттерны проектирования (SOLID, DRY, KISS);
- освоить практику выделения и проектирования компонентов, применение принципов CCP, CRP, ADP;
- получить навыки документирования архитектуры (UML-диаграммы, C4-модель) и формализации требований;
- изучить подходы к тестированию и обеспечению качества, включая анализ рисков, выбор уровней тестирования и принципы TDD;
- познакомиться со способами масштабирования и обеспечения безопасности в распределённых системах.
Разделы включают в себя следующие обучающие материалы:
- Видеоматериалы
- Лекционный материал
- Практические работы
- Лабораторные работы