EclipseUML の利用 - UML の生成

Since: June/19th/2005

ここまでは、UML を作成しながら、生成されるコードにも目を向けてきました。モデリングとしては、生成されるコードのことはあまり気にしない方が良いです。クラス図などは、段階的に詳細化していくものであり、最初から詳細を気にしてしまうと、モデルとしての論理的な独立性が損なわれてしまうからです。

ここでは、いままでは逆に、コードから UML を生成してみます。UML に慣れていない場合は、コードからどのような UML が生成されるかを見た方が、分かりやすいことがあります。

クラス図の生成

  1. パッケージエクスプローラで、パッケージを選択
  2. ツールバーの「New UML Diagram」をクリック
  3. 次のように設定
  4. パッケージ内のクラスを「全て選択」押下
  5. 「OK」押下

表示する関係について、ここでは 関連と継承にだけチェックを入れ、依存 (Dependency) は選択しませんでした。Dependency を選択すると、クラス図に線が多くなりすぎるのでここでは選択しなかったのですが、選択したり外したりして、何が起こるか見てみてください。

生成されたクラス図
図:生成されたクラス図

シーケンス図の生成

ここまでは、Free でも Evaluation (評価版)でも、同じように操作可能でしたが、シーケンス図の生成は、Free 版では未サポートです。シーケンス図を描くだけならば、Free 版でも可能ですが、ソースコードからの生成はできません。

シーケンス図は、オブジェクト間のメッセージのやり取りを、時系列で表現したものです。ここでは、クラス ToyboxDemo の、メソッド management 内のコードに対して、シーケンス図を生成してみましょう。

  1. management の次の行を選択
    		Toybox box = new Toybox();
    		Collection shapes = new ArrayList();
    		box.setShape(shapes);
    		Shape shape1 = new Triangle(1,1);
    		Shape shape2 = new Circle(1);
    		box.addShape(shape1);
    		box.addShape(shape2);
    		Iterator itr = box.shapeIterator();
    		while (itr.hasNext()) {
    			System.out.println(((Shape)itr.next()).getArea());
    		}
    
  2. 選択範囲を右クリック ->「Open UML」->「Generate Sequence Diagram」
生成されたシーケンス図
図:生成されたシーケンス図

コラボレーション図の生成

コラボレーション図は、シーケンス図と同じく相互作用図の一つです。シーケンス図と同じく、メソッド内の行を選択することで、当該部分のコラボレーション図を生成できます。

生成されたコラボレーション図
図:生成されたコラボレーション図


Copyright © 2005 SUGAI, Manabu. All Rights Reserved.
SEO [PR] !uO z[y[WJ Cu