5 モデリングを使用するアプリケーション開発

この章では、Unified Modeling Language (UML)クラス、プロファイル、アクティビティ、シーケンス、ユースケース図、さらにデータベース、EJB、および様々なビジネス・サービスとデータベース構造をモデル化するビジネス・コンポーネント・ダイアグラムを作成するためのモデリング・ツールとモデリング・テクノロジの利用方法について説明します。

この章の内容は次のとおりです。

ダイアグラムを使用したモデル化について

「新規ギャラリ」ウィザードを使用して、JDeveloperでサポートされるUMLダイアグラム・タイプとビジネス・サービス図を作成します。

JDeveloperは、アプリケーション用のソフトウェアおよびシステム開発をモデル化するために6つの標準UMLダイアグラム・タイプと4つのビジネス・サービス・ダイアグラム・タイプをサポートしています。

ダイアグラム・タイプはすべて、「新規ギャラリ」ウィザードを使用して作成でき、JDeveloperダイアグラム・エディタ、「コンポーネント」ウィンドウおよび「プロパティ」ウィンドウでサポートされます。

UMLダイアグラム

JDeveloperは、標準UMLダイアグラム・タイプをサポートしています。サポートされるタイプは、アクティビティ図、パーティション付きアクティビティ図、クラス図、シーケンス図、ユースケース図およびプロファイル図です。

JDeveloperでは、6つの標準UMLダイアグラム・タイプが用意されています。

  • アクティビティ図。調整されたアクションとしてシステム動作をモデル化します。アクティビティ・オブジェクトを使用して、出荷や注文処理などのビジネス目標用のタスクなどのビジネス・プロセスをモデル化できます。

  • パーティション付きアクティビティ図。1つのアクティビティをモデル化して、そのパーティションを縦割り(レーン)として表示します。

  • クラス図。システムの構造をモデル化します。既存のクラス、属性、操作、アソシエーション、汎化およびインタフェース実現のアーキテクチャをインスペクトするために使用します。

  • シーケンス図。システム動作のトレースをイベントのシーケンスとしてモデル化します。シーケンス図は、主にこれを、時間順のオブジェクト間のメッセージとして示します。

  • ユースケース図。システムに想定される動作をモデル化します。ユースケース図は、アクター、ユースケース、およびそれらの通信をまとめたものです。

  • プロファイル図。プロファイルとステレオタイプを使用してUML拡張機能を定義します。

ビジネス・サービス図

JDeveloperは、ビジネス・コンポーネント・ダイアグラム、データベース・ダイアグラム、EJBダイアグラムおよびJavaクラス図をサポートしています。

ビジネス・サービスをサポートする4つのダイアグラムがあります。

  • ビジネス・コンポーネント・ダイアグラム。エンティティ・オブジェクト、ビュー・オブジェクト、アプリケーション・モジュール、およびこれらの関係をモデル化します。

  • データベース・ダイアグラム。オンライン・データベース表とオフライン・データベース表、およびその関係に加え、ビュー、マテリアライズド・ビュー、シーケンス、パブリック・シノニムとプライベート・シノニムをモデル化します。

  • EJBダイアグラム。システム内のエンティティBean、セッションBean、メッセージドリブンBeanおよびその関係をモデル化します。

  • Javaクラス図。Javaクラス、Enum、フィールド、メソッド、参照、継承関係および実装関係における関係と依存性をモデル化します。

変換

JDeveloperは、UML-Java変換、UML-オフライン・データベース変換およびUML-ADFビジネス・コンポーネント変換をサポートしています。変換によって、JavaオブジェクトはUMLクラスに変わり、UMLクラスはJavaクラスに変わります。

変換は、UMLクラスからJavaオブジェクトを作成するプロセス、またはJavaクラスからUMLクラスを作成するプロセスです。次のタイプの変換があります。

ダイアグラムの作成、使用および管理

ダイアグラムを作成してコンポーネントを追加し、イメージとして公開するか、または印刷します。

Oracle JDeveloperには、アプリケーション・システムをモデル化するための多様なツールと各種ダイアグラムの選択肢が用意されています。ダイアグラムと要素を作成するための便利なウィザード、および編集ウィンドウを開いたままで様々な要素を簡単にドラッグ・アンド・ドロップしたり編集したりできる「コンポーネント」ウィンドウと「プロパティ」ウィンドウが用意されています。

次の図に、クラス図が表示されているダイアグラム・エディタ・ウィンドウ、「アプリケーション」ウィンドウおよび「コンポーネント」ウィンドウを示します。「アプリケーション」ウィンドウ上のダイアグラムをダブルクリックして、これを開き、「コンポーネント」ウィンドウからダイアグラム・エディタにコンポーネントをドラッグ・アンド・ドロップします。

ダイアグラムを作成したら、コンポーネントを「コンポーネント」ウィンドウからダイアグラムに追加します。キーストローク・コマンドで、ダイアグラムのズーム・インおよびズーム・アウトを行ったり、元のサイズや元のサイズ率で表示したりできます。終了したら、ポップアップ・メニューやメイン・メニューのコマンドを使用して、ダイアグラムをイメージとして公開したり、印刷したりできます。

図5-1 クラス図の作成例

図5-1の説明が続きます
「図5-1 クラス図の作成例」の説明

図5-2 クラス図の例を表示する「コンポーネント」ウィンドウ

図5-2の説明が続きます
「図5-2 クラス図の例を表示する「コンポーネント」ウィンドウ」の説明

新規ダイアグラムの作成

新規ダイアグラムを作成する手順を使用してください。「新規ギャラリ」ウィザードを使用して、コンポーネントの追加が可能なダイアグラムを作成します。

「新規ギャラリ」ウィザードにより、コンポーネントを含める準備ができたダイアグラムが作成されます。このウィザードでは、ダイアグラム・タイプの選択、パッケージの指定、「コンポーネント」ウィンドウでアクセスするコンポーネントの選択を行うことができます。図5-3は、クラス図の作成例のダイアログを示しています。

新規のダイアグラムを作成するには:

  1. 「アプリケーション」ウィンドウで、プロジェクトを選択し、「ファイル」→ギャラリから新規作成「一般」「ダイアグラム」を選択します。
  2. ダイアグラム・タイプを選択し、「OK」を選択します。
  3. ダイアグラムのデフォルト・パッケージは、そのプロジェクト設定で指定したデフォルト・パッケージです。現在のプロジェクトの指定したパッケージに、空のダイアグラムが作成され、コンテンツ領域で開かれます。「OK」をクリックします。

ダイアグラム要素の使用

ダイアグラム要素を「コンポーネント」ウィンドウからダイアグラムにドラッグできます。

ダイアグラム要素は「コンポーネント」ウィンドウで利用でき、このウィンドウからこれらをダイアグラムにドラッグできます。要素を視覚的に管理したり、要素のプロパティを管理するための様々なツールが用意されています。

ダイアグラムから要素を見つける方法

「構造」ウィンドウの要素名をクリックして、要素を選択します。ダイアグラムのサムネイルのために、「ウィンドウ」から「サムネイル」を選択します。

「構造」ウィンドウで要素名をクリックします。ダイアグラムで要素が選択されます。ダイアグラムのサムネイル・ウィンドウを使用して要素を見つけることもできます。ダイアグラムのサムネイル・ビューを表示するには、「アプリケーション」ウィンドウまたはダイアグラムの背景をクリックしてダイアグラムを選択し、「ウィンドウ」→「サムネイル」を選択します。表示領域ボックスをドラッグし、ダイアグラムのサムネイル・ビューの要素上に置きます。対応する要素がメイン・ダイアグラムのビューに表示されます。

ダイアグラムから特定の要素を選択する方法

[Ctrl]キーを押しながら、ダイアグラム上の要素をクリックします。

ダイアグラムからすべての要素を選択する方法

ダイアグラムのすべての要素を選択すると、それらを同時に使用できます。「編集」「すべて選択」オプションで、すべての要素を選択します。

ダイアグラムからすべての要素を選択し、そのすべての要素に対して、位置合せ、コピー、削除、移動などのアクションを同時に実行することができます。ダイアグラムの表面をクリックして、任意の要素を選択し、「編集」「すべて選択」を選択します。ダイアグラムの表面上でドラッグして領域を選択し、すべてまたは複数の要素を選択することもできます。

同じタイプの要素をすべて選択する方法

同じタイプの要素を同時に使用できるように、「このタイプをすべて選択」オプションを使用します。同じタイプの要素をすべて選択する手順を使用してください。

同じタイプの多くの要素を編集または管理する必要がある場合、「すべて選択」オプションを使用します。

同じタイプの要素をすべて選択するには:

  1. 必要なタイプのオブジェクトを選択します。
  2. ポップアップ・メニューから「このタイプをすべて選択」を選択します。
選択した要素グループから要素の選択を解除する方法

選択した要素のグループに含まれる選択済要素の選択を解除する手順を使用してください。選択解除オプションにより、選択した要素のグループから要素が削除されます。

要素グループを選択し、特定の要素を除外する場合、「選択解除」オプションを使用します。要素を1つずつ選択するより簡単です。

選択した要素グループから、要素の選択を解除するには:

  1. [Ctrl]キーを押したままの状態にします。
  2. ダイアグラム上で、選択を解除する要素をクリックします。
ダイアグラムの要素をグループ化する方法

要素のグループを形成する手順を使用してください。作業を容易にするために、2つ以上の要素をグループ化してそれらをコンテナにロックします。

要素をグループ化すると、複数の要素をロックして完全なビジュアル・コンテナにすることができます。

要素のグループを形成するには:

  1. 必要に応じて、ダイアグラムの注釈を開きます。「コンポーネント」ウィンドウで、「グループ」をクリックします。
  2. ダイアグラム上の、要素をグループ化する範囲の角にポインタを置き、マウス・ボタンを押したままの状態にします。
  3. その部分にマウス・ポインタを移動します。
  4. オブジェクトを完全に囲んだら、マウス・ボタンを放します。
グループ化された要素の管理方法

ダイアグラム上のグループ化された要素を管理する手順を使用してください。要素を移動し、「グループの管理」機能を使用してグループ化します。

「グループの管理」機能を使用して要素をグループに追加またはグループから削除、要素を他のグループへ移動、またはグループを他のグループに追加または他のグループから削除します。

ダイアグラム上でグループ化された要素を管理するには:

  1. 管理するグループを選択します。
  2. 右クリックして、「グループの管理」を選択します。

    要素をグループに追加したりグループから削除するには、[Shift]キーを押しながら目的の場所まで要素をドラッグします。

セマンティック・プロパティの変更方法

「プロパティ」オプションを使用して、要素のセマンティック・プロパティを変更します。

次のいずれかの方法で「プロパティ」ダイアログを開きます。

  • ダイアグラムで要素をダブルクリックします。

  • ダイアグラム上の要素を右クリックし、そのコンテキスト・メニューから「プロパティ」を選択します。

「プロパティ」ウィンドウを使用して要素プロパティを変更する方法

要素のプロパティを変更する手順を使用してください。

  1. 「ウィンドウ」→「プロパティ」を選択します。「プロパティ」ウィンドウには、ビジュアル・プロパティとセマンティクス・プロパティの両方が表示されます。
  2. ダイアグラム要素を選択します。
  3. 変更するプロパティを選択します。
  4. 「プロパティ」ウィンドウの右側から、コントロールを選択し、値を変更します。(コントロールには、編集ボックス、ドロップダウン・リスト、チェック・ボックスなどがあります)。1つの要素を選択した場合、有効なすべてのプロパティを利用できますが、複数の要素を選択した場合は、すべての要素に有効なプロパティのみが選択されます。
要素の色またはフォントの変更方法

「ウィンドウ」「ビジュアル・プロパティ」オプションまたは「プロパティ」オプションを使用して、要素のプロパティを変更します。要素の色またはフォントを変更する手順を使用してください。

  1. ダイアグラム上の要素(複数可)を選択します。
  2. 次に、「プロパティ」ウィンドウ(「ウィンドウ」→「プロパティ」)の「グラフィック・オプション」タブで、現在の色(またはフォント・タイプのボックス)を選択し、必要な変更を行ってから[Enter]を押します。

    または、ツールバーでフォント・タイプ、フォント・サイズまたは色のボックスを選択し、必要な変更を行います。

    あるいは、コンテキスト・メニューから「ビジュアル・プロパティ」を選択し、必要な変更を行う方法もあります。

新しいダイアグラム要素のビジュアル・プロパティの変更方法

要素のデフォルト設定を変更してダイアグラムに追加する手順を使用してください。「プリファレンス」ダイアログを使用して、ダイアグラムに追加している要素のデフォルト・ビジュアル・プロパティを定義します。

「プリファレンス」ダイアログを使用して、ダイアグラムに追加する要素のデフォルトのビジュアル・プロパティを定義します。

ダイアグラムに追加するダイアグラム要素のデフォルト設定を変更するには:

  1. 「ツール」→「プリファレンス」を選択し、「ダイアグラム」を選択します。ダイアグラム・タイプを選択した後、(ドロップダウン・ボックスの「次のプリファレンスを編集」から)変更する要素タイプを選択します(図5-3)。プリファレンスは、1つのパネルまたは複数のタブに表示されます。
  2. デフォルト値を必要に応じて変更し、「OK」をクリックします。

図5-3 クラス図の「プリファレンス」ダイアログ

図5-3の説明が続きます
「図5-3 クラス図の「プリファレンス」ダイアログ」の説明
ビジュアル・プロパティをコピーする方法

ビジュアル・プロパティを要素にコピーして貼り付ける手順を使用してください。「プリファレンス」ダイアログを使用して、要素間でプリファレンスをコピーします。

「プリファレンス」ダイアログを使用して、要素間でプリファレンスをコピーできます。

ビジュアル・プロパティを要素にコピーして貼り付けるには:

  1. ダイアグラム要素を選択します。
  2. 右クリックして、コンテキスト・メニューから「グラフィック・オプションのコピー」を選択します。
  3. ターゲット要素を選択します。
  4. 右クリックして、コンテキスト・メニューから「グラフィック・オプションの貼付け」を選択します。
ダイアグラム上の要素をサイズ変更する方法

ダイアグラムの要素をサイズ変更する手順を使用してください。初期ノードおよび最終ノード以外に、必要なサイズに要素をサイズ変更できます。

要素のサイズを変更するには、要素が目的のサイズになるまでグラッブ・バーをドラッグします。初期ノードや終了ノードなど、一部のダイアグラム要素はサイズを変更できません。

一部の要素タイプには内部グラッブ・バーもあり、要素を選択するとそれが表示されます。内部グラッブ・バーは、ダイアグラム要素内のコンパートメントのサイズを変更する際に使用します。

ダイアグラム要素がダイアグラムの表示端に向かってサイズ変更されると、ダイアグラムは自動的にスクロールします。要素がサイズ変更され、ダイアグラム上から離れると、新しいダイアグラム・ページが追加されます。

ダイアグラム要素をサイズ変更するには:

  1. サイズを変更する要素を選択します。
  2. 要素の任意のグラッブ・バーにポインタを置き、マウス・ボタンを押したままの状態にします。グラッブ・バー上に置くと、ポインタは先頭が二重になった矢印として表示されます。
  3. 要素のサイズが変更されるまでグラッブ・バーをドラッグし、マウス・ボタンを放します。
関連クラスをダイアグラムに表示する方法

拡張、実装または参照されたクラスまたはインタフェースは、ダイアグラムに含めることができます。「関連する要素」オプションを使用して、ダイアグラムに関連クラスを表示します。

現在表示されている要素に関連するクラスおよびインタフェースを、ダイアグラムに取り込むことができます。これには、選択したクラスまたはインタフェースによって拡張、実装または参照されているクラスまたはインタフェースが含まれます。

次のオプションから選択して、ダイアグラム上に関連クラスを表示します。

  • ダイアグラム上でクラスまたはインタフェースを選択し、「ダイアグラム」「表示」「関連する要素」を選択します。

  • ダイアグラム上でクラスまたはインタフェースを右クリックし、「ダイアグラム」「表示」→「関連する要素」を選択します。

ダイアグラム要素の移動方法

複数の要素を1つの要素にドラッグするか、要素を切り取って貼り付けて移動します。ダイアグラム要素を移動する手順を使用してください。

ダイアグラム上で要素をドラッグする方法が、最も簡単に要素を移動できる方法です。より広い距離で要素を移動するには、切り取って貼り付けるという方法を取ります。ダイアグラム要素がダイアグラムの表示端に向かって移動すると、ダイアグラムは自動的にスクロールします。要素が移動してダイアグラム上から離れると、新しいダイアグラム・ページが追加されます。

ダイアグラム要素を移動するには:

  1. 移動する要素(複数可)を選択します。
  2. 要素にポインタを置き、マウス・ボタンを押したままの状態にします。
  3. 選択した要素を、新しい位置までドラッグします。
  4. マウス・ボタンを離します。要素が他の要素に重なる場合は、お互いに重なって表示されます。要素を右クリックし、「最前面へ移動」を選択します。
ダイアグラム上で直前の操作を取り消す方法

使用されるテクノロジでそのようなアクションが可能であれば、要素に対するセマンティック・プロパティの変更を元に戻すことができます。「元に戻す」または「やり直し」オプションで、カット・アンド・ペーストなどのアクションを元に戻すかまたは再実行して、ダイアグラム要素のフォント、色、線の幅も元に戻します。

「編集」→「元に戻す[...]」を選択するか、「元に戻す」アイコンをクリックすることにより、最後のグラフィック操作を元に戻し、やり直すことができます。グラフィック操作は、ダイアグラム上の要素の外観を変更する、次のような操作です。

  • ダイアグラムの要素の切取りおよび貼付け。

  • ダイアグラム要素の位置およびサイズの変更。

  • ダイアグラム要素のフォント、色およびフォント・サイズの変更。

要素のセマンティック・プロパティの変更は、テクノロジ(Javaなど)で許可される場合にのみ取り消すことができます。要素のセマンティック・プロパティを変更すると、その前に行ったグラフィック上の変更の取消しができなくなる可能性があります。

アクションのやり直しを実行するには、「編集」→「やり直し[...]」を選択するか、「やり直し」アイコンをクリックします。

別のダイアグラムに要素をコピーする方法

ポップアップ・メニューまたはキーストアによって、ダイアグラム間で要素をコピーできます。ダイアグラムから要素をコピーして別のダイアグラムに貼り付ける手順を使用してください。

ポップアップ・メニューまたはキーストロークを使用して、異なるダイアグラム間で要素をコピーします。

ダイアグラムから要素をコピーし、別のダイアグラムに貼り付けるには:

  1. ダイアグラム要素を選択し、ポップアップ・メニューの「コピー」を選択するか、ツールバーの「コピー」アイコンを選択するか、または[Ctrl]キーを押しながら[C]キーを押します。
  2. 貼付け先のダイアグラムを開きます。
  3. ダイアグラム要素を追加する場所にポインタを置き、ポップアップ・メニューから「貼付け」を選択します(または、ツールバーの「貼付け」アイコンを選択するか、[Ctrl]キーを押しながら[V]キーを押します)。

ダイアグラムの名前変更方法

JDeveloprでは、ダイアグラムの名前を変更できます。ダイアグラムの名前を変更する手順を使用してください。

名前を変更すると、元のダイアグラムのコピーを残さずにダイアグラム名が変更されます。

ダイアグラム名を変更するには:

  1. 「アプリケーション」ウィンドウで、名前を変更するダイアグラムを選択します。
  2. 「ファイル」→「名前の変更」を選択します。

ダイアグラムをイメージとして公開する方法

「ダイアグラムの公開」オプションでは、ダイアグラムをグラフィック・イメージとして公開します。ダイアグラムをイメージとして公開する手順を使用してください。

ダイアグラムをグラフィック・イメージとして公開するには、ポップアップ・メニューのオプションを使用します。イメージとして公開した後、ダイアグラムをプレビューしたり、印刷したりできます。

ダイアグラムをイメージとして公開するには:

  1. ダイアグラムを右クリックし、「ダイアグラムの公開」を選択します。

    または、ダイアグラム上をクリックし、「ダイアグラム」→「ダイアグラムの公開」を選択します。

  2. 表からイメージ・ファイルの公開先フォルダを選択します。
  3. 「ファイル・タイプ」ドロップダウン・リストを使用し、イメージ・ファイルのファイル・タイプ(SVG、SVGZ、JPEG、PNG)を選択します。
  4. 「ファイル名」ボックスに、適切なファイル拡張子(svg、svgz、jpg、png)も含めてイメージ・ファイルの名前を入力します。
  5. 「保存」をクリックします。

