Роль архитектора — выстроить блоки приложения (компоненты) и определить, в чем будет заключаться суть взаимодействия между ними. А роль разработчика — получить эти компоненты и определить, как они будут реализованы с использованием диаграмм классов и паттернов проектирования.