メイン | パターンウィーバー Ver2.1 »

UMLを活用するために

テクノロジックアートの橋本です。
私は普段の業務でUML・モデリング関連のコンサルティングを担当しています。
このブログでもこれに関連した話題を中心に情報発信していきたいと思います。
1回目の投稿ということで、UMLを活用するためのポイントについてとりあげたいと思います。

現状UMLはJavaなどオブジェクト指向ベースの開発が一般的になったこともあって
設計の道具として、かなり浸透してきたのではないかと思います(使われ方のレベルは様々ですが)
技術者の中でUMLという言葉を知らない人はほとんどいなくなりましたし、
設計書の中では、クラス図やシーケンス図が当たり前のように登場しています。
モデリングツールも安価なものから高価なものまでいろいろ販売されていますね。

ただ、UML本来のメリットを引き出して活用するというレベルまでには
なかなかたどりつけていないのではないかと思います。
UMLを活用するために必要な知識は、表記法だけでなく、
オブジェクト指向の基礎知識はもちろんのこと、開発プロセス
アプリケーションアーキテクチャなど多岐にわたります。
また、モデリングのポイントである粒度、上流~下流までのシームレス性などは、
知識よりも経験によって身についていくものです。
プロジェクトに合わせてUMLの中から使用するダイアグラムを選択して
サブセット化する能力も重要です。

これらは簡単に身に付くものではなく、
モデリングを何度もおこなって経験を積んでいくことが大切です。
特に一番確実で効率よくスキルが向上する学習法は、
小さい範囲でいいので、上流~下流までをなるべくシームレスにつなげて
プログラムまで落としてみること
かと思います。
プログラミングすることでその上流のモデルに問題点が見つかり、
それをモデルに反映していくことで、精度の高いモデルが完成します(イテレーティブですね!)

この学習法で身に付く重要なスキルは後工程を考えたモデリングができるようになることです。
(例えば、どの粒度でユースケースを書くと、クラス図にどう影響するか?
 どうシーケンス図を書くと、プログラミングにどう影響するか?など)
このスキルを鍛えることで、上記の粒度やシームレス性などが意識された
品質の高いモデルが書けるようになっていきます。

最初の投稿ということで張り切って長くなりましたが、
今後はもっと細かい内容の投稿もしていく予定ですのでよろしくお願いいたします(^^;

                        テクニカルデプト  橋本 大輔