印刷用のページの設定方法

ページ設定を使用して、印刷する前にページの向きやマージンを変更します。印刷前にページを設定する手順を使用してください。

ページ設定を使用して、縦向きから横向きに変更したり、印刷余白を設定したりできます。

印刷前にページを設定するには:

  1. 印刷するダイアグラム上をクリックし、「ファイル」→「ページ設定」を選択します。
  2. 「ページ設定」ダイアログの各タブで設定を変更します。

印刷するダイアグラム上の領域を設定する方法

印刷するダイアグラムの領域を設定する手順を使用してください。「ファイル」の印刷領域オプションを使用して、ダイアグラムの印刷する領域を定義します。

「ファイル」メニューの印刷領域の設定オプションを使用して、印刷するダイアグラムの特定領域を設定します。

印刷するダイアグラム上の領域を設定するには:

  1. 「ファイル」→「印刷領域」→「印刷領域の設定」を選択します。
  2. ダイアグラム上で、印刷する範囲のオブジェクトをマウス・ポインタのドラッグで囲みます。印刷する領域が点線の枠で示されます。領域を設定しない場合は、ダイアグラム全体が印刷されます。

印刷前にページをプレビューする方法

「ファイル」「印刷プレビュー」を使用して、印刷前にページをプレビューします。「印刷オプション」を使用して、書式設定を追加したり、ヘッダーとフッターにコンテンツを追加します。

ページをプレビューするには、「ファイル」→「印刷プレビュー」を選択します。「印刷オプション」を選択することにより、このページから印刷オプションも設定できます。「印刷オプション」ページで、ヘッダーおよびフッターのコンテンツをテキストとして追加できます。

ダイアグラム印刷領域をクリアする方法

JDeveloperでは、ダイアグラムに「印刷領域のクリア」オプションがあります。

ダイアグラム印刷領域をクリアするには、「ファイル」→「印刷領域」→「印刷領域のクリア」を選択します。

ダイアグラムのズーム・インおよびズーム・アウトの方法

JDeveloperのズーム・オプションを使用して、図をズーム・インおよびズーム・アウトします。

ダイアグラムをズーム・インおよびズーム・アウトするには、[Ctrl]キーを押しながらホイール・ボタンを使用します。サムネイル・ビューを使用している場合は、スクロールを使用してズームします。ダイアグラム・ツールバーにもズーム・オプションがあります。

ダイアグラムを全体表示する方法

「ダイアグラム」の「ウィンドウに合せる」オプションを使用して、ダイアグラム全体を表示します。

ダイアグラムのツールバー上にあるズームのドロップダウン・リストで、「ウィンドウに合せる」を選択するか、ダイアグラムをクリックして「ダイアグラム」→「ズーム」→「ウィンドウに合せる」を選択します。

選択した要素を最大サイズで表示する方法

「ダイアグラム」の「選択領域のズーム」オプションで、ダイアグラム・ビューが最大化されます。

ダイアグラムのツールバー上にあるズームのドロップダウン・リストで、「選択領域のズーム」を選択するか、ダイアグラムをクリックして「ダイアグラム」→「ズーム」→「選択領域のズーム」を選択します。

ダイアグラムを元のサイズで表示する方法

「ダイアグラム」「100%」オプションで、ダイアグラムのサイズを元のサイズに戻します。

ダイアグラムのツールバー上にあるズームのドロップダウン・リストで、「100%」を選択するか、ダイアグラムをクリックして「ダイアグラム」「ズーム」「100%」を選択します。

ダイアグラムの削除方法

未使用の図は、メニュー・バーを使用して削除できます。ダイアグラムを削除する手順を使用してください。

メニュー・バーを使用して、ダイアグラムおよび関連ダイアグラム要素を削除します。

ダイアグラムを削除するには:

  1. 「アプリケーション」ウィンドウで、削除するダイアグラムを選択します。
  2. 「編集」→「削除」を選択します。このコマンドでダイアグラム・ファイルがシステムから削除され、ダイアグラムの編集ウィンドウが閉じます。削除したダイアグラムに対する選択内容は、「アプリケーション」ウィンドウとファイル・システムに残ります。

    「アプリケーション」ウィンドウからもダイアグラムを削除できます。「アプリケーション」ウィンドウで、ダイアグラム名を右クリックし、「削除」を選択します。

ダイアグラム・レイアウトの使用

「ツール」の下にある「ダイアグラム」の「プリファレンス」オプションを使用して、ダイアグラム内の要素のレイアウトを設計します。

ダイアグラムには、階層、対称、グリッドおよび行の各スタイルがあります。ダイアグラム内の要素も、レイアウト・スタイルをカスタマイズできます。ダイアグラムの外観をカスタマイズするためのプリファレンスが数多く用意されています。これら大部分のプリファレンスは、図5-4で示されているように、「ツール」→「プリファレンス」→「ダイアグラム」(ダイアグラム・タイプ)で表示される様々な「プリファレンス」ダイアログを使用して設定できます。新しいダイアグラムに対する特定のプリファレンスを設定するには、全般プリファレンス・ダイアログから「次のプリファレンスの編集」を選択します。

図5-4 クラス図のビジュアル・プロパティ

図5-4の説明が続きます
「図5-4 クラス図のビジュアル・プロパティ」の説明
階層ダイアグラム・レイアウトの使用方法

階層レイアウトの4種類の方向を使用して、ダイアグラム要素を構造的に編成します。

階層レイアウトは、図5-5に示されているように、汎化構造と、定義された方向のその他のエッジに基づいてダイアグラム要素を階層的に配置します。ノード間のエッジは、最も直接的なルーティングでレイアウトされます。他のノードに連結されていないダイアグラム上のノードは、グリッド・レイアウトでレイアウトされます。階層レイアウトは、上から下、下から上、左から右、右から左の4種類の方向で使用できます。

図5-5 階層ダイアグラム・レイアウトの例

図5-5の説明は次にあります。
「図5-5 階層ダイアグラム・レイアウトの例」の説明
ダイアグラムでレイアウトの端を使用する方法

個々のダイアグラムの端またはダイアグラム・タイプのすべてのインスタンスに斜線または直線のスタイルを使用します。「ツール」または「編集」の下の「線のスタイル」プリファレンスを使用して、各ダイアグラムの端に対してデフォルトの線のスタイルを設定します。

ダイアグラムの端は、斜線または直線のスタイルでレイアウトできます。斜線は、任意の角度で移動できます。直線は、一連の直角として常に表示される線です。

ダイアグラムの端ごとにデフォルトの線のスタイルを設定するには、図5-6に示すように、「ツール」→「プリファレンス」→「ダイアグラム」→「クラス」で「線のスタイル」プリファレンスを使用し、さらにプリファレンスを編集ドロップダウンで「アソシエーション」を選択します。

図5-6 ダイアグラムのプリファレンス、プリファレンスの編集(線のスタイル)

図5-6の説明が続きます
「図5-6 ダイアグラムのプリファレンス、プリファレンスの編集(線のスタイル)」の説明

ダイアグラム・タイプの全インスタンスに対して線のスタイルを設定することもできます。1つの端の線のスタイルが斜線に変わり、線のスタイルを直線から斜線に変更した場合、ダイアグラム上には変更は表示されませんが、後でダイアグラム上の線を任意の角度で新しい位置に移動できるようになります。

個別にダイアグラムの端を選択して、その線のスタイルを変更できます。個別の線を斜線から直線に変更する場合、線は直角を使用して再描画されます。個別の線を直線から斜線に変更する場合、線は変更されませんが、後で任意の角度で線(または線の一部)を再配置できます。

線が交差するときのスタイルも、ブリッジ交差とトンネル交差から選択できます。ブリッジを選択すると、線が交差する場所に2本の平行線が作成されます。トンネルを選択すると、交差する場所に半円が作成されます。デフォルトのスタイルは、線が交差する2本の線を使用した標準の交差です。

対称ダイアグラム・レイアウトの使用方法

ノード間のエッジによって、ダイアグラム要素間の配置の対称性が決定します。対称レイアウトでは、中央のノードの周囲に放射状レイアウトで、またはグリッド・レイアウトでノードを配置できます。

対称レイアウトでは、図5-7に示されているノード間のエッジに基づいて、ダイアグラム要素が対称的に位置合せされます。特定の状況では、対称レイアウトにより中央のノードの周囲に放射状レイアウトでノードが配置されます。他のノードに連結されていないダイアグラム上のノードは、グリッド・レイアウトでレイアウトされます。

図5-7 対称ダイアグラムの例

図5-7の説明が続きます
「図5-7 対称ダイアグラムの例」の説明
直交ダイアグラム・レイアウトの使用方法

直交ダイアグラムには、位置合せされたコンポーネントの端がすべて同じ方向になるように階層と非階層の要素が表示されます。

直交ダイアグラムには、図5-8に示されているように、階層と非階層の要素が表示され、位置合せされたコンポーネントの端がすべて同じ方向になります。クラス図の場合、汎化階層は単純に並べられており、各要素のインディペンデンスが示されます。

図5-8 直行ダイアグラム・レイアウトの例

図5-8の説明が続きます
「図5-8 直行ダイアグラム・レイアウトの例」の説明
グリッド・ダイアグラム・レイアウトの使用方法

グリッド・レイアウトでは、ダイアグラム要素は、行または列のいずれかでノードが直線にレイアウトされたグリッドに配置されます。

グリッドは、図5-9に示されているように、左から右への行または上から下への列でノードを直線的にレイアウトしたグリッド・パターンで、ダイアグラム要素をレイアウトします。ノードは、左上のノードから開始します。

図5-9 グリッド・ダイアグラム・レイアウトの例

図5-9の説明が続きます
「図5-9 グリッド・ダイアグラム・レイアウトの例」の説明
ダイアグラム要素のレイアウト方法

ダイアグラムのポップアップ・メニューの「図形のレイアウト」または「ダイアグラム」の「図形のレイアウト」オプションを使用して、ダイアグラム要素のレイアウト・スタイルを選択します。ダイアグラムの要素をレイアウトする手順を使用してください。

レイアウト・スタイルは、ダイアグラムのポップアップ・メニューを開いて「図形のレイアウト」を選択するか、または「ダイアグラム」→「図形のレイアウト」を選択することによって使用できます。

ダイアグラムで要素をレイアウトするには:

  1. 次のいずれかを選択します:
    • ダイアグラム上の個々の要素を選択します。

    • ダイアグラムのすべての要素をレイアウトする場合は、ダイアグラム上をクリックします。

    • コンテナ要素内のすべての要素をレイアウトする場合は、コンテナ要素を選択します。

  2. ダイアグラム・ツールバーで、ドロップダウン・リストから必要なレイアウト・スタイルを選択します。

選択した要素がダイアグラム上にレイアウトされた後も、ダイアグラム上の任意の場所にまとめて移動できるように、その要素は選択された状態になっています。

ダイアグラムの新しい要素のレイアウトを設定するには、ダイアグラムの背景をクリックして、コンテキスト・メニューから「ビジュアル・プロパティ」を選択します。

ダイアグラム上の新しい要素のデフォルト・レイアウトを設定するには、「ツール」→「プリファレンス」→「ダイアグラム」に移動します。

グリッドを使用したダイアグラムのレイアウト方法

「ツール」の下の「ダイアグラム」のプリファレンスには、デフォルトのダイアグラム・グリッドの表示および動作を設定するための「グリッドの表示」オプションと、要素をグリッドにあわせるための「グリッドに合せる」オプションがあります。

ダイアグラムは、ダイアグラム上にグリッドが表示されていない場合でも、一番近いグリッド線に自動的に合せることができます。ダイアグラム上のグリッド・セルは正方形で、このセルの高さおよび幅両方の変更には、値が1つのみ必要です。デフォルトでは、アクティビティ図上の要素はグリッドに合せられていません。デフォルト・ダイアグラム・グリッドの表示と動作を設定するには、「ツール」→「プリファレンス」に移動し、「ダイアグラム」を選択します。ここから、「グリッドの表示」を選択してグリッドを表示するか、「グリッドに合せる」チェック・ボックスを選択して、要素をグリッドに合せることができます。要素をグリッドに合せる際に、グリッドを表示する必要はありません。

ダイアグラムのグリッド表示と動作を現在のダイアグラムに定義するには:

  1. ダイアグラム上をクリックします。
  2. 「表示」→「プロパティ」ウィンドウで、「グリッドの表示」または「グリッドに合せる」を選択します。
ダイアグラム要素の配置方法

特定のポイントに合うようにダイアグラム要素を配置します。ダイアグラム要素を配置する手順を使用してください。

ダイアグラム要素を、上詰め、下詰めなど、特定のポイントに合せて間隔調整して配置できます。要素が配置される際、選択した要素の中で垂直軸および水平軸から最も離れた要素が、境界として使用されます。効果的に配置するには、選択範囲にある最も離れた要素を移動してから、要素を再配置します。

ダイアグラム要素を配置するには:

  1. 3つ以上のダイアグラム要素を選択し、「ダイアグラム」→「配置」を選択します。
  2. 要素の配置方法を次のように選択します。
    • 水平方向の配置を、「なし」、「左揃え」、「中央揃え」、「間隔調整」、「右揃え」から選択します。

    • 垂直方向の配置を、「なし」、「上詰め」、「中央揃え」、「間隔調整」、「下詰め」から選択します。

  3. 「OK」をクリックします。
ダイアグラム要素の位置合せ方法

相互に均等になるように、要素の位置を垂直方向および水平方向に合せるか、間隔をあけて要素を配置します。要素の位置合せまたはサイズ設定を実行する手順を使用してください。

要素は垂直または水平に位置合せできます。また、要素の垂直間隔および水平間隔が均等になるように、要素の位置を変更できます。

要素の位置合せとサイズ変更をするには:

  1. 2つ以上の要素を選択します。「ダイアグラム」→「位置合せ」を選択します。
  2. 次から選択します:
    • 水平方向の位置合せを選択します。

    • 垂直方向の位置合せを選択します。

  3. 選択した要素のサイズを設定する場合は、「サイズ調整」チェック・ボックスを使用します。
    • 選択したすべての要素の幅を揃えるには、「同じ幅」を選択します。変更後の要素の幅は、選択した要素の平均の幅になります。

    • 選択したすべての要素の高さを揃えるには、「同じ高さ」を選択します。変更後の要素の高さは、選択した要素の平均の高さになります。

  4. 「OK」をクリックします。

ダイアグラム・ノードの操作

UMLダイアグラムのノードは、物理的なデバイスまたは実行環境を表します。ノードは要素の内外に作成できます。

UMLダイアグラムでは、ノードは物理デバイスまたは実行環境を表すことができます。物理デバイスは、1つのデバイスになるか、複数のデバイスの構成になります。実行環境は、ソフトウェア・コンテナ(オペレーティング・システムやEJBなど)です。ノードは要素の内外に作成できます。

ダイアグラム上にノードを作成する方法

ノードは「コンポーネント」ウィンドウを使用して作成できます。ダイアグラム上にノードを作成する手順を使用してください。

「コンポーネント」ウィンドウを使用してノードを作成します。

ダイアグラムのノードを作成するには:

  1. ダイアグラムの「コンポーネント」ウィンドウに表示されるノード・タイプから、作成するノードのタイプを選択します。
  2. ノードを作成するダイアグラムをクリックするか、コンポーネント・パレットからドラッグします。これで、ノードがデフォルトのサイズで追加されます。

    あるいは、ノードを置く場所のいずれかの隅でマウス・ボタンをクリックして押したままにし、対角上までノードの枠線をドラッグしてからマウス・ボタンを放します。

  3. 新しいノード上でデフォルトの要素名がハイライト表示されたら、ノードの名前を入力します。
ダイアグラム要素上に内部ノードを作成する方法

ダイアグラム要素に内部ノードを作成する手順、およびダイアグラム上のノードのサイズを最適化する手順を使用してください。

要素は、他のダイアグラム要素の内部ノードとしてダイアグラム上に表現できます。

内部ノードを使用して次の要素を作成できます。

  • 内部クラスおよび内部インタフェース

  • リレーションの使用方法。

図5-10 シンボリック・ダイアグラム・クラス図

図5-10の説明が続きます
「図5-10 シンボリック・ダイアグラム・クラス図」の説明

図5-11 内部ノードが表示された拡張ダイアグラムのクラス・ビュー

図5-11の説明が続きます
「図5-11 内部ノードが表示された拡張ダイアグラムのクラス・ビュー」の説明

ダイアグラム要素に内部ノードを作成するには:

  1. 内部ノードを作成するノードをダイアグラム上で選択します。

  2. 「ダイアグラム」→「表示モード」→「拡張済」を選択して、ノードの拡張ビューを表示します。

  3. 拡張ボックス内に内部ノード用のノードを作成するか、「アプリケーション」ウィンドウまたはダイアグラムから適切なノードをドラッグし、内部ノードを作成するために拡張したノード内にドロップします。

ダイアグラムでノードの表示方法を変更するには:

ダイアグラム要素を選択し、次のいずれかを選択します。

  • 「ダイアグラム」→「表示モード」→「圧縮」

  • 「ダイアグラム」→「表示モード」→「シンボル」

  • 「ダイアグラム」→「表示モード」→「拡張済」

ダイアグラム上でノードのサイズを最適化するには:

ポップアップ・メニューの最適化機能を使用して、ノードを最適化できます。最適化すると、すべての属性が表示されるようにノードのサイズが調整されます。

  1. サイズを変更するノードを選択します。
  2. 選択したノードを右クリックし、まとめて、または個別に「図形サイズの最適化」→「高さと幅」を選択します。

ダイアグラムの端の使用

ダイアグラムの端を個別またはグループで非表示にして、「構造」ウィンドウで「非表示」タグを付けることができます。ダイアグラムの端は、個別またはグループでビューにリストアできます。

ダイアグラム上で1つの端または任意の数の端を非表示にできます。ダイアグラム上で非表示になっている端も「構造」ウィンドウには表示され、名前に「(非表示)」が追加されます。非表示の端がある場合、個別または同時に再表示できます。

ダイアグラム上の端を非表示にする方法

ダイアグラムの1つ以上の端を非表示にする手順を使用してください。

1つまたは複数の端を非表示にするには:

  1. 非表示にするダイアグラムの端を選択します。(特定のタイプの端をすべて選択する場合は、1つの端を右クリックして「このタイプをすべて選択」を選択します。)
  2. 右クリックして、「選択した図形の非表示」を選択します。

    「構造」ウィンドウに移動して、非表示にする端(複数可)を選択し、右クリックして、「図形の非表示」を選択することもできます。

ダイアグラム上の非表示の端を表示する方法

「構造」ウィンドウで、表示する端を選択し、右クリックして、「非表示の図形の表示」を選択します。

ダイアグラム上の非表示のすべての端を表示する方法

「構造」ウィンドウで、表示する端を選択し、右クリックして、「非表示の図形の表示」を選択します。

「構造」ウィンドウに非表示の端をすべて表示する方法

「構造」ウィンドウにリストされているオブジェクトを右クリックし、「可視性順」を選択します。

ダイアグラム上の交差スタイルを変更する方法

交差スタイルのデフォルト設定は、スタイルなしです。交差スタイルをブリッジに変更すると線が交差する場所に2本の平行線が作成され、トンネル・スタイルを選択すると交差する場所に半円の図形が作成されます。

線が交差するときのスタイルを、ブリッジ交差とトンネル交差から選択できます。ブリッジを選択すると、線が交差する場所に2本の平行線が作成されます。トンネルを選択すると、交差する場所に半円が作成されます。デフォルトのスタイルは、線が交差する2本の線を使用した標準の交差です。交差スタイルは選択なしにもできます。これがデフォルト設定です。

ダイアグラムへの注釈の追加

ダイアグラムまたはダイアグラム要素に対する説明は、ノートとして含まれています。ノートを追加するには、「コンポーネント」ウィンドウのオプションを使用します。

ノートは、ダイアグラムまたはダイアグラム上の要素に対する説明テキストの追加に使用します。ノートは、1つ以上の要素に添付できます。ノートは、個別のファイル・システム要素としてではなく、現在のダイアグラムの一部として格納されます。「ノート」オプションは、「コンポーネント」ウィンドウで使用できます。

ダイアグラムにノートを追加する方法

「コンポーネント」ウィンドウの「ダイアグラムの注釈」機能には、ノートを追加するオプションが用意されています。ダイアグラムにノートを追加する手順を使用してください。

