この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "システムアーキテクチャ"
システムアーキテクチャ(英: system architecture)は、システムの構成要素(コンポーネント)として何があるか、各構成要素がどのような機能・役割を与えられ、相互にどのように連絡をして全体としてひとつのシステムとして機能するか、に関する記述や取り決めのこと。
なお、システムアーキテクチャの「システム」が指しているのはコンピュータシステムに限らない。(後述) いくつかの団体によるいくつかの定義の例を示す。 システムアーキテクチャは、システムの構成要素として何があるか、構成要素は相互にどのように連絡し全体としてひとつのシステムとして機能しているか、に関する記述や決めごとである。 システムアーキテクチャはシステム全体の構造を示すものであり、いわば システム全体の概略設計図 や システムの骨格図のようなものであり、システムの全体像を概観することを可能にするものである。[注釈 1] システムアーキテクチャは、システム構築のプロジェクトを進める上で、いわば基礎や土台として機能する。大きなシステムを構築するには多くの人が携わる必要があり、そのようなシステム構築にはシステムアーキテクチャをあらかじめ作成することが必要である。 システムアーキテクチャは決めごとであり一種のルールとしても機能し、詳細設計の担当者や実装担当者がシステム全体と整合性がとれず矛盾してしまう細部を作ってしまうことを抑制する効果も持つ。 システムアーキテクチャで扱われる「システム」は、(コンピュータで構成されるシステムが多くはあるが、それに限らず)、人の組織や、知識体系すらも含まれることがある。 Mark Gautam Kumar と Eberhardt Rechtin[5]によれば、システムアーキテクチャは以下のように分類される: (現実問題としては、情報システムの改良プロジェクトの際にシステムアーキテクチャが関係者に意識されることは多いので)より実用的な定義として、何らかの具体的なコンピュータシステム(企業内の情報システムなど)の構成とその長期的な改善計画をシステムアーキテクチャと呼ぶ立場もある。[6] 「システムアーキテクチャ」という用語は、コンピュータ関連に限った概念ではないが、それが情報システムに関して使われている場合、(一部で「コンピュータ・アーキテクチャ」との線引きに悩む人がいるが)コンピュータ・アーキテクチャが通常はコンピュータ単体のアーキテクチャを指しているのに対し、システムアーキテクチャの「システム」はコンピュータ単体を指すことは稀で、近年では一般に複数のコンピュータのハードウェアやソフトウェア(さらにはネットワークインフラなど、さまざまな要素)で構成されるシステム全体を指している。 なお、システムの構成要素には、サブシステムが含まれうる。多くの場合、構成要素間の関係はインタフェースも記述し、環境(外界、特にユーザー)との関係・インタフェースも記述する。 情報システムのシステムアーキテクチャは、通常、ITとビジネスの双方に精通した人々が作成する。システムアーキテクチャを作成する人々をシステムアーキテクトと言う。彼らは組織の事業計画や事業目標を理解し、それを要素に分解しそれを実現するために、複数のIT技術を分析・比較した中から、適切な組み合わせ方を提案する。システムアーキテクチャを作成する人は、どのようなシステムがどの程度の負荷に耐えうるかについてもかなり詳細に知っていなければならない。[7] デジタルコンピュータの発明以前から、電子工学などの工学では「システム」という用語を普通に使っている。しかし、デジタルコンピュータが登場し、ソフトウェア工学が新たな分野として発展すると、ハードウェアとソフトウェア、およびそれら全体を区別する必要が生じてきた。
概説
定義
システムの構成、動作原理を表している。(カーネギーメロン大学ソフトウェア工学研究所用語集[1])
システム構成要素(部品)レベルの詳細さで設計や実装を可能とするレベルの記述がされている。(IEEE 1471やTOGAF)
構成要素間の関係やシステム外の環境との関係が記述されている。[2]
要求仕様やシステムのライフサイクル全体を考慮している。[3][4]
概要
「システム」の範囲
システムアーキテクチャの分類
製造システム
社会システム
ソフトウェアおよび情報技術システム
統合的システム(インターネット、高度道路交通システム、防空システムなど)
情報システムのシステムアーキテクチャ
背景