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

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

По результатам освоения курса обучающиеся смогут:

  • понимать роль архитектуры в жизненном цикле программного обеспечения;
  • применять базовые архитектурные принципы и шаблоны проектирования;
  • анализировать и обосновывать архитектурные решения;
  • проектировать структуру программной системы с учётом функциональных и нефункциональных требований;
  • использовать современные подходы к разработке и сопровождению программных продуктов.

Курс ориентирован на формирование теоретической базы и практических навыков, необходимых для разработки качественного, надёжного и масштабируемого программного обеспечения.