私のオブジェクト間の関係を表すスキーマを描いています...例えば、オブジェクトA
はオブジェクトB
とオブジェクトC
のペアです。2つのオブジェクト間に「リスト」の関係を描くにはどうすればよいですか?
今私はA
のリストであるオブジェクトD
を、表現したい、私はちょうどA
とD
間の矢印を描画する方法がわからない...
は誰でも助けてもらえますか?
私のオブジェクト間の関係を表すスキーマを描いています...例えば、オブジェクトA
はオブジェクトB
とオブジェクトC
のペアです。2つのオブジェクト間に「リスト」の関係を描くにはどうすればよいですか?
今私はA
のリストであるオブジェクトD
を、表現したい、私はちょうどA
とD
間の矢印を描画する方法がわからない...
は誰でも助けてもらえますか?
それは1 Nの関係があるので、凝集または組成記号(開/閉菱形記号)とにDから行を書き込みます。
リストに少なくとも1つの要素が必要な場合は、A面*(0..nの意味)または1..nで記述します。
たとえば、文書の途中のFlight and Planeクラス図を検索すると、http://www.ibm.com/developerworks/rational/library/content/RationalEdge/nov03/t_modelinguml_db.pdfを参照してください。
実際にモデルが正しくありません。 A
がB
とC
のペアであると言う場合、その集約はA
で開始し、B
とC
で終了する必要があります。表示されている図面には、B
にはA
が含まれ、C
にはA
が含まれています。 多重度を表示する場合は、末尾に複数のインスタンスを持つクラスの近くに[0..*]
を追加します。 D
にA
のリストがある場合は、D
からA
までの集約/合成リンクを追加し、上記のように多重度を設定します。しかし、D
にA
というリストが含まれていることを指定するものではなく、D
にはA
というインスタンスが多数(0以上)あることに注意してください。参照がリストとして実装されるように指定する場合は、{list}
という制約をリンクの先頭に追加するか、またはリンクを使用せずににalist:A[0..*] {list}
を使用して属性を追加します。
詳細については、thisサイトを参照してください。