UML から C++ への変換

UML から C++ への変換により、UML モデル要素が C++ コードに変換されます。

有効な変換ソース

UML から C++ への変換では、以下の UML ソース・オブジェクトを C++ コードに変換できます。
  • モデル
  • パッケージ
  • クラス
  • 列挙型
  • インターフェース
  • コンポーネント

変換構成を作成または編集することにより、またはモデル内でモデル要素を直接選択することにより、C++ コードに変換するモデル要素を指定できます。 選択されたモデル要素が、変換のソースとして処理されます。 この変換では、コンテナーおよびそのモデル要素を両方選択した場合、または同一のモデル要素を 2 回選択した場合にエラー・メッセージが生成されます。

コンポーネントを使用して、C++ コードに変換するモデルの要素を編成できます。 コンポーネントを選択し、コンポーネントにパッケージおよびクラスへの使用関係がある場合は、UML から C++ への変換により関連するパッケージおよびクラスが、C++ コードに変換されます。

注: 後方変換を使用可能に設定する場合は、変換ソースとしてモデルを指定する必要があります。 C++ から UML への変換 (後方変換) では、C++ ソース・オブジェクトを UML オブジェクトに変換し、指定した UML モデルにそれらのオブジェクトを保管します。

変換ソースで有効な名前

UML ソースの各要素の名前は、小文字、大文字、または下線 (_) で開始できます。 後続の文字には、小文字、大文字、または数値を使用できます。 オペレーション名内でコロン (:) を使用し、フレンド関数の完全修飾名を指定できます。 変換では、数値または無効文字で開始される名前に対して、下線 (_) を前につけます。 変換では、該当する名前空間における名前が固有であるか検査します。 その名前が固有でない場合は、変換により、接尾部に _<番号> をつけた重複名が割り当てられます。

生成されたコードの読みやすさを改善し、UML モデルと生成されたコード間の差異を最小限にするには、ソースの UML モデルにある無効な名前を訂正してから変換を適用する必要があります。

有効な変換対象

有効な変換ターゲットは、少なくとも 1 つのソース・フォルダーを含む C++ プロジェクトです。 新規にターゲット・コンテナーを作成する場合は、スタンダード Make C++ プロジェクト (ユーザーが makefile を作成するか、または既存の makefile を利用する) の作成、あるいは、管理 Make プロジェクト (makefile は自動作成される) の作成かの、いずれかを選択することができます。

UML モデル要素の変換

以下の表には、UML から C++ への変換により、どのように UML モデル要素が C++ コードに変換されるかがリストされています。

UML モデル要素 C++ コード要素
関連 クラス属性
クラス クラス (.h ファイルおよび .cpp ファイル)
依存関係 取り込み
列挙 Enum (.h ファイル)
汎化関係 クラス継承
操作 操作
パッケージ フォルダー
パラメーター 操作引数
プロパティー クラス属性
テンプレート・バインド関係 インスタンス化されたクラス (.h ファイル)
テンプレート・パラメーター パラメーター化されたクラス用のパラメーター

C++ 標準操作

標準操作は、コンストラクター、コピー・コンストラクター、仮想および非仮想のデストラクター、代入演算子、および getter および setter の各メソッドです。 UML から C++ への変換で生成される標準操作を指定できます。 また、標準操作の 1 つであるステレオタイプをモデル内のクラスの操作に追加することもできます。UML - C++ 変換は、生成された標準操作に UML 操作の可視性を適用しますが、UML 操作の名前および パラメーターを無視します。 UML から C++ への変換では、UML モデルに追加したクラス、構造体、および共用体に対して標準操作を生成します。

変換では、デフォルトでコンストラクターおよびコピー・コンストラクターを生成します。 特定のステレオタイプがある操作を UML モデルに追加することにより、変換による標準操作の生成をより細かく制御できます。 あるクラス内に操作を作成し、それに標準操作ステレオタイプのいずれかを割り当てると、変換ではその指定した標準操作を生成します。

変換出力のロケーション

変換では、変換のターゲットとして指定した C++ プロジェクトおよび C++ プロジェクト・フォルダー内に C++ コード・ファイルを生成します。

生成された #include ディレクティブの相対パス情報

変換では、デフォルトで、相対パス情報を指定した #include ディレクティブを生成します。 変換で相対パス情報を除外するよう設定するには、eclipse.ini ファイルに -DEXCLUDE_PATH_FOR_INCLUDES=true の行を追加します。

C++ ボディ・ファイルの代替ファイル名拡張子

UML から C++ への変換で生成される C++ ボディ・ファイルに対し、.cc などの代替のファイル名拡張子を指定できます。 デフォルトで、変換では、ファイル名拡張子として .cpp を付けた C++ ファイルを生成します。 別のファイル名拡張子を指定するには、 eclipse.ini ファイルで BODY_FILE_EXTENSION システム・プロパティーを設定します。 例えば、ファイル名拡張子として .cc を付けたファイルを生成するには、 eclipse.ini ファイルに -DBODY_FILE_EXTENSION=.cc のコードを追加します。

チーム・サポートとの統合

変換は、ファイルの自動チェックアウトや新規ファイルの追加を 可能にする CVS、Rational® ClearCase®、 および Rational ClearCase LT バージョン管理システムとの 統合機能を提供します。

関連タスク
UML モデルから C++ コードへの変換
UML から C++ への変換構成の作成または編集
UML から C++ への変換用のソースとターゲットの指定
チーム機能の使用可能化
UML から C++ への変換の設定
UML から C++ への変換の実行
関連資料
UML から C++ への変換による UML モデル要素の変換処理

フィードバック