C++ グローバル変数およびメソッドを UML でモデリングするには、«cpp_globals» ステレオタイプを UML モデル内のクラスに適用します。
また、C++ ヘッダー・ファイルから、グローバル変数およびメソッドの UML 表記を生成することもできます。
始める前に
モデリング・パースペクティブが表示されている必要があります。ワークスペースに以下の項目がなければなりません。
- C++ 変換プロファイルが適用された、開いている UML モデル
- 空の C++ プロジェクト
このタスクについて
この手順では、C++ グローバル・メソッドおよび変数を UML でモデリングする方法と、C++ グローバル変数から UML へ変換する方法を説明します。
このトピックにある例は、UML モデルから開始し、UML から C++ への変換を実行し、生成された C++ コードのグローバル変数を作成し、C++ から UML への変換を実行してモデルとコード間の変更を調整する、調整されたモデリング環境を想定しています。
手順
- C++ 変換プロファイルが適用された UML モデルにクラスを追加します。
- ステップ 1 で作成したクラスに «cpp_globals» ステレオタイプを適用します。
- 作成する C++ グローバル変数およびメソッドごとに、対応する UML のタイプをステップ 1 で作成したクラスに追加します。
この例の場合、Operation1 という名前の UML オペレーションと、int 型の MAX_LENGTH という名前の属性を追加します。
- UML から C++ への変換の変換構成を作成します。
- をクリックし、以下のステップにある値を使用してウィザード内のページに入力します。
- 「構成名および変換の指定」ページで、「変換」リストから UML から C++ への変換を選択し、「プロトコル」セクションで「調整」を選択し、「次へ」をクリックします。
- 「ソースとターゲット」ページでの「選択済みソース」ペインで、ステップ 1 で追加したクラスを含む UML モデルを選択します。
「選択済みターゲット」ペインで、空の C++ プロジェクトを選択し、「次へ」をクリックして再度「次へ」をクリックします。
- 「マッピング」ページで、「この変換でマッピング機能を使用可能にする (Enable the mapping functionality for this transformation)」チェック・ボックスを選択します。
- 「マッピング・モデルのファイル名」フィールドで、マッピング・モデルの名前を指定します。
- 「マッピングの編集」をクリックし、マッピング・モデルのワークスペース内のロケーションと名前を指定して、「OK」をクリックします。
- 「マッピングの編集」をクリックします。
- 「マップされた名前の編集」ウィンドウで、ステップ 1 で追加したクラスが含まれる UML モデルを選択します。
- 「マップされた名前」フィールドで、このマップされた要素を識別する名前を指定します。
例えば mapped_model を指定します。
続いて「適用」をクリックして「OK」をクリックします。
- 「次へ」、「次へ」、そして「次へ」とクリックして、ウィザードの次の 3 ページのデフォルト値を受け入れます。
- 「共通」ページで、「トレース関係を作成」チェック・ボックスを選択して、「完了」をクリックします。
変換構成エディターが開き、新規構成ファイルが表示されます。
- UML から C++ への変換を実行します。
変換構成エディターの「メイン」ページで、「前方変換」セクションの「実行」をクリックします。
- 「プロジェクト・エクスプローラー」ビューで、ターゲット C++ プロジェクトまで移動し、1 で作成したクラスと同じ名前を持つヘッダー・ファイルを開きます。
ステップ 3 で作成した各メソッドまたは変数について、変換によって対応する C++ グローバル・メソッドまたは変数がヘッダー・ファイルに生成されることにご注意ください。
- 次の例のように、ヘッダー・ファイルにグローバル変数または演算を追加します。int NEW_MAXLENGTH;
- モデルとコードの相違を調整します。
変換構成エディターの「メイン」ページで C++ から UML への変換を実行します。 「マージ」ウィンドウで、ステップ 7 で追加したグローバル変数を含む、UML モデルに提案された変更を確認します。
- 「OK」をクリックして、UML モデルに提案された変更を受け入れます。 変換の実行後、更新された UML クラスにはステップ 7 で追加したグローバル変数が含まれるようになったことにご注意ください。