astah*には,クラス図を元にJava,C#およびC++のスケルトンコードを生成する機能があります.ここでは,SuperHマイコンやRXマイコンなどのルネサス製マイコン用C++コンパイラで使えるC++のスケルトンコードを生成するまでの手順を説明します.
はじめにastah*でクラス図を追加し,その中にクラスを書きます.このとき,クラスのベース,操作および属性に書くことができる「定義」にコメントの積極的に書くことをお勧めします.これにより,ソースコードにJavaDoc形式のコメント(/** コメント */のようにコメント開始が/**となっているコメント形式)を追加することができます.
次に作成したクラスからソースおよびヘッダファイルを出力します.下図のようにメニューの[ツール]→[C++]→[C++スケルトンコードの生成]を選びます.
次にソースおよびヘッダファイルの出力先を選択します.
次に,現れたダイアログの左側にあるフォルダを選択します.このフォルダは出力したフォルダを表しています.その後,サブディレクトリにチェックを入れ,全選択を表すボタンを押すとすべてのクラスが選択リストに追加されます.さらに,「複数多重度を持っている関連端を配列でなく,コレクションに出力する」のチェックをはずし,ファイル出力時の文字コードをUTF-8にします.最後にC++オプションを押します.
C++出力オプションを下のようにします.デフォルトのincludeリストにstdio.hとiodefine.hを入れることで,定数NULLを使用できるようになるとともに,ルネサス製マイコンのコンパイラに対応することができます.また,ヘッダファイルの拡張子をhpp,ソースファイルの拡張子をcppにします.
ファイルが正しく出力されると下図のようなダイアログが現れます.クラスに対応するソースファイルとヘッダファイルが,そのクラスの入っているパッケージつまりフォルダに出力されているはずです.