0

UML クラス図で、間違った印象を与えずに無関係な基本クラスを削除するにはどうすればよいですか?

次のクラス階層を考えてみましょう。

クラス階層

s もs もBlackbirds であるという事実を説明したいと思います。しかし、UML クラス図を の祖先全体で乱雑にしたくありません。AirplaneFlyingThingBlackbird

BirdAnimal、および を省略して、 LivingOrganism「関連する」3 つのクラスのみを描画することもできます。Blackbirdしかし、それはあたかも他から派生したものであるかのように見えFlyingThingます。

この間違った印象を避けるために、Birdクラスを含めて、 と のみを除外することAnimalを検討するかもしれませんLivingOrganismBirdしかし、基本クラスがまったくないかのように見えます。結論:どこで切り取っても、あるクラスの基本クラスが実際よりも少ないように見えます。

私が探しているのは、「このクラスには、表示されているもの以外の基本クラスがありますが、それらすべてを描画するのは面倒です」ということを示す何らかの方法です。省略記号の線に沿って何かを想像します。これを表現する標準的な方法はありますか?

編集:

質問を説明するために、この図のクラスを作成しました。したがって、問題は、多重継承またはこの特定のクラス設計が理にかなっているということではありません。彼らがそうしているとしましょう。この質問は、特定の UML モデリング ツールに関するものでもありません。ここでは、ペンと紙を使って作業していると仮定しましょう。

私の質問を言い換えると、強調表示された 3 つのクラスだけを含む図が表示され、他には何も含まれていません。この図はすべての真実を表し、Blackbird以外の基本クラスはないと思いFlyingThingますか?

  • Blackbirdはい、のみから派生しているように見える場合は、そうでFlyingThingないことを示す標準の UML 構文が必要です。

  • いいえ、図の作成者が省略した他の基本クラスがあると思われる場合は、これが私の質問への回答であり、実際には何もない問題を見ていました。:-)

4

3 に答える 3

0

@Red Beard が正しく言ったことに加えて、一部のツールでは、他の図へのハイパーリンクを追加することができます (たとえば、エンタープライズ アーキテクトはそうします)。

ここに画像の説明を入力

したがって、完全な継承の祖先を明らかにする別の図へのリンクを追加できます。

しかし、最初にこれを考慮してください:

あなたのクラスは本当に と の両方をBlackbird継承していますか? 一部の言語では可能ですが、巧妙な設計ではありません。FlyingThingBird

それともgeneralization、FlyingThing は実際にimplementationはインターフェースのことですか? その場合は、(画像に示されているように) 正しい接続タイプを使用する必要があります。

于 2013-10-11T14:25:03.370 に答える
0

デザイナーごとに解決策を見つけることができると確信しています...ダイアグラムはモデル全体の一部と唯一の部分を公開するので、全体の問題はどの部分ですか? この質問への回答は、問題を理解するために何を示したいかによって異なります。

よろしく、

ブラジル

于 2013-10-10T06:32:15.653 に答える