株 式 会 社 チェンジビジョン 使 用 バージョン:astah* 6.0, 6.1 astah* チュートリアル [ 第 7 章 語 サポート 機 能 を 使 ってみよう] 目 次 言 語 サポート 機 能 を 使 ってみよう 2 Java 2 Java 基 本 機 能 2 Java スケルトンコードを 作 成 してみよう 5 Java ソースコードの 読 み 込 みをしてみよう 7 C++ 10 C++ 基 本 機 能 10 C++スケルトンコードを 作 成 をしてみよう 13 C++リバースをしてみよう(サンプル サポート 対 象 外 ) 17 C# 23 C# 基 本 機 能 23 C#スケルトンコードを 作 成 してみよう 26 C#リバースをしてみよう(サンプル サポート 対 象 外 ) 29
言 語 サポート 機 能 を 使 ってみよう 使 用 できるエディション: astah* professional astah* UML astah*では よく 使 用 される 基 本 的 な 言 語 Java C++ C#に 対 応 しています JAVA 使 用 できるエディション: astah* professional astah* UML JAVA 基 本 機 能 プロジェクトの 言 語 設 定 をしてみよう プロジェクトの 言 語 設 定 は プロパティビュー または システムプロパティで 設 定 します プロジェクトのプロパティビュー[プロジェクトの 設 定 ]タブ [ツール]-[システムプロパティ]-[ファイル]-[プロジェクトの 新 規 作 成 時 の 言 語 ]-[Java] 2 / 33
JAVA 言 語 固 有 の 設 定 をしてみよう クラス 属 性 操 作 の[ 言 語 ]タブ(プロパティビュー)で Java 言 語 固 有 の 設 定 が 可 能 です JAVA のデフォルトモデルを 使 ってみよう astah* professional インストールフォルダ template project Java1.4.asta astah* professional インストールフォルダ template project Java5.asta システムプロパティでデフォルトモデルを 設 定 していない 場 合 は [ファイル]-[テンプレートからプロジェクトの 新 規 作 成 ]-[ Java1.4.asta]または[Java5.asta]を 選 択 します 3 / 33
以 下 のような 内 容 です [Java5.asta] [Java1.4.asta] またシステムプロパティで 新 規 プロジェクト 作 成 時 のデフォルトモデルの 設 定 もできます 4 / 33
JAVA スケルトンコードを 作 成 してみよう 作 成 したモデルから Java のスケルトンコードを 出 力 できます インストールフォルダ 配 下 の Sample.asta を 開 いて 出 力 してみましょう 5 / 33
メインメニューの[ツール] - [Java] - [Java スケルトンコードの 作 成 ]を 選 択 します Class パッケージの 直 下 のソースを 出 力 してみます 以 下 のように 出 力 されました 6 / 33
Monitor.java を 開 いてみます 正 しく 出 力 されていることがわかりますね JAVA ソースコードの 読 み 込 み をしてみよう 今 度 はプロジェクトを 新 規 作 成 し 前 章 で 出 力 したソースをリバースしてみます (1) プロジェクトを 開 き(または 新 規 作 成 し) メインメニューの[ツール]- [Java ソースコードの 読 み 込 み] を 選 択 します (2) Java ファイル 選 択 ダイアログで Java のファイルを 選 択 します (3) Java のソースコードからパッケージやクラスのモデルを 生 成 します リバース 時 には 関 連 にしたい 属 性 を 指 定 できます 以 下 のダイアログで Close ボタンをクリックすると 終 了 です 7 / 33
以 下 のようにリバースされました (4)リバースしただけではクラス 図 は 作 成 されませんので 生 成 したモデルからクラス 図 を 自 動 作 成 します 構 造 ツリーのプロジェクトのポップアップメニューより 以 下 のメニューを 選 択 します - [クラス 図 を 自 動 作 成 する] - [ 詳 細 クラス 図 を 自 動 作 成 する] 8 / 33
以 下 のようにクラス 図 が 自 動 生 成 されました 9 / 33
C++ 使 用 できるエディション: astah* professional astah* UML C++ 基 本 機 能 プロジェクトの 言 語 設 定 をしてみよう プロジェクトの 言 語 設 定 は プロパティビュー または システムプロパティで 設 定 します プロジェクトのプロパティビュー[プロジェクトの 設 定 ]タブ [ツール]-[システムプロパティ]-[ファイル]-[プロジェクトの 新 規 作 成 時 の 言 語 ]-[C++] C++ 言 語 固 有 の 設 定 をしてみよう クラス 属 性 操 作 の[ 言 語 ]タブ(プロパティビュー)で C++ 言 語 固 有 の 設 定 が 可 能 です [クラス] [ 属 性 ] 10 / 33
[ 操 作 ] C++ 用 のデフォルトモデルを 使 ってみよう astah* professional インストールフォルダ template project C++.asta システムプロパティでデフォルトモデルを 設 定 していない 場 合 は [ファイル]-[テンプレートからプロジェクトの 新 規 作 成 ]-[ C++.asta]を 選 択 します 以 下 のような 内 容 です 11 / 33
またシステムプロパティで 新 規 プロジェクト 作 成 時 のデフォルトモデルの 設 定 もできます 型 修 飾 子 (* & 等 ポインタ 情 報 )を 使 ってみよう プロパティビューより 型 修 飾 子 を 入 力 できます 型 修 飾 子 はダイアグラムエディタ 上 でクラスや 属 性 等 の 図 要 素 に 表 示 されます HTML 出 力 や RTF 出 力 にも 対 応 しています 12 / 33
C++ プリミティブ 型 の 対 応 各 プリミティブ 型 に 対 応 しています bool / char / signed char / unsigned char / short / unsigned short / short int / signed short int / unsigned short int / int / signed int / unsigned int / long / unsigned long / long int / signed long int / unsigned long int / float / double / long double / wchar_t C++スケルトンコードを 作 成 をしてみよう 使 用 できるエディション: astah* professional astah* UML インストールフォルダ 配 下 の Sample.asta を 開 いて プロジェクトのプロパティビューの"プロジェクトの 設 定 "で C++を ON にします 以 下 の MSG ではいを 選 択 します 13 / 33
メインメニューの[ツール] - [C++] - [C++スケルトンコードの 作 成 ]を 選 択 します Class パッケージの 直 下 のソースを 出 力 してみます またオプションもあります 14 / 33
以 下 のようにヘッダーファイル ソースファイルともに 出 力 されましたね Monitor.h を 開 いてみます 15 / 33
Monitor.cpp を 開 いてみます 正 しく 出 力 されていることがわかりますね 16 / 33
C++リバースをしてみよう(サンプル サポート 対 象 外 ) 使 用 できる 製 品 : astah* professional [ 使 用 方 法 ] 詳 しい 使 用 法 は astah* C++リバース 利 用 ガイドをご 参 照 ください stah* professional インストールフォルダ api sample sample_doxygen_c_plus sample_doxygen_c_plus.html [イメージ] Doxygen リバースツール ソース XML *.asta [Doxygen を 利 用 してリバース] [C++のスケルトンコードを 作 成 ]の 章 で 出 力 したソースを Doxygen を 使 用 し XML に 変 換 します 読 み 込 みソースパス 配 下 のファイルがすべて 対 象 な 時 には RECUSIVE のチェックが 必 要 なので 注 意 してくださ い また ソースのエンコードもファイルのエンコードと 揃 えてください 17 / 33
また ヘッダーファイルのパスを 追 加 するのも 重 要 です [Doxygen の 設 定 ポイント] 特 に 以 下 に 注 意 してください [Expert]-[Input]-[RECURSIVE] [Expert]-[Input]-[INPUT_ENCORDING] [Expert]-[Preprocessor]-[INCLUDE PATH] 18 / 33
以 下 のように 出 力 されました 19 / 33
これを API サンプルを 経 由 してプロジェクトを 作 成 します 作 成 した 結 果 を 開 いてみます この 時 点 ではクラス 図 がないため クラス 図 を 自 動 生 成 してみます 20 / 33
次 のようにクラス 図 が 自 動 生 成 されました リバース 前 のクラス 図 と 比 較 するため 移 動 と 色 付 けをします 21 / 33
これがフォワード 前 のモデルです 比 較 するとグローバルな Global クラスがあります これは C++では クラスに 属 さないメソッド 等 が 生 成 される ため リバース 時 に 各 名 前 空 間 に Global クラスが 生 成 されます また Tracer クラスと Engine クラス Tracer クラスと Steering クラス Tracer クラスと Monitor クラス Tracer クラスと State クラスの 関 連 がありませんが その 代 わり Tracer クラスには 属 性 として Engine クラス Steering クラス Monitor クラス State クラスを 持 ち 逆 参 照 も 付 加 されます UML2.0 では 属 性 も 関 連 もプロパティとい う 概 念 になり 意 味 合 いは 同 じです また Monitor クラスと Engine クラス Monitor クラスと Steering クラスの 関 連 がないこと Monitor クラスと LightSensor クラスの 関 連 がないことも 同 じです 22 / 33
C# 使 用 できるエディション: astah* professional astah* UML C# 基 本 機 能 プロジェクトの 言 語 設 定 をしてみよう プロジェクトの 言 語 設 定 は プロパティビュー または システムプロパティで 設 定 します プロジェクトのプロパティビュー[プロジェクトの 設 定 ]タブ [ツール]-[システムプロパティ]-[ファイル]-[プロジェクトの 新 規 作 成 時 の 言 語 ]-[C#] 23 / 33
C# 言 語 固 有 の 設 定 をしてみよう クラス 属 性 操 作 の[ 言 語 ]タブ(プロパティビュー)で C# 言 語 固 有 の 設 定 が 可 能 です [クラス] [ 属 性 ] [ 操 作 ] 24 / 33
C# 用 のデフォルトモデルを 使 ってみよう astah* professional インストールフォルダ template project C_Sharp.asta システムプロパティでデフォルトモデルを 設 定 していない 場 合 は [ファイル]-[テンプレートからプロジェクトの 新 規 作 成 ]-[ C_Sharp.asta]を 選 択 します 以 下 のような 内 容 です またシステムプロパティで 新 規 プロジェクト 作 成 時 のデフォルトモデルを 設 定 できます 25 / 33
C# プリミティブ 型 の 対 応 各 プリミティブ 型 に 対 応 しています bool / byte / char / decimal / double / float / int / long / object / sbyte / short / string / uint / ulong / ushort C#スケルトンコードを 作 成 してみよう 使 用 できるエディション: astah* professional astah* UML インストールフォルダ 配 下 の Sample.asta を 開 いて プロジェクトのプロパティビューの"プロジェクトの 設 定 "で C#を ON にします 26 / 33
以 下 の MSG ではいを 選 択 します メインメニューの[ツール] - [C#] - [C#スケルトンコードの 作 成 ]を 選 択 します Class パッケージの 直 下 のソースを 出 力 してみます 27 / 33
またオプションに 次 があります 以 下 のように 出 力 されましたね Monitor.cs を 開 いてみます 正 しく 出 力 されていることがわかりますね 28 / 33
C#リバースをしてみよう(サンプル サポート 対 象 外 ) 使 用 できる 製 品 : astah* professional [ 使 用 方 法 ] 詳 しい 使 用 法 は astah* C#リバース 利 用 ガイドをご 参 照 ください astah* professional インストールフォルダ api sample sample_doxygen_c_sharp sample_doxygen_c_sharp.html [ 使 用 イメージ] Doxygen リバースツール ソース XML *.asta [Doxygen を 利 用 してリバース] [C#のスケルトンコードを 作 成 ]の 章 で 出 力 したソースを Doxygen を 使 用 し XML に 変 換 します 読 み 込 みソースパス 配 下 のファイルがすべて 対 象 な 時 には RECUSIVE のチェックが 必 要 なので 注 意 してくださ い また ソースのエンコードもファイルのエンコードと 揃 えてください 29 / 33
以 下 のように 出 力 されました 30 / 33
これを API サンプルを 経 由 してプロジェクトを 作 成 します 作 成 した 結 果 を 開 いてみます この 時 点 ではクラス 図 がないため クラス 図 を 自 動 生 成 してみます 31 / 33
次 のようにクラス 図 が 自 動 生 成 されました リバース 前 のクラス 図 と 比 較 するため 移 動 と 色 付 けをします 32 / 33
これがフォワード 前 のモデルです Tracer クラスと Engine クラス Tracer クラスと Steering クラス Tracer クラスと Monitor クラス Tracer クラ スと State クラスの 関 連 がありませんが その 代 わり Tracer クラスには 属 性 として Engine クラス Steering クラス Monitor クラス State クラスを 持 ち 逆 参 照 も 付 加 されます UML2.0 では 属 性 も 関 連 もプロパティとい う 概 念 になり 意 味 合 いは 同 じです また Monitor クラスと Engine クラス Monitor クラスと Steering クラスの 関 連 がないこと Monitor クラスと LightSensor クラスの 関 連 がないことも 同 じです 33 / 33