全4211文字
PR

 ドメイン(domain)という言葉から日経クロステック読者の皆さんは何を連想するでしょうか。インターネットのドメインネームでしょうか。データドメインあるいはドメイン駆動設計(DDD)という言葉もあります。

 日常用語としては耳慣れないかもしれませんが、「支配や統制の及ぶ活動の範囲」といった意味です。この単語はコンピューターが発明される前からあって、領主の所有地を指したりしました。研究者の世界でドメインと言ったら研究活動の主戦場となる領域を、数学では「定義域」と訳され、取りうる値のタイプと範囲を、それぞれ意味します。データドメインも定義域の一種です。インターネットで使うドメインネームは接続に参加したサーバーが持つ公式の領地名というわけです。

 ドメインという便利な言葉が使える例をもう少し挙げてみましょう。「あの山まで採掘できる」と言われたら採掘権のドメインの話と理解できます。レストランのメニューは提供できる料理や飲み物のサービスのドメインです。就職活動では「解禁日以後の許容期間」がドメインです。女子大学の共学化は事業ドメインの拡張です。

 つまりドメインとはウチとソトの境目をはっきりさせてウチに入るものをしっかり議論しよう、という範囲指定なのです。問題の捉え方で、さまざまな粒度のドメインを設定できます。ドメインを意識すると、そこにある事物や関係を具体的に特定しながら議論することにつながります。

 情報システムを作るとき、対象となる業務のドメインを意識して議論すると、仕事の精度が良くなり、システムを使う業務部門の担当者と、システムを設計・開発するエンジニアとのコミュニケーションもうまくいくようになります。

 システムがサービスする業務のドメインを特定し要件を解明することを「業務ドメインの解明」とします。それに役立つ手法としてデータモデリングがあります。業務ドメインの中で取り扱われるデータの関係をモデルとして表現することです。その担い手をデータモデラーと呼ぶことにします。

 システムは業務遂行のための道具であり、データ処理により業務処理の一部を代行します。データは事物・事象を記号で表したものですが、逆にデータの向こうには事物・事象の世界が見えます。事物・事象の在り方を制約したい、あるいは動きを与えたい、といったときに、その意図をデータで表現することも可能です。業務ドメインでは何かの状態を監視し、制約したり動かしたりするわけでそれらをデータモデルで表現できるのです。

リアル店とネットショップの業務ドメインは異なる

 業務ドメインとはどういうもので、その制約や駆動にデータモデリングはどうかかわるのか。実感いただくために、物販の例を紹介します。

 スーパーマーケットの業務ドメインは、仕入れ、在庫、陳列、販売、精算などでしょう。これらの構造を解明するにあたっては、商品のデータに着目してモデルをつくることになります。今回は業務ドメインごとの違いや、業務ドメインの制御を説明するのが主なのでデータモデルそのものは示しません。