2016-08-15 1 views
0

クラス図を使用してソフトウェアをマッピングしています。これをパッケージダイアグラムでパッケージに分割したいと思います。クラス図をUMLでパッケージに分割する

私の問題はこれです:どのように2つの異なるパッケージのクラス間の接続を表現するのですか?

たとえば、「データベース」パッケージに、「ビュー」パッケージの別のクラスに接続するクラスがあります。しかし、2つの別々のクラス図(各パッケージに1つずつ)に分ければ、その接続は表現されません。これは大丈夫ですか?

+0

[uml-diagrams.org](http://www.uml-diagrams.org/package-diagrams-overview.html)の例を参照してください。 – xmojmr

答えて

0

パッケージは、UML要素をグループ化する単なる方法の1つで、主に要素自体の間の関係を暗示するものではありません。要素間の関係を表示するには、パッケージに配置されている場所とは無関係に適切なものを接続します。もちろん、パッケージ内の要素の関係は外部のものよりも多くなければなりません。パッケージ内の要素は、外側の要素よりも相互に強い関係があることを示します。

パッケージ階層を上に表示することができます。

パッケージ内にダイアグラムを作成するときは、さまざまな種類の作成が可能です。純粋に、社外のリレーションやミックスのような内部パッケージです。これは何が一番良いかによって決まります。

0

パッケージの良い使い方の1つは、異なる問題空間間の依存関係を示すドメインチャートです。各問題空間はパッケージで表されます。パッケージは依存関係線によって接続されています。これは、各パッケージが、依存関係を介して関連するパッケージへのインタフェースを公開することを意味します。

ドメインの汚染が少しあるように聞こえます。おそらく、データベースはビューについて知ってはいけません。おそらく、データベースを読み取り、ビューを更新するコントローラーが必要です。パッケージ内の機能にアクセスするクラスは、パッケージインターフェイスにアクセスします。

システム設計におけるこの手法の利点は、このカプセル化とデカップリングにより、システム内での変化がなくても1つのクラスの内部構造を簡単に変更できることです。

0

さまざまなパッケージの要素を1つの図に表示することは間違いありません。そのような場合、パッケージは名前空間を作成するので、要素には修飾名を付ける必要があります。パッケージAの要素のクラス図を作成する場合は、他のパッケージ(パッケージBなど)の要素に対してのみ修飾名を使用する必要があります。

関連する問題