[UMLツールレビュー]
モデリングツールから統合開発環境へ
有限会社メタボリックス
山田正樹
2003/7/18
モデリングツールというよりも統合開発環境か Together Control Center 6.0.1 |
製品名: | Together Control Center 6.0.1 |
ベンダ: | ボーランド |
URL: | http://www.borland.co.jp/together/ |
Togetherは今ではボーランドの製品だが、かつてはObject International、その後はTogetherSoftの製品だった。どちらもオブジェクト指向分析/設計の初期の方法論の1つであるCoad-Yourdon法の提唱者ピーター・コードの企業である。UMLツールといえばRoseしかなかった頃ころからJavaで実装され、Roseとは少しユーザー・インターフェイスの変わった違ったツールだった。
今回評価のために送っていただいたのはCD-ROM1枚。いくつかバージョンがあるようだが、これはTogether ControlCenterという機能満載バージョンだ。ほかにも、JBuilder向けのエディション(Edition for JBuilder)、WebSphere向けの製品(Edition for WebSphere)、機能限定エディション(Solo)があり、新たにEclipse向けの製品(Edition for Eclipse)が加わる。ControlCenterのライセンスはノードロックで95万円。フローティング・ライセンスで125万円である。極端に言いえば、車1台購入できる価格だ。あるいは、プログラマ1人を1カ月働かせられる価格だろうか。Edition for JBuilderはそれぞれ60万円、95万円。どちらも年間保守費用は価格の20%である。Edition for WebSphere、Edition for Eclipseは現在英語版のみだが、今夏に日本語版が発売されるとのことだ。
■Together ControlCenterはモデリング・ツールというよりも開発環境
Together ControlCenterは実は、ほぼ完全な開発環境と言っていい(クリックすると拡大) |
Together ControlCenterは実は、単なるモデリング・ツールではなく、ほぼ完全な開発環境と言っていい。GUIビルダ、コード・エディタ、デバッガ、リファクタリング・ブラウザ、メトリックス・ツール、ドキュメント生成、バージョン管理、テスト・ツールなど、開発に必要な機能はすべて含まれている。ピーター・コードといえば、アジャイル開発プロセスの1つであるFDD(フィーチャ駆動開発)の提唱者の1人だが、FDD的な開発プロセスをTogether ControlCenterに組み込むこともおそらくできるだろう。Web/J2EE開発に特化した多くの機能も備えており、RoseならばRose RTという別ツールで提供されるようなリアルタイム向けの機能もある。
残念ながら、この多すぎる機能のほとんどは今回の評価対象には入れることができなかった。ほかの評価対象UMLツールと比較すると対象領域が広すぎるのである。ゆえに、今回の評価は、モデリングとラウンドトリップ・エンジニアリングのツールとして、Together製品共通の部分であることをあらかじめお断りしておく。
さて、インストールには約8分(Java VMも一緒にインストールする場合)、インストール直後のフォルダ・サイズは約250Mbytesである。インストール時に役割(プログラマ、設計者など)を選択しなければならない。対応言語は、Java、C++、IDL、VB6、VB.NET、C#などの中からデフォルトの言語を選ぶ(設計のみも可)。このマルチ言語対応は、ControlCenterとSoloのみが持つ機能だ。メイン・メニューは約10個、メニュー項目数はトップ・レベルのみで100を超える。
ウィンドウ構成はほぼRose風。プロパティはダイアログがポップアップするのではなく、ウィンドウの1つのパネル(インスペクタ)として表示されている。このやり方は、画面サイズさえ大きく、 応答速度が速ければ入力しやすいだろう。
ドキュメントは日本語のユーザー・ガイドがPDFで提供されている(736ページ)。ヘルプはJavaHelp形式だ。 それ以外にもボーランドのWebサイトにはかなり豊富な資料が揃そろっている。
■モデルは常にコードと同期している
アプリケーションの起動時には、デフォルト設定では自動的に前に開いていたプロジェクトがオープンされるが、さほど大きくないプロジェクト(手書きの図が数枚,、 クラスが数個)でも90秒ほどかかった。
Togetherでは基本的にモデルは常にコードと同期している。モデルの論理的な情報はすべて(今回はJavaをデフォルト言語にしているので)Javaのソースコードとして格納されているのだ。故に、どんなJavaソースコードもモデルとして取り込むことが可能である。一定の時間ごとにフォルダを調べ、その下にあるコードやフォルダをモデルに取り込んでいる。これがTogetherのいちばん面白い点だろう。
初期のモデリングで日本語のクラスを作ると、日本語名のJavaクラスとファイルができてしまうが、あまり気にすることはないだろう。ただし、コードにしきれない部分はJavaDocタグとして埋め込まれてしまう。そのほか、XMIの読み書きも可能だ。
図形情報は図1枚ごとに独自フォーマットのASCIIテキスト、またWMFとしてファイル化される。そのほかに、SVG、GIFによる保存が可能。
■UMLのサポート具合
UMLとコードがリアルタイムで連動する(クリックすると拡大) |
UMLのサポート具合はほぼ問題ない。OMGの標準に完全準拠というわけではないが。Roseと同様、シーケンス図とコラボレーション図の同期を取ることができる。これは実務上有効であるが、最近はシーケンス図とコラボレーション図の使い分けがはっきりしてきており、なおかつUML 2.0では、別々の存在として定義し直されるようなので、Togetherの対応を待つしかない。
他のツールと同様、レポート生成機能もある。フレームを使い、図の入ったJavaDoc風の立派なレポートが生成される。内容も日本語化される。レポートのテンプレートはある程度自由に作れるようで、ドキュメント・テンプレート・デザイナーというツールまで用意されている。
ControlCenterでは、バージョン管理はCVS(Concurrent Versioning System)を搭載しているほか、Win
SCC準拠のバージョン管理ツール(Visual Source Safeなど)やClearCaseを使うこともできる(Together Editionでは、各IDEのバージョン管理サポート機能を使用する)。CVSのローカル・リポジトリで試してみたところでは、Togetherと完全に統合されており、図やコードもバージョン管理下に置ける。特別な設定も要らず、
非常に簡単である。なお、Undoは複数回可能だ。
■開発工程の中心としてのTogether
Togetherの拡張性はかなり高い。パターンやドキュメントを追加できるほか、コード・テンプレートや新しい種類の図も追加できる。さらに、インスペクタもダイアログも追加可能だ。Togetherの機能の多くは、この拡張機能を利用したモジュール(プラグイン)を使って作られているのではないだろうか。作業に応じて構成ファイルを書き、搭載された開発ツールを使いながら、OpenAPIを使うといった方法がある。OpenAPIのドキュメントは英語で、基本的にはTogetherで生成したHTMLDoc形式のドキュメントとなる。つまり、APIが詳細に記述されているだけだが、エンジニアならば大きな問題はないだろう。
実際にTogetherを購入し、仕事で活用する場合、開発工程はすべてTogetherが中心になっていくだろう。特定の開発プロセスを押しつけるツールではないので、特殊な訓練をする必要はないが、ある程度のトレーニングと慣れ、使いこなしの勘所は必要になるだろうと感じた。うまく活用すれば、メンバーの数を1人や2人減らすこともできるかも知しれない。そうすれば、冒頭に述べた導入コストに見合う効果だ。
ボーランドのコメント
|
Togetherの特長を一言で言うならば、「連動」と「最適化」と言ってもいいかもしれません。記事中でもご紹介いただいているとおり、Togetherではモデル図とソースコードがリアルタイムに「連動」し、ドキュメントも必ず最新の情報で生成することができます。これは、反復を伴う開発のスタイルには必須といってもいいと考えています。また、コードがガイドラインに沿っているかを調べる検査・測定機能、実装後にすばやく設計を変更することができるリファクタリングや、作成中のクラスにもデザインパターンを設定できるなど、コードを「最適化」する機能を備えています。これらによって、コードの質を上げることができ、スキルにばらつきがある開発プロジェクトにおいて、特に効果を実感いただけるのではないでしょうか。 Togetherのラインナップは、記事中で「ほぼ完全な開発環境」と紹介いただいたTogether ControlCenter、その機能限定版Together Soloの他、Javaの開発環境とそれぞれ完全に連動する以下のTogether Edition があります。 ・Together Edition for JBuilder ・Together Edition for WebSphere Studio(今夏、日本語版発売予定) ・Together Edition for Eclipse(今夏、日本語版発売予定) 1つお伝えしておきますと、Togetherを快適に使っていただくにはコツがあります。メモリをたくさん積んでいただくことです。コードの質が上がって、メンバーの数を1人や2人減らすことが可能だと思います。 |
3/3
|
INDEX | |
UMLモデリングツール、使いやすさの鍵とは? | |
レビューの基準 | |
Rational Rose Enterprise Edition | |
Konesa Client Evaluation 1.1c | |
Pattern Weaver Standard Edition 1.1 | |
モデリングツールから統合開発環境へ | |
WithClass 7.0J Enterprise Edition | |
Describe Developer for Sun ONE Studio 4 | |
Together Control Center 6.0.1 | |
オープンソース、無償モデリングツールの実力派 | |
Jude 竹1.1 | |
Enterprise Architect 3.51 Professional Edition | |
Poseidon Community Edition 1.6.0_01 | |
まとめ |
IT Architect 連載記事一覧 |