Since: June/19th/2005
ここまでは、UML を作成しながら、生成されるコードにも目を向けてきました。モデリングとしては、生成されるコードのことはあまり気にしない方が良いです。クラス図などは、段階的に詳細化していくものであり、最初から詳細を気にしてしまうと、モデルとしての論理的な独立性が損なわれてしまうからです。
ここでは、いままでは逆に、コードから UML を生成してみます。UML に慣れていない場合は、コードからどのような UML が生成されるかを見た方が、分かりやすいことがあります。
demouml_2.ucd
表示する関係について、ここでは 関連と継承にだけチェックを入れ、依存 (Dependency) は選択しませんでした。Dependency を選択すると、クラス図に線が多くなりすぎるのでここでは選択しなかったのですが、選択したり外したりして、何が起こるか見てみてください。
図:生成されたクラス図 |
---|
ここまでは、Free でも Evaluation (評価版)でも、同じように操作可能でしたが、シーケンス図の生成は、Free 版では未サポートです。シーケンス図を描くだけならば、Free 版でも可能ですが、ソースコードからの生成はできません。
シーケンス図は、オブジェクト間のメッセージのやり取りを、時系列で表現したものです。ここでは、クラス ToyboxDemo の、メソッド 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()); }
図:生成されたシーケンス図 |
---|
コラボレーション図は、シーケンス図と同じく相互作用図の一つです。シーケンス図と同じく、メソッド内の行を選択することで、当該部分のコラボレーション図を生成できます。
図:生成されたコラボレーション図 |
---|
SEO | [PR] !uO z[y[WJ Cu | ||