Enterprise Architect 9.0のリバース機能を試す

Enterprise Architectを使ってソースコードをリバース解析する話は以前に書いた。

そのEnterprise Architectが9.0にバージョンアップしたので、手元の環境でも更新してみた。気になる新機能はいろいろあるが、その一つにソースコードからのクラス読み込みがある。例えば、下記のJavaのクラスが有る場合、以前のバージョンではクラス間の関係をソースコードから読み込んで、クラス図に反映させることが出来なかった。(ジェネリクスのリストには非対応だった)

package foo;
import java.util.*;

public class A{
	private List<B> bs; 
}
package foo;

public class B{
}

新機能の説明やリンク先の機能ガイド(PDF)によれば、このような形のリストで保持されたクラス関係も適切に読み込めるようになったらしい。

C++Javaなどのテンプレート(ジェネリック)のある言語について、ソースコードの生成およびリバース(解析)機能の強化を図りました。

http://www.sparxsystems.jp/products/EA/ea90.htm

本当に読み込めるか、早速テストしてみる。上記のソースコードを読み込ませてみたところ、下記の結果になった。

クラス間の関係が適切に読み込まれ、"0..*"も表示されていることを確認した。従来は、一旦ソースコードを読み込んだ後、手作業でクラス間の関係を補っていたので、そのような作業が不要になったのは有り難い。

なお、C#のpartialクラスについては、相変わらず未対応のようだ。partialは、他の言語ではあまり見かけない仕様なので、「Enterprise Architectの内部構造による制限」という仕組みは仕方ないないだろう。こちらは手作業で補うようにしている。(仮に対応するとしても、下手に一つのクラスに統合して表現するよりは、別々の箇所で定義されていて、それらが「関連する」という情報を示す形の方が適切だと思う)



関連