モデリングを成功させるために――持続可能なモデリングを目指して:プロジェクトを成功させるモデリングの極意(6)(3/9 ページ)
今回はモデリングで失敗しないだけでなく、さらにモデリングを成功させ、継続するための方法を探ります。失敗しないコツが盾であるならば、成功と持続のコツは矛に相当しますので、これらを学んでモデリングを持続可能(sustainable)なものとしていきましょう。
抽象化と具象化のバランス
モデリングで一番重要なのは、「どこまで抽象化し、どこまでを具象化するのか」のバランスです。しかし、これは一歩間違うと「どこを曖昧なままにして、どこを曖昧にせずに明示化するか」というバランス問題にすり替わってしまいます。
そして重要なのはこのバランス問題ではなく、曖昧なままにすることは意味を持ちません。前回までにも紹介しましたが、曖昧と抽象化は違います。抽象化は目的を持って、知っていても具象化しないことです。曖昧は目的も具象情報を持たずに、ただ具象化しないことです。
図5に抽象化と具象化のバランスの様子を示します。図5に示すよう、モデリングでは抽象化することが基本なので「抽象化」が重くなっています。具象化する箇所は、ここぞと見込んだものだけになります。これを心がけることが、モデリングにおける抽象化と具象化の絶妙なバランスにつながります。
この抽象化と具象化のバランスをうまく取るには、モデル図で何を具象化して描き、何を具象化しないのかを決定する戦略が必要です。何をピックアップし、何を捨てるのか。その方針、観点、そして戦略は何かということです。そこで今までの記事で紹介した中から、この戦略に関係するものを題目だけ再掲してみます。
- モデリングの目的は多い(第1回記事)
- モデリングは目的を絞って描く(第1回記事)
- モデリングは興味のあるところのみを描き、そうでないところは捨てる(第1回記事)
- モデルの正確さと完全性(第4回記事)
- モデリングの失敗例として、相反する目的を持つモデル図(第4回記事)
- モデリングの失敗例として、モデル化と抽象化を勘違いしているモデル図(第4回記事)
- モデリングの失敗原因として、無目的モデリング(第4回記事)
- モデリングの失敗原因として、曖昧モデリング(第4回記事)
上記の記事から抽象化と具象化のバランスの戦略がおぼろげながら見えてくるかと思います。つまりモデリングの目的に応じて、興味のあるところだけを詳細に具体的に描き、そうでないところは描かないか抽象的に描き、完全さを求めず、分かりやすさを求めることが抽象化と具象化のバランス戦略です。詳細は各記事をもう一度参照してください。
しかし上記の記事はあまり具体的なコツはありませんでした。そこでここからは抽象化と具象化のバランスの取り方を、戦略ではなく具体的なコツで紹介していくことにします。以下に抽象化と具象化のバランスの取り方として、ヒアリング、モデリング、レビューでのコツを紹介します。
図6. 抽象化と具象化のバランスをとるためのコツ
- ヒアリング
(1)同じ事を言っているのはモデリング
(2)重要など明示したものはモデリング
(3)曖昧なものは追求
(4)抜けや矛盾があるものは補完
- モデリング
(5)粒度のメリハリも重要
(6)具象化するものは真ん中に
(7)具象化は1点
(8)抽象化には時間をかける
(9)具象部分は仕様変更に対応
- レビュー
(10)抽象化と具象化のバランスを見る
(11)具象化した理由を追及
(12)変更に対して強いかを確認
(13)無理をせずA4用紙に収まっているか
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- モデリングで失敗しないために――失敗から学ぶモデリングの実践的なコツ
モデリングを失敗しないためには、失敗の原因と失敗しないためのコツを知ることが肝要です。今回は失敗しないための実践的なコツを紹介します。 - モデリングはなぜ失敗するのか―― 悪いモデル、汚いモデル、意味がないモデル
誰もが失敗したくてモデリングする訳ではないのに、失敗しているモデリングを見る機会は減りません。今回はモデルの失敗例を通じてその原因を探ります。 - UMLやSysMLなどのモデリングは“いつ”“何を”“どうするのか”
「モデリングはいつ誰が何をどのようにするのか」――今回はソフトウェア開発の現場で、モデリングを実際にどのように実施しているのか見ていきましょう。またUMLやSysMLの使いにくいところを、開発現場ではどのようにカバーしているのかも見ていきます。 - UMLやSysMLを活用できないエンジニアのための実践的活用術(後編)
前編では「モデル」の目的とその効果、具体的なモデル手法について代表的なものを説明しましたが、後編ではその手法を実践するツールを紹介します。 - UMLやSysMLを活用できないエンジニアのための実践的活用術(前編)
モデリングの手法やツールの基礎を覚えるだけでなく、モデリングの目的やその本質をつかんで、ソフトウェアの開発現場で実際に役立つように基本を学んでいきましょう。