JDeveloperへのUMLモデルのインポートについて
モデルがUML 1.3に準拠し、XMIがXMI 1.1. DTDに準拠している場合は、他のモデル化ソフトウェアを使用して作成されたUMLモデルをJDeveloperにインポートできます。
現在は、クラス・モデル要素のみJDeveloperにインポートできます。具体的には、ダイアグラム、パッケージ、クラス、インタフェース、(n項関連でない)関連、汎化、依存および実現がインポート可能です。
制限事項
-
XMLは、UML 1.3に準拠している必要があります。
-
TogetherJ OMG XMI 1.1か、Rational Rose(Unisys)XMI 1.3.2または1.3.3に対応しています。
-
空のプロジェクトにインポートする必要があります。
-
多重継承はサポートされていません。
-
制約はサポートされていません。
-
ダイアグラム情報(色、サイズ、位置およびフォントなど)はインポートされません。
-
ノートはサポートされていません。ノート情報は、UMLモデルではなくダイアグラムに保存されるためです。
-
java.lang
パッケージに含まれないデータ型(Listなど)が、java.util.List
のように完全修飾されていない場合、ダイアグラムではユーザー作成のデータ型のように表示されます。
-
関連の汎化はサポートされていません。
-
拡張はインポートされません。<Diagram>...</Diagram>
のように、値/ステレオタイプのタグが付いたXMIで始まるものは無視されます。
- UMLクラス・モデル全体を含む1つのXMIファイルのみがサポートされています。
注意: XMIファイルでDTDを指定している場合は、XMIファイルとともにそのDTDを提供するか、または指定をコメントアウトする必要があります。
インポートしたモデルがJDeveloperクラス・モデラーでも有効になるように、次のような妥当性チェックが実行されます。
すべての要素
- 名前が定義されていない要素に対しては、自動的に名前が生成されます。
- Javaで有効ではない文字を使用している要素名は、自動的に修正されます。
- 各要素名は、その所有パッケージ内で一意である必要があります。
JavaクラスおよびJavaインタフェース
- Javaインタフェースのセカンダリ要素(属性および操作)に指定できる可視性は、publicまたはPackageのみです。
- 内部クラスに、その所有クラスまたは所有インタフェースと同じ名前を付けることはできません。
属性
- 各属性は、属する要素内で一意である必要があります(名前が識別子となります)。
- 各属性は、属性のクラスに関連付けられた関連のもう一方の終端のクラスのどの属性とも異なっている必要があります。
- 属性の、完全修飾されていないデータ型は、その属性の所有クラスと同じパッケージに由来するとみなされます。
操作
- すべての操作パラメータは、Javaで有効な文字のみで構成されている必要があります。
- 各パラメータには、タイプを指定する必要があります。
- 各パラメータ名は、その操作内で一意である必要があります。
- 各操作のシグネチャは、その親要素内で一意である必要があります。
汎化および実現
- Javaクラスは、他の1つのJavaクラスのみを特化できます。
- 循環汎化の構造は許可されません。
- Javaクラスは、1つのJavaクラスのみを特化、または1つのJavaインタフェースのみを実現できます。
- Javaクラスは、1回だけインタフェースを直接実現できます。
- Javaクラスは、1つのインタフェースのみを実現できますが、インタフェースを汎化することはできません。
- Javaインタフェースは、他のインタフェースのみを特化できます。
関連
- n項(終端が3以上)関連はサポートされていません。
- インタフェースの関連は、分類子のレベル(Javaの
static
)である必要があります。
- 要素からの関連のもう一方の終端の名前は、その要素とは異なっている必要があります。
- 関連の1つの終端のみを、弱い集約または強い集約(コンポジション)に設定できます。
- 要素からの関連のもう一方の終端の名前は、その要素の属性とは異なっている必要があります。
- 関連が誘導可能な場合は、その関連に名前を付ける必要があります(必要に応じて、XMIのインポートにより生成されます)。
関連項目
JDeveloperへのUMLモデルのインポート
XMIインポートに関する設定