Modeling Operation Guide
by Sparx Systems JapanEnterprise Architect 日本語版
モデリング操作ガイド(クラス図・オブジェクト図編)

モデリング操作ガイド(クラス図・オブジェクト図)

目次
1.

はじめに ........................................................................................................................ 42.

クラス図でのモデリング..................................................................................................... 52.1.

2.1.1.

属性の初期値 .................................................................................................. 6

2.1.2.

参照型の属性 .................................................................................................. 72.1.3.

配列型の属性 .................................................................................................. 72.2.

操作 ........................................................................................................................ 82.3.

属性の getter/setter ............................................................................................. 92.4.

多重度・関連端の役割 ........................................................................................... 102.5.

インターフェースの円形(ロリポップ)表示 ....................................................................... 102.6.

関連クラス .............................................................................................................. 102.7.

関連についての追加情報 .......................................................................................... 112.7.1.

向きを示す黒三角 ........................................................................................... 112.7.2.

関連端の派生・順序制約など .......................................................................... 122.7.3.

関連端の可視性 ............................................................................................ 122.8.

属性や操作へ直接接続 .......................................................................................... 122.9.

クラス・インターフェースの継承 .................................................................................... 132.10.

継承している操作の実装 ..................................................................................... 142.11.

継承している属性の初期値の上書き .................................................................... 15

3.

オブジェクト図でのモデリング........................................................................................... 163.1.

オブジェクトの作成 ................................................................................................... 16

3.1.1.

既に作成済みのクラスからインスタンス化する ...................................................... 16

3.1.2.

配置済みのクラスから作成 ............................................................................... 17

3.1.3.

ツールボックスから作成 ..................................................................................... 173.2.

属性値(スロット)の設定 ........................................................................................... 173.3.

状態の表示 ............................................................................................................ 183.4.

ロバストネス図のオブジェクトの作成 ............................................................................ 184.

5.

属性 ........................................................................................................................ 5

クラス図・オブジェクト図での便利な設定 ......................................................................... 194.1.

関連の既定の向き(矢印の表示).............................................................................. 194.2.

属性や操作のソート ................................................................................................ 194.3.

表示する属性や操作を個別に指定 .......................................................................... 204.4.

実現の関係の作成時に操作を指定.......................................................................... 22

4.5.

継承している操作の表示 ......................................................................................... 23
クラス図・オブジェクト図で便利なアドイン......................................................................... 24

Copyright (c) 2009-2024 Sparx Systems Japan2

モデリング操作ガイド(クラス図・オブジェクト図)

Copyright (c) 2009-2024 Sparx Systems Japan3

モデリング操作ガイド(クラス図・オブジェクト図)

1. はじめに
このモデリング操作ガイドでは、個別の図や機能について、Enterprise Architect の機能の紹介や操作方法について説明します。モデリング操作ガイドは、以下のように内容ごとに分かれています。
・ 共通操作編・ クラス図・オブジェクト図編・ ユースケース編
・ アクティビティ図編
・ シーケンス図・コミュニケーション図編・ ステートマシン図編
本ドキュメントをご覧になる前に、「モデリング操作ガイド 共通操作編」をご覧ください。共通操作編で紹介されている内容は省略します。
なお、このドキュメントでは、UML の仕様・文法・記述方法についての説明はありません。別途 UML について紹介している書籍などをご利用ください。
また、本ドキュメントは、ドキュメント執筆時の最新版を利用して作成されています。そのため、それ以降のバージョンで画面構成や機能が多少変更になっている可能性もあります。

Copyright (c) 2009-2024 Sparx Systems Japan4

モデリング操作ガイド(クラス図・オブジェクト図)2. クラス図でのモデリング
クラス図は、システムの構成要素や要素間の関係を把握したり、ソースコードに結びつくシステム内部の静的な構造・構成を記述したりするために利用します。このドキュメントでは、このクラス図に固有のいくつかの操作について説明します。

2.1. 属性

