corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

UML モデリング: アプリケーションの開発

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

このチュートリアルでは、IDE の UML モデリング機能を使用して、簡単な UML クラス図を作成する方法を学びます。そのあとで、コード生成機能とリバースエンジニアリング機能を使用して、簡単な銀行業務アプリケーションを開発します。このアプリケーションは、テストクラスを実行することでテストできます。この銀行業務アプリケーションはかなり単純化されています。現実には、この種のアプリケーションでは、さらに複雑なモデリングが必要になります。このチュートリアルの目的は、UML の概念や Java プログラミング言語について説明することではなく、IDE の UML モデリング機能をいくつか紹介することです。

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

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

前提条件

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

システム要件

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

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

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

目次

ページの先頭へ


アプリケーション用の Java プロジェクトの作成

この節では、このチュートリアルで開発する Java アプリケーション用に新しい Java プロジェクトを作成します。

  1. メインメニューから「ファイル」>「新規プロジェクト」を選択し、「新規プロジェクト」ウィザードで次の操作を行います。
    1. 「カテゴリ」で「一般」を選択します。
    2. 「プロジェクト」で「Java アプリケーション」を選択します。
    3. 「次へ」をクリックします。
  2. 「プロジェクト名」フィールドに「JavaPrj」と入力します。
  3. 「プロジェクトの場所」フィールドで、「ブラウズ」をクリックし、コンピュータ上の任意のディレクトリに移動して、「MyPrj」という新規フォルダを作成します。
  4. 「主プロジェクトとして設定」チェックボックスと「主クラスを作成」チェックボックスの選択を解除します。
  5. 「完了」をクリックします。
    進行状況を示すダイアログが表示されます。
    新しい JavaPrj プロジェクトが作成されると、「プロジェクト」ウィンドウに表示されます。

デモを表示

ページの先頭へ


UML プロジェクトとクラス図の作成

この節では、アプリケーションの UML モデリングプロジェクト (UML プロジェクト) とクラス図を作成します。UML プロジェクトは、UML モデルのファイルを保存および管理するためのメカニズムです。UML モデルには、モデルの図、図に関連付けられている要素、および UML モデルに関連するメタデータがすべて含まれます。

  1. UML プロジェクトを作成するには、「ファイル」>「新規プロジェクト」を選択し、次の操作を行います。
    1. 「カテゴリ」で「UML」を選択します。
    2. 「プロジェクト」で「Java プラットフォームモデル」を選択します。
    3. 「次へ」をクリックします。
    「新規 Java プラットフォームモデル」ページが表示されます。
  2. 「プロジェクト名」フィールドに「UMLPrj」と入力します。
    プロジェクト名を入力すると、プロジェクトフォルダ名も自動的にこの名前になります。
  3. プロジェクトの場所が MyPrj であることを確認します。
  4. 「完了」をクリックします。
    IDE によって UML プロジェクトが作成され、「図を新規作成」ダイアログが表示されます。
  5. 「図の種類」リストから「クラス図」を選択します。
  6. 「図名」フィールドに「BankClassDiagram」と入力します。
  7. 「名前空間」フィールドの「UMLPrj」は変更しないで、「完了」をクリックします。
    IDE では次のことが行われます。
    • 「プロジェクト」ウィンドウに、UMLPrj ノードが追加されます。
    • 「モデル」ノードの下に「BankClassDiagram」ノードが作成されます。
    • 図エディタに新しい図が表示されます (この時点で図は空です)。
    • モデリングパレットが開きます。

デモを表示

ページの先頭へ


クラス要素の追加と定義

ここで、Java アプリケーションを形成するクラス要素を追加して定義します。クラス要素を作成するには、モデリングパレットから「クラス (Class)」アイコンを使用します。

  1. モデリングパレットの基本区画で、「クラス (Class)」アイコン 「クラス (Class)」アイコン を選択し、図エディタ内をクリックします。
    この操作によって、クラス要素が図エディタに配置されます。
  2. 図エディタ内の任意の場所を右クリックして「クラス (Class)」アイコンを選択解除します。
  3. 新しく追加したクラス要素を選択し、「BankAccount」と入力して Enter キーを押します。
    IDE によって次のことが行われます。
    • BankAccount 要素にラベルが付けられます。
    • BankAccount() という public 操作が作成されます。
    • 「プロパティ」ウィンドウに BankAccount クラスのプロパティが表示されます。
  4. 図エディタで BankAccount クラスが選択されている状態で、「属性」を右クリックし、ポップアップメニューから「属性を挿入」を選択します。
    次の情報を含む 1 行エディタが開きます。
    可視性 型 名前[範囲]=初期値{名前=値}
  5. balance」と入力し、Enter キーを押します。
    BankAccount クラスに int 型の balance という private 属性が現れます。クラスに、次の操作が作成されます。
    • public int getBalance()
    • public void setBalance(int val)
  6. 図エディタで BankAccount クラスが選択されている状態で、「操作」を右クリックし、ポップアップメニューから「操作を挿入」を選択します。
    次の情報を含む 1 行エディタが開きます。
    可視性 戻り値の型 名前(パラメータ) {プロパティ...}
  7. withdraw」と入力し、キーボードの右矢印キーを使用してカーソルを括弧内に移動します。次に、「int amount」と入力し、Enter キーを押します。
    IDE によって、次のように新しい操作がクラス要素に追加されます。
    public void withdraw(int amount)

