1

私にはスーパークラスがあり、他の40のクラスが継承します。この時点で、図を簡略化して、すべての継承関係(40の関係は単一のクラスを指します)を正確に示します。これらすべての「矢印」は、図を完全なものにします。混乱、これを単純化することは可能ですか?

4

4 に答える 4

0

UML仕様でこのようなケースを単純化する直接的な方法はありませんが、実際には1つのクラスから継承する40のクラスですか?デザインを考え直す必要があるのではないかと思います。

一般に、クラスから属性とメソッドを省略することができます。少なくともその方法の方が優れています。

于 2010-11-26T17:22:41.857 に答える
0

コードの再利用に継承を使用していますか?40個のサブクラスがあるシナリオに遭遇したことはありません。とにかく、1つのアイデアは、論理的に関連するクラスを1つの単一のパッケージ図にグループ化してから、パッケージ関係を作成することです。

私はいくつかの提案を提供したいと思います

  1. UML図は90年代です;-)。現在のアジャイルの世界では、これらの図はほとんど使用されていません。
  2. コードをリバースエンジニアリングし、必要に応じてクラス図とシーケンス図を作成できるツールを調べてください。これは、アプリケーションの関連部分のみをオンデマンドで視覚化するのに役立ちます
  3. サブタイピングとサブクラス化について読む
于 2010-11-26T17:50:20.220 に答える
0

私のプロジェクトの1つで同様の問題が発生したため、これは良い質問です。私がやったことは、名前を表示するためだけに、各クラスのサイズを小さくすることです。次に、円形+階層レイアウトを選択し、これらすべてのリンクをマウスで移動しました。

結果は素晴らしかった。私が使用したツールはEclipseUMLOmondoでした。

于 2010-11-27T11:27:17.207 に答える
0

私は次のことを提案します:

****

  • シナリオ1

****

コード生成にモデルを使用する予定がない場合

  • すべてのサブクラスをパッケージに配置します。このパッケージに名前を付けて、含まれているすべての要素/クラスが特定のスーパークラスから継承することを示します。たとえば、スーパークラスの名前が「SuperFoo」の場合、パッケージを「SuperFoo_SubTypes」と呼びます。
  • パッケージ内のすべてのクラスがスーパークラスから継承することを示すメモをパッケージに配置します。

****

  • シナリオ2

****

あなたは確かにあなたのモデルからコードを生成することを計画しています:

オプション1 通常どおりにすべての継承の関連付けを描画してから、モデリングツールの非表示機能を使用してスーパークラスを非表示にすることをお勧めします。

オプション2 継承/一般化を説明するための代替表記を使用します。サブクラスごとに、スーパークラスの名前をイタリック体とサブクラス要素の右上隅に書きます。この方法については、次の記事で簡単に説明してい ます。http ://www.sparxsystems.com/resources/uml2_tutorial/uml2_classdiagram.html これは、もちろん、モデリングツールがこの表記法をサポートしているかどうかによって異なります。

これがお役に立てば幸いです。

于 2013-12-09T16:28:34.147 に答える