Архитектура программных систем
Описание
В рамках курса по проектированию архитектуры программных систем изучаются теоретические основы и практические аспекты разработки и анализа архитектуры различных программных решений. Архитектура программной системы представляет собой описание её структуры и поведения, определяющее ключевые характеристики, такие как работоспособность, адаптивность, расширяемость, эффективность, а также удобство сопровождения и внесения изменений.
Принятие архитектурных решений требует ответственного и взвешенного подхода, так как они оказывают значительное влияние на дальнейшую работу системы. В ходе обучения осваиваются систематические инженерные методы выбора архитектурных решений, основанные на анализе требований к информационным системам. Рассматриваются основные задачи, стоящие перед архитекторами и проектировщиками программного обеспечения, а также принципы унифицированного процесса (Unified Process) и методологии проектирования программных систем.
Кроме того, изучаются особенности различных реализаций унифицированного процесса, а также методы визуального моделирования программных решений с применением CASE-средств и унифицированного языка моделирования UML. Завершающий этап обучения включает освоение навыков документирования ключевых архитектурных решений в соответствии с отечественными и международными стандартами (ГОСТ Р 57100-2016), а также работу с архитектурными описаниями, их чтение и сопровождение.
Программа курса
- Определение архитектуры программной системы
- Визуальное моделирование и работа с требованиями
- Анализ и проектирование
- Документирование архитектуры программных систем
- Организационные вопросы проектирования
- Процессы разработки
- Чтение архитектуры
- Развитие архитектуры
- Работа с требованиями по атрибутам качества системы
- Шаблоны проектирования
- Классические архитектурные стили
- Архитектура сетевых и распределенных систем
- Архитектурные стили корпоративных приложений
- Сервис-ориентированные архитектуры
- Облачные архитектуры
- Защищенность и безопасность программных систем
Предварительные требования:
-
Алгоритмы и структуры данных: кирпичики, из которых строятся сложные архитектуры
-
Методы программирования: нужно знать программирование на более низком уровне для построения архитектур