パッケージはモデル要素のグループです。つまり、パッケージには、階層を作成するための他のパッケージを含む、さまざまな種類のモデル要素を含めることができます。パッケージは、さまざまな目的で使用するコンテンツの名前空間を定義します。
パッケージ図の概要
パッケージ図は、複雑なクラス図を単純化するために使用されます。クラスをパッケージにグループ化できます。パッケージは、論理的に関連するUML要素のコレクションです。
次の図は、クラスがパッケージにグループ化されているビジネスモデルです。
- パッケージは、上部に小さなタブが付いた長方形として表示されます。
- パッケージ名は、タブまたは長方形の内側にあります。
- 点線の矢印は依存関係です。
- 他のパッケージの変更が最初のパッケージの変更を強制する可能性がある場合、1つのパッケージは別のパッケージに依存します。
パッケージ図の基本概念
パッケージ図は、ネストされたパッケージの階層構造に従います。ネストされたパッケージのアトミックモジュールは通常、クラス図です。パッケージ図を使用する際の制約はほとんどありません。それらは次のとおりです。
- システムのパッケージ名は同じであってはなりませんが、異なるパッケージ内のクラスは同じ名前を持つことができます。
- パッケージには、図全体、コンポーネントの名前のみ、またはコンポーネントをまったく含まない場合があります。
- パッケージの完全修飾名の構文は次のとおりです。
パッケージは、以下に示すいくつかの例を使用して表記で表すことができます。
パッケージ図—依存関係の表記
依存関係には2つのサブタイプがあります。それらは<< import >>&<< access >>です。2つのステレオタイプがありますが、ユーザーは独自のステレオタイプを使用して、2つのパッケージ間の依存関係のタイプを表すことができます。
パッケージ図の重要な要素
パッケージは、モデル要素の大規模なセットを整理するために使用されます。
- 可視性
- 輸入
- アクセス
いつパッケージを使用しますか?
モデル要素の大規模なセットの概要を作成するには
- 大きなモデルを整理するには
- 関連する要素をグループ化するには
- 名前空間を分離するには
パッケージの可視性
含まれている各要素には、含まれているパッケージに関連する可視性があります。
- パブリック要素は、パッケージ外の要素に表示され、「+」で示されます
- 保護された要素は、「#」で示される継承パッケージ内の要素にのみ表示されます
- プライベート要素は、パッケージ外の要素にはまったく表示されません。「-」で示されます。
- クラス内の属性と操作の可視性のための同じ構文
パッケージ間のインポート関係
アソシエーションはパッケージXによって所有されています。
インポートとアクセス
継承
別のパッケージに一般化されたパッケージは、継承されたパッケージによって所有またはインポートされたパブリック要素と保護された要素を継承します。パッケージは、静的な図に、封じ込めを示す2つの同等の方法で示されています。
サブシステム
サブシステムは、システムの一部で表すことができるシステム分解に使用されます:(仕様/実現)
サブシステムの内部および外部の側面
サブシステムには、2つのビューを表すための仕様と実現があります。
- サブシステムによって提供されるサービスを示す外観ビュー
- サブシステムの実現を示す内部ビュー
- 2つの側面の間にマッピングがあります
サブシステムのモデリングのヒント
- 大規模システムの個別の部分ごとにサブシステムを定義する
- システムの種類やサブシステムの種類などの要因に応じて、仕様手法を選択してください
- 仕様を要件仕様として使用して、各サブシステムを個別に実現します
複雑なグループ化のモデリング
パッケージ図は、パッケージと他のパッケージまたはオブジェクトとの間の階層関係(グループ化)を説明するためによく使用されます。パッケージは名前空間を表します。
パッケージ図の例—階層構造
自分で試して、 オンラインのビジュアルパラダイムを楽しんでください
ビジュアルパラダイムオンライン(無料エクスプレス版)
- オンラインのパッケージ図ソフトウェアで編集可能な無料のパッケージ図の例とテンプレート:ビジュアルパラダイムオンライン。
- テンプレートを出発点として使用して、独自のパッケージ図を作成します。