「コンポーネント」ウィンドウの「ダイアグラムの注釈」機能を使用して、ダイアグラムにノートを追加します。

ダイアグラムにノートを追加するには:

  1. 「コンポーネント」ウィンドウの「ダイアグラムの注釈」セクションで、「ノート」アイコンをクリックします。
  2. デフォルト・サイズでノートを作成する場合は、ダイアグラムをクリックしてノートを作成します。

    異なるサイズでノートを作成する場合は、ダイアグラムをクリックし、ノート・ボックスを必要なサイズまでドラッグしてからマウス・ボタンを放します。

  3. ノートのテキストを入力し、ダイアグラム上をクリックします。
ダイアグラムの要素にノートを添付する方法

「コンポーネント」ウィンドウの「ダイアグラムの注釈」機能の添付コンポーネントを使用して、ダイアグラム要素にノートを添付します。ダイアグラムの要素にノートを添付する手順を使用してください。

「コンポーネント」ウィンドウの「ダイアグラムの注釈」機能には、ダイアグラム要素にノートを添付するための添付コンポーネントが含まれています。

ダイアグラムの要素にノートを添付するには:

  1. 「コンポーネント」ウィンドウの「ダイアグラムの注釈」セクションで、「添付」アイコンをクリックします。
  2. ノートをクリックします。
  3. ノートを添付する要素をクリックします。
ノート上のフォントを変更する方法

ノート要素には、ノートのフォントを変更するためのオプションが用意されています。ノートのフォント・フォーマットおよびサイズを変更する手順を使用してください。

ノート要素上で使用できる標準的な編集オプションを使用して、フォントを変更します。

ノート上のフォント・サイズ、フォント色、太字やイタリックの書式設定を変更するには:

  1. ノート要素をクリックします。テキスト編集ボックスが表示されます。
  2. 編集するテキストを選択します。
  3. テキストの書式を選択します。

ダイアグラムの格納

ダイアグラムは、プロジェクト設定で指定されたモデル・パスのフォルダで、ダイアグラムとしてディスクに格納されます。モデル・パスを設定するステップを使用してください。

ダイアグラムはダイアグラム・ファイルと同じようにディスクに格納されます。ダイアグラム・ファイルは、ダイアグラムに表示される要素を参照し、その要素の表示に関する情報(サイズ、色、フォント、各種プロパティの表示など)を含んでいます。ダイアグラム・ファイルは、ダイアグラムを格納するパッケージのフォルダの中に格納され、プロジェクト設定で指定したモデル・パスに格納されます。ダイアグラムのリンクと依存性もダイアグラム・ファイルに格納されます。

モデル・パスを設定するには:

  • 「アプリケーション」「デフォルト・プロジェクト・プロパティ」「プロジェクトのソース・パス」→「モデラー」を選択します。

Javaクラスなどのダイアグラム要素はダイアグラム・ファイルで参照されますが、その定義と実装の詳細は各要素の実行ファイルにのみ格納されます。各要素のダイアグラムでの詳細(位置、色、サイズなど)はダイアグラム・ファイルに格納されますが、要素の個別のモデル定義は格納されません。

UMLの使用

UML要素のプロパティを使用して、表示の外観および要素の動作を決定するセマンティック・プロパティをカスタマイズします。UMLアプリケーションを使用して、ダイアグラムとコンポーネントを作成できます。

「新規ギャラリ」で単独で作成されるUML要素は、「アプリケーション」ウィンドウに表示され、ダイアグラム上にドロップできます。ダイアグラムと関連コンポーネントをすばやく作成できるUMLアプリケーションを作成することもできます。

UML要素のプロパティを使用すると、表示の外観(色やフォントなどのグラフィカル・オプション)、または要素のデプロイ時にその動作を説明するセマンティック・プロパティ(属性、表示オプション、クラス関係など)をカスタマイズできます。

全般プリファレンス・ダイアログでは、そのタイプのすべてのダイアグラムに対するプリファレンスを設定できます。右クリックして、「ビジュアル・プロパティ」を選択すると、編集ウィンドウに現在表示されているダイアグラムのプリファレンスを編集できます。

ダイアグラムから独立したUML要素の作成

ダイアグラムから独立したUML要素を作成する手順を使用してください。「新規ギャラリ」は、ダイアグラムがなくてもUML要素の作成に役立ちます。

「新規ギャラリ」を使用して、既存のダイアグラムがない状態でUML要素を作成します。

ダイアグラムから独立したUML要素を作成するには:

  1. 「アプリケーション」ウィンドウでプロジェクトを選択します。
  2. 「ファイル」→「新規」を選択します。新規ギャラリが表示されます。
  3. 「カテゴリ」パネルで「一般」ノードを開き、「UML」ノードを選択します。「項目」パネルにUML要素がリストされます。
  4. 「項目」パネルで、作成するUML要素を選択し「OK」をクリックします。選択したUML要素の「プロパティ」ダイアログが開きます。
  5. 「プロパティ」ダイアログをすべて入力し、「OK」をクリックします。UML要素が「アプリケーション」ウィンドウに追加されます。

UML要素のローカル保存

UML要素は、プロジェクトのモデル・パスで指定されたフォルダの下の適切なパッケージ・フォルダ内の個別ファイルに格納されます。「アプリケーション」の下にある「デフォルト・プロジェクト・プロパティ」の「プロジェクトのソース・パス」で、「モデラー」オプションを使用してモデル・パスを設定します。

UML要素は個別のファイルに格納されます。ファイルの場所は、要素のパッケージ・プロパティによって異なります。この要素ファイルには、各要素に対して定義されたプロパティが含まれていますが、ダイアグラム・ファイルには、ダイアグラムに表示される要素およびその要素のビジュアル・プロパティも定義されます。

モデル化されたUML要素の要素ファイルは、プロジェクトのモデル・パスで指定されたフォルダの下の適切なパッケージ・フォルダに格納されます。モデル・パスを設定するには、「アプリケーション」「デフォルト・プロジェクト・プロパティ」「プロジェクトのソース・パス」→「モデラー」を選択します。

UMLプロファイルの使用

UMLプロファイルをUMLモデルに適用すると、追加のセマンティックを指定されます。JDeveloperでは、2つのUML 2.4.1標準プロファイルが用意されています。

UMLプロファイルをUMLモデルに適用して追加のセマンティックを指定できます。JDeveloperには、2つのUML 2.4.1標準プロファイルと、UMLオブジェクトをオフライン・データベース・オブジェクトに変換するためのプロファイルがあります。また、その他のプロファイルも登録できます。これらは、サード・パーティやユーザー定義のものになります。

プロファイルの作成方法

UMLプロファイルを作成する手順を使用してください。

次のステップに従って、プロファイルを作成します。

  1. 新規プロジェクトを作成します。

  2. プロジェクトを右クリックし、コンテキスト・メニューから「プロジェクト・プロパティ」を選択します。「ライブラリとクラスパス」ノードを選択します。右側にある「ライブラリの追加」ボタンをクリックします。

  3. 「ライブラリの追加」ダイアログで、UML 2.4.1メタモデルを選択し、「OK」をクリックします。

  4. プロジェクトを右クリックし、「新規」→「ギャラリから」を選択します。

  5. 「一般」カテゴリで「UML」ノードを選択します。「項目」ペインで「プロファイル」を選択し、「OK」をクリックします。プロパティ・エディタが開きます。

    1. プロファイルに名前を付けます。この名前は、適用時にそのプロファイルを識別する場合に使用されます。

    2. プロファイルにURIを指定します。これはネームスペースURIであり、適用されるプロファイルを永続化する際にXMLネームスペースに使用されます。

    3. プロファイルに所有パッケージがないことを確認します。

    ステレオタイプと拡張の両方をプロファイル内にパッケージ要素として作成できますが、プロファイル図を使用するほうが簡単に作成できます。

  6. 「OK」をクリックして、「プロジェクト・プロパティ」ダイアログを閉じます。

プロファイルのエクスポート方法

UMLプロファイルをエクスポートする手順を使用してください。

  1. プロファイルを含むプロジェクトを選択して、「ファイル」→「エクスポート」を選択します。
  2. 「UMLをXMIとしてエクスポート」を選択します。
  3. 「エクスポート」ダイアログで、場所を選択して、バージョン・ドロップダウンから「MOF 2.4.1 XMI 2.4.1」を選択します。
プロファイルの追加方法

UMLの「プロファイル」ページで「ツール・メタモデル」を使用して、UMLプロファイルを追加します。プロファイルを選択して編集し、プロファイルのドキュメントURIを指定します。

プロファイルを追加するには、「ツール」→「プリファレンス」→「UML」→「プロファイル」に移動します。図5-12に示すように、プロファイルのページには、アプリケーションで利用可能な現在のプロファイル(ユーザーまたはサード・パーティが作成)がすべて表示されます。「ツール・メタモデル」で、「追加」(+)をクリックします。プロファイルを追加したら、そのプロファイルを選択して「編集」をクリックします。プロファイルのドキュメントURIを指定します。ドキュメントURIは、プロファイルの要素の参照、特にプロファイル・アプリケーションのプロファイルへの参照を永続化する場合に使用されます。

図5-12 UMLプリファレンスの「プロファイル」ダイアログ

図5-12の説明が続きます
「図5-12 UMLプリファレンスの「プロファイル」ダイアログ」の説明
UMLパッケージにプロファイルを適用する方法

プロファイルをUMLパッケージに適用する手順を使用してください。

次のステップに従って、プロファイルをUMLパッケージに適用します。

  1. 「アプリケーション」ウィンドウで、UMLパッケージを右クリックして、「プロパティ」を選択します。
  2. パッケージ・プロパティ・ダイアログの「構造」リストで、「プロファイル・アプリケーション」を選択します。「追加」(+)をクリックし、UMLプロファイルを選択します。プロパティの値を編集して、「OK」をクリックします。
  3. 「構造」リストで、「パッケージ化要素」を選択します。
  4. メタクラス・インスタンスを開いて「適用済ステレオタイプ」を選択し、「追加」(+)をクリックしてプロパティを選択します。使用可能なプロパティは、使用するUMLプロファイルに応じて異なります。

    たとえば、「クラス」ノードを開いて「適用済ステレオタイプ」を選択して、「追加」(+)をクリックします。図5-13に、DatabaseProfileというUMLプロファイルの「変換後の名前」プロパティを示します。

    図5-13 UML変換用に生成されたクラス名を表示する「パッケージ」の「プロパティ」ダイアログ

    図5-13の説明が続きます
    「図5-13 UML変換用に生成されたクラス名を表示するパッケージの「プロパティ」ダイアログ」の説明

UMLのインポートとエクスポート

UMLバージョン2.1.1から2.4.1に準拠しているUMLモデルは、XML Metadata Interchangeを使用してJDeveloperにインポートできます。

他のモデリング・ソフトウェアを使用して作成したモデルは、そのモデルがUML 2.1.1から2.4.1に準拠している場合は、XML Metadata Interchange (XMI)ファイルを使用してJDeveloperにインポートできます。

XMI仕様では、メタモデルを使用してUMLモデルをXMLドキュメントに変換する方法が記述されています。

XMIを使用してUMLモデルをインポートおよびエクスポートする方法

プロファイルが別のファイルにある場合は、XMIを使用して、ダイアグラム以外の1つ以上のファイルをJDeveloperにインポートできます。UMLモデルをインポートする手順を使用してください。

インポートには、次の制約事項があります。

  • ダイアグラムはインポートできません。

  • XMIを使用して、1つ以上のファイルをインポートできます。XMIによって参照されるプロファイルはすべて、「ツール」→「プリファレンス」→「UML」→「プロファイル」を使用して最初にJDeveloperに登録しておく必要があります。

  • 各プロファイルが個別のファイルに存在する必要があります。詳細は、「UMLプロファイルの使用」を参照してください。

XMIからUMLモデルをインポートするには:

  1. 「アプリケーション」ウィンドウで空のプロジェクトを選択し、「ファイル」→「インポート」を選択します。
  2. 「XMIからUML」を選択し、「OK」をクリックします。
  3. 「UMLをXMIからインポート」ダイアログを完了します。ダイアグラムは、インポートされたモデルから自動的に作成されます。図5-14に示すように、このオプションはプロセス中にダイアログで示されます。

    図5-14 「XMI」ダイアログからUMLをインポート

    図5-14の説明が続きます
    「図5-14 「XMI」ダイアログからUMLをインポート」の説明
XMIとしてのUMLモデルのエクスポート方法

UMLモデルをXMIとしてエクスポートする手順を使用してください。

次のステップに従って、UMLモデルをXMIとしてエクスポートします。

  1. プロジェクトを選択します。
  2. 「ファイル」→「エクスポート」を選択します。

    図5-15 「XMI」ダイアログとしてUMLを選択

    図5-15の説明が続きます
    「図5-15 「XMI」ダイアログとしてUMLを選択」の説明

    図5-16 「XMI」ダイアログとしてUMLをエクスポート

    図5-16の説明が続きます
    「図5-16 「XMI」ダイアログとしてUMLをエクスポート」の説明
インポート時の一般的なエラー・メッセージ

ネームスペースや標準オブジェクト参照が正しくなければ、UMLモデルをインポートするときにXMIインポート・ログにエラーと警告が頻繁に出力されます。次の表に、エラーの解決方法を示します。

インポート中には、「XMIインポート」ログで頻繁に見られる一般的なエラーと警告があります。これらの多くは、いくつかの単純なステップで簡単に解決できます。詳細は、表5-1を参照してください。ログの項目をダブルクリックすると、問題のある要素に移動します。多くの場合、ネームスペースや標準オブジェクト参照が正しくないことが問題の原因です。

他のXMLと同様、有効なファイルの構造は、xmlnsネームスペースによって参照されるXMLスキーマによって指定されます。XMLは、オブジェクトまたはその親要素オブジェクトの値を表す要素と、値である属性とで構成されます。値が他のオブジェクトへの参照である場合もあり、たとえばHTMLの場合にはhrefとして表されます。

表5-1 インポート時の一般的なエラー・メッセージ

エラー・タイプ エラーの詳細 解決方法

プロファイルの欠落

  • エラー(16,80): appliedProfileプロパティの多重度は[1..1]です

  • エラー(17,70): 参照しようとした要素http://example.oracle.com/MyProfile#_0が欠落しています

  • 警告(2,356): http://example.oracle.com/MyProfileはネームスペースとして認識されていません

  • 警告(22,142): 要素urn:uuid:2b45f92d-31c8-4f67-8898-00a2f5bbfd22は無視されます

UMLには、'profile'で追加のXMLスキーマを指定できる拡張メカニズムがあります。前述のメッセージは、関連するプロファイルが登録されていなかったことを示しています。プロファイルを登録するには、「UMLプロファイルの使用」を参照してください。

XMIのバージョンが無効

エラー(2,360): 2.0はhttp://schema.omg.org/spec/XMI/2.1の正しいバージョンではありません

このメッセージは、xmi:version属性とxmlns:xmiネームスペースの間の不一致が原因です。xmi:versionは2.1である必要があります。

UMLネームスペースが無効

警告(2,356): http://schema.omg.org/spec/UML/2.1.1/Unknownはネームスペースとして認識されていません

このメッセージは、xmlns:umlネームスペースをhttp://schema.omg.org/spec/UML/2.1.1/uml.xmlにする必要があるために発生します。

L2標準プロファイル・ネームスペースが無効

  • エラー(13,80): appliedProfileプロパティの多重度は[1..1]です。

  • エラー(14,81): 参照しようとした要素http://schema.omg.org/spec/UML/2.1.1/L2Unknown#_0が欠落しています

  • 警告(2,344): http://schema.omg.org/spec/UML/2.1.1/L2Unknownはネームスペースとして認識されていません

これは、標準プロファイルがすでにツールに登録されている場合です。xmlnsネームスペースがhttp://schema.omg.org/spec/UML/2.1.1/StandardProfileL2.xmi、参照がhttp://schema.omg.org/spec/UML/2.1.1/StandardProfileL2.xmi#_0になるように、XMIを変更してください。

L3標準プロファイル・ネームスペースが無効

  • エラー(13,80): appliedProfileプロパティの多重度は[1..1]です。

  • エラー(14,81): 参照しようとした要素http://schema.omg.org/spec/UML/2.1.1/L2Unknown#_0が欠落しています

  • 警告(2,344): http://schema.omg.org/spec/UML/2.1.1/L2Unknownはネームスペースとして認識されていません

これは、標準プロファイルがすでに登録されている2つ目です。プロファイルの参照が正しくない場合、メッセージはL2プロファイル・ネームスペースメッセージの場合と似ています。正しいネームスペースはhttp://schema.omg.org/spec/UML/2.1.1/StandardProfileL3.xmi、正しい参照はhttp://schema.omg.org/spec/UML/2.1.1/StandardProfileL3.xmi#_0です。

標準のデータ型参照が無効

エラー(7,75): 参照しようとした要素http://schema.omg.org/spec/UML/2.1.1/Unknown#Stringが欠落しています

  • http://schema.omg.org/spec/UML/2.1.1/uml.xml#Boolean

  • http://schema.omg.org/spec/UML/2.1.1/uml.xml#Integer

  • http://schema.omg.org/spec/UML/2.1.1/uml.xml#String

  • http://schema.omg.org/spec/UML/2.1.1/uml.xml#UnlimitedNatural

MOFモデル・ライブラリの使用

プロジェクトのUMLオブジェクトは、Meta-Object Facility Model Library .jarファイルを使用することによって別のプロジェクトで再利用できます。JDeveloperフォーマットを使用するか、または各オブジェクトに一意のIDがある.xmiファイルを使用して、ライブラリにUMLオブジェクトを含めます。

MOF (Meta-Object Facility)モデル・ライブラリ.jarファイルを使用すると、1つのプロジェクト内のUMLオブジェクトを別のプロジェクトで再利用できます。

UMLオブジェクトは、次の2つの方法のいずれかでライブラリに含めることができます。

  • JDeveloperの独自の形式を使用

  • サード・パーティから提供される.xmiファイルを使用。この場合、各オブジェクトにはファイル内で一意のIDが必要です。

後者の場合、XMIファイルをインポートしてJDeveloperの形式に変換できます。ただし、この場合、オブジェクト識別子は保存されません。オブジェクト識別子は、標準化された参照を含んだ各自のモデルをライブラリ・オブジェクトにエクスポート可能にするときに必要な場合があります。

JDeveloperインストールにある次のモデル・ライブラリを参照すると便利な場合があります。

  • .../oracle/jdeveloper/jdev/extensions/oracle.uml.v2

    このディレクトリの2つのZIPファイルではカタログを使用します。

  • .../oracle/jdeveloper/jdev/extensions/oracle.jdeveloper.db.modeler.transform

    変換ZIPではJDeveloper形式を使用します。

XMIカタログ・ファイルの作成方法

.xmlカタログ・ファイル形式でライブラリ・ファイルの別名を指定します。テキスト・エディタを使用して、.xmiファイルを作成します。

ライブラリ・オブジェクトにのみIDがある場合、それらの参照には、そのオブジェクトを格納するファイルのURLが含まれます。これはデフォルトでは、ディスク上の物理的な場所であり、マシン固有の場合があります。かわりに、.xmlカタログ・ファイル形式でファイルに別名を指定する必要があります。

テキスト・エディタを使用して、次の情報を含む.xmiファイルを作成します。

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE catalog PUBLIC "-//OASIS//DTD XML Catalogs V1.1//EN"  "http://www.oasis-open.org/committees/entity/release/1.1/catalog.dtd"><catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">  <uri name="http://example.oracle.com/MyLibrary.xmi" uri="MyLibrary.xmi"/>  <uri name="http://example.oracle.com/MyLibraryAlias.xmi" uri="http://example.oracle.com/MyLibrary.xmi"/></catalog>

最初のURI要素は、標準名をライブラリ・ファイルにマップします。これは、ライブラリ内のカタログの場所の相対パスとして指定されます。.xmiファイルごとに、これらのエントリのいずれかが必要です。オプションで、前述の2番目の要素などのURI要素を追加で使用して、標準名に対する追加の別名を指定できます。これは、ライブラリに複数のバージョンがある場合に役立ちます。

OASIS XMLカタログ仕様の前述のURI要素のみがサポートされることに注意してください。

MOFモデルJARファイルの作成

MOFモデルJARファイルを作成する手順を使用してください。

