システムズエンジニアリングの世界に飛び込んで、様々な用語に触れている。全く知らなかった用語は勿論あるが、元々ソフトウェア業界に身を置いていたので、今迄に聞いたことのある用語も勿論ある。が、そのような用語に関して、深く理解していなかったり、何となくの理解で今まで済ませてきていてるなと感じている。そういった用語に対して、何らかの気付きや自分なりの整理を試みようと思う。今日はモデルやモデリングという言葉に関してメモを残す。
今はシステムズエンジニアリングの中でも、特にmodel-based systems engineeringについて学習しているが、現在読んでいる書籍の中でThe Model versus Modelingというセクションがあった。この記事のタイトルにもなっているモデルとモデリングについてだ。
model-based systems engineeringにおけるモデルとモデリング
モデルやモデリングという言葉は誤解を恐れずに言うと、人々の解釈が異なりやすい、曖昧な言葉だと思う。書籍の内容を踏まえた、私なりのモデルとモデリングに対する理解(model-based systems engineeringにおける理解)は次のとおりだ。
モデル
理解した対象に対する、何らかの簡略化した、あるいは抽象的な表現[1]
モデリング
対象を理解する過程で行われる行為そのもの
当たり前ではあるが、モデルはモデリングという行為によって作成される。モデリングについて、もう少し詳細に表現すると、モデリングは、モデルを作成するために必要な情報の抽出作業であったり、出てきた情報を洗練させる行為で、それらの行為の結果、対象に対する何らかの理解の結果として、モデルが出来上がる。
モデルに関する補足
モデルは、ただ自分が理解した結果では意味がなく、そのモデルを活用したい人(この界隈ではステークホルダーと言う)にとって有益であるかどうか非常に大切である。何故ならば、そのモデルで表現したい対象物(実現したいシステムやソフトウェアなど)は何もないところから生まれているわけではなく、ステークホルダーのニーズから生まれているわけであって、その人たちに有益なものでなければ、モデルに価値はない。
---
[1]: 「モデルベースシステムズエンジニアリング導入の手引き」(IPA, 2013年8月)によれば「システムをある側面から見て抽象化したもの、言い換えれば、システムに関する何らかの特徴や性質を説明するための簡易化のこと」とある。