モデリングの対象が同一でも、何をどうモデリングするかには無数の選択肢があります。
そこであるべきモデルを方向づけするのが、次の目的と制約です。
目的について
まず目的についてです。例えば「机のモデリングをしたい」という場合でも、目的によってモデリングの方向性が変わります。
例えばその目的が「机が入口を通り抜けられるか知りたい」のならば、モデリングの対象は「机の幅・高さ・奥行」になります。一方「机を提供部品で組み立てたい」という目的があるならば、モデリングの対象は「机の部品構成、組み立て手順、完成図」になります。
制約について
制約は、モデリングのスコープややり方を制限するものを指します。具体的には次のようなものになります。
- 技術制約 :プロジェクトでの技術的な実現性の制約
- 例)技術的に実現不可能な設計モデルは許容されない
- ビジネス制約 :ビジネスの成否にかかわる制約
- 例)コストがかかりすぎる設計モデルは許容されない
- 例)チームの開発リソースを超える設計モデルは許容されない
- モデリング制約 :モデリング作業やその成果物管理の制約
- 例)モデル作成者が管理できないほど膨大なモデルは作れない
こちらもモデリングの方向づけに影響します。
モデリングは目的ありき
そもそもモデリングは「目的を達成するために、対象の特定の特質を、特定の形式で表現する」活動です。それは、抽象化する、削る、行動化する、関係づける、分割する、形式化する、というアプローチで構成されます。
目的無く対象をそのまま模写するやり方では、この情報を削ったり抽象化したりするアプローチになりません。モデリングは目的があって成立するアプローチと言えます。
注意点:目的や制約が同じでもモデルにはバリエーションが発生する
注意点として、モデリングは不確定要素があり、同じ目的・制約下でもモデラーや状況によってモデルにバリエーションが生まれます。主な不確定要素に以下があります。
- モデラーの能力・指向
- 入力の不確定要素
- 解決策が複数ある
モデリングのプロセスやアプローチは様々ありますが、それらが提示する手順通り進めればモデルが完成、というわけではありません。言い換えると、モデリングをシステマティックに進められる場面は多くありません。
実際、現場のモデリングは探索的です。モデラーの能力を活かしながら、様々な観点で分析し、ゆさぶりをかけ、フィードバックで洗練させ続けることで、優れたモデルを生み出せるようになります。
モデリングと目的・制約をつなぐ観点
目的・制約と、具体的に何をモデリングするかをつなぐのが観点です。
観点は、着目したい特質や側面の方向性を示す言葉です。
目的・制約や、それをブレークダウンした目標・課題から、どういう分析・設計を行いたいか検討する過程で、観点が生まれます。
例えば前述の机の例ですと、「机が入口を通り抜けられるか知りたい」という目的があれば、「机の大きさ」という観点と、「入口の大きさ」という観点が導かれ、その観点ごとにモデリングすることになります。
観点は、モデルの種類に紐づいています。例えば「高さと幅の大きさ」という観点ならば、二次元モデルが紐づいています。内部構造ならば、クラス図やブロック図が紐づきます。そして観点に基づいた分析・設計成果物は、観点に紐づくモデルの種類に従ってモデリングしたモデルになります。
その関係性を示したものが以下の図になります。