MOFモデルJARファイルを作成するには::

  1. モデルを含むプロジェクトを右クリックして、「プロパティ」を選択します。「プロジェクト・プロパティ」ダイアログで、「ライブラリとクラスパス」を選択します。

    「ライブラリの追加」または「JAR/ディレクトリの追加」をクリックして、任意の.xmiファイルとカタログの.xmlファイルをプロジェクトのモデル・パスに追加します。「OK」をクリックします。

  2. 「ファイル」→「新規」→「ギャラリから」を選択します。「一般」カテゴリで、「デプロイメント・プロファイル」を選択します。「MOFモデル・ライブラリ」項目を選択して、「OK」をクリックします。

    1. デプロイメント・プロファイルの名前を指定して、「OK」をクリックします。左側に「JARオプション」が選択された状態で、「MOFモデル・ライブラリ」ダイアログが開きます。

    2. 「JARオプション」領域で、JARファイルの場所を参照して、ダイアログを完了します。「OK」をクリックします。「プロジェクト・プロパティ」の「デプロイメント」ページに戻ります。

  3. 「デプロイメント・プロファイル」領域で、MOFモデル・ライブラリの名前をダブルクリックします。左側のパネルで「ライブラリ・オプション」を選択します。

    • 「ライブラリ名」フィールドに名前を入力します。デプロイメント・プロファイルと同じ名前にする必要はありません。

    • カタログ・ファイルがある場合、「MOFカタログ・エントリ」フィールドに入力して、JARファイル内のカタログの場所を指定します。ファイル・グループを調べて、JARファイルに含められる内容を確認できます。

    • 「OK」をクリックします。

  4. 作成したJARに変更をデプロイするには、プロジェクトを右クリックして、「デプロイ」→「MyMOFLibrary」を選択します。

MOFモデル・ライブラリの追加

プロジェクトにライブラリを追加するには、MOFモデル・ライブラリのソース・パスを追加する必要があります。MOFモデル・ライブラリを追加する手順を使用してください。

MOFモデル・ライブラリを追加するには

プロジェクトにライブラリを追加する場合、ここで詳述するように、MOFモデル・ライブラリのソース・パスを追加します。再デプロイする場合は、JARを新しい変更で更新できます。

  1. プロジェクトを選択して、「ツール」→「ライブラリの管理」を選択します。「ライブラリ」タブを選択して、「新規...」ボタンをクリックします。
  2. 「ライブラリ名」フィールドに、MOFモデル・ライブラリの名前を入力します。
  3. JARのルート・モデル・フォルダをソース・パスに追加します。プロジェクトを右クリックして、「プロパティ」を選択します。「プロジェクトのソース・パス」ノードを選択し、右側の「Javaソース・パス」領域で「追加」ボタンをクリックしてからライブラリ・パスを参照して、「OK」をクリックします。
MOFモデル・ライブラリの使用

MOFモデル・ライブラリを使用する手順を使用してください。

MOFモデル・ライブラリを使用するには

  1. 新しいプロジェクトを作成するか、既存のプロジェクトを選択します。
  2. プロジェクト・プロパティを表示して、「ライブラリとクラスパス」ノードを選択します。
  3. 「ライブラリの追加」をクリックして、MOFモデル・ライブラリの場所を参照します。
  4. 「OK」をクリックします。

変換の使用

JDeveloperがサポートするデータベース表、JavaクラスおよびインタフェースでのUML変換は、同じソースおよびターゲット・モデルを使用して何度でも実行できます。変換を実行する手順を使用してください。

JDeveloperでは、データベース表、Javaクラスおよびインタフェースに対するUML変換がサポートされています。「変換タイプ」を参照してください。

同じソース・モデルとターゲット・モデルを使用して、変換を何度でも実行できます。JavaクラスからUMLへの逆変換の機能もあります。

変換を実行するには:

  • UMLオブジェクトまたは要素、データベース表あるいはJavaクラスを選択します。

  • メイン・メニューから、「ダイアグラム」→「変換」を選択します(「ダイアグラム」メニューは、適切な要素を選択した場合にのみ表示される)。

  • 変換のタイプを選択します。

変換タイプ

JDeveloperは、「モデルのみ」、「同一ダイアグラム」および「新規ダイアグラム」の変換タイプをサポートします。変換を開始するときに、変換タイプを選択します。

変換を開始したら、次の3つの変換タイプのいずれかを選択する必要があります。

    • 「モデルのみ」。変換した要素の定義を作成しますが、それらはダイアグラムに追加されません。モデルが作成され、現在のプロジェクトの「アプリケーション」ウィンドウに表示されます。

    • 「同一ダイアグラム」。変換した要素を現在のダイアグラムに作成します。作成したモデルは次の場所に表示できます。

      • 「アプリケーション」ウィンドウ。

      • UMLクラス図。データベースからの変換は、モデル化された表および制約として表示されます。

    • 「新規ダイアグラム」。変換した要素の新しいダイアグラムを作成します。これがデータベースの場合、新規クラス図には、変換されたデータベース表ごとのクラスが表示されます。

UML-Java変換

UMLモデリング・ツールを使用すると、UMLクラス・モデルを作成してJavaに変換する、またはその逆に変換することができます。

UMLからJavaへの変換

UMLモデリング・ツールを使用して、UMLクラス・モデルを作成し、その後Javaに変換します。UMLをJavaに変換する手順を使用してください。

  1. 変換するUML要素を選択します。
  2. 変換タイプを選択します。
  3. 「OK」をクリックします。

図5-17 UMLのオプションが表示された「変換」ダイアログ

図5-17の説明が続きます
「図5-17 UMLのオプションが表示された「変換」ダイアログ」の説明
JavaからUMLへの変換

UMLモデリング・ツールを使用してUMLクラス・モデルを作成し、その後Javaに変換します(逆もまた同様)。JavaをUMLに変換する手順を使用してください。

  1. 変換するJava要素を選択し、コンテキスト・メニューから「変換」を選択します。
  2. 変換タイプを選択します。
  3. 図5-18に示すように、「OK」をクリックします。

図5-18 JavaからUMLのオプションが表示された「変換」ダイアログ

図5-18の説明が続きます
「図5-18 JavaからUMLのオプションが表示された「変換」ダイアログ」の説明

UML-オフライン・データベース変換

UMLモデリング・ツールを使用すると、UMLクラス・モデルを作成してJavaまたはオフライン・データベースに変換できます。

オフライン・データベース・ダイアグラムからUMLへの変換

UMLモデリング・ツールを使用すると、Javaまたはオフライン・データベースに変換できるUMLクラス・モデルを作成できます。オフライン・データベース・ダイアグラムをUMLに変換する手順を使用してください。

  1. 変換するオフライン・データベース・オブジェクト(複数可)を選択します。
  2. 右クリックして、「変換」を選択します。
  3. 変換タイプを選択します。
  4. 図5-19のように、「変換」ダイアログが表示されます。「オフライン・データベース・オブジェクトをUMLへ」を選択します。
  5. 「OK」をクリックします。

    図5-19 オフライン・データベースをUMLへダイアログ・オプションが表示された、変換ダイアログ

    図5-19の説明が続きます
    「図5-19 オフライン・データベースをUMLへダイアログ・オプションが表示された、変換ダイアログ」の説明
UMLからオフライン・データベース・オブジェクトへの変換

UMLモデリング・ツールを使用すると、Javaまたはオフライン・データベースに変換できるUMLクラス・モデルを作成できます。UMLをオフライン・データベース・オブジェクトに変換する手順を使用してください。

  1. 「アプリケーション」ウィンドウで、変換するUMLクラスを含むプロジェクトを選択します。
  2. 「ファイル」→「新規」→「ギャラリから」を選択します。
  3. 「データベース層」を開き、「オフライン・データベース・オブジェクト」を選択します。
  4. 項目リストから、「UMLクラス・モデルからのオフライン・データベース・オブジェクト」を選択して、「OK」をクリックします。

    「UMLクラス・モデルからのオフライン・データベース・オブジェクト」ウィザードが開きます。

    「新規ギャラリ」からウィザードを起動した場合、変換プロセス中に作成されるオフライン・データベース・オブジェクトは、「アプリケーション」ウィンドウでのみ使用可能になります。

  5. 設定を指定します
    • デフォルト表5-2の設定をデフォルト値にリセットします。

    • 「以前の変換」JDeveloperのこのセッションで以前にウィザードを実行した場合、このオプションを選択すると、変換設定の前回のセットを使用できます。

    • 「以前に保存されたファイル」。選択すると、ファイルに保存された変換設定が使用されます。

  6. ソースを指定します。左側のフォルダを開き、データベース・モデルの変換対象の要素を選択し、「>」矢印を使用してその要素を「選択済」リストに移動します。図5-20を参照してください。

    図5-20 UMLクラス・モデルからのオフライン・データベースの作成例

    図5-20の説明が続きます
    「図5-20 UMLクラス・モデルからのオフライン・データベースの作成例」の説明
  7. ターゲットを指定します。ターゲット・データベースとそのスキーマを指定します。各オプションの説明については、「ヘルプ」をクリックしてください。
  8. ネーミング・オプションを設定します。UML名の変換形式を選択します。
  9. 階層オプションを設定します。変換ルールを指定し、交差表の作成を有効または無効にします。各オプションの説明については、「ヘルプ」をクリックしてください。
  10. ロギング・オプションを設定します。ログに記録するメッセージを選択します。
  11. プレビューを確認します。ウィザードの最後のページでは、データベース・モデルを表示して、変換設定をファイルに保存できます。
  12. 「終了」をクリックします。オフライン・データベース・オブジェクトが作成され、「アプリケーション」ウィンドウに表示されます。変換設定が保存されます(該当オプションを有効にした場合)。
ダイアグラムのUMLクラスからオフライン・データベースへの変換

UMLクラスをオフライン・データベース・オブジェクトに変換する手順を使用してください。

  1. 変換するダイアグラムを開きます。
  2. 変更する要素を選択します。右クリックして、「変換」を選択します。
  3. 変換タイプを選択します。
  4. UMLをオフライン・データベースへを選択します。
  5. 変換ウィザードが開き、変換のオプションを選択できます。
階層オプションの設定

「UMLクラス・モデルからのオフライン・データベース・オブジェクトの作成」ウィザードの「階層オプションの設定」ページには、ルート・クラスとリーフ・クラスをオフライン表に変換するためのオプションがあります。「全クラスを変換、継承あり」および「全クラスを変換、外部キーを作成」は、変換セットのすべてのクラスに対してオフライン表を作成します。

「UMLクラス・モデルからのオフライン・データベース・オブジェクトの作成」ウィザードの「階層オプションの設定」ページでは、4つのタイプの汎化を指定できます。

オプションは次のとおりです。

  • ルート・クラス変換

  • リーフ・クラス変換

  • 全クラスを変換して汎化

  • 全クラスを変換、外部キーを作成

図5-21のように、2つのルート・クラスと3つのリーフ・クラスを考えます。

図5-21 2つのルート・クラスと3つのリーフ・クラスを示すダイアグラム

図5-21の説明が続きます
「図5-21 2つのルート・クラスと3つのリーフ・クラスを示すダイアグラム」の説明

「ルート・クラス変換」のオプションを選択した場合、図5-22に示すように、ルート・クラスがオフライン表に変換され、階層における子孫クラスの属性と外部キーもすべて変換されます。識別子列を作成するオプションもあります。識別子列には、特定の行に対してどのサブクラスをインスタンス化するかを判読するために、永続層に対するマーカー値が含まれます。

図5-22 変換されたルート・クラス

図5-22の説明が続きます
「図5-22 変換されたルート・クラス」の説明

「リーフ・クラス変換」オプションを選択した場合、図5-23に示すように、リーフ・クラスがオフライン表に変換され、先祖クラスの列と外部キーを継承します。

図5-23 汎化したクラスから継承して変換されたリーフ・クラス

図5-23の説明が続きます
「図5-23 汎化したクラスから継承して変換されたリーフ・クラス」の説明

「全クラスを変換、継承あり」オプションを選択した場合、変換セットのすべてのクラスに対してオフライン表が作成されます。図5-24に示すように、各表は先祖表から列と外部キーを継承しますが、その点を除けば独立しています。

図5-24 汎化クラスから継承して変換されたすべてのクラス

図5-24の説明が続きます
「図5-24 汎化クラスから継承して変換されたすべてのクラス」の説明

「全クラスを変換、外部キーを作成」のオプションを選択した場合、変換セットのすべてのクラスに対してオフライン表が作成されます。図5-25に示すように列と外部キーは継承されず、親表(複数可)に対して外部キーが作成されます。

図5-25 外部キーを作成して変換されたすべてのクラス

図5-25の説明が続きます
「図5-25 外部キーを作成して変換されたすべてのクラス」の説明
変換設定

次の表に、「UMLクラス・モデルからのオフライン・データベース・オブジェクトの作成」ウィザードの最後のページで「ファイルへの変換設定の保存」オプションを選択した場合に保存できる変換設定を示します。

表5-2に、「UMLクラス・モデルからのオフライン・データベース・オブジェクトの作成」ウィザードの最後のページで「ファイルへの変換設定の保存」オプションを選択した場合に保存できる情報を示します。「UMLからオフライン・データベース・オブジェクトへの変換」のステップ12を参照してください。

表5-2 保存可能な変換設定

変換設定 ウィザードのページとノート

ターゲット・プロジェクトとオフライン・データベース

「ターゲットの指定」。UMLオブジェクトの変換先を指定します。

オフライン・スキーマ

「ターゲットの指定」。オブジェクトの変換先のスキーマです。

「スキーマの選択」を選択して存在しないスキーマを指定した場合、スキーマが作成されることに注意してください。新しいスキーマに一度変換してスキーマの名前を変更した後、同じ設定を再利用して再度変換する場合、古いスキーマが再作成され、変換されたオブジェクトはその場所に作成されます。

UML名変換

「ネーミング・オプションの設定」。UML名を大文字の複数形にするルールを指定します。

ロール名の反転

「ネーミング・オプションの設定」。外部キーの列の作成時に、UMLアソシエーションの隣接する端または反対の端のどちらのロール名を使用するかを指定します。

「コメントの追加」オプション

「ネーミング・オプションの設定」。新しいオフライン・データベース・オブジェクトの作成過程に関するコメントが、そのオブジェクトで必要かどうかを指定します。

「階層」オプション

「階層オプションの設定」。階層のクラスが表に変換される場合に、属性とアソシエーションをどのように継承するかを決定します。

多対多アソシエーション

「階層オプションの設定」。多対多アソシエーションの交差表を作成するかどうかを指定します。

ログ・メッセージ

「ロギング・オプションの設定」。ログに記録するメッセージのタイプ(「エラー」、「警告」、「情報」、「作成」および「進捗」)を指定します。

変換設定の再利用

「設定の再適用」オプションを使用して変換設定を再利用するには、次のステップに従います。

「UMLからオフライン・データベース・オブジェクトへの変換」のステップ5の説明に従って、変換設定を指定できます。
  1. 「アプリケーション」ウィンドウでクラスを選択して、コンテキスト・メニューから「新規」→UMLクラス・モデルからのデータベース・オブジェクトを選択します。
  2. 「設定の指定」ページで、変換設定を指定します。「設定」ページで変換を行った後、ウィザードを続けて使用する場合は、「戻る」ボタンを使用して「設定の指定」ページに戻ることができます。この場合、「設定の再適用」オプションが表示されます。このオプションを選択すると、このウィザードの初期設定を変更できます。
UML変換用のデータベース・プロファイルの使用

DatabaseProfileと呼ばれるUMLプロファイルによって、クラス・モデルがどのようにオフライン・データベース・モデルに変換されるのかが決まります。次の表に、要素の変換方法を制御するDatabaseProfileのステレオタイプのプロパティを示します。

JDeveloperにはDatabaseProfileと呼ばれるUMLプロファイルが付属しています。このプロファイルを使用すると、オフライン・データベース・モデルに変換されるときのクラス・モデルに対する処理を指定できます。「UMLプロファイルの使用」を参照してください。

DatabaseProfileには、要素の変換方法を制御するステレオタイプのプロパティが含まれます。このプロファイルに含まれるステレオタイプとそのプロパティは、表5-3のとおりです。

表5-3 DatabaseProfileのステレオタイプとプロパティ

ステレオタイプ 適用先 オフライン・データベースのタイプ プロパティ ノート

データベース・パッケージ

UML::Package

SCHEMA

変換後の名前

データベース・クラス

UML::Class

TABLE

変換後の名前

データベース属性

UML::Property

COLUMN

データ型、プライマリ

UMLプロパティは、属性またはアソシエーションの端です。

データベース・データ型

UML::Type

n/a

データ型

メタモデルで、TypeはClass、Association、PrimitiveTypeなどを含む広範囲の要素のスーパークラスです。このステレオタイプはすべてに適用できます。プロパティ(属性)が特定タイプの場合は常に、トランスフォーマによって読取りが可能です。

データベース制約

UML::Constraint

CONSTRAINT

変換後の名前、本体

変換した表に対してチェック制約を作成します。

データベース・アソシエーション

UML:: Association

CONSTRAINT

外部キー・ネーミング・ルール

データベースの汎化

UML:: Generalization

CONSTRAINT

外部キー・ネーミング・ルール

特定のトランスフォーマは汎化から外部キーを作成し、このステレオタイプがここで適用されます。

属性(プロパティ)は、表5-4を参照してください。

表5-4 DatabaseProfileのステレオタイプのプロパティ

プロパティ 説明 タイプ

変換後の名前

変換されるデータベース・オブジェクトの名前。ブランクのままにすると、デフォルトのネーミング・ルールが適用されます。

文字列

本文

チェック制約のSQLコード。

文字列

データ型

データ型のSQLテキスト。

デフォルト、ANSI、Oracleと、サポートされるその他のデータベース・タイプなど様々なデータ型があります。

文字列

外部キー・ネーミング・ルール

アソシエーションから外部キーに名前を付けるときに使用するルール。UML名またはdatabaseNameプロパティを使用するか、表名からデフォルト名を導出します。

両方の表データベース名 所有者名 UML名

プライマリ

変換された列が親表の主キーの一部であることを示すフラグ。

ブール値

DatabaseProfileを使用してクラス・モデルを変換するには

DatabaseProfileを使用してクラス・モデルを変換する手順を使用してください。

DatabaseProfileを使用してクラス・モデルを変換できます。

  1. 「アプリケーション」ウィンドウで、UMLパッケージ(package.uml_pck)を右クリックして、「プロパティ」を選択します。
  2. パッケージ・プロパティの「構造」ペインで、「プロファイル・アプリケーション」を選択し、「追加」(+)をクリックします。
  3. 使用可能なプロファイルのリストからDatabaseProfileを選択します。「OK」をクリックします。新しいファイルDatabaseProfile.uml_paが「アプリケーション」ウィンドウに表示されます。
  4. これで、プロジェクトの様々な要素にステレオタイプを適用できるようになります。これにより、この要素の「クラスのプロパティ」ダイアログが開きます。

    変換後に使用する名前を指定するには、「適用済ステレオタイプ」を選択し、「追加」をクリックして「データベース・クラス」を選択します。図5-13のように、「プロパティ」で、「変換後の名前」の隣に値を入力します。

  5. ステレオタイプを適用するように設定してから、続行して「UMLオフライン・データベース変換」のステップに従い、UMLクラス・モデルを変換します。設定したDatabaseProfileのステレオタイプとプロパティは変換の際に適用されます。表5-2を参照してください。

ステレオタイプは他の要素にも適用できます。たとえば、特定のクラスによって所有されている属性にデータ型と主キーを指定できます。同じクラスのプロパティ・ダイアログで、「所有された属性」を開きます。既存の属性を選択するか、「追加」をクリックして名前を入力することにより、属性を作成します。所有された属性のノードを開いて、「適用済ステレオタイプ」を選択し、「追加」をクリックします。図5-26では、このレベルで指定できる多くのデータ型、属性が主キーに変換されるかどうか、および変換後の名前を示しています。

図5-26 適用済ステレオタイプのデータベース属性

図5-26の説明が続きます
「図5-26 適用済ステレオタイプのデータベース属性」の説明

DatabaseProfileに含まれるステレオタイプおよびプロパティの詳細は、表5-3および表5-4を参照してください。

ロギング・オプション

記録するアクションを選択するには、次のステップに従います。

  1. クラス図を選択して、コンテキスト・メニューから「新規」→「UMLクラス・モデルからのオフライン・データベース・オブジェクト」を選択します。ウィザードが開きます。
  2. 「ロギング・オプションの設定」ページで、ログに記録するアクションのタイプを選択します。

UML-ADFビジネス・コンポーネント変換

UMLクラス図をADFビジネス・コンポーネントに変換する手順を使用してください。

UMLクラス図がある場合、「UML-オフライン・データベース変換」で説明しているプロセスとほぼ同様のプロセスを使用して、この図をADFビジネス・コンポーネントに変換できます。

  1. 「アプリケーション」ウィンドウで、変換するUMLクラスを含むプロジェクトを選択します。
  2. 変換するクラスを右クリックして、コンテキスト・メニューから「変換」を選択します。
  3. 変換タイプを選択します。
  4. 変換したコンポーネントを含めるデータベースの作成が求められます。データベースの接続後、ADFビジネス・コンポーネントの作成は、新しいADFビジネス・コンポーネント・ダイアグラムの作成と同じ方法で進められます。

UMLクラス図によるモデリング

UMLクラス図では、長方形は1種類の情報のみを保持するコンパートメントを含むインタフェースとともにクラスを表します。次の表で、クラス図の要素について説明します。

UMLクラス図では、クラスは、クラス名と詳細を含む四角形で表されます。ダイアグラム上で、クラスおよびインタフェースはコンパートメントに分割されており、各コンパートメントには、図5-27に示すように情報が1種類のみ含まれます。表5-5に、可能な要素を示します。クラスは、圧縮、シンボルまたは拡張済のノードとして表示できます。

図5-27 要素を含むUMLクラス図

図5-27の説明が続きます
「図5-27 要素を含むUMLクラス図」の説明

表5-5 クラス図の要素

要素 説明

*対*アソシエーション

UMLクラス間の多対多の関係を定義します。

1対*アソシエーション

UMLクラス間の1対多の関係を定義します。

1対*アソシエーション・クラス

無向1対多アソシエーション・クラスを定義します。

クラス

オブジェクトを表します。クラスは、オブジェクト指向アプリケーションの主要な構築ブロックを形成します。垂直に重ねた3つのコンパートメントを含む四角形として、ダイアグラム上で表されます。

制約

制約は、システムの動作やソリューションをモデル化するときの自由度、または自由度の欠如です。

制約の添付

他のUML要素に制約を添付します。

データ型

データ型は、データ値を定義するモデル要素です。

有向1対*アソシエーション

「有向1対*アソシエーション」は、ダイアグラムでは、複数のアソシエーションの方向を開いた矢印で指す実線として表示されます。

有向1対1アソシエーション

「有向1対1アソシエーション」は、ダイアグラムでは、アソシエーションの方向を開いた矢印で指す実線として表示されます。

有向コンポジット集約

ダイアグラムでは、アソシエーションの方向に開いた矢印と、塗りつぶされたダイアモンド型の付いた実線でアソシエーションの発生側に表示されます。

列挙

列挙は、有限の、通常は小さいセットの名前付きリテラルを持つデータ型です。列挙には、列挙の値を表す名前付き識別子のセットが含まれます。

汎化

分類子間の汎化関係を定義します。ダイアグラムでは、特殊分類子またはインタフェースの方向を白抜きの矢印で指す実線として表示されます。

インタフェース

インタフェースは、名前コンパートメントのキーワード«interface»で表されます。インタフェースは、圧縮、シンボルまたは拡張済のノードとして表示できます。ネストされたクラスおよびインタフェースは、標準および拡張済のインタフェース内部でモデル化できます。

パッケージ

システムを複数のパッケージに分割するために使用し、システムを簡略化してわかりやすくします。

プリミティブ・タイプ

プリミティブ型またはプリミティブ・データ型は、ブール、バイト、小数、DateTime、Double、Float、Timeなどのデータ型です。

実現

インタフェースがクラスによって実現される位置を定義します。ダイアグラム上に破線と実装されているインタフェースに向けた白抜きの矢印で表されます。

UMLクラス図の作成

UMLクラス図を作成する手順を使用してください。ツール・プリファレンスの「ダイアグラム」の下にある「クラス」の「ダイアグラム」オプションを使用して、ダイアグラム表示のプロパティを設定します。

次のステップに従って、UMLクラス図を作成します。

  1. プロジェクトを右クリックし、「新規」→「ギャラリから」を選択します。

  2. 「一般」カテゴリで「UML」ノードを選択します。「項目」ペインで、「クラス図」を選択し、「OK」をクリックします。

    1. このパッケージ内で一意の名前をダイアグラムに付けます。

    2. このダイアグラムの所有パッケージを選択または参照します。

  3. 「OK」をクリックします。

図5-28に、一般的なクラス図のレイアウトの例を示します。すべての属性および操作には、可視性を表す記号が表示されます。可視性の記号には、Public (+)、Private (-)、Protected (#)および~ Packageがあります。

ダイアグラム表示プロパティを設定するには、「ツール」→「プリファレンス」→「ダイアグラム」→「クラス」に移動して、「ダイアグラム」を選択します。

ダイアグラム上の要素の表示方法を変更することもできます。大きさが不足し、内容の全体を表示できない各コンパートメントには、省略記号(...)が表示されます。モデル化されたクラスのすべての属性を表示するには、クラスを右クリックして図形の高さの最適化を選択します。

クラス図機能の操作

クラスをダイアグラムにドラッグして、クラスとインタフェースを作成します。クラス・プロパティは、ダイアグラム上のモデル化されたクラスおよびインタフェースに追加できます。

「コンポーネント」ウィンドウには、図5-28表5-5に示すように、クラス図に使用できる要素が含まれています。

クラスをダイアグラムにドラッグし、クラスとインタフェースを作成します。プロジェクト設定とデフォルト・プロパティのモデル・パスで指定されている場所に、要素が作成されます。(「アプリケーション」→「デフォルト・プロジェクト・プロパティ」。)パッケージをクリックしてパッケージをモデル化することもできます。モデル化されたパッケージを右クリックして「ドリル・ダウン」を選択すると、そのパッケージのダイアグラムが表示されます。

クラス・プロパティは、次のいずれかの方法でダイアグラム上にモデル化されたクラスとインタフェースに追加されます。

  • モデル化されたクラスまたはインタフェースをダブルクリックし、プロパティ・ダイアログにアクセスします。

  • クラスまたはインタフェースを右クリックし、「プロパティ」を選択します。

図5-28 クラス図の「コンポーネント」ウィンドウ

図5-28の説明が続きます
「図5-28 クラス図の「コンポーネント」ウィンドウ」の説明
分類子、制約およびパッケージの作成方法

「コンポーネント」ウィンドウの「クラス」を使用して、分類子、制約およびパッケージを作成します。新しいオブジェクトは、ダイアグラム・フォルダに対応するパッケージに作成されます。

分類子、制約およびパッケージは、「ダイアグラム・ノードの操作」で説明するようにダイアグラム・ノードの作成と同じ方法で作成できます。ただし、「コンポーネント」ウィンドウのドロップダウンから「クラス」を選択します。新しいオブジェクトは、ダイアグラムが含まれるフォルダに一致するパッケージに作成されます。

属性の作成方法

属性は、要素のプロパティ・ダイアログを使用することによってモデル化されたクラスまたはインタフェースから作成できます。同一ダイアグラムで1つのクラスまたはインタフェースから別のクラスまたはインタフェースに属性をドラッグすることでも、属性が作成されます。

属性を作成するには、いくつかの方法があります。

  • モデル化されたクラスまたはインタフェースをダブルクリックし、要素のプロパティ・ダイアログを使用して属性を追加します。

  • クラスまたはインタフェースを右クリックして「プロパティ」を選択し、要素のプロパティ・ダイアログを使用して属性を追加します。

  • ダイアグラム上の1つのクラスまたはインタフェースから、同じダイアグラム上の別のクラスまたはインタフェースに、既存の属性をドラッグします。

クラス内の属性の順序を任意に変更するには、「アルファベット順でソート」オプションを無効にして、画面上で属性を上または下にドラッグします。「ツール」→「プリファレンス」を選択して、「ダイアグラム」ノードを開き、「クラス」を選択します。「次のプリファレンスを編集」ドロップダウンから、「クラス」または「インタフェース」を選択します。「属性」または「操作」タブをクリックして、「アルファベット順でソート」の選択を解除します。

ネストされたクラスとネストされたインタフェースの追加方法

ネストされたクラスおよびインタフェースは、クラスのポップアップ・メニューにある「表示モード」の「拡張済」オプションを使用することによって、モデル化されたクラスに作成されます。

ネストされたクラスとネストされたインタフェースを作成するには、モデル化されたクラスまたはインタフェースにそれらを作成するか、インプレース作成(シンボル表示のみ)を使用して図形の表示設定を変更するか、またはクラスを右クリックして「表示モード」→「拡張済」を選択した後、拡張済ノード内部に別のクラスを作成します。

属性と操作の追加方法

属性または操作は、要素のプロパティ・ダイアログを使用することによってモデル化されたクラスまたはインタフェースから追加できます。同一ダイアグラムで1つのクラスまたはインタフェースから別のクラスまたはインタフェースに属性をドラッグすることでも、属性または操作が追加されます。

モデル化されたクラスとインタフェースに属性と操作を追加するには、次のいずれかの方法を使用します。

  • モデル化されたクラスまたはインタフェースをダブルクリックし、要素のプロパティ・ダイアログを使用して属性または操作を追加します。

  • クラスまたはインタフェースを右クリックして「プロパティ」を選択し、要素のプロパティ・ダイアログを使用して属性または操作を追加します。

  • ダイアグラム上の1つのクラスまたはインタフェースから、同じダイアグラム上の別のクラスまたはインタフェースに、既存の属性または操作をドラッグします。

    クラスまたはインタフェースにおける属性または操作の順序を変更するには、画面で上下にドラッグします。属性または操作の「アルファベット順でソート」プロパティは、選択を解除する必要があります(「ツール」→「プリファレンス」→「ダイアグラム」→「クラス」→「次のプリファレンスを編集」: 「クラス」または「インタフェース」→「属性」または「操作」→「アルファベット順でソート」)。

属性と操作を非表示にする方法

ダイアグラム要素のポップアップ・メニューを使用して1つ以上の属性または操作を非表示にする手順を使用してください。

ポップアップ・メニューを使用して、ダイアグラム上の属性および操作を表示したり非表示にしたりできます。

1つ以上の属性または操作を非表示にするには:

  1. 非表示にする属性または操作を選択します。
  2. 選択した項目を右クリックして、「非表示」→「選択した図形」を選択します。属性または操作を表示するには、「非表示のメンバーをすべて表示」を選択します。
汎化、実現、およびアソシエーションの追加方法

クラス・コンポーネント・ウィンドウで「汎化」を使用して、クラスのダイアグラムに汎化した構造を作成します。アソシエーションは、アソシエーション・アイコンを使用して、モデル化されたクラスおよびインタフェースの間で作成されます。

汎化した構造をクラス図に作成するには、クラス・コンポーネント・ウィンドウで「汎化」アイコンを使用します。

クラスによってインタフェースを実現する場所に、ダイアグラムの「クラス」の「コンポーネント」ウィンドウで「実現」アイコンを使用してインタフェースをモデル化します。

「アソシエーション」アイコンを使用し、モデル化されたクラスとインタフェースの間で様々なアソシエーションを作成できます。アソシエーションは、モデリングされたアソシエーションをダブルクリックして、そのプロパティを変更することによって変更します。

アクティビティ図によるモデリング

アクティビティ図は、システムの動作を取得します。モデル・ビジネスは、調整されたアクションの実行を示すことによってアクティビティ図を使用して処理されます。

ビジネス・プロセスのモデル化には、アクティビティ図を使用します。ビジネス・プロセスとは、注文処理、出荷、精算および支払いプロセス・フローなどビジネス目標を達成するために調整されたタスクです。

次の図に示すように、アクティビティ図は、システムの動作を取得し、調整されたアクションの実行を示します。

図5-29 要素を示すアクティビティ図の例

図5-29の説明が続きます
「図5-29 要素を示すアクティビティ図の例」の説明

アクティビティ図機能の操作

アクティビティ図に使用できる要素は、「コンポーネント」ウィンドウ内に配置されます。アクティビティはダイアグラムに直接配置することが可能で、他の要素は「アクティビティ」内に配置できます。

「コンポーネント」ウィンドウには、アクティビティ図に使用できる要素が含まれています。「アクティビティ」は、ダイアグラムに直接配置できる唯一の要素です。他の要素は「アクティビティ」の内部に配置できます。図5-30および表5-6に示すように、各要素は一意のアイコンと説明のためのラベルで表されます。

図5-30 アクティビティ図の「コンポーネント」ウィンドウ

図5-30の説明が続きます
「図5-30 アクティビティ図の「コンポーネント」ウィンドウ」の説明

表5-6 アクティビティ図の要素

要素 説明

アクション

アクションは、請求書の送信や支払いの受領など、動作を指定する基本単位です。アクティビティ内の1つのステップを表します。アクションは、一連の入力を受け取って一連の出力に変換します。アクションの実行は、モデル化されたシステムにおける変換または処理を表します。

アクションは、制御フローおよびオブジェクト・フローの形で入力を受け取る場合があり(後者は入力ピンを介して)、その処理または変換の結果を送信制御フローまたはオブジェクト・フローへ(後者は出力ピンを介して)、そしてさらに下流ノードに渡します。アクションの実行は、すべての前提条件が満たされるまで開始されません。

アクティビティ

ビジネス・プロセスなど、システムによって実行される動作。アクティビティは、独自の処理、オブジェクト・ノード、およびそれらの間のフローによって定義される動作です。

アクティビティ最終ノード

制御トークンを初めて受信したとき、アクティビティの実行を終了します。最終ノードは、アクティビティに複数あってもかまいません。アクティビティ最終ノードは、このダイアグラム上の各アクションが終了したことを示します。

分岐/結合

垂直または水平の棒として表示されます。分岐は1つの受信フローと複数の送信フローを持つ制御ノードです。結合は複数の受信フローを1つの送信フローに同期する制御ノードです。分岐/結合のペアを、1つのダイアグラム・ノードとして組み合せることができます。

コール動作アクション

アクションの入力と出力を適切な動作パラメータに単純にマップします。

コール操作アクション

操作コール・リクエストをターゲット・オブジェクトに転送し、そこで関連する動作を呼び出させることができます。動作の結果はアクション出力になります。アクションの引数値は、呼び出された動作の実行に使用できます。

中央バッファ

オブジェクト・ノードの一種。トークンを格納(バッファ)する機能をノードに付与します。1つ以上のオブジェクト・ノードからの受信フローに着信するトークンを管理し、送信フローを介してどのトークンをどの順序で下流のオブジェクト・ノードに渡すかを選択します。

制御フロー

制御トークンのフローを示します。

データ・ストア

一時的でないデータにバッファを渡すオブジェクト・ノードの一種。

フロー終了ノード

アクティビティ全体の実行は終了せずに受信フローを終了させます。

初期ノード

アクティビティを実行する開始点。受信フローはなく、複数の送信フローがあります。初期状態はダイアグラムに1回のみ指定できます。

オブジェクト・フロー

オブジェクト・ノードを接続します。オブジェクト・フローは、ピンを使用してアクションに接続できます。

ノードのマージ

マージ・ノードには、複数の受信フローと1つの送信フローがあります。決定には、1つの受信フローと複数の送信フローがあります。

アクティビティ図の作成方法

「新規ギャラリ」ウィザードを使用し、「新規ダイアグラムの作成」のステップに従って、アクティビティ図を作成します。

初期ノードと終了ノードの作成方法

「コンポーネント」ウィンドウの「初期ノード」、「アクティビティ最終ノード」または「フロー終了ノード」オプションを使用して、ノードを作成します。

ノードを作成するには、「コンポーネント」ウィンドウで「初期ノード」アイコン、「アクティビティ最終ノード」アイコン、または「フロー終了ノード」アイコンをクリックした後、ダイアグラム上のノードを配置する場所をクリックします。

パーティションの表示方法

「プロパティ」ウィンドウの「表示オプション」の下の「アクティビティ・パーティションの表示」を使用して、ダイアグラムのパーティションを作成します。アクティビティ図にパーティションを表示する手順を使用してください。

ダイアグラムにパーティションを作成するには、アクションを選択してから、「プロパティ」ウィンドウの「表示オプション」で「アクティビティ・パーティションの表示」を選択します。

アクティビティ図にパーティションを表示するには:

  1. アクティビティ図で、アクションを選択します。
  2. 「プロパティ」ウィンドウで、「表示オプション」ノードを開きます。
  3. 「アクティビティ・パーティションの表示」を選択します。ダイアグラム上のアクションに「(パーティションなし)」というテキストが表示されます。
  4. テキストをクリックします。編集ボックスが表示され、パーティションの名前を入力できます。

シーケンス図によるモデリング

クラス・インスタンス間の相互作用は、メッセージの交換としてモデル化され、シーケンス図で表されます。

シーケンス図は、クラス・インスタンス間の相互作用を表します。相互作用は、メッセージの交換としてモデル化されます。次の図に示すように、シーケンス図の中核には、動作パターンを表すクラス・インスタンスとそれらの間で交換されるメッセージがあります。

図5-31 一般的なシーケンス図の例

図5-31の説明が続きます
「図5-31 一般的なシーケンス図の例」の説明

シーケンス図機能の操作

「コンポーネント」ウィンドウから追加される要素は、シーケンス図のデフォルト位置に配置されます。ライフラインは垂直方向に位置合せされ、同期コールと非同期コールはページで時系列に配置されます。

「コンポーネント」ウィンドウから追加する要素は、シーケンス図のデフォルト位置にレイアウトされます。ライフラインは垂直方向に位置合せされますが、他のライフラインに関連する場合には、作成メッセージに位置合せされます。同期コールと非同期コールは、ページの上から下へ時系列に配置されます。

次の図に、シーケンス図で使用できる「コンポーネント」ウィンドウの要素を示します。各要素は一意のアイコンと説明のためのラベルで表されます。

図5-32 シーケンス図の「コンポーネント」ウィンドウ

図5-32の説明が続きます
「図5-32 シーケンス図の「コンポーネント」ウィンドウ」の説明

表5-7 シーケンス図の要素

要素 説明

非同期コール

ダイアグラム上では、対角線と開いた矢印で表されます。非同期コールは、送信者が処理を続行する前にレスポンスを待つ必要がないコールです。

作成メッセージ

ダイアグラムでは、作成されるオブジェクトを表す四角形と破線が元のオブジェクトよりも下方向にシフトして表されます。作成メッセージは、オブジェクトの作成を導くメッセージです。

相互作用

システムでタスクを完了するためのオブジェクトの相互作用を示すことによって、1つのケースの動作を取得します。

メッセージ

メッセージは、相互作用に関与するオブジェクト間で特定の通信を定義するモデル要素です。メッセージは、相互作用に関与するあるオブジェクトから他のオブジェクトへの情報を伝達し、ライフラインで表されます。

ライフライン

ダイアグラム上では、四角形と下方向への垂直の破線で表されます。ライフラインは、一定期間のオブジェクトの存在を表します。

戻る

戻りメッセージは、以前にメッセージが送信されたオブジェクトから戻されるメッセージです。戻りメッセージは同期コールからのみ有効で、それ自体が同期します。

メッセージの停止または破棄

ダイアグラムでは、実行仕様をメッセージ終端の大きい×印で表します。停止メッセージは、オブジェクトの削除を導く(または、オブジェクトが不要になったことを示す)メッセージです。

シーケンス図を追加および作成する方法

「新規ギャラリ」ウィザードを使用し、「新規ダイアグラムの作成」のステップに従って、アクティビティ図を作成します。

シーケンス・トレーサの開始方法

シーケンス図のポップアップ・メニューから「トレース・シーケンス」オプションを使用して、シーケンス・トレーサを開始します。

シーケンス図の一部でポップアップ・メニューを開き、「トレース・シーケンス」を選択します。トレーサは、各ステップをハイライト表示しながら実行仕様とメッセージをステップごとに実行します。

ノート:

「トレース・シーケンス」は、相互作用を選択した場合に使用できます。ダイアグラム上のポップアップ・メニューには表れません。

相互作用で要素を自動的にレイアウトする方法

相互作用を右クリックして「順序」「自動レイアウト」の順に選択すると、要素が相互作用内で自動レイアウトされます。

ライフラインと分類子の追加方法

シーケンス図に追加すると、相互作用でライフラインの追加が容易になります。ライフラインのポップアップ・メニューから「分類子の添付」オプションを使用して、分類子を追加します。

ライフラインをシーケンス図に追加するには、相互作用を追加してから「ライフライン」アイコンをクリックし、相互作用をクリックします。編集ボックスが開き、オブジェクトのインスタンス名を入力できます。匿名のインスタンスの場合は空白のままにできます。

分類子を追加するには、ライフラインを右クリックし、「分類子の添付」を選択します。要素のリストが開き、ここからライフラインに関連付ける要素を選択できます。分類子を添付するには、分類オブジェクトを「データベース」ウィンドウからライフラインにドラッグする方法もあります。これらの方法は、分類要素を表すアイコンの外観(ライフラインの左上)によって確認できます。

同期コールの作成方法

同期コールは、「メッセージ」、メッセージの開始ポイントおよび方向をクリックすることによって追加されます。

同期コールを追加するには、「メッセージ」アイコンをクリックし、そのメッセージの開始ポイントとなる垂直の破線、つまり実行仕様をクリックします。次に、そのメッセージの宛先になる垂直の破線をクリックします。

テキストの編集ボックスを開くには、メッセージ線をクリックし、表示されたグレーのボックス内をクリックします。

同期コールの開始ポイントと宛先ポイントが同じライフラインである場合があります。この場合は、セルフ・コールを作成したことになります。

同期コールは、シーケンス図上では実線と塗りつぶされた矢印で表示されます。

実行仕様の操作方法

実行仕様は、ダイアグラム上で重ねるとマージされます。実行仕様を移動したり、実行仕様ボックスのサイズを変更できます。

実行仕様をマージするには、ダイアグラム上で重ねます。次に右クリックして、「重複発生のマージ」を選択します。

実行仕様(および添付されているメッセージ)は、元の位置から上下に移動できます。この移動によって、ダイアグラムが無効になる場合があります。ダイアグラムが無効になると、メッセージ線が赤に変わり、宛先のオブジェクトに矢印アイコンが付きます。このアイコンは、ダイアグラムを有効にするためにオブジェクトを移動する方向を示します。

実行仕様ボックスのサイズは、実行仕様ボックスを選択したときに下隅に表示される黒色の小さいボックスをドラッグして変更できます。メッセージ線をドラッグして延長すると、実行仕様のサイズが変更されます。

作成メッセージの追加方法

「作成メッセージ」、元のオブジェクトおよび作成するオブジェクトをクリックします。これらのアクションで作成メッセージが追加されます。

作成メッセージを追加するには、「作成メッセージ」アイコン、元のオブジェクト、作成するオブジェクトの順にクリックします。オブジェクトを表す四角形と破線が元のオブジェクトより下方向にシフトします。

作成するオブジェクトがまだダイアグラム上にない場合には、元のオブジェクトを含む相互作用をクリックし、そのオブジェクトを表すライフラインを作成します。デフォルトでは、作成メッセージには「create」という名前が指定されます。メッセージ名の編集ボックスを開くには、メッセージ線をクリックし、表示されたグレーのボックス内をクリックします。

削除メッセージの作成方法

メッセージによって削除されるオブジェクトのライフラインを追加します。「メッセージの停止または破棄」をクリックし、元のオブジェクトをクリックした後にライフラインをクリックして、メッセージを削除します。

停止または破棄メッセージを追加する前に、このメッセージによって削除されるオブジェクトのライフラインがすでに追加されている必要があります。

停止メッセージまたは破棄メッセージを追加するには、「メッセージの停止または破棄」アイコン、元のオブジェクト、削除するライフラインの順にクリックします。同じオブジェクトで停止メッセージを開始して終了すると、自己削除オブジェクトが作成されます。停止メッセージの終了時の実行仕様は、大きい十字によって示されます。メッセージ行をクリックして、表示される灰色のボックス内をクリックすると、メッセージ名(たとえば、close)の編集ボックスを開くことができます。

返信メッセージの作成方法

「戻る」をクリックし、終了実行仕様、対応する開始実行仕様の順にクリックして、戻りメッセージを追加します。戻りメッセージは編集できます。

戻りメッセージを追加するには、「戻る」アイコンをクリックし、終了実行仕様をクリックします。次に、対応する開始実行仕様をクリックします。この戻りメッセージ線は別のオブジェクトで終了できません。戻りメッセージは、破線と塗りつぶされた矢印で表示されます。メッセージ・テキストの編集ボックスを開くには、メッセージ線をクリックし、表示されたグレーのボックス内をクリックします。

非同期コールの作成方法

「非同期メッセージ」、メッセージの開始ポイント、メッセージの宛先の順にクリックして、非同期コールを追加します。メッセージ・テキストは編集できます。

非同期コール(およびその終わりの実行仕様)を追加するには、「非同期メッセージ」アイコンをクリックし、そのメッセージの開始ポイントとなる垂直の破線、つまり実行仕様をクリックします。次に、そのメッセージの宛先になる垂直の破線をクリックします。メッセージ・テキストの編集ボックスを開くには、メッセージ線をクリックし、表示されたグレーのボックス内をクリックします。

非同期コールの開始ポイントと宛先ポイントが同じライフラインである場合があります。この場合は、セルフ・コールを作成したことになります。

非同期コールは、シーケンス図上では対角線と開いた矢印で表示されます。

結合フラグメントの使用

相互作用演算子とそれに対応するオペランドは、結合フラグメントとして表現される相互作用を定義します。結合フラグメントは、ダイアグラムを開くと「コンポーネント」ウィンドウに表示されます。ロックされた相互作用は相互作用の動作をダイアグラム上の相互作用に制限します。ロック解除されると、相互作用やダイアグラムの範囲を超えて動作します。

結合フラグメントは、相互作用の演算子とそれに対応する相互作用オペランドによって定義される相互作用の式を定義します。結合フラグメントには、相互作用の演算子によって制御される一連の相互作用(これを相互作用オペランドと言います)が反映され、それに対応するブール条件を相互作用制約と言います。透明なウィンドウとして表示され、各オペランドを示す水平の点線で分割されます。

例5-33に、現金出納係が支払いを要求した後で購入品目を反復処理するループ・フラグメントの例を示します。この時点では2つの支払いオプションを考慮して別のフラグメントも作成し、現金とクレジットカードの2つのオペランドを分割して表しています。フラグメントがトレースを完了すると、支払い条件が満たされた時点で現金出納係が顧客に領収書を発行します。

図5-33 結合フラグメントを伴う一般的なシーケンス図

図5-33の説明が続きます
「図5-33 結合フラグメントを伴う一般的なシーケンス図」の説明

次の図は、ダイアグラム・ウィンドウでダイアグラムを開くと「コンポーネント」ウィンドウに表示される結合フラグメントを示しています。

図5-34 「コンポーネント」ウィンドウの「結合フラグメント」

図5-34の説明が続きます
「図5-34 「コンポーネント」ウィンドウの「結合フラグメント」」の説明

表5-8 結合フラグメントの相互作用演算子

相互作用演算子 説明

alt

ブール条件に基づいて相互作用フラグメントを分割します。

assert

唯一有効なフラグメントの発生を示します。

Break

オペランドが、包含する相互作用フラグメントの残りのかわりに実行されるシナリオであるという意味で結合フラグメントがブレーク・シナリオを表すことを指定します。

Critical

他の処理によって中断できないシーケンスを示します。

Loop

オペランドが、相互作用制約で指定される回数繰り返されることを示します。

Neg

フラグメントが無効であることをアサートし、他の相互作用がすべて有効であることを表します。

Opt

オプションの相互作用フラグメントを包括します。

Par

オペランドが並行して処理されることを示します。

Seq

結合フラグメントが弱く順序付けされることを示します。発生仕様が同じライフライン上にある場合に、最初のオペランドの発生仕様が2番目の発生仕様より優先されるかぎりオペランド内の順序は維持されるが、オペランドどうしの順序は未定義であることを示します。

Strict

オペランドの動作が厳密な順序で処理されることを示します。

シーケンス図の相互作用には、結合フラグメント・ロックのアイコンがあります。相互作用をロックまたはロック解除すると、ダイアグラム上のその相互作用内の結合フラグメントの動作を維持し、その範囲を他の相互作用や他のダイアグラムにまで拡張できます。

ユースケース図によるモデリング

ユースケース図を使用して、システムの要件を取得します。

次の図に示すように、ユースケース図はシステムの要件を取得します。

図5-35 一般的なユースケース図

図5-35の説明が続きます
「図5-35 一般的なユースケース図」の説明

ユースケース図機能の操作

UMLでは、ユースケース図はシステムに対する内外の影響、一連のアクションまたはユースケースおよびそれらの関係を示す動作のダイアグラムです。JDeveloperでは、使用可能な要素と一緒に「コンポーネント」ウィンドウにユースケース図が表示されます。

ユースケース図は、使用するシステムの宣言された動作と、システムおよびエンティティがサブジェクトやアクターのユースケースに従ってその動作とどのように相互作用するかを表します。

次の図は、ユースケース図に追加できる要素が表示された「コンポーネント」ウィンドウを示しています。各要素は一意のアイコンと説明のためのラベルで表されます。

図5-36 「コンポーネント」ウィンドウのユースケース要素

図5-36の説明が続きます
「図5-36 「コンポーネント」ウィンドウのユースケース要素」の説明

表5-9 ユースケース要素

コンポーネント 説明

アクター

システム内の抽象ロールを表します。

通信

アクターが特定のユースケースに関連付けられている状況を示します。

依存性

要素間の関係を示します。

拡張

ターゲットのユースケースがソースのユースケースの定義を拡張することを示します。

汎化

1つ以上の要素が別の要素を特化している状況を示します。たとえば、あるアクターTeam MemberがアクターManagerとアクターDeveloperに特化されている場合があります。

対象

ユースケースで、他のユースケースを含む関係を示します。

サブジェクト

サブジェクトには2つのタイプがあります。1つのシステムには通常、モデル化の対象となるシステム全体を構成するユースケースとアクターのセットが含まれます。2つ目のタイプには通常、開発の対象となる一貫性のあるシステム部分を構成するユースケースのグループが含まれます。

ユースケース

1つの要素が、相互作用を実行するために他の要素を必要とすることを示します。

ユースケース図の要素の詳細な確認

「プロパティ」ウィンドウを使用して、ユースケース図で外観などの要素の属性を変更します。要素のポップアップ・メニューを使用してプロパティを変更することもできます。

サブジェクト、アクター、その他のタイプのオブジェクトの外観や他の属性を決定するには、「プロパティ」ウィンドウでプロパティを変更するか、オブジェクトを右クリックしてプロパティを変更します。

図5-37 ユースケースのサブジェクト、アクター、オブジェクトの例

図5-37の説明が続きます
「図5-37 ユースケースのサブジェクト、アクター、オブジェクトの例」の説明
サブジェクトをユースケース図に追加する方法

すべてのアクターおよびユースケースをサブジェクト内に囲んでモデル化されるシステムを表示し、ユースケースのグループをサブジェクト・ライン内に囲んで開発を示します。「コンポーネント」ウィンドウの「サブジェクト」を使用してサブジェクトを追加し、ダイアグラムにおけるサブジェクトの影響範囲を示します。

モデル化するシステムは、そのシステムのすべてのアクターとユースケースをサブジェクト内に囲んで表示できます。サブジェクト・ライン内のユースケースを包括するグループによって開発対象を表示します。サブジェクトをダイアグラムに追加するには、「コンポーネント」ウィンドウで「サブジェクト」をクリックし、サブジェクトが占める領域をカバーするようにポインタをドラッグします。サブジェクトの内部に要素をドロップすると、要素を包含するようにサブジェクト・ラインが拡張されます。手動でサブジェクトのサイズを変更することもできます。サイズを縮小して表示しきれない要素がある場合には、右下隅に省略記号が表示されます。

アクターとユースケースの作成方法

「コンポーネント」ウィンドウの「アクター」を使用してダイアグラム上にアクターを作成し、クリックしてアクターの場所を示します。アクターまたはユースケースのプロパティは編集できます。

ダイアグラム上にアクターを作成するには、「コンポーネント」ウィンドウ上で「Actor」アイコンをクリックし、次にダイアグラム上でアクターを作成する位置をクリックします。

アクターまたはユースケースのプロパティを変更するには、モデル化された要素をダブルクリックして、エディタでその要素の詳細を編集します。

アクターとユースケース間の相互関係を表現する方法

ダイアグラムに直接追加できる要素は、すべての要素を含む相互作用のみです。「コンポーネント」ウィンドウで、「通信」はアクターとユースケースの相互作用を表し、「汎化」はそれらの間での汎化構造の作成に役立ち、「含める」は1つのユースケースが別のユースケースに含まれていることを示し、「拡張」はユースケースの拡張を表します。

「相互作用」は、ダイアグラムに直接配置できる唯一の要素です。他の要素はすべて、「相互作用」の内部に配置します。

アクターとユースケース間の相互作用をダイアグラム上で表現するには、「コンポーネント」ウィンドウの「通信」アイコンを使用します。また、アクター間およびユースケース間の汎化構造を作成するには、「汎化」アイコンを使用します。1つのユースケースが別のユースケースを包含する状況を表すには、「対象」アイコンを使用し、1つのユースケースが別のユースケースを拡張する状況を表すには、「拡張」アイコンを使用します。

ノート、依存関係およびURLリンクを使用して、ユースケース図に注釈を追加できます。注釈コンポーネントは、「コンポーネント」ウィンドウ下部の「ダイアグラムの注釈」から使用できます。

ユースケースとサブジェクト間の関係を表現する方法

「コンポーネント」ウィンドウの「通信」は、ユースケースとサブジェクトの間の相互作用を表します。

ユースケースとサブジェクトの間の相互作用を表現するには、「コンポーネント」ウィンドウの「通信」アイコンを使用します。

ユースケース・モデルの初めてのエクスポート

ユースケース・モデラーは、ユースケース・モデルからHTMLファイルのセットを生成できます。「HTMLにエクスポート」オプションは既存のユースケース・モデルからHTMLファイルを生成するのに役立ちます。「モデルのエクスポート中」ダイアログに、エクスポートされるモデルの変更が表示されます。

ユースケース・モデラーは、ユースケース・モデルからHTMLファイルのセットを生成できます。各HTMLファイルは、ユースケース要素のいずれかに対応します。HTMLファイルは、その関連するUML要素と同じプロジェクトに生成されるため、アプリケーション・ナビゲータに表示され、エディタで開いたり編集したりすることができます。

既存のユースケース・モデルからHTMLファイルを生成するには、ダイアグラム上を右クリックして、「HTMLにエクスポート」を選択します。

次の図に示すように、「モデルのエクスポート中」ダイアログには、エクスポートしようとしているモデルの変更が表示されます。

図5-38 エクスポートする変更

図5-38の説明が続きます
「図5-38 エクスポートする変更」の説明

「モデルのエクスポート中」ダイアログは表です。その行は、エクスポートする変更の詳細を表します。右側の列には、モデルの変更のタイプが表示されます。変更には3つのタイプがあります。

  • 「追加済」。ユースケース要素に対応するHTMLファイルはまだありません。

  • 「削除済」。ユースケース要素はモデルから削除されましたが、対応するHTMLファイルはプロジェクトに残っています。

  • 「変更済」。ユースケース要素がモデルで変更されたため、対応するHTMLファイルとは異なります。

表の最初の列にはチェック・ボックスがあり、このボックスによって、モデルの関連する変更のエクスポートが有効または無効になります。デフォルトでは、すべてのチェック・ボックスが選択されています。ダイアログが確定されると、HTMLファイルが生成され、既存のユースケース・モデル要素と一緒にアプリケーション・ナビゲータに表示されます。生成されたHTMLファイルの接尾辞は、.umlではなく.xhtmlです。

図5-39 エクスポート済モデル

図5-39の説明が続きます
「図5-39 エクスポート済モデル」の説明

変更されたユースケース・モデルのエクスポート

エクスポートしたユースケース・モデルは変更可能で、変更は既存の生成されたHTMLファイルのセットに送信されます。

ユースケース・モデルがエクスポートされると、引き続きそのモデルを変更して、新しい変更を生成された既存のHTMLファイルのセットに伝播できます。図5-40を、図5-41のように変更するとします。

図5-40 「HTMLにエクスポート」後の変更済ユースケース・モデル

図5-40の説明が続きます
「図5-40 「HTMLにエクスポート」後の変更済ユースケース・モデル」の説明

エクスポート後の変更済モデルの詳細は、図5-41のようになります。

図5-41 変更済モデルのエクスポート

図5-41の説明が続きます
「図5-41 変更済モデルのエクスポート」の説明

表示されているように、新しいユースケース「Select Class」はHTMLファイルのセットに追加されますが、ユースケース「Select Seat」は削除されます。サブジェクト「Booking System Flight Booking」には新しいユースケースが含まれるため、このサブジェクトは変更されます。また、ユースケース「Upgrade Flight」には以前とは別のユースケースが含まれるため、このユースケースは変更されます。ダイアログが確定されると、変更が適用されてアプリケーション・ナビゲータに反映されます。次の図に示すように、アプリケーション・ナビゲータには、新しいユースケース「Select Class」が表示されますが、「Select Seat」は表示されなくなっています。

図5-42 エクスポート後の変更済モデル

図5-42の説明が続きます
「図5-42 エクスポート後の変更済モデル」の説明

HTMLファイルのセットからのユースケース・モデルのインポート

JDeveloperの組込みHTMLエディタまたはその他の外部テキスト・エディタを使用してHTMLファイルを変更し、変更をユースケース・モデルに適用します。ユースケース・モデルは、HTMLファイルのセットからインポートできます。

ユースケース・モデルは、「uml」カスタム・タグを含むHTMLファイルのセットからもインポートできます。ただし、最初にHTMLでユースケース・モデルを完全に作成してからユースケース・モデラーにインポートする方法はお薦めしません。インポート機能の主な存在目的は、HTMLファイルに細かい変更を時々行って、その変更をユースケース・モデルに適用できるようにすることです。HTMLファイルは、JDeveloperの組込みHTMLエディタまたはその他の外部テキスト・エディタで編集できます。

HTMLファイルの編集

アプリケーション・ナビゲータのHTMLファイルは、HTMLソース・エディタで開いて編集できます。編集してアソシエーションを追加するか、またはユースケースからアソシエーションを削除します。

HTMLファイルを編集するには、アプリケーション・ナビゲータでそのファイルのエントリをダブルクリックし、エントリをHTMLソース・エディタのメイン・エディタ・パネルで開きます。ファイルは、UMLネームスペース・タグを埋め込むHTMLドキュメント(正確にはXHTML)で構成されます。

図5-43 HTMLユースケースの編集

図5-43の説明が続きます
「図5-43 HTMLユースケースの編集」の説明

図5-43に、ユースケースHTMLファイルの内容が表示されたエディタを示します。関連するアクターへの通信アソシエーションが示されています。これは、<uml:usecase_communicates>要素に含まれるHTMLリンクです。たとえば、該当のアソシエーションを削除する必要がある場合、図5-44に示すように、アンカー要素をそれを包含するHTMLリスト要素から削除します。

図5-44 通信ユースケースの削除

図5-44の説明が続きます
「図5-44 通信ユースケースの削除」の説明

別のユースケースに通信アソシエーションを追加するには、HTMLファイルを開き、<uml:usecase_communicates>要素を見つけます。次の図に示すように、以前に削除されたアンカー要素をリスト要素に挿入します。

図5-45 通信ユースケースの追加

図5-45の説明が続きます
「図5-45 通信ユースケースの追加」の説明

HTMLファイルからのインポート

HTMLファイルへの変更は、HTMLファイルをインポートすることによってモデルのユースケース要素に適用できます。HTMLファイルを保存し、「XHTMLからインポート」オプションを使用してファイルをインポートします。

インポートの実行前に、変更したすべてのHTMLファイルが保存されていることを確認します。ダイアグラムを右クリックしてコンテキスト・メニューを表示し、「XHTMLからインポート」を選択します。図5-46に示すように、「モデルのインポート中」ダイアログには、モデルに適用される変更が表示されます。

図5-46 モデルのインポート

図5-46の説明が続きます
「図5-46 モデルのインポート」の説明

ダイアログは、2つのHTMLファイルに加えた変更が、モデルの対応するUseCase要素に適用されることを示しています。ダイアログを確定すると、アクターと「Upgrade Flight」ユースケースとの間に新しい通信アソシエーションが描画され、さらに同じアクターと、ダイアグラムから削除される「Book Flight」ユースケースとの間に新しい通信アソシエーションが描画されます。

図5-47 インポート後に修正されたモデル

図5-47の説明が続きます
「図5-47 インポート後に修正されたモデル」の説明

プロファイル図によるモデリング

プロファイルはUMLメタモデルを様々なプラットフォーム、ドメインまたはモデル化されたビジネス・プロセスに適合させ、複数のプロファイルを同じモデルに同時に適用できます。プロファイル図を作成する手順を使用してください。

プロファイルにより、様々なプラットフォームとドメインに対するUMLメタモデルまたはモデル化されたビジネス・プロセスを調整できます。

プロファイル図は、カスタム・ステレオタイプ、タグ付けされた値および制約を定義することにより、軽量なUML拡張メカニズムを提供する構造ダイアグラムです。ステレオタイプは特定のメタクラス、タグ付けされた値は標準メタ属性、プロファイルは特定の種類のパッケージになります。メタモデルのカスタマイズは、パッケージに適用されるプロファイルで定義されます。

プロファイルは、動的にモデルに適用したり、除外したりできます。これらは、複数のプロファイルが同じモデルに同時に適用されるように動的に組み合せることもできます。プロファイルは、特定のドメイン、プラットフォームまたはメソッド固有の構成による既存メタモデルの調整またはカスタマイズのみ可能です。メタモデルに適用される制約を除外することはできませんが、プロファイルを使用して新しい制約を追加できます。

プロファイル図の作成方法:

  1. 「ファイル」→「新規」を選択します。新規ギャラリが表示されます。

  2. 「カテゴリ」パネルで「一般」ノードを開き、「UML」ノードを選択します。「項目」パネルにUML要素がリストされます。

  3. 「項目」パネルで「プロファイル図」を選択して、「OK」をクリックします。

  4. プロファイル図の詳細を指定して、「OK」をクリックします。プロファイル図が「アプリケーション」ウィンドウに追加されます。

プロファイルをXMIとしてエクスポートする方法、プロファイルをダイアグラムに追加する方法、およびプロファイルをUMLパッケージに適用する方法については、「UMLプロファイルの使用」を参照してください。

図5-48 プロファイル図

図5-48の説明が続きます
「図5-48 プロファイル図」の説明

Javaクラス図によるモデリング

Javaクラス図には、他のダイアグラム・タイプの図形を含めることができます。Javaソース・コードでダイアグラム上のクラスの定義が指定されると、ダイアグラムはソース・コードに対する変更を反映し、ソース・コードはダイアグラムに対する変更を反映します。

ダイアグラムに表されるクラスの定義、クラスのメンバー、継承およびコンポジット関係は、クラスのJavaソース・コードから直接導出されます。これらはすべてJavaコードとして作成され、ダイアグラムに表示されます。ダイアグラムに表示されているクラスのソース・コードを変更、追加または削除した場合、これらの変更内容は、ダイアグラム上のこれらのクラスおよびインタフェースに反映されます。反対に、モデリングされたクラスに対する変更は、基礎となるソース・コードにも行われます。Javaクラス図上に表示されたコンポジット関係または参照に関する情報の中には、Javadocタグとしてソース・コードに格納されているものもあります。

Javaクラス図には、他のダイアグラム・タイプ(Oracle ADF Business Components、UML要素、Enterprise JavaBeansおよびデータベース・オブジェクト)の図形を含めることができます。

Javaクラス、インタフェースおよび列挙の作成方法

ダイアグラムのJavaコンポーネント・ウィンドウの「Javaクラス」、「Javaインタフェース」または「Java Enum」では、Javaクラス、インタフェースまたは列挙が作成されます。プロジェクト設定で、モデル化されたクラスまたはインタフェースのJavaソース・ファイルを作成する場所を指定します。

Javaクラス、インタフェースまたは列挙をダイアグラム上に作成するには、そのダイアグラムに対するJavaの「コンポーネント」ウィンドウで「Javaクラス」アイコン、「Javaインタフェース」アイコンまたは「Java Enum」アイコンをクリックし、次に、そのクラスを作成するダイアグラムをクリックします。モデリングされたクラスまたはインタフェースのJavaソース・ファイルは、プロジェクトの設定で指定された位置に作成されます。

「Javaクラス」「Javaインタフェース」、および 「Java Enum」の各アイコンは、Javaクラスの名前および詳細を含む四角形として図に表示されます。Javaクラスおよびインタフェースはコンパートメントに分割されており、各コンパートメントに含まれている情報は1種類のみです。

大きさが不足し、すべての内容を表示できない各コンパートメントには、省略記号(...)が表示されます。すべてのフィールドおよびメソッドが表示されるようにモデリングされたクラスを表示するには、クラスを右クリックし、「図形サイズの最適化」 「高さと幅」を選択します。

ダイアグラム上のクラスの各タイプは、名前コンパートメントのステレオタイプにより識別されます。これは、デフォルトでは表示されません。

メンバー(フィールドおよびメソッド)には、可視性を表す記号が表示されます。可視性の記号には、Public (+)Private (-)およびProtected (#)があります。可視性の記号が使用されていない場合、フィールドまたはメソッドの可視性はPackageになります。

内部Javaクラスおよび内部Javaインタフェースのモデリング

モデル化されたJavaクラスまたはインタフェースの内部クラス・コンパートメントには、内部クラスおよび内部インタフェースが表示されます。内部クラスを実装Javaコードに追加することによって内部クラスまたは内部インタフェースを作成するか、または既存のモデル化されたクラスに内部ノードとして新規のJavaクラスまたはインタフェースを作成します。

様々なパッケージ、現在のアプリケーションまたはライブラリにあるプライマリ・クラスや内部クラスをダイアグラムに含めることができます。内部Javaクラスおよび内部Javaインタフェースは、それらを所有するクラスのメンバーとして定義します。そのため、これらのクラスはメンバー・クラスとも呼ばれます。

内部クラスおよび内部インタフェースは、ダイアグラム上のモデリングされたJavaクラスまたはJavaインタフェースの内部クラス・コンパートメントに表示されます。内部クラスにはClassという語が、内部インタフェースにはInterfaceという語が接頭辞として付き、可視性の記号とクラス名またはインタフェース名の間に挿入されます。

モデリングされたJavaクラスまたはインタフェースに内部クラスまたは内部インタフェースを作成するには、実装Javaコードに内部クラスを追加するか、既存のモデリングされたクラスの内部ノードとして新規Javaクラスまたはインタフェースを作成します。

内部Javaクラスおよび内部Javaインタフェースには、Javaクラス、Javaインタフェースまたはパッケージに含まれるものと同じ名前を付けることはできません。また、staticフィールドやstaticメソッドを含めることはできません。

Javaクラス図でのコンポジットのモデリング

参照の実装クラスのソース・コードには、モデル化されたJavaクラス間で作成される参照がフィールドとして示されます。ダイアグラムのJavaクラス・コンポーネント・ウィンドウを使用して、ダイアグラムのクラスとインタフェースの間の参照を作成します。

ダイアグラムのJavaクラスのJavaクラス・コンポーネント・ウィンドウの様々な参照アイコンを使用して、ダイアグラムのクラスとインタフェースとの間に、これまでアソシエーションと呼ばれていた様々な参照をすばやく作成できます。モデリングされたJavaクラス間に作成された参照は、参照を実装するクラスのソース・コードではフィールドとして表されます。ダイアグラム上のコンポジット関係は、参照の方向で開いた実線の矢印で表示されます。表5-10は、ダイアグラムにモデリング可能な参照を示しています。

表5-10 クラスまたはインタフェース間の参照

参照 説明

参照(オブジェクト)

クラスまたはインタフェース間の唯一の直接参照。これは、<destination_class>タイプのフィールドとして、参照の元となるクラスのコードに表されます。

参照(配列)

別のクラスまたはインタフェースの配列への参照。これは、<destination_class>タイプの配列としてコードに表されます。

参照(コレクション)

これは、コレクション宣言としてコードに表されます。必須のimport java.util.Collection;文、およびこの参照を識別するための@associates <{type}> Javadocタグがソースに追加されます。

参照(リスト)

これは、リスト宣言としてコードに表されます。必須のimport java.util.List;文、およびこの参照を識別するための@associates <{type}>Javadocタグがソースに追加されます。

参照(マップ)

これは、マップ宣言としてコードに表されます。必須のimport java.util.Map;文、およびこの参照を識別するための @associates Javadoc タグがソースに追加されます。

参照(セット)

これは、セット宣言としてコードに表されます。必須のimport java.util.Set;文、およびこの参照を識別するための@associates Javadocタグがソースに追加されます。

ノート:

ダイアグラム上の参照のプロパティを迅速に変更するには、その参照をダブルクリックしてコード・エディタを表示し、参照の詳細を変更します。

デフォルトでは、参照のラベルが表示されません。参照のラベルを表示するには、参照を右クリックして「ビジュアル・プロパティ」を選択し、「ラベルの表示」を選択します。デフォルトのラベル名は、その参照を表すフィールド名です。ダイアグラムでこのラベル名を選択して変更すると、コードでは @label <label_name> Javadocタグが参照を表すフィールドの前に追加されます。

ダイアグラム上の参照で使用される集約記号を変更できます。そのためには、まずその参照を右クリックして「参照集約タイプ」を選択し、次に「なし」、「弱い」(@aggregation shared Javadocタグが参照を表すコードに追加されます)、または「強い」(@aggregation composite Javadocタグが参照を表すコードに追加されます)を選択します。集約記号は、文書化の目的にのみ使用されます。

Javaクラス図での継承のモデリング

ダイアグラムのJavaクラス・コンポーネント・ウィンドウの「拡張」を使用し、Javaソースにextends文を作成して継承構造を表します。クラスがインタフェースを実装する場合、ダイアグラムのJavaコンポーネント・ウィンドウの「実装」を使用して継承構造を作成します。

Javaソースで extends文として表現される継承構造は、ダイアグラムのJavaクラス・コンポーネント・ウィンドウの「拡張」アイコンを使用してJavaクラスのダイアグラムに作成できます。拡張関係は、ダイアグラムでは、拡張クラスまたはインタフェースの方向を白抜きの矢印で指す実線として表示されます。

インタフェースをクラスによって実装する場合、ダイアグラムのJavaコンポーネント・ウィンドウで「実装」アイコンを使用して、インタフェースを作成できます。実装関係を作成すると、実装クラスのソース・コードにimplements 文が追加されます。実装関係は、ダイアグラムでは、実装されたJavaインタフェースの方向を白抜きの矢印で指す破線として表示されます。

モデリングされたJavaクラスの拡張

拡張関係は、クラス・モデルにおける要素間の継承を示します。Javaクラス間およびJavaインタフェース間の拡張関係は作成可能ですが、列挙は他のクラスを拡張したり他のクラスで拡張することはできません。

拡張関係は、同一クラス・モデルにおける要素間の継承をモデリングします。クラス定義にextends文を作成して、Javaクラス間およびJavaインタフェース間の拡張関係を作成できます。列挙は他のクラスを拡張したり、他のクラスで拡張することはできません。

ノート:

Javaでは多重クラス継承をサポートしていないため、ダイアグラムのJavaクラスからモデリングできる拡張関係は1つのみです。多重拡張関係は、Javaインタフェースからモデリングできます。

モデリングされたJavaインタフェースの実装

実装関係は、モデル化されたJavaクラスがモデル化されたJavaインタフェースを実装する場所を指定します。インタフェースを実装するクラスはインタフェースのすべての抽象メソッドを実装することが可能で、インタフェースのメソッドを部分的に実装するクラスはabstractとして定義されます。

実装関係は、モデリングされたJavaインタフェースを、モデリングされたJavaクラスを使用して実装することを指定します。これは、Javaクラスのソースではimplementsキーワードとして表されます。クラス図における実装関係は、実装されるインタフェースへ向けた、先端が白抜きの破線矢印で表します。列挙は

インタフェースを実装できません。

実装されたインタフェースが、モデリングされた別のインタフェースの拡張である場合(extends関係を使用)、これはインタフェースのJavaソース・コードに反映されます。

インタフェースを実装するクラスでは、そのインタフェースの一部またはすべての抽象メソッドの実装が可能です。あるクラスがインタフェースのメソッドを部分的にしか実装しない場合でも、そのクラスはabstractとして定義されます。

Javaフィールドとメソッドのモデリング

フィールドはモデル化されたJavaクラスまたはJavaインタフェースの特性をカプセル化し、クラスのメソッドはクラスの動作を定義します。モデル化されたJavaクラスおよびインタフェースのフィールドとメソッドをダイアグラム上に作成し、Javaソース・エディタを使用してそれらを追加します。

Javaクラスまたはインタフェースのメンバー(フィールドおよびメソッド)をダイアグラムに作成できます。フィールドおよびメソッドを、ダイアグラム上のモデリングされたJavaクラスおよびインタフェースに追加します。そのためには、モデリングされたJavaクラスまたはインタフェースをダブルクリックし、Javaソース・エディタを使用してフィールドまたはメソッドを追加します。

  • フィールドは、モデリングされたJavaクラスまたはJavaインタフェースの特性をカプセル化するために使用されます。モデリングされたすべてのフィールドには、名前、データ型および指定された可視性があります。

    フィールドまたはメソッドがダイアグラムのクラスに表示されるとき、接頭辞として+ (publicとして宣言される場合)、- (privateとして宣言される場合)または# (protectedとして宣言される場合)が付きます。staticフィールドはダイアグラム上で下線が引かれます。

  • メソッドは、クラス内でそのクラスの動作を定義します。メソッドには、スカラー型または他のクラスで定義した型のいずれかの戻り型を指定できます。

クラス図のリファクタ

Javaクラス図への変更は、「名前の変更」、「移動」、「複製」、「インタフェースの抽出」、「スーパークラスの抽出」などのJavaフィールドおよびメソッドのリファクタ・パターンを使用して、ソース・コードでリファクタされます。リファクタ操作を起動する手順を使用してください。

ダイアグラムでインプレース編集機能を使用してクラスの名前を変更またはクラスを移動すると、そのクラスのソース・コードが自動的にリファクタされます。ダイアグラムでJavaパッケージの名前を変更またはパッケージを移動すると、そのパッケージの内容が自動的にリファクタされます。

ダイアグラムでフィールド、メソッドまたは内部クラスを削除すると、自動的に「安全に削除」リファクタ・パターンが適用されます。ダイアグラムのJavaクラス、インタフェース、列挙またはメンバーにリファクタ・パターンを適用するには、ダイアグラムで対象となるクラスまたはメンバーを選択し、「リファクタ」メニューから目的のリファクタ・パターンを選択します。

Javaクラス図のJavaクラス、インタフェースおよび列挙では、次のリファクタ・パターンを使用できます。

  • 名前変更

  • 移動(ダイアグラムで1つ選択した場合にも複数選択した場合にも適用されます)

  • 複製

  • インタフェースの抽出

  • スーパークラスの抽出

Javaクラス図のJavaフィールドおよびメソッドでは、次のリファクタ・パターンを使用できます。

リファクタ操作を開始するには:

  1. ソース・エディタ・ウィンドウ、データベース・ウィンドウまたは構造ペインでプログラム要素を選択します。
  2. プログラム要素を右クリックします。
  3. ポップアップ・メニューから操作を選択します。
  4. ツールバーから「リファクタ」を選択し、ドロップダウン・リストから次のリファクタ操作を選択することもできます。
    • 名前変更

    • 移動

    • staticにする

    • メンバーのプル・アップ

    • メンバーのプッシュ・ダウン

    • メソッドの変更(Javaメソッドのみ)

EJBダイアグラムによるモデリング

EJBダイアグラムを作成し、UMLクラス、Javaクラス、ビジネス・コンポーネントなどの要素を追加して、EJBをモデル化します。モデリング・オプションには、「コンテナ管理の永続性(CMP)」、「Bean管理の永続性(BMP)」、クラス図でセッション・タイプを変更できるセッション、およびセッションやエンティティBeanとの相互作用に使用されるメッセージドリブンBeanが含まれます。

Enterprise JavaBeans (EJB)のモデル化により、EJBエンティティ関連およびアーキテクチャを視覚化し、プロパティおよびメソッドを移入できるBeanのセットを迅速に作成し、またそのBeanおよびBean間の関連と参照のグラフィカル表示を作成できます。Beanがモデル化されると、基礎となる実装ファイルも常に作成されます。

EJBをモデル化するため、EJBダイアグラムの作成を開始します。UMLクラス、Javaクラス、ビジネス・コンポーネント、オフライン・データベース表、UMLユースケース、Webサービスなどの他の要素は、後で同じダイアグラムに追加できます。

モデリング・オプションは次のとおりです。

  • エンティティBeanは、コンテナ管理の永続性(CMP)またはBean管理の永続性(BMP)になります。Bean管理の永続性を使用してエンティティBeanを作成する前に、そのエンティティBean間の関連を作成する必要があるかどうかを検討することもできます。関連は、コンテナ管理の永続性を持つエンティティBean間にのみ作成できます。

  • セッションBeanのセッション・タイプをクラス図で変更するには、セッションBeanを右クリックし、「セッション・タイプ」、次に「ステートフル」、または「セッション・タイプ」、次に「ステートレス」を選択します。

  • メッセージドリブンBeanは、(EJB参照を使用して)セッションBeanおよびエンティティBeanと対話するために最も頻繁に使用されます。

EJB/JPAモデル化機能の操作

「コンポーネント」ウィンドウの「エンティティBean」、「セッションBean」または「メッセージドリブンBean」コンポーネントを使用して、ダイアグラムにEnterprise JavaBeansを作成します。EJBモジュール・エディタを使用するか、新規プロパティを作成するか、またはモデル化されたBean自体に「インプレース」のメソッドを作成することによって、プロパティおよびメソッドを追加します。

Enterprise JavaBeansは、「コンポーネント」ウィンドウで「エンティティBean」アイコン、「セッションBean」アイコンまたは「メッセージドリブンBean」コンポーネントを使用して、ダイアグラム上に作成されます。コンポーネントを選択し、必要なスポットでダイアグラムをクリックします。モデル化された要素の実装ファイルは、プロジェクト設定で指定された場所に作成されます。

ヒント:

ダイアグラムでモデル化されたBeanの実装Javaクラスをモデル化する場合は、モデル化されたBeanを右クリックし、実装ファイルを表示を選択します。

プロパティとメソッドを追加するには、BeanをダブルクリックしてEJBモジュール・エディタでプロパティまたはメソッドを追加するか、モデル化されたBean自体で新規のプロパティまたはメソッドをインプレースで作成します。

モデル化されたセッションBeanとエンティティBeanは、複数のコンパートメントで構成されます。たとえば、メッセージドリブンBeanに含まれるのは、«message-driven bean»ステレオタイプおよびBeanの名前を含む名前コンパートメントのみです。EJB 3.0 Beanでは、インタフェースのコンパートメントがないため、モデルの外観は異なります。

図5-49 EJB/JPAコンポーネント・ダイアグラム

図5-49の説明が続きます
「図5-49 EJB/JPAコンポーネント・ダイアグラム」の説明

Bean間の関連とエッジに注意してください。一方のBeanからリモートまたはローカル・インタフェースを持つ他方のBeanへの参照を作成できます。参照をモデル化できるのは、現在のデプロイメント・ディスクリプタ内にあるBean間のみです。

EJB/JPAクラスのダイアグラムの作成

EJB/JPAクラスのダイアグラムを作成する手順を使用してください。

EJB/JPAクラスのダイアグラムを作成するには:

  1. 「新規ギャラリ」でプロジェクトまたはアプリケーションの新規EJBダイアグラムを作成します。
  2. 「EJBコンポーネント」ウィンドウを使用して、ダイアグラムの要素を作成します。表5-11は、「EJBコンポーネント」ウィンドウを示しています。

    表5-11 「EJBコンポーネント」ウィンドウのアイコン

    ドロップダウン・リスト アイコン 名前

    EJBノード

    エンティティ

    エンティティ

    メッセージドリブンBean

    メッセージドリブンBean

    セッションBean

    セッションBean

    エンティティ関連

    双方向の*対*関係

    双方向の*対*関係

    双方向の*対*関係

    双方向の*対*関係

    双方向の*対*関係

    双方向の*対*関係

    一方向の*対*関係

    一方向の*対*関係

    一方向の*対*関係

    一方向の*対*関係

    一方向の*対*関係

    一方向の*対*関係

    一方向の*対*関係

    一方向の*対*関係

    EJBエッジ

    エンティティ継承エッジ

    エンティティ継承エッジ

    セッション・ファサード・エッジ

    セッション・ファサード・エッジ

    ダイアグラムの注釈

    添付

    添付

    グループ

    グループ

    リンク

    リンク

    ノート

    ノート

EJB/JPA関連のモデリング方法

「コンポーネント」ウィンドウを使用して、クラス図上の任意の2つのエンティティ間の関係をモデル化します。ダイアグラム上の2つのエンティティ間の関係をモデル化する手順を使用してください。

関連コンポーネントを「コンポーネント」ウィンドウからドラッグして、1つのクラス図での2つのエンティティ間の関連をモデル化できます。また、ルート・エンティティと子エンティティの間の継承エッジも表示できます。

1つのダイアグラムで2つの関連をモデル化するには:

  1. 作成する関連のアイコンをクリックします。

    ノート:

    関連の端のナビゲーション性および多重度は、作成後に変更できます。EJBコンポーネント・アイコンが表示されない場合は、「コンポーネント」ウィンドウのドロップダウンから「EJBコンポーネント」を選択してください。

  2. 関連の「所有する」または「元」側のエンティティをクリックします。
  3. 関連の「先」側のエンティティBeanをクリックします。
  4. ダイアグラム上の関連を示す線をクリックし、アソシエーションに隣接するテキスト・フィールドをクリックして、関連名を入力します。

    ノート:

    ダイアグラム上の関連の端の多重度を変更するには、その関連の端を右クリックして、「多重度→1」または「多重度→*」を選択します。

Bean間の参照

関係は、モデル化されたエンティティBean間で作成できます。「EJB参照」オプションで、一方のBeanからリモート・インタフェースを持つ他方のBeanへの参照を作成し、ダイアグラムの「EJBコンポーネント」ウィンドウの「EJBローカル参照」オプションで、一方のBeanからローカル・インタフェースを持つ他方のBeanへのローカル参照を作成します。

一方のBeanからリモート・インタフェースを持つ他方のBeanへの参照は、「EJB参照」アイコンを使用して作成できます。一方のBeanからローカル・インタフェースを持つ他方のBeanへのローカル参照は、ダイアグラムの「EJBコンポーネント」ウィンドウの「EJBローカル参照」アイコンを使用して作成できます。

モデル化されたエンティティBean間の様々な関連を迅速に作成するには、1対*関係 アイコン、有向1対1関係アイコン、有向1対*関係アイコンおよび「有向厳密集約」アイコンを使用します。

モデル化されたBeanのプロパティ

EJBモジュール・エディタを使用するか、モデル化されたBeanに新規プロパティまたはメソッドを直接作成することによって、モデル化されたEJBにプロパティを追加します。

モデル化されたEJBにプロパティを追加するには、BeanをダブルクリックしてEJBモジュール・エディタでプロパティまたはメソッドを追加するか、モデル化されたBeanで新規のプロパティまたはメソッドを直接作成します。

モデル化されたBeanで直接プロパティを作成するには、プロパティの名前とデータ型を入力します。次に例を示します。

name : java.lang.String

Public (+)可視性の記号が、プロパティの先頭に自動的に追加されます。

ノート:

StringLongなどのパッケージ接頭辞を付けずにjava.langパッケージからのプロパティ・タイプを入力すると、java.lang.プロパティ・タイプ接頭辞が自動的に追加されます。プロパティのタイプが指定されていない場合は、デフォルト・タイプ'String' (java.lang.String)が使用されます。

モデル化されたBeanのメソッド

クラス図のモデル化されたBeanにローカル/リモート・メソッドおよびローカル/ローカル・ホーム・メソッドのいずれかを作成します。

クラス・ダイアグラム上で、モデル化されたBeanにローカル/リモートおよびローカル/ローカル・ホームの両方のメソッドを作成できます。

モデル化されたBeanにインプレースでメソッドを作成するには、名前を入力し、オプションでパラメータ型と名前およびメソッドの戻り型を入力します。メソッドの戻り型の前には、コロン(:)を付ける必要があります。次に例を示します。

getName(String CustNumber) : java.lang.String

Public (+)可視性の記号が、メソッドの先頭に自動的に追加されます。

ノート:

StringまたはLongなど、パッケージ接頭辞を付けずにjava.langパッケージからの戻り型を入力すると、戻り型接頭辞java.lang.がメソッドのクラスのJavaに自動的に追加されます。パラメータ・タイプが指定されていない場合、メソッドはパラメータなしで定義されます。戻り型が指定されていない場合は、デフォルトの戻り型voidが使用されます。メソッドのプロパティを変更するには、ダイアグラムまたは「アプリケーション」ウィンドウでクラスをダブルクリックし、EJBエディタを使用してメソッドの詳細を変更します。

クロス・コンポーネント参照のモデル化の方法

EJB参照とEJBローカル参照は、クラス図上のモデル化されたBean間に作成できます。モデル化されたBean間の参照をモデル化する手順を使用してください。

クラス・ダイアグラム上で、モデル化されたBean間に参照を作成できます。

  • 一方のBeanからリモート・インタフェースを持つ他方のBeanへのEJB参照を作成できます。

  • 一方のBeanからローカル・インタフェースを持つ他方のBeanへのEJBローカル参照を作成できます。

ノート:

参照を作成できるのは、現在のデプロイメント・ディスクリプタ内にあるBeanに対してのみです。

モデル化されたBean間の参照をモデル化するには:

  1. 「EJBコンポーネント」ウィンドウで次のアイコンを選択します。
    • EJB参照

    • EJBローカル参照

  2. 参照の「所有」または「元」側のBeanをクリックします。
  3. 参照の「先」側のBeanをクリックします。
モデル化されたBeanの実装クラスの表示方法

モデル化されたBeanの実装コードを含むJavaソース・ファイルは、モデル化されたJavaクラスとしてダイアグラムに表示されます。モデル化されたBeanのモデル化された実装Javaクラスを表示するには、次のステップに従います。

モデル化された各Beanには、その要素の実装コードを含む基礎となるJavaソース・ファイルがあります。これらの実装ファイルは、モデル化されたJavaクラスとしてダイアグラムに表示できます。

モデル化されたBeanのモデル化された実装Javaクラスを表示するには:

  • ダイアグラムでJava実装をモデル化するBeanを選択し、「モデル」「表示」「実装ファイル」を選択します。

  • または、Beanを右クリックし、実装の表示「ファイル」を選択します。

モデル化されたBeanのソース・コードの表示方法

JDeveloperでは、ダイアグラムの簡単なコマンドを使用することによって、ソース・エディタにモデル化されたBeanのJavaソース・コードが表示されます。モデル要素のJavaソース・コードを表示するには、次のステップに従います。

モデル化されたBeanのJavaソース・コードは、ダイアグラムのシンプル・コマンドでソース・エディタに表示できます。

モデル要素のJavaソース・コードを表示するには:

  • ダイアグラムの要素を右クリックします。「ソースに移動」を選択し、表示するソース・ファイルを選択します。

  • 要素を選択し、「モデル」「ソースに移動」を選択します。

プロパティまたはメソッドのアクセス・レベルの変更方法

ポップアップ・メニューを使用して、プロパティまたはメソッドのアクセス・レベルを変更します。プロパティまたはメソッドのアクセス・レベルを変更する手順を使用してください。

ポップアップ・メニューを使用して、プロパティまたはメソッドのアクセス・レベルを変更できます。

プロパティまたはメソッドのアクセス・レベルを変更するには:

  1. 変更するプロパティまたはメソッドを右クリックします。
  2. 「次からアクセスが可能」オプションから、必要なアクセス・レベル・オプションを選択します。

    アクセス・レベル・オプションは次のとおりです。

    • ローカル・インタフェース

    • リモート・インタフェース

    • ローカル・インタフェースとリモート・インタフェース

ダイアグラムでのJPAエンティティのリバース・エンジニアリングの方法

アプリケーションのデータベース接続を介して、EJBのダイアグラム上で、表定義をモデル化されたエンティティBeanにリバース・エンジニアリングします。表定義をエンティティBeanにリバース・エンジニアリングする手順を使用してください。

モデル化されたエンティティBeanは、EJBのダイアグラム上で、アプリケーションのデータベース接続を介して表定義からリバース・エンジニアリングできます。

表定義をエンティティBeanにリバース・エンジニアリングするには:

  1. ダイアグラムを開く、または作成します。
  2. データベース接続の「接続」ウィンドウでノードを開きます。
  3. ユーザー・ノードを展開した後、「表」ノードを展開します。
  4. エンティティBeanの作成に使用する表定義をクリックし、現在のダイアグラムにドラッグします。

    複数の表をエンティティBeanにリバース・エンジニアリングするには、[Ctrl]キーを押しながら、リバース・エンジニアリングする表を「データベース」ウィンドウで選択し、その表をダイアグラムにドラッグした後、[Ctrl]キーを放します。

  5. EJBバージョンを選択し、「OK」をクリックします。

データベース・ダイアグラムによるモデリング

データベース構造のモデルでは、データベース・スキーマおよびオンライン表とオフライン表の間の関係を図で理解できます。

データベース構造をモデル化すると、データベース・スキーマ、およぴオンラインまたはオフラインの表間の関連をビジュアルに表示できます。また、変換機能を使用すると、データベース表をUMLクラスに、またその逆に変換できます。データベースの変換の詳細は、「UML-オフライン・データベース変換」を参照してください。

データベース・モデル化機能の操作

JDeveloperを使用して、ライブ・データベース接続からオフライン・データベース・オブジェクトとデータベース・オブジェクトをモデル化します。データベース・ダイアグラムにはデータベース・オブジェクトと関係が構造的に表示され、ダイアグラム上にコンポーネントを作成できます。

JDeveloperを使用して、オフライン・データベース・オブジェクトを、稼働中のデータベース接続のデータベース・オブジェクトと同様にモデル化できます。また、表や外部キー関係などのデータベース・オブジェクトをダイアグラム上で作成し、それをオンラインまたはオフライン・データベースに統合できます。作成した新規オブジェクトと同様、オンラインまたはオフライン・データベースのすべてのデータベース・オブジェクトは「アプリケーション」ウィンドウに表示されます。

  • オフライン・オブジェクトが、アプリケーション・ナビゲータの「オフライン・データベース・ソース」ノードに表示されます。

  • アプリケーションを構成するオンライン・データベース接続は、アプリケーション・ナビゲータの「アプリケーション・リソース」ビューの「接続」→「データベース」ノードに表示されます。

  • アプリケーション間で共有されるオンライン・データベース接続は、データベース・ナビゲータに表示されます。このナビゲータには、「ウィンドウ」→「データベース」→「データベース」からアクセスできます。

データベース・ダイアグラムを使用して、表および外部キー関係、ビューおよび結合オブジェクト、マテリアライズド・ビュー、シノニム、およびシーケンスなどの図コンポーネント上で直接作成、およびデータベース・オブジェクト構造と関係を表示できます。

データベース・ダイアグラムの作成方法

「新規ギャラリ」を使用してデータベース・ダイアグラムを作成し、そこにコンポーネントを追加します。

データベース・ダイアグラムの作成は、「新規ギャラリ」で行います。「新規ダイアグラムの作成」を参照してください。

図5-50に示すとおり、データベース・ダイアグラムは、作成後に「コンポーネント」ウィンドウのコンポーネントから選択できます。

図5-50 「データベース・コンポーネント」ウィンドウ

図5-50の説明が続きます
「図5-50 データベース・コンポーネント・ウィンドウ」の説明
オフライン・データベース・オブジェクトの作成方法

「データベース・オブジェクト」の「コンポーネント」ウィンドウを使用してダイアグラムにオフライン・データベース・オブジェクトを作成します。「データベース」ウィンドウのデータベース接続から、または「アプリケーション」ウィンドウのオフライン・スキーマからオブジェクトをドラッグして、データベース・オブジェクトを作成します。

ダイアグラムにオフライン・データベース・オブジェクトを作成するには、「データベース・オブジェクト」の「コンポーネント」ウィンドウで該当するアイコンをクリックし、オブジェクトの作成先であるダイアグラムをクリックします。このプロセスにより、既存のオブジェクトがデータベース・ダイアグラムに追加されます。

「データベース」ウィンドウのデータベース接続から、または「アプリケーション」ウィンドウのオフライン・スキーマからオブジェクトをドラッグすることもできます。

外部キーの作成方法

外部キーを含む表をクリックしてターゲット表をクリックし、データベース・ダイアグラムに外部キーを作成します。

データベース・ダイアグラムに外部キーを作成するには、外部キーの作成元となる表をクリックして、ターゲット宛先の表をクリックします。「外部キーの作成」ダイアログを使用すると、ターゲット表の既存の列を選択するか、新しい列を作成できます。ターゲットの表は、外部キーの所有者になります。

テンプレートを使用したデータベース・オブジェクトの作成方法

<ObjectType>コンポーネントを使用して、オフライン・データベース・プロパティ・ダイアログで定義されるテンプレートに基づいてオブジェクトを作成します。

すべてのテンプレートは、オフライン・データベース・プロパティ・ダイアログで定義されます。作成しているオブジェクトのオフライン・データベースにそのオブジェクトの作成用テンプレートが定義されている場合、<ObjectType>コンポーネントを使用すると、そのテンプレートに基づいてオブジェクトが作成されます。たとえば、オフライン・データベース「Database1」にテンプレート表「MyTab」がある場合、「コンポーネント」ウィンドウの表オプションを使用してDatabase1に新しい表を作成すると、作成した新しい表はテンプレート「MyTab」に基づいた内容になります。既存オブジェクトはオフライン・データベースからダイアグラムに追加されます。

プライベート・シノニムとパブリック・シノニムを追加および作成する方法

「コンポーネント」ウィンドウのリストから「データベース」を選択し、「パブリック・シノニム」または「プライベート・シノニム」オプションを使用してダイアグラムにシノニムを作成します。代替策としては、オンライン・データベース接続からオブジェクトを追加するか、データベース接続からオフライン・データベースにオブジェクトをインポートしてダイアグラムに追加します。

ダイアグラムにシノニムを作成するには、「コンポーネント」ウィンドウに移動して「データベース」を選択します。「データベース」リストから、「パブリック・シノニム」または「プライベート・シノニム」をクリックして、シノニムを作成するダイアグラムをクリックします。どちらのコンポーネントにも「パブリック」プロパティのチェック・ボックスが含まれていることに注意してください。このボックスは、パブリック・シノニムの場合は自動的に選択され、プライベート・シノニムの場合はデフォルトで選択解除されます。

オンライン・データベース接続からオブジェクトをドラッグ・アンド・ドロップすることもできます。データベース接続からオフライン・データベースにオブジェクトをインポートするには、既存のオブジェクトをデータベース接続からダイアグラムに追加します。

シーケンスを追加および作成する方法

ダイアグラムの「データベース・オブジェクト」コンポーネント・ウィンドウの「シーケンス」オプションを使用して、ダイアグラムにシーケンスを作成します。シーケンスは、データベース接続または「アプリケーション」ウィンドウのオフライン・データベースから追加することもできます。

ダイアグラムにシーケンスを作成するには、ダイアグラムの「データベース・オブジェクト」の「コンポーネント」ウィンドウに移動し、「シーケンス」を選択してから、シーケンスを作成するダイアグラムをクリックします。

データベース接続から、または「アプリケーション」ウィンドウのオフライン・データベースから、シーケンスをドラッグしてダイアグラム上にドロップする方法もあります。

表を追加および作成する方法

表をダイアグラムに追加する手順を使用してください。

次のステップに従って、表をダイアグラムに追加します。

  1. データベース・コンポーネント・ウィンドウに移動し、「表」をクリックしてから、表を挿入するダイアグラムをクリックします。

    データベース接続から、または「アプリケーション」ウィンドウのオフライン・データベースから、表をドラッグしてダイアグラム上にドロップする方法もあります。同様の方法で、オフライン・データベースから既存オブジェクトをダイアグラムに追加できます。

    モデル化した表に様々な属性を表示するには、「プリファレンス」→「ダイアグラム」→「データベース」を選択して、「次のプリファレンスを編集」ドロップダウンから「表」を選択します。「表示」タブで、「表レイアウトの使用」アイコンと「表示」アイコンを選択します。表の制約を表示するには、「制約」タブを選択して、表示する制約の属性を選択します。

    モデル化された表の最初の列は、列が主キー、一意キーまたは外部キーのどれであるかを示します。2番目の列は、表列が必須であるかどうかを示します。

    ノート:

    表列が主キーの場合は、一意キーまたは外部キーでもある場合でも、主キーのアイコンのみが表示されます。

  2. 表をさらに定義するには、表をクリックして、コンテキスト・メニューから「プロパティ」を選択します。

    左側には、定義可能なプロパティのリストがあります。パネルの下部では、「概要」タブがデフォルト・ビューであることに注意してください。ビューを変更するには、「ダイアグラム」タブ、「DDL」タブまたは「履歴」タブをクリックします。

  3. 列を追加するには、左側の「列」を選択します。「列」表で、+ボタンをクリックして、必要な列ごとに行を追加します。新しい列ごとに、タブ付きパネルを使用して、列の「データ型」、「制約」、「索引」、「LOBパラメータ」、「ID列」、「ユーザー・プロパティ」を指定します。
  4. 制約を追加するには、左側の「制約」を選択し、+ドロップダウン・メニューを使用して、新しいキーまたは制約を指定します。タイプと名前を入力して、遅延可能状態を設定します。制約が「制約」表で選択されている状態で、タブ付きパネルを使用して、そのプロパティとユーザー・プロパティを指定します。

    制約を列に適用するには、「制約」表で制約を選択して、下にある「プロパティ」タブで索引を選択し、「使用可能な列」領域から列を選択して「>」ボタンをクリックして、その列を「選択済」リストに移動します。

データベースまたはスキーマの変更方法

データベースまたはスキーマを変更する手順を使用してください。変更後に作成されたデータベース・オブジェクトは、選択したデータベースまたはスキーマにあります。

  1. データベース・ダイアグラムで、右クリックして「データベース・オブジェクトの作成」→「データベース」または「スキーマ」を選択します。
  2. 「場所の指定」ダイアログまたは「オフライン・スキーマの選択」ダイアログに入力します。

ノート:

後続のデータベース・オブジェクトはすべて、選択したデータベースまたはスキーマで作成されます。既存のオブジェクトは変更されません。

データベース・ビューの作成方法とデータベース・オブジェクトの追加方法

データベース・ビューを作成する手順を使用してください。データベース接続からオフライン・データベースにオブジェクトをインポートすると、データベース接続からダイアグラムにオブジェクトが追加されます。

次のステップに従って、データベース・ビューを作成します。

  1. データベース・ビューを必要とするダイアグラムを開きます。
  2. 「コンポーネント」ウィンドウの「データベース」カテゴリで、「データベース・オブジェクト」を開いて「ビュー」アイコンを選択します。
  3. ダイアグラムをクリックします。ビュー・オブジェクトがダイアグラムに追加されます。

    ビューを定義するには、表とビューを、パレット、または他のビューの表の列または要素から追加します。

    既存のビューを追加するには、データベース接続からビューをドラッグしてダイアグラムにドロップできます。「アプリケーション」ウィンドウに表示されるオフライン・データベースからビューをドラッグすることもできます。

  4. ビュー・コンポーネントを右クリックして、「プロパティ」を選択します。スキーマと名前を指定して、「SQL問合せ」フォームと「プロパティ」フォームに入力します。

データベース接続からオフライン・データベースにオブジェクトをインポートするには、既存のオブジェクトをデータベース接続からダイアグラムに追加します。

基本リレーションの使用方法を定義する方法

FROM句は、表またはビューにリレーションを指定する基本リレーションの使用方法と呼ばれるコンポーネントで構成されます。「コンポーネント」ウィンドウから「データベース」を使用して、ビューの基本リレーションを定義します。

基本リレーションの使用方法は、表またはビューにリレーションを指定するFROM句のコンポーネントになります。FROM句を指定したSQL問合せを定義する場合(入力可能またはクエリー・ビルダーを使用して実行可能)、リレーション使用方法オブジェクトは、ビュー・コンポーネントに自動的に追加されます。

ビューの基本リレーションを定義するには、「コンポーネント」ウィンドウに移動して「データベース」を選択します。リストで、「リレーション使用方法」をクリックして、図形の表示をクリックします。

結合オブジェクトの作成方法

「結合オブジェクト」を使用すると、ビューの2つの表使用方法の間に結合オブジェクトを作成できます。

ビューで2つの表使用方法の間に結合オブジェクトを作成するには、「結合オブジェクト」をクリックして、結合する2つの表使用方法をクリックします。「結合の編集」ダイアログでは、結合を指定できます。