クラス図
概要
システムの静的な構造を見える化するために、クラス図を利用できます。
このページでは、クラス図を利用するための操作について、次の順で説明します。
- クラス図を配置する
- クラスを定義する
- 関連を定義する
また、ユーザーのモデリングを支援するために、次の機能を提供しています。
これらについても、順に説明します。
- モデルを検証する
- 表示内容を設定する

クラス図を配置する
クラス図を配置するには、以下の手順で行います。

- モデルナビゲータにてパッケージを選択し、 コンテキストメニューの [モデルの追加] > [クラス図] をクリックします。
- 選択したパッケージの子要素にクラス図が配置されます。
クラスを定義する
クラスを追加する
クラスを追加するには、以下の手順で行います。

- 表示されているクラス図にツールボックスから [クラス] をドラッグ&ドロップします。
- 表示されているクラス図の兄弟要素として新規にクラスが追加されます。
クラス図ではツールボックスで表示している以下の要素を配置できます。
| アイコン | 名称 |
|---|---|
| パッケージ | |
| クラス | |
| インタフェース | |
| ノート | |
| ラベル | |
| シェイプ |
クラスにステレオタイプを追加する
ステレオタイプを追加するには、以下の手順で行います。

- クラスを選択します。
- プロパティインスペクタの[基本 情報] > [ステレオタイプ]フィールドの[追加]ボタンをクリックすると、その選択肢が表示されます。
- ステレオタイプを選択して [OK] ボタンを押下すると、クラスにステレオタイプが設定され、クラスシェイプ上部にステレオタイプが表示されます。
ステレオタイプの選択肢は、パッケージモデルの [詳細] ビューで定義できます。
追加したステレオタイプは、次の手順でクラス図から編集 できます。
- クラスに表示されたステレオタイプをダブルクリックすると、編集状態になります。
- ステレオタイプを変更して編集を確定させると、クラス図上に反映され、クラスのステレオタイプが変更されます。
クラスを抽象クラスに変更する
クラスを抽象クラスに変更するには、以下の手順で行います。

- クラスを選択します。
- プロパティインスペクタの[特性] > [抽象型か」フィールドのチェックボックスをチェックすると、抽象クラスになり、クラス名が斜体で表示されます。
日本語のクラス名を斜体で表示する場合は、リボンの[シェイプ] > [テキスト] > [フォントの設定]から斜体に対応したフォントに変更してください。
既存のクラスをクラス図上に表示したい場合は、モデルナビゲータ上のクラスをクラス図にドラッグ&ドロップすることで表示できます。
属性を追加する
クラス図に属性を追加するには、以下の手順で行います。

- 表示しているクラスシェイプの属性区画にある[+]ボタンをクリックします。
- 区画に属性が追加されて、編集状態になります。
- 追加しようとする属性を後述のテキスト表記に従って入力し確定すると、属性が追加されます。
クラス図上で属性をテキスト入力すると、属性の表記フォーマットに従ってテキスト解析され、属性の各フィールド値に反映されます。
もちろん、各フィールド値を変更すれば図上のテキストに反映されます。

属性のテキスト表記フォーマットと各フィールド値との対応関係
属性は以下のフォーマット従ってテキスト表示・解析されます。
- フォーマット
<属性> ::= [<可視性>] [<派生属性か>] <属性の名前> [':' <型の名前>] ['[' <多重度下限値>'..'<多重度上限値> ']'] ['=' <初期値>]- 補足
<可視性>は以下のいずれかが表示されます。- '+'(Public)、 '-'(Private)、 '#'(Protected)、 '~'(Package/Internal)
<派生属性か>がtrueの場合は、'/'が表示されます。<型の名前>に*または&が含まれる場合、該当文字より前の文字列を型名、該当文字以降の文字列を型修飾子として扱います。*や&から始まる型名を設定するにはインスペクタで設定してください。
- 例
属性の名前:TargetValue、可視性:Public、派生属性か:true、型:int、型修飾子:*、多重度下限値:0、多重度上限値:2、初期値:-1の場合、以下のテキスト表示になります。
+ /TargetValue : int*[0..2]=-1
- 補足
操作を追加する
クラス図に操作を追加するには、以下の手順で行います。

- 表示しているクラスシェイプの操作区画にある[+]ボタンをクリックします。
- 区画に操作が追加されて、編集状態になります。
- 追加しようとする操作を後述のテキスト表記に従って入力し確定すると、操作が追加されます。
クラス図上で操作をテキスト入力すると、操作の表記フォーマットに従ってテキスト解析され、操作の各フィールド値に反映されます。
もちろん、各フィールド値を変更すれば図上のテキストに反映されます。

操作のテキスト表記フォーマットと各フィールド値との対応関係
操作は以下のフォーマットに従ってテキスト表示・解析されます。
- フォーマット
<操作> ::= [<可視性>] <操作の名前> ['(' [<パラメータの一覧>] ')'] [':' [<戻り値の型>] ['[' <多重度> ']']- 補足
<可視性>は以下のいずれかが表示されます。- '+'(Public)、 '-'(Private)、 '#'(Protected)、 '~'(Package/Internal)
<パラメータの一覧>は以下のフォーマットで表示されます。<パラメータの一覧> ::= <パラメータ> [','<パラメータ>]*<パラメータ> ::= [<パラメータの方向>] <パラメータの名前> ':' <パラメータの型名> ['['<パラメータの多重度>']'] ['=' <パラメータの初期値>]<パラメータの型名>に*または&が含まれる場合、該当文字より前の文字列を型名、該当文字以降の文字列を型修飾子として扱います。*や&から始まる型名を設定するにはインスペクタで設定してください。<パラメータの方向>は以下のいずれかが表示されます。in、out、inout
- 例
操作の名前:Drive、可視性:Public
パラメータ1の名前:miles、型:int、型修飾子:&、初期値:100、多重度:1..*
パラメータ2の名前:speed、 型:int、方向:out
の場合、以下のテキスト表示になります。
+ Drive(miles : int&[1..*]=100, out speed : int)
- 補足
関連を定義する
関連を定義するには、以下の手順で行い ます。

- 関連付けるクラスの上にポインタを移動します。
- クラスの四方に表示される[▲]アイコンをドラッグして、関連付けるもう一方のクラスにドロップします。
- 追加可能な関連の一覧が表示されるので追加したい関連を選択すると、選択した関連が追加されます。
クラス図では次の関連を使用できます。
| アイコン | 名称 |
|---|---|
| 依存 | |
| 関連 | |
| 関連(単方向) | |
| 所有 | |
| 集約 | |
| 継承 | |
| 実現 |
関連の多重度を編集する

- 関連を選択します。
- グレーアウトされている[*]をダブルクリックすると、編集状態になります。
- 設定したい多重度を入力すると、関連に多重度が設定され、クラス図の関連に多重度が表示されます。
関連の関連端名を編集する

- 関連を選択します。
- グレーアウトされている[-]をダブルクリックすると、編集状態になります。
- 設定したい関連端名を入力すると、関連に関連端名が設定され、クラス図の関連に関連端名が表示されます。
関連にステレオタイプを追加する
ステレオタイプを追加するには、以下の手順で行います。

- 関連を選択します。
- グレーアウトされている[<<stereotype>>]をダブルクリックすると、編集状態になります。
- 設定したいステレオタイプを入力すると、クラス図の関連にステレオタイプが表示され、関連にステレオタイプが設定されます。