知識ベース

ソフトウェアアーキテクト

ソフトウェアアーキテクトは、高度な設計選択を行い、ソフトウェアコーディング標準、ツール、プラットフォームなどの技術標準を決定するソフトウェア開発者の専門家です。

歴史

ソフトウェアアーキテクトの概念は、オブジェクト指向プログラミングまたはOOPがより広く使用されるようになったとき(1990年代後半から21世紀初頭に)定着し始めました。 OOPにより、これまでになく大規模で複雑なアプリケーションを構築できるようになりました。そのため、高レベルのアプリケーションとシステムの監視を強化する必要がありました。

職務

一般的に、ソフトウェアアーキテクトの役割には、特定の共通の特徴があります。

アーキテクトは、コーディング経験に基づいて高レベルの設計を選択します。建築家は、家を建てる建築家のように、ソフトウェアのあらゆる側面を熟考しました。建設設計者は、ダクトの場所、電気接続の場所、および水出口の場所を知っています。一般の人が見るデザインは壁と窓だけですが、部外者から抽象化された詳細なデザインも建築家に存在します。さらに、アーキテクトは、コーディング標準、ツール、プラットフォームなどの技術標準を指示する場合があります。

ソフトウェアアーキテクトは、ハードウェア環境のアーキテクチャの設計に従事している場合もあれば、コードの設計方法論に完全に集中している場合もあります。

アーキテクトは、通信アーキテクチャに特化したさまざまなソフトウェアアーキテクチャモデルを使用できます。

他のタイプのIT関連アーキテクト

エンタープライズアーキテクトは、組織のビジネス側とIT側の間のやり取りを処理し、主にビジネスおよびITプロセスの観点からAS-ISおよびTO-BE状態を決定することに関与します。多くの組織は、エンタープライズアーキテクチャの役割の範囲内でソフトウェアアーキテクトの義務を束ねています。

アプリケーションアーキテクトは、単一のソフトウェアアプリケーションで作業します。

使用されている他の同様のタイトルですが、正確な意味についてのコンセンサスはありません。

  • ソリューションアーキテクト。複数のアプリケーション間の相互作用を必要とする特定のビジネスソリューションの推進に直接関与する人を指す場合があります。アプリケーションアーキテクトを指す場合もあります。
  • システムアーキテクト(単数形)。アプリケーションアーキテクトの同義語としてよく使用されます。ただし、システム理論と、企業がシステムになり得るという考えにサブスクライブする場合、システムアーキテクトはエンタープライズアーキテクトを意味する場合もあります。
  • システムアーキテクト(複数)。エンタープライズアーキテクトまたはソリューションアーキテクトの同義語としてよく使用されます。
  • クラウドアーキテクト(複数)。クラウドベースのインフラストラクチャでのソリューションとアプリケーションの設計に関する知識を深めるソフトウェアアーキテクトです。


次の表は、さまざまな種類のソフトウェアアーキテクト間の多くの違いを示しています。

建築家タイプ戦略的思考システムの相互作用コミュニケーション設計
エンタープライズアーキテクトプロジェクト全体高度に抽象化された組織全体最小限、高レベル
ソリューションアーキテクトソリューションに焦点を当てた非常に詳細な複数のチーム詳細な
アプリケーションアーキテクトコンポーネントの再利用、保守性単一のアプリケーションを中心に単一プロジェクト非常に詳細な