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