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

- Teacher: Елена Вячеславовна Кудрина
- Teacher: Михаил Новоярчиков