クラスに属性を追加する場合には、対象のクラスを右クリックして、「属性・操作と付属要素」→「属性」を選択してください。属性・操作と付属要素サブウィンドウが表示されます。
「属性」のタブを開き、「属性の追加...」と薄く表示されている領域をクリックして名前を入力すると属性を追加できます。いくつかの追加の項目は、名前を入力して作成後にプロパティサブウィンドウから設定します。また、ノートはノートサブウィンドウから入力します。そのため、これらのサブウィンドウを表示しておくと効率的に作業ができます。
作成済みの属性を一覧内で選択して編集できます。編集後、保存の操作は必要ありません。内容を編集後、他の項目などをクリックすると保存されます。

Copyright (c) 2009-2024 Sparx Systems Japan5

モデリング操作ガイド(クラス図・オブジェクト図)2.1.1. 属性の初期値
属性の初期値を設定するには、「初期値」の欄に値を入力します。例えば、属性に対して初期値として「0」を設定すると、ダイアグラム内で次のように表示されます。

Copyright (c) 2009-2024 Sparx Systems Japan6

モデリング操作ガイド(クラス図・オブジェクト図)2.1.2. 参照型の属性
属性を参照型にする場合には、プロパティサブウィンドウにて「保持方法」を「参照」に設定します。なお、既定値では属性の型名に*マークが追加されて表示されます。このマークと位置はユーザーのオプションで変更することができます。

2.1.3. 配列型の属性
属性を配列型にする場合には、追加属性の「属性はコレクション」を「True」に設定し、「コンテナの型」の欄に配列の内容を指定します。例えば、int att[10]のようなソースコードに対応する属性を定義する
場合には、「コンテナの型」の欄に「[10]」を入力します。
(ソースコード生成をしない場合には、[および]の記号は不要です。)

Copyright (c) 2009-2024 Sparx Systems Japan7

モデリング操作ガイド(クラス図・オブジェクト図)2.2. 操作

クラスに操作を追加する場合には、対象のクラスを右クリックして、「属性・操作と付属要素」→「操作」を選択してください。
既に属性の追完田尾で属性・操作と付属要素サブウィンドウが開いている場合には、サブウィンドウで「操作」のタブを選択しても、操作の追加や編集ができます。
操作の場合には、操作の引数(パラメータ)も指定できます。一覧から設定する操作を選択後、パラメー
タ欄のボタンを押してください。別ウィンドウがポップアップし、パラメータを参照・編集できます。

Copyright (c) 2009-2024 Sparx Systems Japan8

モデリング操作ガイド(クラス図・オブジェクト図)2.3. 属性のgetter/setter

既存の属性を操作するための getter/setter は、自動的に生成できます。属性・操作と付属要素サブ
ウィンドウで対象の属性を選択後、プロパティサブウィンドウの「プロパティ」の欄にある「...」ボタンを押すと、設定するための画面が表示されます。

Copyright (c) 2009-2024 Sparx Systems Japan9

モデリング操作ガイド(クラス図・オブジェクト図)2.4. 多重度・関連端の役割

クラス図で利用する関連や集約の端には、多重度や関連端の役割を定義できます。これらのプロパテ
ィの設定方法は次の通りです。
設定にはプロパティサブウィンドウを利用します。関連を選択すると、プロパティサブウィンドウには接続のプロパティが表示されます。「ソース」あるいは「ターゲット」タブから内容を編集できます。
なお、多重度はコンテキストメニューからも設定・変更できます。対象の関連の端付近で右クリックした
場合にはコンテキストメニューに「多重度」という項目が表示され、簡単に指定できます。

2.5. インターフェースの円形(ロリポップ)表示

インターフェース要素は、通常の四角形表示の他に、円形(ロリポップ)で表示できます。対象のインターフェース要素を右クリックし、「表示設定」→「小円形(ロリポップ)で表示」を選択して下さい。

«interface»
Interface1
Interface1

2.6. 関連クラス

クラス間の関連に別のクラスが結びつく「関連クラス」を作成する場合には、関連クラスとなるクラス要素を右クリックして「追加設定」→「クラスを関連に接続」を実行します。ダイアグラム内の関連が一覧に表示されますので、希望する関連を選択して下さい。

