- 目次 -
Part 1: UMLパッケージ図の基礎知識
1.1 パッケージ図とは
パッケージ図は、パッケージ内のさまざまなUML要素の組織と配置を示す構造UML 図と定義されています。パッケージとは、パッケージ図を構成するブロックで、関連するモデル要素をグループ化したものです。これらのモデル要素は、図、ドキュメント(文書)、クラス、そして別のパッケージの場合もあります。図では、パッケージは、階層的な配置でネスト化された要素と、ファイルのフォルダの記号で表します。
パッケージ図はシステム内のパッケージ組織とその要素を反映します。導入段階で、パッケージはネームスペース(名前空間)として認識されます。
1.2 パッケージ図の目的と利点
パッケージ図では、さまざまな種類のシステムやプロジェクトの中にたくさんのアプリケーションを表します。最も一般的に使われるパッケージ図は、ユースケース図の組織やクラス図です。大規模なソフトウェアシステム内にある階層構造のある組織を視覚化する際にも使われます。また、パッケージ図はパッケージ、クラス、コンポーネント(構成要素)のようなさまざまな要素間のインポートやアクセスの依存性を明確に表します。
パッケージ図の有用性により、これらのダイアグラム図を通じて、サブシステムやモジュール間の構造と依存性を図に表すことが可能になります。図には、ソフトウェアシステムの機能を示すユースケースのあるパッケージも含まれます。これらのパッケージ間の依存関係は、レイヤー(層)間の対話構造を示し、名前付けやステレオタイプによって表します。
パッケージ図は、大規模なシステムで使われ、デザインの重要な要素間の依存関係を視覚的に表し、コンパイル時間のグループ分け構造を表します。
パッケージ図は特にオブジェクト指向のプロジェクトなど、ソフトウェア開発に気軽に利用できます。カプセル化と異なるアーティファクトのグループ化が可能になり、システムをわかりやすく理解したり、実行したり、維持したりできます。パッケージ図のその他の利点は以下のとおりです。
• パッケージ図は、類似している要素をグループ化し、クラス図をすっきりさせたものです。 このグループ化は、ドメイン、種類、クラスやその他のアーティファクトなどの項目において実施します。その結果、パッケージにより、一層モジュラー化された実装が可能になる一方で、クラス図を整理して的確な状態にしておくことができます。
• パッケージ図は、システムのさまざまな要素の階層構造を明確に図で表します。
• パッケージ図は、大規模なプロジェクトがどのように組織化されているかを表す場合に非常に役立ちます。
• パッケージ図は、シンプルな設計から具体的な構造まで、さまざまなプロジェクトの進化に対応します。必要とされるコンポーネントの大まかな理解から始めて、徐々に実質的なシステムに進化していくことも可能です。
Part 2: パッケージ図の表記
パッケージ図で見られる主要コンポーネントを以下に挙げています。
• パッケージ
パッケージは、システム内で関連する要素を論理的にまとめ、グループ化する名前空間です。パッケージ図を構成するまとまり(ブロック)です。パッケージに含まれる各要素は、パッケージ化されて一意の名称を持つようにします。
• パッケージ化できる要素
パッケージ化できる要素とは何を指すのでしょうか。パッケージにより、直接所有されている要素で名前が付けられているもののことです。イベント、コンポーネント、ユースケース、別のパッケージなどが、パッケージ化できる要素に該当します。
• 依存関係
依存関係は、ある要素対、別の要素あるいは一連のコンポーネントにおける影響や信頼性を視覚化して表したものです。依存関係は、2つのグループに分けられます。
1. アクセスにおける依存関係
アクセスにおける依存関係は、あるパッケージが別のパッケージの機能・働きを必要としていることを表します。
2. インポートにおける依存関係
インポートにおける依存関係は、あるパッケージから別のパッケージに機能・働きがインポートされることを表します。
別の基準に基づいた場合は、また違った依存関係の分類が可能です。
• 使い方における依存関係
ある名前を付けられた要素がその全体的な定義や配置で、別の要素を必要とする場合の依存関係です。
• 抽象化
抽象化は、システム内で異なる抽象化階層において同じ概念を表す2つの要素に関係します。
• 配置
配置も、ある配置対象に対するアーティファクトの配置を表す依存関係です。
• サブシステム
サブシステムは、システムを細かく分ける際(分解)に使います。システムのさまざまな部位を仕様や実装に基づいて表す場合に使います。
EdrawMaxはUML図を書くためのオールインワンな作図ソフトです。EdrawMaxは無料体験できるので、ぜひダンロードしてご体験してみてください!
Part 3: EdrawMaxでパッケージ図を作成する手順
EdrawMaxは、ソフトウェアの作図で非常に優れています。幅広い種類のテンプレートと記号のライブラリがあるので、素早く正確にパッケージ図の作成ができるようサポートします。以下に、EdrawMaxでパッケージ図を作成する手順を示します。
手順1:EdrawMaxプログラムを起動します。画面左側のナビゲーションパネルで、「ソフトウェア開発」>「UMLモデリング」を順にクリックし、テンプレートが表示されるのを待ちます。次に、最初から作図する場合は空白のテンプレートを[+]記号をクリックして選択します。
手順2:テンプレートをクリックすると、あらかじめ下書きされた図がキャンバスに表示されるので、必要に応じて、この図を使って作図を進めます。
手順3:下書きから図を作成する場合は、記号のライブラリから記号、線、その他の視覚的ツールを利用します。まず、画面左側の「シンボル ライブラリー」の隣にあるアイコンをクリックして、さらに記号やアイコンを表示します。次に、「UMLモデリング」までスクロールして下がり、必要なライブラリを選びます。
手順4:思うような作図が完成したら、作成した図(ファイル)を保存します。Excel、Word、PDFなどほかのフォーマット(形式)にエクスポートすることもできます。「ファイル」をクリックし、次に「エクスポート」をクリックします。
Part 4: パッケージ図の作成におけるヒント
パッケージ図は、プロジェクトのさまざまな段階で作成することができます。パッケージ図の作成は、パッケージ図に盛り込む詳細の程度と必要性とに応じて異なります。ただし、以下の一般的なガイドラインは、各状況において同様です。
• 拡張型のシステムでは、実質的なシステムのそれぞれの部分に対してサブシステムを定義します。そのため、パッケージ図を整理して作り、モジュラー化しておくことが欠かせません。設計チームは、このとき一度にひとつの部分に着目します。
• パッケージ図は高度な図ですが、分析と設計の後半にさしかかる期間までチームの決定を遅らせることもできますが、システムとサブシステムのような要因に左右される仕様のあり方を選定しておくとよいでしょう。
• 皆さんのそれぞれのペースで各サブシステムを分析しましょう。仕様は、要件の仕様として使っていきます。
Part 5: パッケージ図の使用対象者と実際の使用例
5.1 パッケージ図の使用対象者
1. ソフトウェア開発者:UML(統一モデル言語)の記号を使ってソフトウェアアプリケーションを表示する。
2. ソフトウェア開発者:ソフトウェアアプリケーションの関係性、行動(アクション)、接続を図で示して伝える。
3. プログラムマネージャ:高度の静的ソフトウェア構造をプレゼンテーション形式で、あるいは仕様書に表す。
5.2 パッケージ図の例
例①
このパッケージ図は、ナビゲーションコントロールシステムの例を示しています。ここでは、複数のパッケージの依存関係が示されています。パッケージ名は、非常に高度なパッケージ図を表しています。ユーザーインターフェイスのパッケージを単純に示していて、インターフェイスに含まれるコンテンツ(内容)の詳細は示されていません。
例②