web-dev-qa-db-ja.com

UMLクラス図とジェネリック

クラス図で一般的なクラスまたはインターフェイスをどのように示しますか?

私は本当に2つのことを探しています。

  1. 1つは、一般的なJavaクラスをモデル化する方法です。ペンと紙でそれを実行している場合)。
  2. 次に、一般的なクラス/インターフェースをサポートするUMLツールは何ですか。

ありがとう!

36

通常、ジェネリックスは分類子のテンプレートパラメータとして表されます。 NetBeans UMLプラグインでの例を次に示します。

enter image description here

35

UMLはそれらをパラメーター化された型と呼びます-例 ここ を参照してください。

ツールに関しては MagicDraw がそれらをサポートしていることを知っています。

17
sfinnie

UMLテンプレートが役立ちます!

UMLテンプレートによるジェネリックの定義
http://www.Eclipse.org/articles/article.php?file=Article-Defining-Generics-with-UML-Templates/index.html

5
TridenT

1つは、一般的なJavaクラスをモデル化する方法です。ペンと紙でそれを実行している場合)。

私の知る限り、UMLではこれに対する特定のサポートはありません。<<generic>>のようなステレオタイプを使用するのが最善です。しかし、ペンを使った紙の上では、MYType<T>を書くことほど簡単なことはありません:-)

次に、一般的なクラス/インターフェースをサポートするUMLツールは何ですか。

ステレオタイプは、これまでに見たすべてのUMLツールでサポートされています。もちろん、サポートのレベルは異なる場合があります。ただし、ナプキン以外のUMLツールはほとんど使用しないので、:-)ここでは比較するためのベースがあまりありません。

3
Péter Török

私は本当に2つのことを探しています。1つは、ペンと紙でそれを行っていた場合、どのように一般的なJavaクラスをモデル化するか)です。

クレイグ・ラーマンの本「UMLとパターンの適用3e」には、この本の図を使った講師用スライドがあります。以下は、図15.5からの抜粋です。

enter image description here

次に、一般的なクラス/インターフェースをサポートするUMLツールは何ですか。

私はPlantUMLが好きです (produce からの次の画像)

skinparam style strictuml
participant sales as "sales:\nArrayList<Sale>"

enter image description here

クラス図の場合、それは 生成する

skinparam style strictuml
hide empty members
class "ArrayList<Sale>" as S
class Store {
Store()
}
Store "1" -> "1" S : "            sales  "

enter image description here

2
Fuhrmanator

Netbeansの場合使用するオブジェクトは「派生分類子」と呼ばれます。これは、Vitalii Fedorenkoからの回答でMyGenericに使用するオブジェクトです

0
Dennis Ahaus

1つは、一般的なJavaクラスをモデル化する方法です。ペンと紙でそれを実行している場合)。

それは一般化の矢であり、それが抽象的であるならば、基本クラスはイタリック体で書かれるべきです。ステレオタイプでマークすることもできます。

次に、一般的なクラス/インターフェースをサポートするUMLツールは何ですか。

http://staruml.io/ を使用します。本当に素晴らしいツールです。すべてのプロジェクト図を1か所で管理できます。右上隅にオブジェクト/ダイアグラムツリーがあるので、異なるダイアグラムで同じクラス(他のオブジェクト)を使用できます。

0
Vayrex