【コラム】モデリングは物事を簡単にするもの
皆さん、モデリングしてますか?
「モデリング = UML」 と思われる方もいらっしゃるのではないかと思いますが、別に UML を使っていなくたってモデリングはしていると思います。それこそ、ER 図や DFD、絵コンテなんかもモデリングです。
☆ ☆ ☆ ☆ ☆
モデリングするというのは、ものごとを簡単化することだといってもいいのではないでしょうか。簡単化する理由は、世の中が複雑だからですね。複雑なもの、複雑に絡み合っているもの、いろいろな要素が詰まっているものをひとくくりにぜーんぶ把握して、さらに、利害関係者で共通認識を持つのはとっても大変なことです。
IT の分野でももちろん、複雑なものが絡み合っています。そもそもコードが複雑だということ、要件が複雑だということ、利害関係者の思いや価値観が多岐にわたり複雑だということ、いろいろな局面において複雑なものがあり、それらは視点を変えたときには別の複雑さになって襲いかかってきます。
複雑なものを簡単化するにはどうするか、それは視点を固定して、その視点、その粒度で知りたい/把握したいことがらのみを表現してみることです。
☆ ☆ ☆ ☆ ☆
たとえば、東京の地下鉄・・・とても複雑です。私は東京で育っていますので、あれが当たり前で苦になりませんが、慣れていないと便利なはずの地下鉄で迷って遅刻する・・・なんてこともあるかもしれませんね。こんな複雑なものでも路線図があればどこで乗り換えるべきかはわかるようになります。要するにどんな路線があるのか、どこで乗り換えるのかといったことは路線図というモデルで解決できることになります。
しかし、多くを望んではいけません。この路線図に、各駅での発着時刻も表現しようものならとたんに複雑なものになり、当初のニーズであるどんな路線があって、どこで乗り換えるのかといったものがわからなくなってきてしまいます(# 路線図の本当の目的を私は理解していませんが、少なくとも私は上述の目的で路線図を使ってます。あくまで例ってことでご了承ください)。
☆ ☆ ☆ ☆ ☆
では、IT の分野では、メジャーなところでは UML のクラス図がありますね。これも複雑なコードのクラスの構造とクラス間の依存関係という静的な情報としてモデル化したものになります。クラス図には、振る舞いなどは記載していないわけです。クラス図は非常に効果的なモデルであると私自身も思っていますし、実践していた身、提案やコンサルティングしていた身としても実感しています。
今回は、モデリングは複雑な物事を簡単にするものであるということだけをお伝えしました。簡単かどうかは、視点、粒度、そしてそもそも、誰にとって簡単かというったことが重要になってきます。これを忘れて、たとえば世界標準だから UML で何が何でもモデリングをするべきだ!!などといってしまうと、せっかくの UML の意義が失われ、半ば強制的に使わざるを得ない、なんのために使っているのかわからない・・・なんてことになってしまいかもしれません。皆さんのプロジェクトではそんなことはないと思いますが、もし、そんな傾向を感じたら、今一度モデリングする意義、目的を見つめなおしてみてください。
さて、そのうちですが、DSL (Domain Specific Language)などについても長沢視点でコラムとして書いていこうかと思います。
ながさわ
Comments
Anonymous
November 06, 2007
皆さん、モデリングしてますか? 「モデリング = UML」 と思われる方もいらっしゃるのではないかと思いますが、別に UML を使っていなくたってモデリングはしていると思います。それこそ、ER 図や DFDAnonymous
December 19, 2007
PingBack from http://blogs.msdn.com/tomohn/pages/MSDNOFF2007.aspxAnonymous
March 13, 2008
関連投稿: 【DFO】Management Model の考察 - 1 【モデリング】Management Model Designer 紹介 ~ 管理可能性を高めるモデル 【コラム】モデリングは物事を簡単にするものAnonymous
April 16, 2008
こんにちは、2日間にわたり皆さんのご参加で非常に “熱い” イベントとなった the Microsoft Conference 2008 (東京会場)、無事に走り抜けることができました。ご参加いただいた方、残念ながらご参加いただけなかった方も含め、皆さん、本当にありがとうございました。