Copyright (c) 2009-2024 Sparx Systems Japan10

モデリング操作ガイド(クラス図・オブジェクト図)

あるいは、ツールボックスの「クラス 接続」グループから「関連クラス」を選択し、対象のクラス間をドラッグして下さい。この場合には、クラス要素と関連が同時に追加できます。
関連クラスとなっているクラス要素や関連をモデルから削除する場合には、結びついている関連やクラス要素を同時に削除するかどうか、確認のメッセージが表示されます。

2.7. 関連についての追加情報

クラス図の関連には、関連固有の表現として以下のようなものがあります。
・ 向きを示す黒三角・ 関連端の派生
・ 関連端の可視性
2.7.1. 向きを示す黒三角
関連の名前には、以下のように向きを示す黒三角を表示することがあります。この場合には、対象の関連名のラベルを右クリックして、「方向」→「ソースへ」あるいは「ターゲットへ」を選択して下さい。

Copyright (c) 2009-2024 Sparx Systems Japan11

モデリング操作ガイド(クラス図・オブジェクト図)2.7.2. 関連端の派生・順序制約など
関連端の名前の前に/が表示されている場合は、「派生」であることを示します。この「派生」の表示は、接続のプロパティサブウィンドウの「ソース」あるいは「ターゲット」タブで設定できます。
そのほか、{ordered},{union},{sequence}などの UML で定義されている制約についてもプロパティサブウィンドウで設定できます。
2.7.3. 関連端の可視性
関連端には、+や-等の可視性が表示されます。この情報は、関連端のプロパティ画面で設定できる「可視性」を変更してください。ダイアグラムのオプションで、非表示にできます。

2.8. 属性や操作へ直接接続

クラス間の関係は、クラス要素ではなく、クラス内の指定した属性や操作に対して直接結びつけられます。
対象の接続の端を右クリックして「要素の属性や操作にリンク」を選択します。すると、クラス内に定義されている属性や操作から対象を選択できます。対象を指定すると、以下のように表示されます。

Copyright (c) 2009-2024 Sparx Systems Japan12

モデリング操作ガイド(クラス図・オブジェクト図)Class1-

属性: int+

操作(): int

Class22.9. クラス・インターフェースの継承あるクラスが、別のクラスを継承している場合(汎化関係にある場合)には、汎化の関係を利用します。
親クラス

子クラス

同じダイアグラム内にないクラスから継承したり、モデル内に定義されていないクラスから継承したりできます。このような場合には、対象のクラスを右クリックして、コンテキストメニューから「追加設定」→「親クラスとインターフェースの指定」を選択します。
すると、「親クラスとインターフェースの指定」画面が表示されます。

Copyright (c) 2009-2024 Sparx Systems Japan13モデリング操作ガイド(クラス図・オブジェクト図)

汎化関係を追加する場合には、「クラス名」の欄に入力し、「追加」ボタンを押します。このときに、「選択」ボタンを押すと、モデル内のクラスやインターフェースを指定することができます。「モデルにない分類子を許可」のチェックボックスにチェックが入っていない場合には、クラス名には存在するクラスやインターフェースの名前を入力しなければなりません。
この画面を閉じると、対象のクラスの右上には指定した親クラスの情報が表示されます
親クラス
モデルにないクラス
子クラス

2.10.

継承している操作の実装

Enterprise Architect では、上記のような汎化関係を作成しても、既定の設定では親クラスから継承している操作は表示されません。インターフェースで定義されている抽象操作を実装する場合や、親クラスの操作を上書き(オーバーライド)したい場合には、明示的に指示する必要があります。

Copyright (c) 2009-2024 Sparx Systems Japan14モデリング操作ガイド(クラス図・オブジェクト図)

対象のクラスを指定した後、「モデル」リボン内の「要素」パネルにある「操作」ボタンを押し、「操作の継承とインターフェースの実装」を選択します。すると、「操作の継承とインターフェースの実装」画面が表示されます。オプションの設定によっては、実現や汎化の接続を作成すると、自動的に表示されます。

