全1486文字

 「モデリング」という言葉が、システム開発で日常的に使われるようになりました。データベース設計におけるデータモデリング、UML(Unified Modeling Language)というモデリング言語、業務分析を行うビジネスモデリングなどがそうです。システム開発におけるモデリングとは、「整理されていない現実世界の特徴を捉えて整理・整頓すること」と捉えられます。「特徴を捉える」「整理・整頓する」の二つに分けて見てみましょう(図1)。

図1●システム開発におけるモデリングとは
図1●システム開発におけるモデリングとは
[画像のクリックで拡大表示]

 まず、「特徴を捉える」とは何かを、「データモデリング」を例に見てみましょう。例えば、オンラインショッピングシステムにおける商品マスターのテーブル設計を考えます。商品マスターは「商品」をシステム上で「テーブル」という形(モデル)で表現したものです。商品には、商品名、メーカー名、商品画像、商品規格情報(サイズ、カラーなど)、商品価格、在庫数など、多くの「属性」が存在します。

 商品の特徴を何も考えずにテーブルを設計(モデリング)すると、すべての項目を一つのテーブルで表現してしまいます。しかし、「商品名とメーカー名は不変だけど、商品のサイズやカラーは増減するかもしれない」「商品価格や在庫は変動する」という特徴が見えてくると、それに合わせて「商品名、メーカー名」という固定の属性に対し、複数の「価格属性」や「商品規格属性」を対応付けるように、テーブルを分割することを考えるでしょう。

 このようにデータの特徴を捉えながらデータ構造を決める作業がデータモデリングです。この例では、「商品」という一側面だけに着目しましたが、さまざまな切り口で「多面的に表現し」つつ「全体として捉える」ことが重要です。例えば、「オブジェクト指向モデリング」には、ユーザー目線から見た「ユースケース図」、システムの静的な関係を表す「クラス図」など、多面的なモデル図があります。