私はスーパークラスを持っています。この40個の他のクラスが継承していますが、この時点では図を単純化したいと思います。すべての継承関係(40個の関係点が1つのクラスになります)完全な混乱、これを簡素化する可能性がありますか?UMLクラス図の継承表記を簡略化するにはどうすればよいですか?
答えて
UML仕様ではこのようなケースを単純化する直接的な方法はありませんが、本当に1つのクラスから継承するクラスは40です。あなたのデザインをもう一度考え直す必要があるかもしれないと思います。
一般に、属性とメソッドをクラスから除外することができます。そのようにすれば、少なくとも優れています。
第1回、あなたの答えをありがとう、ダフィモが言及したように... 1つから継承する40のクラス?まあ、1つのシンプルなクラスには、LastModificationのタイムスタンプ、最後のUser Modificacion、バージョン、ロールなどがあります。他のすべての40クラスは、この種の情報を格納する必要があるパラメータです。そのため、すべてのパラメータは、基本的な情報は多分私は質問を変更し、どのような種類のダイアグラムをベストに使うべきか、あるいはこのパターンはどんなパターンに従うのだろうか? – nicoliniyo
コードの再利用に継承を使用していますか? 40のサブクラスがあるシナリオには一度も遭遇していません。とにかく、1つのアイデアは、論理的に関連するクラスを1つの単一のパッケージダイアグラムにグループ化し、次にパッケージ関係を持つことです。
- UMLダイアグラムが;-) 90年代ですけれども、私はいくつかの提案を提供したいと思います。現在のアジャイルの世界では、これらの図をほとんど使用していません。
- コードをリバースエンジニアリングし、必要に応じてクラスとシーケンス図を作成できるツールを探します。私は私のプロジェクトの一つで同様の問題があったので、これはあなたがON-DEMANDアプリケーションの関連部分のみ
- 読むを視覚化するのに役立ちますについてsub-typing versus sub-classing
私は、休止状態、シームフレームワーク、およびその他のライブラリを使用しているように、逆に複雑になっていますので、私はそれを逆にしたときにどのように不完全か、 thanbks – nicoliniyo
OOPデザインに精通している人だけがUMLに感謝します。 – janetsmith
これは良い質問です。私がしたのは、名前を表示するために各クラスのサイズを減らすことです。私は円形+階層レイアウトを選択し、これらすべてのリンクをマウスで移動しました。
結果は鮮明でした。私が使ったツールはEclipseUML Omondoでした。
私は次のことをお勧めします:
**
- SCENARIO 1
**
あなたは、コード生成のためのモデルを使用する予定がない場合 :
- すべてのサブクラスをパッケージに入れます。このパッケージには、含まれるすべての要素/クラスが特定のスーパークラスから継承することを示す名前を付けます。たとえば、スーパークラスの名前が "SuperFoo"の場合、パッケージ "SuperFoo_SubTypes"を呼び出します。
- パッケージ内のすべてのクラスがスーパークラスから継承することを示すために、パッケージにメモを入れます。
**
- SCENARIO 2
**
あなたは確かにあなたのモデルからコードを生成することを計画します:
オプション1 おそらく、通常どおりにすべての継承関連を描画してから、モデリングツールの非表示機能を使用してスーパークラスを非表示にすることをお勧めします。
オプション2 はイタリック体およびサブクラス要素の右上角にスーパークラスの名前を書いて、サブクラスの各々について、によって継承/一般化を説明するための別の表記法を使用します。この方法は、この記事で簡単に説明しています。 http://www.sparxsystems.com/resources/uml2_tutorial/uml2_classdiagram.html これはもちろん、モデリングツールがこの表記をサポートしているかどうかによって異なります。
こちらがお役に立てば幸いです。
- 1. UMLクラス図でプライベート継承関係を表示する方法
- 2. UMLのテンプレートパラメータから継承を表現するにはどうすればよいですか?
- 3. umlクラス図と表記法をプログラミングで作成するには?
- 4. UML - クラス継承、あなたは何を継承しますか?
- 5. クラスの継承者の引数型を特化するにはどうすればよいですか?
- 6. C++で多重継承:複数の継承を持つC++で図を表現するにはどうすればよいでしょうか?
- 7. SQL - この簡単なクエリを簡略化するにはどうすればよいですか?
- 8. ステレオタイプとUMLのクラス継承の違いは何ですか?
- 9. UMLクラス図でイベントをどのように表示しますか?
- 10. Entity Frameworkで "不均一"継承に継承プロパティを含めるにはどうすればよいですか?
- 11. UIButtonから継承するこのカスタムクラスを初期化するにはどうすればよいですか?
- 12. テーブルの代わりにクラスからページを継承するにはどうすればよいですか?
- 13. OracleでこのSQLクエリを簡略化するにはどうすればよいですか?
- 14. ページから継承するにはどうすればよいですか?
- 15. 継承されたクラスのコンストラクタ定義を指定するにはどうすればよいですか?
- 16. このMySQLクエリのパフォーマンスを簡略化/改善するにはどうすればよいですか?
- 17. 静的クラスでポリモーフィズムまたは継承を使用するにはどうすればよいですか?
- 18. UMLクラスの継承されたメソッドを "ロールアップ"するビュー?
- 19. 基本クラスメソッドの属性を継承クラスに適用するにはどうすればよいですか?
- 20. このクエリを簡略化するにはどうすればよいですか?
- 21. このAddClass/RemoveClassコードを簡略化するにはどうすればよいですか?
- 22. .htaccessでURLを簡略化するにはどうすればよいですか?
- 23. UMLクラス図 - 異なる 'レポート'クラスをどのように表現するのですか?
- 24. 継承はどのようにシーケンス図に描かれますか?
- 25. 継承のないカスタムエラーページにエラーメッセージを表示するにはどうすればよいですか?
- 26. システムからユースケース記述からクラス図を抽出するにはどうすればよいですか?
- 27. LINQを使って2 foreachを簡略化するにはどうすればよいですか?
- 28. 継承を複数のクラスと比較するにはどうすればよいですか?
- 29. 妥当性チェックコードを簡略化するにはどうすればよいですか?
- 30. すべてのクラスはどのように継承されていますか?
ポイントは何ですか? 1つの図に40のクラスがある場合、その図はどのような価値がありますか? 1つのクラスから継承する40のクラスはどのようなデザインですか? – duffymo
私は@duffymoに同意しますが、UMLは、特にシステムの設計の初期段階(そして反復的に複雑化し始めます)で、標準的な(そしてシンプルな)モデリング方法が必要であったため、最初に発明されました。とにかく幸運。 –
第1回、あなたの答えをありがとう、duffymoが言及したように... 1つから継承する40のクラス?まあ、1つのシンプルなクラスには、LastModificationのタイムスタンプ、最後のUser Modificacion、バージョン、ロールなどがあります。他のすべての40クラスは、この種の情報を格納する必要があるパラメータです。そのため、すべてのパラメータは、基本的な情報は多分私は質問を変更し、どのような種類のダイアグラムをベストに使うべきか、あるいはこのパターンはどんなパターンに従うのだろうか? – nicoliniyo