ソフトウェアアーキテクト
ソフトウェアアーキテクトは、高度な設計選択を行い、ソフトウェアコーディング標準、ツール、プラットフォームなどの技術標準を決定するソフトウェア開発者の専門家です。
歴史
ソフトウェアアーキテクトの概念は、オブジェクト指向プログラミングまたはOOPがより広く使用されるようになったとき(1990年代後半から21世紀初頭に)定着し始めました。 OOPにより、これまでになく大規模で複雑なアプリケーションを構築できるようになりました。そのため、高レベルのアプリケーションとシステムの監視を強化する必要がありました。
職務
一般的に、ソフトウェアアーキテクトの役割には、特定の共通の特徴があります。
アーキテクトは、コーディング経験に基づいて高レベルの設計を選択します。建築家は、家を建てる建築家のように、ソフトウェアのあらゆる側面を熟考しました。建設設計者は、ダクトの場所、電気接続の場所、および水出口の場所を知っています。一般の人が見るデザインは壁と窓だけですが、部外者から抽象化された詳細なデザインも建築家に存在します。さらに、アーキテクトは、コーディング標準、ツール、プラットフォームなどの技術標準を指示する場合があります。
ソフトウェアアーキテクトは、ハードウェア環境のアーキテクチャの設計に従事している場合もあれば、コードの設計方法論に完全に集中している場合もあります。
アーキテクトは、通信アーキテクチャに特化したさまざまなソフトウェアアーキテクチャモデルを使用できます。
他のタイプのIT関連アーキテクト
エンタープライズアーキテクトは、組織のビジネス側とIT側の間のやり取りを処理し、主にビジネスおよびITプロセスの観点からAS-ISおよびTO-BE状態を決定することに関与します。多くの組織は、エンタープライズアーキテクチャの役割の範囲内でソフトウェアアーキテクトの義務を束ねています。
アプリケーションアーキテクトは、単一のソフトウェアアプリケーションで作業します。
使用されている他の同様のタイトルですが、正確な意味についてのコンセンサスはありません。
- ソリューションアーキテクト。複数のアプリケーション間の相互作用を必要とする特定のビジネスソリューションの推進に直接関与する人を指す場合があります。アプリケーションアーキテクトを指す場合もあります。
- システムアーキテクト(単数形)。アプリケーションアーキテクトの同義語としてよく使用されます。ただし、システム理論と、企業がシステムになり得るという考えにサブスクライブする場合、システムアーキテクトはエンタープライズアーキテクトを意味する場合もあります。
- システムアーキテクト(複数)。エンタープライズアーキテクトまたはソリューションアーキテクトの同義語としてよく使用されます。
- クラウドアーキテクト(複数)。クラウドベースのインフラストラクチャでのソリューションとアプリケーションの設計に関する知識を深めるソフトウェアアーキテクトです。
次の表は、さまざまな種類のソフトウェアアーキテクト間の多くの違いを示しています。
建築家タイプ | 戦略的思考 | システムの相互作用 | コミュニケーション | 設計 |
---|---|---|---|---|
エンタープライズアーキテクト | プロジェクト全体 | 高度に抽象化された | 組織全体 | 最小限、高レベル |
ソリューションアーキテクト | ソリューションに焦点を当てた | 非常に詳細な | 複数のチーム | 詳細な |
アプリケーションアーキテクト | コンポーネントの再利用、保守性 | 単一のアプリケーションを中心に | 単一プロジェクト | 非常に詳細な |