この画面の一覧には、このクラスが継承している親クラスの操作、あるいはインターフェースの操作が表示されます。実装する操作を選択後に OK ボタンを押すと、対象のクラスに操作が追加されます。
「常に同期」のチェックボックスは、定義元が変更になった場合に、自動的に変更を反映する機能です。
継承元がインターフェース要素の場合のみ有効です。

2.11.

継承している属性の初期値の上書き

他のクラスを継承している場合に、親クラスで設定されている属性の初期値を、子クラスで「上書き」(再定義)できます。
この場合には、子クラスを右クリックして「属性・操作と付属要素」→「属性の初期値の上書き」を選択して下さい。親クラスの属性を選択し、初期値を指定できます。

Copyright (c) 2009-2024 Sparx Systems Japan15モデリング操作ガイド(クラス図・オブジェクト図)3. オブジェクト図でのモデリング
オブジェクト図では、対象のシステム内の要素について、具体的な個々の項目を挙げることで、設計の内容の妥当性を検証できます。あるいは、オブジェクト図を作成後、その内容を元にクラス図を作成する場合もあります。
この章では、表現される、(クラス間の関係ではなく)オブジェクト間の関係を表現する場合に利用される機能について説明します。

3.1. オブジェクトの作成

オブジェクト図のオブジェクトを作成する方法は 3 つあります。既にクラスがある場合の方法が 2 つと、ツールボックスから作成する場合の方法が 1 つです。
3.1.1. 既に作成済みのクラスからインスタンス化する
既にクラスが作成されている場合には、モデルブラウザからダイアグラム内にクラスをドラッグ＆ドロップしてください。以下のような画面が表示されます。
(表示されない場合には、Ctrl キーを押しながらドロップすると表示されます。)

この画面の「配置形式」において「インスタンス(オブジェクト)」を選択すると、対象要素を分類子とするオブジェクトを配置できます。また、「そのまま配置」を選択することで、クラスを配置できます。

Copyright (c) 2009-2024 Sparx Systems Japan16

モデリング操作ガイド(クラス図・オブジェクト図)3.1.2. 配置済みのクラスから作成
配置済みのクラスなどの要素から、インスタンスに変換できます。ダイアグラム内のクラス要素を右クリックして「追加設定」→「インスタンスに変換」を実行します。ダイアグラム内の要素はインスタンスオブジェクトに変換されます。(元の要素はモデルブラウザ内ではそのまま残り、新規にインスタンスオブジェクトが作成されます。)
3.1.3. ツールボックスから作成
ツールボックスの「オブジェクト」グループに含まれる「オブジェクト」をダイアグラムにドロップすることで、オブジェクト要素を作成して配置できます。
ツールボックスからオブジェクトを作成した場合には、対応する分類子は設定されていません。この場合には、コンテキストメニューから「追加設定」→「インスタンスの分類子を指定」を選択して、結びつく分類子を選択できます。

3.2. 属性値(スロット)の設定「日付=2003/1/4」のように、オブジェクトの実行時の値を設定するには、対象のオブジェクトのプロパティサブウィンドウの「実行状態」タブが利用できます。

「変数」の欄には、オブジェクトの分類子が持つ属性が表示されています。この属性を選択した後、オペレータと値を指定します。なお、設定した値を消す場合には、対象の項目を右クリックして「削除」を選択しCopyright (c) 2009-2024 Sparx Systems Japan17

モデリング操作ガイド(クラス図・オブジェクト図)てください。

3.3. 状態の表示

それぞれのオブジェクトには、動的な状況を示すための状態を表示できます。表示する場合には、対象のオブジェクトを右クリックし、「追加設定」→「オブジェクトの状態の設定」を実行して下さい。オブジェクトの分類子が子要素として状態要素を持つ場合、ドロップダウンリストから状態名を選択できます。
状態は角括弧で囲まれて表示されます。名前の下に表示する形式と、名前の後ろに表示する形式が選択できます。
Object1

