web-dev-qa-db-ja.com

UMLの矢印の説明

私は最近UMLを研究し、クラス間に普通の普通の矢印で簡単な図を描いていますが、それだけでは十分ではないことを私は知っています。ダイアグラムの読者にとって意味のある一般化、実現など、他にもたくさんの矢印があります。

各矢印を説明できるNiceのリソース(普通、普通、点線、菱形、ダイヤモンド)はありますか?

それが彼らのためにいくつかのコード例を持つことになればそれは最善でしょう。

206
faya

これは、Visual Studio 2015のドキュメントからの説明です。

UMLクラス図:参照https://msdn.Microsoft.com/library/ dd409437%28VS.140%29.aspx

UML class diagram

5Association:2つの分類子のメンバー間の関係。

5a集約:共有所有関係を表す関連付け。所有者ロールの集約プロパティは、共有に設定されます。

5b構成:全体の関係を表す関連付け。所有者ロールのAggregationプロパティはCompositeに設定されます。

9汎化:特定の分類子は、その定義の一部を一般分類器一般分類子は、コネクタの矢印の端にあります。属性、関連付け、および操作は特定の分類子によって継承されます。 2つの分類器間の一般化を作成するには、継承ツールを使用します。

Package diagram

13インポート:1つのパッケージに含まれることを示すパッケージ間の関係他のすべての定義。

14依存関係:依存する分類子の定義や実装が変わる可能性があります矢印の先の分類子が変更された場合.

Realization relationship

15実現:クラスは、で定義された操作と属性を実装します。インタフェース。 継承ツールを使用して、クラスとインタフェース間の実現方法を作成します。

16実現:同じ関係を表す別の表現。ロリポップシンボルのラベルはインタフェースを識別します。

UMLクラス図:ガイドラインhttp://msdn.Microsoft.com/library/ dd409416%28VS.140%29.aspx

関連のプロパティ

集約:これは、コネクタの一方の端に菱形として表示されます。これを使用して、集約ロールのインスタンスが他のインスタンスを所有しているか、または他のインスタンスを含むことを示すことができます。

移動可能:1つの役割のみに該当する場合は、移動可能な方向に矢印が表示されます。これを使用して、ソフトウェア内のリンクとデータベースの関係のナビゲート可能性を示すことができます。


汎化:汎化は、特殊化型または派生型が一般型または基本型の属性、操作、および関連を継承することを意味します。一般タイプは関係の矢印の先端に表示されます。

実現:実現は、クラスがインタフェースによって指定された属性と操作を実装することを意味します。インタフェースはコネクタの矢印の端にあります。

あなたがもっと質問があるかどうか私に知らせてください。

425

enter image description here

enter image description here

これらの写真は理解できると思います。

107
artamonovdev

素敵なチートシート: http://loufranco.com/wp-content/uploads/2012/11/cheatsheet.pdf

それはカバーしています:

  • クラス図
  • シーケンス図
  • パッケージ図
  • オブジェクト図
  • ユースケース図

そしていくつかのサンプルを提供します。

17
The Red Pea

私のお気に入りのUML「チートシート」は、Martin Fowlerによる ML Distilled です。私がお勧めするのは私が読んだ彼の本のうちの1冊だけです。

13
anon

これが簡単なチュートリアルです。

実用的なUML

詳細については、私はいくつかの文献を入手することをお勧めします。

12
Siblja

明確な簡潔な例とともにクイックリファレンスのために、Allen HolubのUMLクイックリファレンスは優れています:

http://www.holub.com/goodies/uml/

(表の最初の列には、矢印とポインターのかなりの数の例があり、2番目の列には説明があります。)

9
Mark

わかりやすい説明は yumlのドキュメント で、クラス図、ユースケース、アクティビティの例があります。

6
Karsten W.

受け入れられた答えが言われている、それはいくつかの説明が欠けています。たとえば、単方向関連と双方向関連の違いは何ですか。どちらも提供されている例で使用されています。 (矢印の中の '5')もっと完全な答えを探し、もっと時間があるなら、 here を見てください。

3
Makan Tayebi

あなたがもっとMOOCの人であれば、ほとんどのUMLダイアグラムの内外を教えてくれることをお勧めする無料コースが、Udacityからのものです。 https://www.udacity.com/course) /ソフトウェアアーキテクチャ設計 - ud821

1
Mauricio Reis

集計と構成は少し混乱します。ただし、コンポジションは集約のより強力なバージョンであると考えてください。どういう意味ですか?例を見てみましょう。(集合)1.教室と生徒を考えます。この場合、それらの間の関係を分析します。教室は、生徒との関係にあります。つまり、教室は1人以上の生徒で構成されています。 Classroomクラスを削除しても、Studentsクラスは破棄する必要がないため、Studentクラスを単独で使用できます。

(構成)2.ページとBook Classを見てください。この場合、pagesaの本です。つまり、ページの集まりが本になります。 bookクラスを削除すると、Pageクラス全体が破壊されます。つまり、ページのクラスを単独で使用することはできません。

それでもこのトピックについて不明な点がある場合は、この短い素晴らしいビデオをご覧ください。これにより、集計がより明確に説明されました。

https://www.youtube.com/watch?v=d5ecYmyFZW

0
Mr_b194