いくつかの内部プライベートクラスがあり、クラス図のどこに配置するかわかりません。彼らは彼らの外部クラスにいるべきですか、それとも彼ら自身でいるべきですか?
5 に答える
言語のUMLと使用しているモデリングツールには常に違いがあるため、何かを達成するための最良の方法はツールによって異なります。
UMLでは、クラスメンバーと同じように、クラスには可視性/スコープがあります。言い換えると、UMLはプライベートクラスを許可しますが、それはツールがクラスの「プライベート性」を表示できるという意味ではありません。
UMLでは、クラスに他のクラスを含めることもできます。つまり、クラスはパッケージとして機能できます。繰り返しますが、ツールがこれをどのように表示するかは異なります。
純粋なUMLの観点からは、内部クラスを外部に含め、プライベートとしてマークすることをお勧めします。
ダイアグラムで、ツールに名前空間が表示されない場合は、外側のクラスのサイズを変更して、内側のクラスをその中に配置できます。ツールでサイズ変更が許可されている場合、それはです。
最後に、合計で8つまたは10のクラスしかない場合を除いて、内部クラスを別の図に表示することをお勧めします。
外部クラスの側に記号を付けるcontainment
ことで、それらを外部的に表すことができます。ここで+
見つけることができます。
UML は、複雑なアーキテクチャを設計または記述するためのものです。内部クラスは、UML クラス図で言及するほど重要ではないと思います。インターフェイス レベルでシステムを設計すると、実装のプライベート クラスとすべてのプライベート メソッドが対象外になります。ダイアグラムには、パブリック メソッド = インターフェイス メソッドのみを含める必要があります。
UML クラス図の別のクラス内にクラスを含めることはできないと思います。UML でそれらを表現する方法は、親クラスとの構造的関係を反映する必要があります。それらが便宜上内部で作成されている場合は、それらを接続するだけです。それらに包含関係または集約関係がある場合、UML には適切な構文があります。いずれにせよ、内部クラスは言語固有であるため、UML がそれらを明示的にサポートするのは奇妙です (実際には誤った設計です)。
関連する外部の議論: http://www.coderanch.com/t/99318/patterns/Inner-Class-UML
これは私が見つけた解決策です
ソースhttp://www.informit.com/articles/article.aspx?p=336264&seqNum=3