前の関連記事:linuxBean14.04(53)Eclipse Modeling ToolsでJavaコードからUMLを生成:その2
PapyrusのClassDiagramのパレットに載っているノードとエッジを使ってクラス図を書きます。
PapyrusのClassDiagramのパレットに載っているノードとエッジ一覧
ノードは26種類、エッジは22種類あります。
よく知らない項目もあるのでこれについて解説しているPapyrusのヘルプを探してみましたがみつかりませんでした。
UML Class and Object Diagrams Overview - common types of class and object diagrams.
ここにある図をみればだいたいわかりそうです。
UML Class Diagrams - Graphical Notation Reference
クラス図で使う要素についての解説一覧です。
パレットのツールを使ってクラス図を描く
前回作成したClassDiagramにパレットからClassノードなどをドロップしても「Create Class」というメニューはでてくるのですが図には全く何も表れてこないので新たにClassDiagramを作成してそこに新しいクラス図を作ってみます。
まず新しいモデルを作成します。
Modelエクスプローラでroot modelを右クリック→New Child→Model。
root modelの下にModel1ができるのでそれを右クリック→New Diagram→Class Diagram。
モデルが違えば同じ名前のClass Diagramを作れますがdiタブ内では同じ名前のタブができてややこしいので新たに名前をつけ直したほうがよいです。
今回は「ClassDiagram2」という名前にしました。
PaletteからClassをClassDiagram2をドロップするとClass1が描画されました。
Class1を選択してクラス名の上にカーソルをもってくると追加できる要素が表示されます。
AttributeとOperationを追加してみました。
それぞれの要素についてVisibilityなどを変更したいときは、それぞれを選択してPropertiesタブ(表示されていなければEclipseのメニューWindow→Show View→Properties)のUMLで変更できます。
PropertiesのAppearanceでは色なども変更できます。
今度はエッジを使ってみましょう。
もう一つのクラスClass2を作成します。
EdgesからAssociationを選択した状態でカーソルをClass2の上に持ってきます。
この状態でマウスを右クリックします。
マウスを動かすとClass2から線が延びるのでClass1までドラッグしてクリックします。
これでAssociationができました。
Associationの種類(UML Association - relationship between classifiers to show that instances of classifiers could be either linked to each other or combined into some aggregation.)については描画したAssociationを選択した状態でPropertiesのUMLで変更します。
Class2側の終端の設定をみてみます。
Nameのところに!がでているのでカーソルをもっていくと名前空間に同じ名前があるので区別がつかないといわれています。
名前を変更するか消去してしまいます。
OwnerをClassifierからAssociationに変更すると矢頭が消えましたがそれはNavigatable(Navigability)が自動的にfalseに変更になっただけで、Ownerの変更で変化するのはエッジ端にある黒丸がなくなることです。
classifierというのはClassなどノードになりうるものの総称のようです。
Association EndのOwnerをClassifierからAssociationに変更すると、AssociationのPropertiesのAdvancedでShow Advaneced Propertiesボタンをクリックしたときに表示されるOwned EndでAssociationがEndを所有していることがわかります。
Association Endにその意味するところが書いてあります。
Assocationの終端が黒丸がついている方のノードの型の要素を対側のノードが持っていることを表します。
黒丸が付いている終端と対側のノードの要素名が横に表示されます。
3個以上のclassifierをつなぐAssociationの所有者はAssociationしかなれないそうです。
対側の要素を限定できないからと思われます。
Navigatableで矢頭の有無をtrue/falseで変更できます。
Aggregationを変更すると対側端の表示が変わります。
shared aggregation
composite aggregation
いずれもClass1側の設定を変更したものです。
Multiplicityは4種類から選択できます。
これらの設定はAssociation Endにある+の右クリックメニューからも変更できます。
DeleteキーはDelete Seleceted Elementなので要素自体が消去されてしまう
ClassDiagramにあるものを削除はDeleteキーでもできますが、Delete Seleceted Elementが割り当てられていますのでClassDiagramから消去されるだけではなく、Modelエクスプローラからも削除されます。
単にClassDiagramでの表示を消したいだけの場合は右クリックメニューのDelete From diagramを使わないといけません。
誤ってModelエクスプローラからも削除してしまったものを復活させたいときは、メニュー→Edit→Undo Delete From Modelで遡れます。
参考にしたサイト
UML Class and Object Diagrams Overview - common types of class and object diagrams.
クラス図の例。
Unified Modeling Language (UML) description, UML diagram examples, tutorials and reference for all types of UML diagrams - use case diagrams, class, package, component, composite structure diagrams, deployments, activities, interactions, profiles, etc.
UMLの解説ページ。
0 件のコメント:
コメントを投稿