ガイドライン: 実装におけるインポート依存関係
トピック
説明
サブシステム間の依存関係の扱いは、実装モデルの構造化の重要な側面です。クライアント サブシステムが供給者のサブシステムをインポートする場合、クライアント サブシステムの要素は供給者サブシステムの要素に対してのみコンパイル可能です。このような依存関係を表現するには、あるサブシステムから別のサブシステムへのインポート依存関係を使って、依存関係があるサブシステムを指し示します。
例:
次のコンポーネント図は、実装サブシステム間のインポート依存関係を示しています。

テレフォン バンキングのサブシステムはトレーディング サービスのサブシステムに対してインポート依存関係があり、テレフォン バンキングの要素はトレーディング サービスのパブリック (可視) な要素に対してコンパイル可能になります。
使用 
インポート依存関係の重要な使い方は、サブシステム間の可視性を制御することと、実装担当者にアーキテクチャを守らせることです。開発の初期にソフトウェア アーキテクトがインポート依存関係を定義してあると、実装担当者は、インポートされるサブシステムのパブリック要素を実装要素で参照する (パブリック要素を使ってコンパイルする) ことだけが許されます。インポートを制御すると、ソフトウェア アーキテクチャの保守が容易になり、不要な依存関係を避けることができます。
サブシステムはレイヤ構造に編成可能
実装モデルは通常、レイヤ構造に編成します。レイヤ数は決まっておらず、状況ごとに異なります。次に示すのは、4 レイヤ構成の典型的なアーキテクチャです。
- 最上部のレイヤであるアプリケーション レイヤには、アプリケーションに固有のサービスが収められています。
- 次のレイヤであるビジネス固有レイヤには、複数のアプリケーションで使用されるビジネス固有のコンポーネントが収められています。
- ミドルウェア レイヤには、GUI ビルダ、データベース管理システムへのインターフェイス、プラットフォームから独立したオペレーティング システム サービス、スプレッドシートやダイアグラム エディタのような OLE コンポーネントなどのコンポーネントが収められています。
- 最下位レイヤであるシステム ソフトウェア レイヤには、オペレーテ ィング システム、固有ハードウェアへのインターフェイスなどのコンポーネントが収められています。

銀行システムのレイヤ化された実装モデル例。矢印はサブシステム間のインポート依存関係を示します。
|