Q&Aで読むモデリングの極意――モデリングの問答集32問と教訓集72カ条プロジェクトを成功させるモデリングの極意(7)(3/10 ページ)

» 2016年03月01日 07時00分 公開
[五味弘MONOist]

1. モデリング全般

(1-1) モデリングとは?

 モデルとは物事を分かりやすく説明するために、不要な部分を捨て、注目するところのみを記述したものです。ソフトウェア開発では、まず開発対象を抽出し、捨象し、また抽象化し、一部は具象化します。そして必要に応じてUMLやSysMLなどのツールを使って、クラス図などソフトウェアシステムの設計図を描きます。この設計図がソフトウェアシステムのモデルとなり、これらの行為がモデリングです。


(1-2) モデリングは何のためにするの?

 ソフトウェアシステムにおけるモデリングはいろいろな目的のために行います。また多くの副次的な効果もあります。以下にそれらを列挙します。

モデリングで得られる副次的効果の例

仕様の検証(Verification)、仕様の妥当性確認(Validation)、仕様の整理や調整、コード生成と検証、シミュレーション、コミュニケーション、品質向上、生産性向上、リスク対策など

 また、他の目的でモデリングされることもあります。このようにモデリングの目的や効果は多岐にわたります。このため、総花的なモデリングにせず、目的を絞り込んでモデリングすることが重要になります。


(1-3) モデリングの一番大切な目的は?

 モデリングにいろいろな目的と副次的効果があるのは(1-2)で示しましたが、その一番大切な目的はソフトウェア開発を「コード中心からモデル中心」の方針で実施することです。コードよりも理解しやすいモデルで開発する文化にすることが、大きな目的になります。これにより、従来のコード中心で職人的な文化で開発していたものを、分かりやすく・伝えやすいモデルを中心とした方法で開発できるようになります。


(1-4) モデルはコードよりも何が優れているの?

 モデルはコードより理解しやすいため、モデルであれば、ソフトウェアエンジニアでなくとも全体のソフトウェア構成を理解できます。つまり誰でも設計の議論に参加でき、開発に参加できるようになります。これにより従来の職人的ギルド的開発から、ユーザーも含めた全員参加的開発に向かうことができます。


(1-5) モデリングするときに大事なことは?

 モデルの「分かりやすさ」です。この分かりやすさ(了解性)こそがモデルの肝心です。逆に言えば、この了解性を犠牲にしてまで、モデルの正確性や完全性を追いかけないでください。多くの場合、分かりにくいモデルに価値はありません。

 一方、モデルを分かりやすくすることは困難です。これについてはこの連載のメインテーマになっていますので、連載を再読してください。


Copyright © ITmedia, Inc. All Rights Reserved.