システムエンジニアのためのモデリング心得 トップ10

その8 ナプキン・モデルは会話を始めるには良い方法だが、締めくくるには最悪である

Comments

コンテンツシリーズ

このコンテンツは全#シリーズのパート#です: システムエンジニアのためのモデリング心得 トップ10

このシリーズの続きに乞うご期待。

このコンテンツはシリーズの一部分です:システムエンジニアのためのモデリング心得 トップ10

このシリーズの続きに乞うご期待。

今回の心得は、いつもすぐばれてしまうことですが、私がこの業界にて非常に広くみかけるモデリングの(誤)利用に関して持っている不満、すなわち、分析サポートにほとんど寄与せず、意味ある質問に全く答えられない、軽量で精密さに欠け、不適切で保守不可能なモデルの構築に関することです。たぶんおわかりでしょうが、私はこのようなモデリングを好みません。私は「高忠実な」モデルを好みます。これらは、(そのスコープと意図の範囲において)完全で、正確で、適切で、精密です。それらは検証可能な形でそのようになっています。(心得その1においてそのことについて少し言及する予定です。)

明確にしておきたいこととして、モデリングの価値は、我々がモデルの意図とスコープに関して「検証可能な形で完全で精密で正確」にできる能力の中にあると考えます。ナプキン・モデルは、その名のとおり、何かその辺りにあるものの上に手書きで書かれるということにちなんでいるのですが、UMLやSysMLが使われる場面としては、よく見かけるものです。しかし、モデルのこういった使用法は、概算の弾道計算でミサイルをプログラムするようなものです。どこかには着弾するでしょう。で、何か違いが出てくるでしょうか。あなたが着弾点側にいるとしたら、それは大きなものになると思います。

図 1. ナプキン・モデルは精密さに欠ける
ナプキン・モデルは精密さに欠ける
ナプキン・モデルは精密さに欠ける

注: これはナプキン・モデルなので、ポケットに入っているかもしれないほかのナプキンに書いてある意味記述との整合性を確証するためのリポジトリがその下部にあるわけではありません。

このモデルへの質問として次のようなものがあるかもしれません。

  • このモデルは何を表現しようとしているのか?
  • これらは生徒やセミナーの全ての属性なのか?
  • この属性のデータ型は何で、その値の適切な部分範囲は何か?
  • この操作の引数と戻り値は何か?
  • セミナーへの参加資格をどのように決定すればよいか?それを決定するにはどんな情報が必要か?
  • これらの要素はどのように生成されるのか?それらはどのようにお互いリンクされるか?それらはどのように消滅するか?
  • セミナーが空か満席かをどのようにすれば言えるか?そのためにはどのような情報が必要が?属性MaxNumber: unsigned intが足りないのではないか?
  • これらの属性にはデフォルト値はあるのか?

私がナプキン・モデルを作っている人たちを葬り去ろうとしているように聞こえるかもしれませんが、そういうことではないのです。私は、これは会話を始める段階では優れた方法であると思っています。システムの構造や振舞いについて質問に答えたり推論をしたりしていく中で、このモデルを「ナプキン」から「高忠実」へと形態を変えていくのです。このモデルが、真のモデル・リポジトリを持つモデリング・ツールによって管理されていれば、このことは容易なことです。更に、このツールがモデル検証をサポートしていれば、一層容易になるでしょう。ハイエンドのツールであるRational Rhapsodyのようなものが、そのようなツールになります。

要するにまとめると、精密でない思考はシステムを失敗へと導くということです。私は、これは許容できないことだと考えます。

訳者について

三ツ井欽一は、東京ソフトウェア開発研究所に所属するラショナル・システムズ開発担当マネージャーです。この記事の著者のBruce Douglassを含む、ラショナル・グローバル・チームのメンバーと共に、ラショナル・ソリューションの普及とお客様へ提供する価値の向上に日々取り組んでいます。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Rational
ArticleID=953948
ArticleTitle=システムエンジニアのためのモデリング心得 トップ10: その8 ナプキン・モデルは会話を始めるには良い方法だが、締めくくるには最悪である
publish-date=11292013