デモを表示

ページの先頭へ


図への要素の追加

この節では、モデリングパレットのほかの UML アイコンを使用してインタフェース、パッケージ、属性、および操作をアプリケーションに追加します。

  1. モデリングパレットの基本区画で、「パッケージ (Package)」アイコン 「パッケージ (Package)」アイコン を選択します。

    注: 必要なモデリングアイコンが表示されていない場合は、下にスクロールします。「ドキュメント」ウィンドウを閉じて、モデリングパレットの表示領域を広げることもできます。そうすることによって、より多くのクラス要素アイコンを表示できます。
  2. 図エディタ内をクリックして、パッケージ要素をクラス図に追加します。
  3. 図エディタ内の任意の場所を右クリックして「パッケージ (Package)」アイコンを選択解除します。

    注: モデリング要素を図に追加するときは、図エディタ内で各要素を選択して移動することで、図を見やすくすることができます。右クリックするときは注意が必要です。右クリックする場所によっては、図エディタのポップアップメニューが表示されます。図エディタのコンテキストメニューが表示された場合は、図エディタ内の白い領域をクリックしてください。
  4. パッケージ要素が選択されている状態で、「bankpack」と入力し、Enter キーを押します。
  5. モデリングパレットの基本区画で、「インタフェース (Interface)」アイコン 「インタフェース (Interface)」アイコン を選択し、図エディタ内をクリックします。
  6. 図エディタ内の任意の場所を右クリックして「インタフェース (Interface)」アイコンを選択解除します。
  7. インタフェース要素が選択されている状態で、「Bank」と入力し、Enter キーを押します。
  8. Bank インタフェースに deposit 操作を追加します。
    インタフェースに操作を追加する方法は、クラスに操作を追加する方法と同じです (前の節の手順 6 を参照)。この操作は、次のように定義します。
    public void deposit(int amount)
  9. モデリングパレットから、「クラス (Class)」アイコン 「クラス (Class)」アイコン を選択し、図エディタ内を 2 回クリックします。
  10. 図エディタ内の任意の場所を右クリックして「クラス (Class)」アイコンを選択解除します。

    注: 必要数を超えるクラス要素を描画した場合は、「クラス (Class)」アイコンを選択解除し、削除するクラス要素を右クリックして、「編集」>「削除」を選択します。
  11. クラス要素にそれぞれ「Checking」、「AccountTest」という名前を付け、必要に応じてサイズを変更します。

デモを表示

ページの先頭へ


要素間の関連の指定

ここでは、モデリングパレットの UML アイコンを使用して、クラス要素間の関係を指定します。

  1. モデリングパレットの基本区画で、「実装 (Implementation)」アイコン 「実装 (Implementation)」アイコン を選択し、BankAccount クラス要素内をクリックします。
  2. Bank インタフェース要素内をクリックし、図エディタ内の任意の場所を右クリックして「実装 (Implementation)」アイコンを選択解除します。
    クラスとインタフェース要素の間に実装リンクが表示されます。実装リンクは、クラスとインタフェース間の関係を表します。
  3. モデリングパレットの基本区画で、「汎化 (Generalization)」アイコン 「汎化 (Generalization)」 を選択します。
  4. Checking クラス要素 (サブクラス) 内をクリックし、BankAccount クラス要素 (スーパークラス) 内をクリックします。
    「再定義するメソッドを選択」ダイアログが表示されます。
  5. withdraw メソッドを選択し、「了解」をクリックします。
    IDE によって次のことが行われます。
    • ダイアログが閉じます。
    • Checking クラスに、withdraw メソッドが追加されます。
    • 2 つの関連するクラス要素の間に汎化リンクが追加されます。
    汎化リンクは、サブクラスとそのスーパークラスの関係を表します。サブクラスは、スーパークラスからの派生版であり、このことはスーパークラスから機能 (属性および操作) を継承できることを意味します。
  6. 図エディタの任意の空白の領域を右クリックして「汎化 (Generalization)」アイコンを選択解除します。
  7. モデリングパレットの基本区画で、「入れ子リンク (Nested Link)」アイコン 「入れ子リンク (Nested Link)」アイコン を選択し、BankAccount 要素内をクリックして、bankpack パッケージ要素内をクリックします。
  8. 前の手順で説明した「入れ子リンク (Nested Link)」を使用して、Checking、AccountTest、および Bank の各要素を bankpack パッケージに接続します。
  9. 「入れ子リンク (Nested Link)」を選択解除します。
    入れ子リンクは、要素のグループ分けを表します。この場合は、すべてのクラス要素を bankpack パッケージ内の 1 つのグループにまとめました。
  10. 図エディタ内の任意の場所で Ctrl-S キーを押し、モデルへの変更内容を保存します。

デモを表示

