A Архитектор программного обеспечения - эксперт по разработке программного обеспечения, который принимает решения на высоком уровне проектирования и пытается обеспечить соблюдение технических стандартов, включая программное обеспечение стандарты кодирования, инструменты и платформы.
Концепция архитектора программного обеспечения начала укрепляться, когда объектно-ориентированное программирование или ООП получило более широкое распространение (в конце 1990-х и начале XXI века). ООП позволяло создавать все более крупные и сложные приложения, что, в свою очередь, требовало усиленного надзора за приложениями и системой высокого уровня.
Роль архитектора программного обеспечения обычно имеет определенные общие черты:
Архитекторы выбирают высокоуровневый дизайн на основе своего опыта программирования. Архитектор продумал все аспекты программного обеспечения, как архитектор, который строит дом. Архитектор-строитель знает, где будут воздуховоды, где будут электрические соединения и где будут розетки. Дизайн, который видит обычный человек, - это только стены и окна, но подробный проект, абстрагированный от постороннего, также присутствует у архитектора. Кроме того, архитектор может иногда предлагать технические стандарты, включая стандарты кодирования, инструменты или платформы.
Архитекторы программного обеспечения также могут участвовать в проектировании архитектуры аппаратной среды или могут полностью сосредоточиться на методологии проектирования кода.
Архитекторы могут использовать различные архитектурные модели программного обеспечения, которые специализируются на архитектуре связи.
Корпоративный архитектор отвечает за взаимодействие между бизнесом и ИТ-сторонами организации и в основном участвует в определении AS-IS и состояния TO-BE с точки зрения бизнеса и ИТ-процессов. Многие организации объединяют обязанности архитектора программного обеспечения в рамках роли архитектуры предприятия.
архитектор приложений работает с одним программным приложением.
Используются другие похожие названия, но без консенсус относительно их точного значения, включает:
. В таблице ниже показаны многие различия между различными видами архитекторы программного обеспечения:
Тип архитектора | Стратегическое мышление | Системное взаимодействие | Коммуникация | Дизайн |
---|---|---|---|---|
корпоративный архитектор | в проектах | высоко абстрагированный | в масштабах организации | минимальный, высокоуровневый |
архитектор решений | сосредоточился на решении | очень детально | несколько команды | подробный |
архитектор приложений | повторное использование компонентов, удобство обслуживания | сосредоточено на одном приложении | один проект | очень d etailed |