Object1[状態][状態]

3.4. ロバストネス図のオブジェクトの作成

ICONIX プロセスのロバストネス図で利用する「バウンダリ」「コントロール」「エンティティ」要素を作成することもできます。ツールボックスにあるそれぞれの要素を配置して下さい。

バウンダリ

コントロールエンティティ

Copyright (c) 2009-2024 Sparx Systems Japan18

モデリング操作ガイド(クラス図・オブジェクト図)4. クラス図・オブジェクト図での便利な設定

4.1. 関連の既定の向き(矢印の表示)

関連を新規に作成した場合に、常に矢印を表示したい場合には、ユーザーのオプション画面の「接続」グループにある「関連の既定の向きを’ソース→ターゲット’に設定」にチェックを入れて下さい。

4.2. 属性や操作のソート

クラス要素に表示される属性や操作は、アルファベット順(文字コード順)に整列します。属性や操作の順序を自由に変更した場合には、「要素」グループにある「属性・操作を文字コード(アルファベット)順にソート」のチェックを外して下さい。

Copyright (c) 2009-2024 Sparx Systems Japan19

モデリング操作ガイド(クラス図・オブジェクト図)4.3. 表示する属性や操作を個別に指定

要素に属性や操作を追加すると、ダイアグラム内でも追加した情報が表示されます。ここで表示される情報は、必要に応じてダイアグラム全体あるいは個々の要素ごとに表示内容を変えられます。ダイアグラム全体で一括して変更したい場合には、ダイアグラムのプロパティサブウィンドウの「区画」タブを利用します。

Copyright (c) 2009-2024 Sparx Systems Japan20

モデリング操作ガイド(クラス図・オブジェクト図)

特定の要素だけに対して同様に表示内容を抑制(あるいは追加)したい場合には、対象の要素 (複数選択可能)を選択し右クリックして「区画の表示設定」を選択してください。区画の表示設定画面が表示されますので、必要に応じて設定内容を変更してください。

Copyright (c) 2009-2024 Sparx Systems Japan21

モデリング操作ガイド(クラス図・オブジェクト図)

指定した属性や操作だけを表示あるいは非表示にしたい場合には、「個別指定」のボタンを押します。
次の画面で、表示するかどうかと、対象の属性や操作を指定できます。

4.4. 実現の関係の作成時に操作を指定実現の関係を作成したときに、自動的に操作の継承選択画面を表示するためには、ユーザーのオプション画面の「接続」グループにある「操作の継承とインターフェースの実装を作成時に指定」にチェックを入れます。逆に、毎回表示されないようにするには、このチェックを外します。

Copyright (c) 2009-2024 Sparx Systems Japan22

モデリング操作ガイド(クラス図・オブジェクト図)4.5. 継承している操作の表示

継承している操作をクラスに明示するためには、対象の要素を右クリックし、「区画の表示設定」を選択してください。区画の表示設定画面の「区画の表示」グループにある「継承した操作」にチェックを入れます。
これで「OK」ボタンを押すと、親クラスの操作が表示されます。このときに、その操作が定義されているクラスも明示されます。

Copyright (c) 2009-2024 Sparx Systems Japan23

モデリング操作ガイド(クラス図・オブジェクト図)ParentClass+parent_Op1() : int

SampleClass::ParentClass+ parent_Op1() : int

5. クラス図・オブジェクト図で便利なアドイン
スパークスシステムズ ジャパンが提供しているアドインのうち、クラス図・オブジェクト図で便利なアドインには以下のようなものがあります。ぜひご活用下さい。
なお、アドインの説明・ダウンロードについては以下のページをご覧下さい。
https://www.sparxsystems.jp/products/EA/tech/Addins.htm✓

パッケージ間依存関係追加アドイン
パッケージ配下のクラス同士に関係がある場合に、そのパッケージ間にも依存関係を追加します。

Copyright (c) 2009-2024 Sparx Systems Japan24

モデリング操作ガイド(クラス図・オブジェクト図)

Copyright (c) 2009-2024 Sparx Systems Japan25