モデリングを成功させるために――持続可能なモデリングを目指して:プロジェクトを成功させるモデリングの極意(6)(2/9 ページ)
今回はモデリングで失敗しないだけでなく、さらにモデリングを成功させ、継続するための方法を探ります。失敗しないコツが盾であるならば、成功と持続のコツは矛に相当しますので、これらを学んでモデリングを持続可能(sustainable)なものとしていきましょう。
モデル図のメトリクス――モデル図における相場観
モデル図に「適当な個数の要素」を描き込み、「適当な本数のリンク」でそれらを結び、「適当な大きさ」でモデル図を描きあげることが成功への道です。そこでモデル図における計測基準(メトリクス)を紹介し、その値の頃合いの相場観を見ていくことにしましょう。モデル図には各種のメトリクスがあり、このメトリクスとその頃合の相場観を以下で紹介します。
(1)モデル図の要素数
まずは1つのモデル図に,どれだけの要素を描き込むかというメトリクスです。例えば、クラス図のときは、クラス図に描くクラス数が要素数のメトリクスになります。
このメトリクス値の頃合いの値はモデル図の種類やプロジェクト、プロダクトなどによっても異なりますが、16個以上あるとどのモデル図でも多すぎ、4個未満だと少ないでしょう。人間が一目で理解できるのは7個ぐらいが適当であるといわれています(これは魔法の数字 7 = 「マジックナンバー7」と呼ばれている都市伝説の数です)が、もう少し多くても大丈夫です。
図4ではモデル図における要素数で、少なすぎる場合と多すぎる場合、適当な個数のときの様子を示しました。つまり2個では少なすぎる、18個では多すぎる、7個では適当だということです。
そこでこの記事では要素数の相場観は、「4個以上16個以下」としたいと思います。もちろん、このメトリクス値の閾値はモデル図の各目的、各プロジェクト、各プロダクト、各モデルの種類で決めていくことになります。
(2)モデル図の要素からのリンク数
このリンク数についてもモデル図の要素数と同様、リンク本数によるメトリクスを考えます。リンク数は8本以上あると、そのモデル図は複雑すぎるでしょう。さらに言えばリンク数が4本以上でも多すぎるかどうかを検討する必要があるでしょう。そうなのです。リンク数ではマジックナンバー「7」では多すぎて、魔法の効果はないでしょう。
このメトリクスの閾値はもちろんマジックナンバー7を入れた「7本以下」に設定しても大丈夫ですので、各自が決めてください。この記事ではリンク数の相場観としては「4本以下」とやや厳し目にしたいと思います。つまりマジックナンバーの7本は多すぎます。
(3)各要素のメトリクス
モデル図の各要素に対しても、個々にメトリクスがあります。クラス図のときは1個のクラスについてその属性数や操作数などに関してメトリクスがありますし、E-R 図でも状態遷移図でもフローチャートでも同様に、個々のエンティティ、状態、機能/条件などにメトリクスがあります。
クラス図の中のクラスのメトリクスを考えてみます。クラス図の操作数(つまり主要なメソッド関数の個数)は、セッタやゲッタ関数などを除くと、8個以下がいいでしょう。クラスの行数はもちろん50行を超えてはいけませんし、平均行数では20行以下(セッタやゲッタ関数を入れた場合、平均は10行以下)にした方がいいでしょう。状態遷移図における状態数や遷移数にも頃合いの相場観があります。
これらのモデル図のメトリクスを意識して、「どれくらいのメトリクスが良いのか、悪いの」の相場観を磨いていくことが成功への道になります。このためにはモデル図でのメトリクス計測が必要であり、これがモデル図(表面的ですが)評価の1つになります。計測することで評価が行え、それがエクセレントなモデリングへの第一歩となります。
次はモデリングを成功させるための重要なコツである「抽象化と具象化のバランス」を見ていきます。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- モデリングで失敗しないために――失敗から学ぶモデリングの実践的なコツ
モデリングを失敗しないためには、失敗の原因と失敗しないためのコツを知ることが肝要です。今回は失敗しないための実践的なコツを紹介します。 - モデリングはなぜ失敗するのか―― 悪いモデル、汚いモデル、意味がないモデル
誰もが失敗したくてモデリングする訳ではないのに、失敗しているモデリングを見る機会は減りません。今回はモデルの失敗例を通じてその原因を探ります。 - UMLやSysMLなどのモデリングは“いつ”“何を”“どうするのか”
「モデリングはいつ誰が何をどのようにするのか」――今回はソフトウェア開発の現場で、モデリングを実際にどのように実施しているのか見ていきましょう。またUMLやSysMLの使いにくいところを、開発現場ではどのようにカバーしているのかも見ていきます。 - UMLやSysMLを活用できないエンジニアのための実践的活用術(後編)
前編では「モデル」の目的とその効果、具体的なモデル手法について代表的なものを説明しましたが、後編ではその手法を実践するツールを紹介します。 - UMLやSysMLを活用できないエンジニアのための実践的活用術(前編)
モデリングの手法やツールの基礎を覚えるだけでなく、モデリングの目的やその本質をつかんで、ソフトウェアの開発現場で実際に役立つように基本を学んでいきましょう。