UMLを用いたモデリング
世のなかUMLでの設計・開発がさかんに言われて来ている。やねうらおも、時代の趨勢には逆らえないので、いずれは否応なしにUMLを用いてモデリングを行なわなければならないと考えている。
UMLの表記自体は別段難しくはない。UMLの資格試験やら何やらがあるが、開発者が知っておかなければならない知識は、この程度だと思う:
http://www.borland.co.jp/together/papers/uml_jp.zip
問題は、それをいつ導入するかだ。UMLは2.0にならないとシーケンス図にループや分岐などが書けないため、使いものにならないとさえ言われている。そのUML2.0でコードとUMLとを同期させながら設計できる環境が必要だ。Visual Studio.NET2003のenterprise architectならばUMLモデリングが出来るかのように書いてあるが、reverse engineering*1してVisioにexportする機能だけだ。同期も何もしやしねぇ。これでは正直、使いものにならない。Borlandが.NET用のplug in(?)を出している。こちらは、なかなかよさげではある。(UML2.0に対応しているのかどうかがわからないが、発売されたのが昨年末なので、対応してないのかも知れない。)
Together Edition for Microsoft Visual Studio .NET 製品情報
http://www.borland.co.jp/together/msvs/
\102,900+年間保守費用\31,500である。Visual Studio .NET Professional 2003が、12万ぐらいだから、plug inのくせして本体より高いのだ。おまけに、Visual Studioも2005にならないと、C#2.0の機能が使えないので、しばらくしたら何が何でもupgradeしないといけないのだが、そのときに、このTogetherは、どないなるんや、という気がしなくもない。そのころには、もうVisual Studio自体にUMLモデリング機能がついてくる可能性も無くはないわけで..。
そんなことを考えるに、UMLモデリングは時期尚早なのかなぁと思わざるを得ない。しかし、開発環境さえ整えばすぐにでも移行していかなければならないことは間違いないので、心の準備をしておかねば、と考えている。
*1:reverse engineeringとはソースからモデルに変換すること。モデルからソースに変換することは、forward engineeringと呼ばれる。