english japanese

モデリング言語をJavaに設定する

astah*では、モデリング対象言語の設定(Java、C++、C#)が可能です。
モデリングの対象言語がJavaの場合は、プロジェクト作成時にそう設定しましょう。
設定することで、Java固有のプロパティ設定などが可能になります。

  1. プロジェクトのプロパティプロジェクトの設定でJavaにチェックを入れます
    Java設定
  2. 確認ダイアログが開くので、[はい]を押します
    Java設定
  3. これで、クラスや属性、操作の言語タブのオプションが有効になりました
    言語タブ
TIPS: Java言語設定をデフォルトでONにする
システムプロパティの[プロジェクト]で、デフォルトのモデリング言語をJavaに設定できます。
言語設定


Javaソースコードを読み込む

.javaファイルを読み込み、そのクラスと親パッケージをプロジェクトに生成します。

  1. [ツール] - [Java] - [Javaソースコードの読み込み]を選択します。
    Javaファイルインポート
  2. [Javaソースコードの読み込み]ダイアログが開きます。
    ここでインポート対象のjavaファイルを指定します。
    select_javafile
    まず左のツリー上でディレクトリを選択します。すると中央の[候補リスト]に、選択したディレクト内のjavaファイルが表示されるので、ここからインポートしたいjavaファイルを選択、矢印ボタンを押して[選択リスト]に移動します。
    その後、必要に応じてファイル入力時の文字コードを指定してから[了解]ボタンを押します。
  3. 関連にしたい属性をチェックします
    Javaファイルインポート
  4. 読み込み完了のダイアログが表示されるのでcloseを押します。
    Javaインポート
  5.  
  6. モデルがリバースされて、構造ツリーに表示されました。
    Javaインポート


読み込んだモデルで図を自動生成する

インポートしたモデルのクラス図を自動生成します。
構造ツリー上で、パッケージ(モデル・サブシステム)のポップアップメニューから[クラス図を自動作成]を選択します。作成オプションは3つあります。
クラス図の自動作成

  1. 概略 → 属性/操作を表示せずに図を作成します
  2. 詳細 → 属性/操作を表示して図を作成します
  3. サブパッケージを展開 → 配下のパッケージ内のモデルを表示して図を作成します

1. 概略

属性/操作を表示しないクラス図が生成されます。

クラス図の自動作成

2. 詳細

属性/操作を含めたクラス図が生成されます。

クラス図の自動作成

TIPS: 属性・操作の表示ON/OFF切り替え
属性・操作の表示ON/OFFは、クラス単位、図単位、プロジェクト単位で切り替える事が可能です。属性・操作を非表示にする


3. サブパッケージを展開

選択したパッケージ配下のパッケージ内のモデルを含めてクラス図を作成します。

クラス図を自動作成する


リバースプラグインを使う

Javaソースコードの読み込みであれば、無償の簡単コードプラグインも使えます。
このプラグインを使えば、GithubやBitbucket、Google Project Hosting等のリポジトリサービスや、ローカルにあるJavaソースコードを図上にドラッグするだけで、簡単にモデルをリバースできます。

  1. プラグインをインストールします
  2. Github上の.javaを、クラス図上にドラッグします
    クラス図の自動生成
  3. クラスが生成されて図上に表示されます
    クラス図の自動生成


Javaスケルトンコードを生成する

作成したモデルからJavaスケルトンコードを作成します。
クラスや操作の定義は、ドキュメンテーションコメントとして出力します。

  1. [ツール] - [Java] - [Javaスケルトンコードの作成]を選択します。
    Javaエクスポート
  2. 出力対象のモデルを選択します。必要に応じてコメント出力オプション
    文字コードを指定します。
    Javaエクスポート
  3. TIPS:既存コードへの上書きが可能になりました
    v8.2以前は、出力先に同名の.javaファイルが存在する場合、最後に出力したコードが完全に置換していましたが、v8.3からは完全な置換ではなく、既存のソースコードを残したままコードを上書きできるようになりました。 スケルトンコードの生成オプション
  4. スケルトンコードが生成されました。
    Javaエクスポート

例: 下図のMonitor.javaの生成コード

UMLクラス図

Javaスケルトンコード