Java から UML への変換

Java から UML への変換は、Java™ コードを UML モデル要素に変換します。

有効な変換ソース

Java から UML への変換のソースとして以下の項目を指定することができます。
  • Java プロジェクト
  • Java プロジェクトのソース・フォルダー
  • Java パッケージ
  • Java クラス

有効な変換ターゲット

以下の項目を変換のターゲットとして指定することができます。
  • ワークスペース内のプロジェクトまたはフォルダー
  • UML モデル
  • ルート・パッケージ
注: 変換構成で調整されたモデリング設計規約管理プロトコル (DCMP) を実装している場合、Java から UML への変換および UML から Java 変換に有効なソース要素とターゲット要素を指定する必要があります。

ワークスペース内のプロジェクトまたはフォルダーを変換のターゲットとして指定した場合は、変換によって、指定したコンテナーに新規 UML モデルが作成されます。 モデルの名前は JavaUMLModel で、そのモデルおよびファイル名を確実に固有のものにするために、名前にタイム・スタンプが追加されます。 タイム・スタンプは秒単位のシステム時刻で、例えば JavaUMLModel1164050609968.emx のようになります。

UML モデルを変換のターゲットとして指定した場合は、変換によって一時 UML モデルが作成され、その一時モデルと指定したターゲット・モデルの比較が行われます。

カスタム列挙型のサポート

UML から Java への変換の拡張を使用可能にして、 検索可能なストリングとして列挙型リテラルの名前と値を保持する列挙を生成することができます。 ラウンド・トリップ・エンジニアリングまたは反復型開発環境においては、Java から UML への変換を構成する際に、 「Java から UML へのカスタム列挙型拡張」を有効にすることで、これらのカスタム列挙を UML に変換することができます。

複数のプロジェクトおよびそれらの相互依存性のサポート

複数の Java プロジェクトまたは UML モデルを処理する場合に、要素が変換構成の有効範囲外である可能性があるとき、異なるプロジェクト内の Java ソース要素と UML ターゲット要素との関連を定義する関連ファイルを作成できます。 関連によって、Java 要素と UML 要素との間のリンクを定義します。 Java から UML への変換の関連ファイルのファイル名拡張子は .xmi です。 複数の変換構成で 1 つの関連ファイルを共用することができます。

それぞれの関連は、Java 要素と UML 要素のロケーションを指定します。 関連では次の Java 要素を指定できます。
  • プロジェクト
  • パッケージ
  • ソース・フォルダー
  • JAR ファイル
関連では次の UML 要素を指定できます。
  • モデル
  • パッケージ

デフォルトでは、Java から UML への変換で 具象 UML ターゲット要素への参照を作成できない場合、対応する Java 要素へのビジュアル参照を作成します。 要素間の関連を定義した場合、変換によって具象 UML ターゲット要素への参照が作成されますが、ビジュアル参照は作成されません。

例えば、次の項目が含まれているワークスペースがあるとします。
  • JP1 および JP2 という名前の Java プロジェクト
    • JP2 には、Package1 という名前のパッケージが含まれ、このパッケージには、Class2 という名前のクラスが含まれる
    • JP1 には複数の JAR ファイルと、JP2.Package1.Class2 への参照を含んでいる Class1 という名前のクラスが含まれる
  • M1 および M2 という名前の UML モデル
  • 変換ソースとして JP1 を指定し、変換ターゲットとして M1 を指定する、TC1 という名前の変換構成
  • 変換ソースとして JP2 を指定し、変換ターゲットとして M2 を指定する、TC2 という名前の変換構成
TC1 の別のユーザーが、次のような Java から UML への変換を含む 関連ファイルを作成します。
  • JP1 から M1
  • JP2 から M2

Class2 が JP1 には存在するが JP2 には存在しないため、関連ファイル内の最初のエントリー (ただし、これは不要ですが) は、変換構成がこれらのプロジェクトをソースまたはターゲット・プロジェクトとして定義する他の変換ユーザーに役立つ可能性があります。

この例では、変換により、以下のように TC1 を適用するときによって異なる参照が作成されます。
  • TC1 が TC2 の前に実行される場合、Java から UML への変換では、M2.Package1.Class2 という名前の具象 UML 要素への参照を作成します。
  • TC1 が TC2 の前に実行されなかった場合、M2.Package1.Class2 は存在しません。この例では、存在しない要素が 関連で参照されている場合、Java から UML への変換では、JP2.Package1.Class2 へのビジュアル参照を作成します。

前のリリースの Rational モデリング製品の Javadoc 情報の保持

本製品の前のリリースで生成された Javadoc タグ間の情報を保持するためには、Java から UML への変換を一回実行して、 Javadoc 情報を、UML モデルの対応する要素の文書プロパティーにマイグレーションします。
注: 本製品の前のリリースで生成された Javadoc タグを生成するには、Java Development Toolkit.

ターゲット UML モデルによる変換出力の比較およびマージ

Java から UML への変換では、比較およびマージ機能を使用して、ターゲット・モデルと変換によって生成される一時モデルの違いを判別します。Java から UML への変換を実行すると、 マージ・エディターにより 2 つのモデルの間の違いが表示されます。 マージ・エディターで、変換によってターゲット・モデルにマージされる変更を選択できます。

マージ・エディターでのフィルター

マージ・エディターでフィルターを使用して、 Java から UML への変換の実行時に発生するさまざまなタイプのデルタを表示または非表示にすることができます。 マージ・エディターでの表示を簡素化するには、ツールバーの「フィルター」アイコンをクリックし、 適用するフィルターを選択します。

例えば、変換では、属性およびパラメーターなどの多重度要素を変換するときに 上限および下限を設定しません。 コレクション・タイプを生成しない場合、一時モデルでは上限と下限は null に設定されます。 上限と下限をターゲット UML モデルで明示的に指定すると、これらの限界値にデフォルト多重度である 0..1 が指定されている場合でも、一時モデルとターゲット・モデルの間にデルタが存在します。 大きなモデルでは、これらの Trivial デルタの数が多くなって、他のデルタをマージ・エディターで見るのがより難しくなる可能性があります。 このタイプのデルタを非表示にするには、「Trivial の下限および上限の変更点をフィルターにかける」フィルターを選択してください。

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

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


フィードバック