ページの先頭へ


Java ソースコードの生成

この節では、UML モデリングのコード生成機能を使用して、前の節で作成した UML モデルに対応する Java ソースコードを生成します。

  1. 「プロジェクト」ウィンドウで、「UMLPrj」ノードを右クリックし、ポップアップメニューから「コードを生成」を選択します。
    「コードを生成」ダイアログが表示されます。
  2. 「コードを生成」ダイアログで、「ブラウズ」をクリックします。
  3. 「ターゲットソースフォルダを選択」ダイアログで、このチュートリアルで作成した JavaPrj プロジェクトのソースフォルダを指定します。
    例: C:\Temp\MyPrj\JavPrj\src
  4. 「選択」をクリックします。
  5. 「コードを生成」ダイアログに戻り、「既存のソースファイルをバックアップ」チェックボックスの選択を解除します。
  6. 「了解」をクリックします。
    「UML プロジェクトの保存の許可」ダイアログが表示されます。
  7. 「了解」をクリックします。
    IDE によってコードが生成され、「出力」ウィンドウにコード生成処理の進行状況が表示されます。

デモを表示

ページの先頭へ


リバースエンジニアリングを使用して開発を継続

この節では、生成されたソースコードをソースエディタで変更し、リバースエンジニアリング機能を使用してアプリケーションの UML モデルを更新して、アプリケーションの開発を続けます。

  1. 「プロジェクト」ウィンドウで、「UMLPrj」>「モデル」>「bankpack」ノードを展開します。
  2. BankAccount」ノードを右クリックし、ポップアップメニューから「ソースにナビゲート」を選択します。
  3. ソースエディタで deposit メソッドに次のコードを追加します。
    setBalance(getBalance() + amount);
  4. 「プロジェクト」ウィンドウの「UMLPrj」>「モデル」>「bankpack」ノードの下で、「AccountTest」ノードを右クリックして、ポップアップメニューから「ソースにナビゲート」を選択します。
  5. ソースエディタで次のコードを入力 (またはコピー & ペースト) します。
    public static void main(String[] args) {
    Checking myChecking = new Checking();
    myChecking.deposit(100);
    System.out.println("Checking Balance is: " +
    myChecking.getBalance() );
    }
    このコードは、新しい Checking オブジェクトを作成し、100 ドルの預金を指示して、その結果を出力します。
  6. ソースエディタ内を右クリックし、「コードを再フォーマット」を選択します。
  7. ソースエディタ内の任意の場所で Ctrl-S キーを押し、AccountTest.java のソースファイルへの変更内容を保存します。
  8. ソースエディタ内をもう一度右クリックし、ポップアップメニューから「リバースエンジニア」を選択します。
    「リバースエンジニアリング」ダイアログが表示されます。
  9. 「リバースエンジニアリング」ダイアログで「既存の UML プロジェクトを使用」を選択し、ターゲットプロジェクトとして「UMLPrj」を選択します。
  10. 「了解」をクリックしてリバースエンジニアリングの処理を開始します。
  11. 「モデル要素の上書きの許可」ダイアログで「はい」をクリックして AccountTest クラスの既存のモデルを上書きします。
  12. 「BankClassDiagram」タブをクリックします。
    新しく入力した main メソッドが、クラス図の AccountTest クラス要素内に表示されます。
    リバースエンジニアリング機能を使用することで、Java ソースプロジェクトの変更内容を、対応する UML モデルプロジェクトに反映できます。

デモを表示

ページの先頭へ


作成したアプリケーションのテスト

ここでは、プロジェクトを構築して実行します。

  1. 「プロジェクト」ウィンドウで、「JavaPrj」ノードを右クリックし、ポップアップメニューから「プロジェクトを構築」を選択します。
  2. 「プロジェクト」ウィンドウで、「JavaPrj」ノードを右クリックし、ポップアップメニューから「プロジェクトを実行」を選択します。
    「プロジェクトの実行」ダイアログが表示されます。
  3. 「プロジェクトの実行」ダイアログで、「了解」をクリックし、主クラスとして bankpack.AccountTest を選択します。
    アプリケーションが実行され、「出力」ウィンドウに次の出力が表示されます。
    Checking Balance is: 100

デモを表示

これで、アプリケーションが完成しました。

ページの先頭へ


まとめ

このチュートリアルでは、簡単な銀行業務アプリケーションのクラス図を設計しました。具体的には、次の作業を実行する方法を学びました。

  • UML プロジェクトを作成する
  • モデリングパレットの UML アイコンを使用して、クラス、インタフェース、パッケージ、属性、および操作を作成する
  • UML の関連を使用してクラス同士をリンクする
  • 図エディタで UML プロジェクトに作成した要素を「プロジェクト」ウィンドウで確認する
  • 図エディタで UML プロジェクトに作成した要素のソースコードを生成し、生成されたソースをソースエディタで表示する
  • コード生成機能とリバースエンジニアリング機能を使用してモデリングと、ソースエディタでのコードの開発を切り替える
  • ソースエディタからクラスをコンパイルおよび実行する


ページの先頭へ

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems