2012-02-14 2 views
3

パラメータjava Setを受け取ってSetを返す操作があるとします。それをArgoUMLでどのようにモデル化できますか?それはテンプレートパラメータでクラス "セット"を作成する必要があるようだが、私はそれがどのように動作するかを見つけることができません。Java Genericsは、テンプレートパラメータを使用してArgoUMLでモデル化されていますか?使い方?

+1

セットやその他のコレクションをUMLのクラスとしてモデル化することはできません。代わりにto-nリレーションを使用することを検討する必要があります(これはリストなどに注文できます)。他の目的のために、テンプレートパラメータを使用してジェネリックをモデル化することができます。その場合あなたの質問を変更してください:) – Christian

+0

データ型以外にも、ArgoUMLは操作パラメータのイン/アウト/プロパティを設定することしかできません。私は、私のパラメータが複数の値を持つことを示すいくつかのプロパティがあるはずだと思いました。それはあなたが言っていることですか?不動産がなければ、テンプレートパラメータを使うことができると思うけど、どういう仕組みか分からない –

答えて

1

ArgoUMLでどのような機能がサポートされているか、どのようにUIにマップされているかを確認するには、必要な機能を実行する簡単な例をリバースエンジニアリングする必要があります。テンプレートクラス(TemplateParameters、Bindingsなど)は、ArgoUML 0.34(現在のリリース)では不完全に実装されています。テンプレートプレースホルダEを使用してクラスをリバースエンジニアリングすると、Eという名前のテンプレートパラメータだけでなく、Eという名前の別のクラスも生成されるため、少し混乱します。

残念ながら、私は多重性を使用するという提案(UMLでは物事が多値であるとはどういうことでしょうか)は、a)a Setに一意性などに関する追加のセマンティクスがあり、b)おそらく古いランダムセットの実装ではなく、一般化をjava.util.Setに示したいと考えています。

このプロパティのプレースホルダは、クラスのプロパティパネルの下部にある[テンプレートパラメータ]フィールドに表示されます。それはあなたがテンプレートパラメータを作成することができますが、それ以外のものはあまりありません。

今のところあなたができることは、入力と返送のパラメータを単純な古くてSetとして入力し、強く型付けされたSetの特異性を除外することです。

関連する問題