FeaturesPluginsDocs & SupportCommunityPartners

UML モデリング: Java アプリケーションのリバースエンジニアリング

このチュートリアルは、NetBeans[tm] 5.5 統合開発環境 (IDE) および NetBeans 5.5, UML モデリングモジュール用です。

このチュートリアルでは、既存の Java アプリケーションのソースコードを UML モデリングプロジェクトにリバースエンジニアリングする方法を学びます。UML プロジェクトでは、すべてのクラスおよびその他のアプリケーション要素は「プロジェクト」ウィンドウで UML プロジェクトノードの下に表示され、元の Java コードは元の状態で残ります。このチュートリアルでは、「目次」に示した項目の順に、基本的な作業を行います。

NetBeans IDE の使用方法の詳細については、NetBeans の Web サイトのドキュメントページを参照してください。

注 :デモを表示 アイコンが表示されているところでは、それをクリックすると、チュートリアル内で説明している手順について、対話形式の詳細なデモを参照できます。

前提条件

このチュートリアルを使用するには、IDE がシステムにインストールされている必要があります。また、IDE の基本要素に関する知識が必要です。Java プログラミング言語および UML モデリングの基礎知識も必要です。IDE の基礎については、オンラインヘルプで IDE の基礎に関する項目を参照してください。公式の UML リソースページ (http://www.uml.org/) で、UML モデリング手法と理論に関する優れたリソースを得ることができます。

システム要件

このチュートリアルは、ご使用のシステムが NetBeans IDE 5.5, UML モデリングモジュール リリースノートに明記されている要件を満たしていることを前提としています。

チュートリアルに必要なソフトウェア

開始する前に、ご使用のコンピュータに次のソフトウェアをインストールしてください。

目次

ページの先頭へ


Java プロジェクトを開く

この節では、このチュートリアルに付属する Java アプリケーション BankApp を IDE でプロジェクトとして開きます。

  1. ファイルシステムに UMLTut というディレクトリを作成し、そのディレクトリに BankApp.zip ファイルを展開します。
  2. IDE のメインメニューから、「ファイル」>「プロジェクトを開く」を選択します。
  3. 作成した UMLTut ディレクトリに移動し、BankApp プロジェクトを選択します。
  4. 「主プロジェクトとして開く」チェックボックスが選択されている状態で、「プロジェクトフォルダを開く」をクリックします。
    進行状況を示すダイアログが表示され、次に「プロジェクト」ウィンドウに BankApp プロジェクトのノードが表示されます。

デモを表示

ページの先頭へ


リバースエンジニアリングによる UML プロジェクトの作成

ここでは、前の節で開いた Java プロジェクト BankApp のリバースエンジニアリングを行うことで、新しい UML プロジェクトを作成します。

  1. メインメニューから「ファイル」>「新規プロジェクト」を選択し、「新規プロジェクト」ウィザードで次の操作を行います。
    1. 「カテゴリ」で「UML」を選択します。
    2. 「プロジェクト」で「Java プロジェクトのリバースエンジニアリング」を選択します。
    3. 「次へ」をクリックします。
  2. 「プロジェクト名」フィールドに「UMLProject」と入力します。
  3. 「プロジェクトの場所」フィールドで「ブラウズ」をクリックして、UMLTut フォルダへ移動します。
  4. 「プロジェクトの場所を選択」ダイアログで、UMLTut フォルダを選択し、「開く」をクリックします。
  5. 「Java プロジェクト」フィールドで、ドロップダウンリストから BankApp を選択します。
  6. 「リバースエンジニアリング」列のチェックボックスは選択したままにします。
  7. 「完了」をクリックします。
    「プロジェクトを開きます」ダイアログに進行状況が表示されます。
    「プロジェクト」ウィンドウに UMLProject プロジェクトが表示されます。

デモを表示

ページの先頭へ


クラス図の生成

この節では、前の節でインポートした BankApp アプリケーションのクラス図を生成します。

  1. 「プロジェクト」ウィンドウで、「UMLProject」ノードの下の「モデル」ノードと、その下の「bankpack」ノードを展開します。
  2. bankpack」フォルダを選択し、Shift キーと Ctrl キーを押しながら「bankpack」フォルダ内の要素をすべて選択します。
  3. 選択した要素を右クリックし、ポップアップメニューから「選択した要素から図を作成」を選択します。
    「図を新規作成」ウィザードが表示されます。
  4. 「図の種類」リストから「クラス図」を選択します。
  5. 「図名」フィールドに「BankClassDiagram」と入力し、「名前空間」フィールドは「UMLProject」のままにして、「完了」をクリックします。
    IDE では次のことが行われます。
    • 「モデル」ノードの下に「BankClassDiagram」ノードが作成されます。
    • 図エディタに新しい図が表示されます。
    • モデリングパレットが開きます。
    注: 新しい BankClassDiagram 図には、手順 2 で選択したすべての要素が含まれます。

デモを表示

ページの先頭へ


「プロジェクト」ウィンドウでの UML プロジェクトの操作

この節では、「プロジェクト」ウィンドウのさまざまな機能を使用して、BankApp アプリケーションの各要素を操作する方法を示します。

  1. 「プロジェクト」ウィンドウで、「UMLProject」>「モデル」>「bankpack」ノードを展開します。
  2. BankAccount」ノードと、その「属性」ノードを展開します。
    このノードには、BankAccount クラスのすべての属性が含まれています。属性の数が 3 つ未満の場合は、「属性」ノードは作成されず、クラスノードの下に属性が表示されます。
  3. private double balance」という属性ノード 属性ノードのアイコン を選択します。
    「プロパティ」ウィンドウに属性の名前とそのプロパティが表示されます。
  4. 「プロジェクト」ウィンドウで、BankAccount クラスのノードの下の「操作」ノード 「操作」ノードのアイコン を展開します。
    このノードの下に、BankAccount クラスのすべての操作が表示されます。
  5. BankAccount クラスの下にある「関係」ノード 「関係」ノードのアイコン を展開します。
    「特化」、「集約」、および「実装」の 3 種類の関係のノードが表示されます。
  6. 「特化」ノード 「特化」ノードのアイコン を展開し、3 つの汎化ノードを展開します。
    汎化のリンクは、BankAccount クラスとその他の要素 (CheckingPlatinum、および Saving の各クラス) の関係を示しています。
  7. (任意) 次の節に進む前に、BankAccount クラスの下で展開されているノードをすべて閉じてください。

デモを表示

ページの先頭へ


図エディタの操作

この節では、図ツールバーのボタンを使用して、アプリケーションを図エディタでさまざまな UML レイアウトで表示します。

  1. 図エディタの上部にある「BankClassDiagram」タブをダブルクリックします。
    この操作によってクラスの図エディタが拡大され、IDE ウィンドウの領域全体に表示されます。

    注: この操作は相互切り替えで、逆の操作を行う場合はもう一度「BankClassDiagram」タブをダブルクリックします。
  2. 図エディタを拡大したままの状態で、図ツールバーの「ウィンドウに合わせる」ボタン 「ウィンドウに合わせる」アイコン をクリックして、図エディタ全体に図を表示します。

    注: 図ツールバーには、ズームレベルのパーセント値を示すフィールドがあります。このフィールドに別の数値を入力すると、サイズを変更できます。
  3. 図ツールバーの「対称型レイアウト」ボタン 「対称型レイアウト」アイコン を選択し、レイアウトの警告ダイアログで「はい」をクリックします。
    BankClassDiagram 図のレイアウトが対称型レイアウトに変更されます。
  4. 図ツールバーの「階層型レイアウト」ボタン 「階層型レイアウト」アイコン を選択し、レイアウトの警告ダイアログで「はい」をクリックします。
    BankClassDiagram 図のレイアウトが階層型レイアウトに変更され、すべての要素が bankpack パッケージの下に表示されます。
  5. 図ツールバーの「直交型レイアウト」ボタン 「直交型レイアウト」アイコン を選択し、レイアウトの警告ダイアログで「はい」をクリックします。
    BankClassDiagram 図のレイアウトが直交型レイアウトに変更されます。

デモを表示

ページの先頭へ


「概要」ウィンドウの使用

ここでは、「概要」ウィンドウの機能を使用して、図エディタ内での図の表示を拡大縮小します。

  1. 拡大した図エディタの上部にある「BankClassDiagram」タブをダブルクリックします。
    IDE が複数ウィンドウ表示に戻ります。
  2. 図ツールバーの「ズーム」ドロップダウンリストから「50%」を選択し、「ウィンドウに合わせる」ボタン 「ウィンドウに合わせる」ボタン をクリックします。
    「ウィンドウに合わせる」ボタンを使用すると、ラベルを読み取れるように、図のサイズが 50% から調整されます。
  3. 図ツールバーの「概要ウィンドウ」ボタン 「概要ウィンドウ」アイコン をクリックして、「概要」ウィンドウを開きます。
    図全体を表す拡大縮小可能な小さなウィンドウが表示されます。このウィンドウ内の青いボックスは、図エディタの表示内容を示しています。
    注 :青いボックスを表示するには、「概要」ウィンドウを拡大するか、「ズーム」ドロップダウンリストでズーム率を上げる必要がある場合があります。
  4. BankAccount 要素の上に青いボックスをドラッグします。
    この操作によって、BankAccount 要素が図エディタの中心に表示されます。
  5. 要素にズームインするには、青いボックスの角のハンドルのいずれかをクリックし、ボックスのサイズを小さくします。ボックスの位置を調整し、図の特定の部分にズームインします。
  6. ズームアウトするには、青いボックスのハンドルのいずれかをクリックし、ボックスのサイズを大きくします。
    図がズームアウトされます。
  7. 「概要」ウィンドウを閉じるには、ウィンドウの右上隅にある「X」をクリックするか、「概要ウィンドウ」ボタンをクリックします。
  8. 図ツールバーの「ウィンドウに合わせる」ボタン 「ウィンドウに合わせる」アイコン をもう一度クリックします。

デモを表示

ページの先頭へ


クラスの依存図の生成

ここでは、BankApp アプリケーションの 1 つのクラスの依存図を生成します。

  1. 「BankClassDiagram」タブをダブルクリックして、図を全面表示に切り替えます。
  2. 図エディタで BankAccount クラスを右クリックし、ポップアップメニューから「依存図を生成」を選択します。
    依存図が作成され、図エディタの「BankAccount依存図」タブに新しい図が表示されます。現在は、BankAccount依存図が表示されている図エディタのタブにフォーカスがあります。BankAccount依存図は、次の依存関係のリンクを示します。
    • Account インタフェースとの実装関係
    • History クラスへのナビゲート可能な集約のリンク
    注: このオプションを使用すると、任意のオブジェクトのすべての依存関係を示す図を作成できます。
  3. 「BankClassDiagram」タブをもう一度ダブルクリックして、IDE を複数ウィンドウ表示に切り替えます。
  4. 「プロジェクト」ウィンドウで、「UMLProject」>「モデル」>「bankpack」フォルダの下の BankAccount クラスノードを展開します。
    作成した依存図を表す「BankAccount依存」ノード 「BankAccount依存」ノードのアイコン が追加されています。

デモを表示

ページの先頭へ


操作のシーケンス図の生成

ここでは、アプリケーションの withdraw 操作のシーケンス図を生成します。操作がどのように図で表されるのか、また UML プロジェクトの要素として「プロジェクト」ウィンドウにどのように表示されるのかを確認します。

  1. 図エディタで「BankAccountDependencies」タブをクリックします。
  2. BankAccount 要素を選択し、操作のラベルを読み取れるようにズーム率を調整します。
  3. 図エディタで withdraw 操作を右クリックし、ポップアップメニューから「操作をリバースエンジニアリング」を選択します。
    「図を新規作成」ダイアログが表示されます。
  4. 「図の種類」リストから「シーケンス図」を選択します。
  5. 「図名」フィールドに「withdrawSD」と入力します。
  6. 「名前空間」フィールドのデフォルト値は変更しないで、「完了」をクリックします。
    図エディタにシーケンス図が表示されます。
  7. 図エディタを拡大し、新しいシーケンス図が見やすいようにズームレベルを操作します。
    シーケンス図は、制御フロー、動作のシーケンス、および並行プロセスと活性化を示します。
  8. 「プロジェクト」ウィンドウで、「BankAccount」クラスノードの下の「操作」ノードを展開し、「public void withdraw」操作ノードを展開します。
    新しいシーケンス図の「withdraw」ノード シーケンス図ノード が表示されます。
  9. withdraw」ノードを展開して、シーケンス図の要素が「プロジェクト」ウィンドウに表示されることを確認します。

デモを表示

ページの先頭へ


まとめ

このチュートリアルでは、UML モデルにデータをインポートすることによって Java アプリケーションをリバースエンジニアリングする方法を学びました。具体的には、次の作業を実行する方法を学びました。

  • インポートした Java アプリケーションからクラス図を生成する
  • アプリケーションの要素を表示する「プロジェクト」ウィンドウの機能を操作する
  • 図ツールバーのボタンを使用して、さまざまな UML レイアウトでアプリケーションを表示する
  • 「概要」ウィンドウを表示ツールとして使用する
  • アプリケーションのクラスの依存図を生成する
  • 操作のシーケンス図を生成し、操作がどのように図で表されるのか、また UML プロジェクトの要素として、「プロジェクト」ウィンドウにどのように表示されるのかを確認する


ページの先頭へ

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Open ESB - The Open Enterprise Service Bus Powered by